From 078e9d76ac51565d820d0a7fd6b87e71e85b9f46 Mon Sep 17 00:00:00 2001 From: Felipe Neves Brito Date: Mon, 27 Jun 2016 16:22:25 -0500 Subject: [PATCH 0001/2606] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 3e7e49f2e..ef9719417 100644 --- a/README.md +++ b/README.md @@ -693,6 +693,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. * [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] * [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] + * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: + ##### PDF * [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. From 3937d573339fc5af44adc71c9e8262db611a6f7a Mon Sep 17 00:00:00 2001 From: Evgenii Neumerzhitckii Date: Tue, 28 Jun 2016 12:36:57 +1000 Subject: [PATCH 0002/2606] A suggestion for the Moa library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3e7e49f2e..150fbdeb7 100644 --- a/README.md +++ b/README.md @@ -680,6 +680,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YUCIHighPassSkinSmoothing](https://github.com/YuAo/YUCIHighPassSkinSmoothing) - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework * [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up :large_orange_diamond: * [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition :large_orange_diamond: + * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond: ##### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. From 43abf810b4094001a434ce4a152c3b959bc01d1b Mon Sep 17 00:00:00 2001 From: Evgenii Neumerzhitckii Date: Tue, 28 Jun 2016 18:39:20 +1000 Subject: [PATCH 0003/2606] Marked moa as Swift extension --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 150fbdeb7..7d4c2a6ac 100644 --- a/README.md +++ b/README.md @@ -680,7 +680,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YUCIHighPassSkinSmoothing](https://github.com/YuAo/YUCIHighPassSkinSmoothing) - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework * [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up :large_orange_diamond: * [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition :large_orange_diamond: - * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond: + * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond:[e] ##### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. From 87d38daca9f81d5cdf50b170f8c5c77dfbe97d99 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 28 Jun 2016 15:48:35 -0300 Subject: [PATCH 0004/2606] Moved JMCMarchingAnts to image section --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index a43ee64d9..30ae323bf 100644 --- a/README.md +++ b/README.md @@ -684,6 +684,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YUCIHighPassSkinSmoothing](https://github.com/YuAo/YUCIHighPassSkinSmoothing) - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework * [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up :large_orange_diamond: * [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition :large_orange_diamond: + * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: ##### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. @@ -697,8 +698,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. * [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] * [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] - * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: - ##### PDF * [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. From ff8bb872fbf284bb1b29022a14a8917ad45d4e1f Mon Sep 17 00:00:00 2001 From: Amir Abbas Mousavian Date: Wed, 29 Jun 2016 02:30:41 +0430 Subject: [PATCH 0005/2606] FileProvider addition --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 30ae323bf..6193a52dc 100644 --- a/README.md +++ b/README.md @@ -400,6 +400,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: * [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: +* [FileProvider](https://github.com/amosavian/FileProvider) - SMB/CIFS/WebDAV etc. for Swift on iOS and MacOS. :large_orange_diamond: ### Functional Programming * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: From 2387da7d5fe9833ff362057680a61f4d678ba10a Mon Sep 17 00:00:00 2001 From: Igor Zapletnev Date: Wed, 29 Jun 2016 09:00:57 +0600 Subject: [PATCH 0006/2606] Add ReadabilityKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6193a52dc..93088e491 100644 --- a/README.md +++ b/README.md @@ -1417,6 +1417,7 @@ Most of these are paid services, some have free tiers. * [SwiftLinkPreview](https://github.com/LeonardoCardoso/SwiftLinkPreview) - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. 🔶 * [BundleInfos](https://github.com/singcodes/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. 🔶 * [YAML.framework](https://github.com/mirek/YAML.framework) - Proper YAML support for Objective-C based on `LibYAML`. + * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. ### VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 18a7207c17bbfb2912fbedbf80a2eefe6d5b8f66 Mon Sep 17 00:00:00 2001 From: Igor Zapletnev Date: Wed, 29 Jun 2016 09:03:09 +0600 Subject: [PATCH 0007/2606] Add swift marker for ReadabilityKit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 93088e491..6678dc0a4 100644 --- a/README.md +++ b/README.md @@ -1417,7 +1417,7 @@ Most of these are paid services, some have free tiers. * [SwiftLinkPreview](https://github.com/LeonardoCardoso/SwiftLinkPreview) - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. 🔶 * [BundleInfos](https://github.com/singcodes/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. 🔶 * [YAML.framework](https://github.com/mirek/YAML.framework) - Proper YAML support for Objective-C based on `LibYAML`. - * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. + * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. 🔶 ### VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 3e7460b74c01afaa6f6b8da9c22e669bb8cf6013 Mon Sep 17 00:00:00 2001 From: Tobias Hagemann Date: Thu, 30 Jun 2016 19:04:35 +0200 Subject: [PATCH 0008/2606] Added THLabel by @tobihagemann --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 538b6dbf2..7d8a6d9b6 100644 --- a/README.md +++ b/README.md @@ -1200,6 +1200,7 @@ Most of these are paid services, some have free tiers. * [NumberMorphView](https://github.com/me-abhinav/NumberMorphView) - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. :large_orange_diamond: * [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. :large_orange_diamond: * [TOMSMorphingLabel](https://github.com/tomknig/TOMSMorphingLabel) - Configurable morphing transitions between text values of a label. + * [THLabel](https://github.com/tobihagemann/THLabel) - UILabel subclass, which additionally allows shadow blur, inner shadow, stroke text and fill gradient. ##### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: From 61aa1daca1d9eec11b65bb264c162a5b1b483e8f Mon Sep 17 00:00:00 2001 From: Dominik Hauser Date: Thu, 30 Jun 2016 19:18:10 +0200 Subject: [PATCH 0009/2606] Add BreakOutToRefresh (#928) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7d8a6d9b6..b454570f8 100644 --- a/README.md +++ b/README.md @@ -1264,6 +1264,7 @@ Most of these are paid services, some have free tiers. * [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift :large_orange_diamond: * [mntpulltoreact](https://github.com/mentionapp/mntpulltoreact) - One gesture, many actions. An evolution of Pull to Refresh. * [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. +* [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. :large_orange_diamond: ##### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From 85baab2a6873af1958bfdeb6d2a9171df0443cf9 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 30 Jun 2016 10:18:56 -0700 Subject: [PATCH 0010/2606] Fix format [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b454570f8..15847b6ea 100644 --- a/README.md +++ b/README.md @@ -1264,7 +1264,7 @@ Most of these are paid services, some have free tiers. * [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift :large_orange_diamond: * [mntpulltoreact](https://github.com/mentionapp/mntpulltoreact) - One gesture, many actions. An evolution of Pull to Refresh. * [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. -* [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. :large_orange_diamond: + * [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. :large_orange_diamond: ##### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From 91714bf14067b106c960482467a1a47e59f91e50 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 1 Jul 2016 12:12:37 -0400 Subject: [PATCH 0011/2606] add Willow by Nike Inc (#929) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 15847b6ea..36c3bf0cc 100644 --- a/README.md +++ b/README.md @@ -580,6 +580,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Evergreen](https://github.com/viWiD/Evergreen) - Most natural Swift logging :large_orange_diamond: * [Logkit](https://github.com/logkit/logkit) - An efficient logging library for OS X, iOS, watchOS, and tvOS – written in Swift. Log to console, file, HTTP service, or your own endpoint. Simple to get started, but smartly customizable :large_orange_diamond: * [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations :large_orange_diamond: + * [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. :large_orange_diamond: ### Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From a5b47f056aea9a7835f27c7ee5a02cb096ba20d5 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 1 Jul 2016 12:15:35 -0400 Subject: [PATCH 0012/2606] add FlightAnimator by @AntonTheDev --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 36c3bf0cc..1c4c762bc 100644 --- a/README.md +++ b/README.md @@ -196,6 +196,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. :large_orange_diamond: * [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. * [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes :large_orange_diamond: + * [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Natural Blocks Based Core Animation Framework :large_orange_diamond: ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 80a31ff43a2331004edc438e6cb87cf59227680d Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 1 Jul 2016 12:20:03 -0400 Subject: [PATCH 0013/2606] add Elevate by @Nike-Inc --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 36c3bf0cc..00cb3f67a 100644 --- a/README.md +++ b/README.md @@ -515,6 +515,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. :large_orange_diamond: * [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects :large_orange_diamond: * [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. :large_orange_diamond: + * [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. :large_orange_diamond: ### Layout * [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift :large_orange_diamond: From 32d5af708d1504deeeed1d783440590976fec85c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 1 Jul 2016 16:53:12 -0300 Subject: [PATCH 0014/2606] Added DropDown by @AssistoLab --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a1856d350..dde86dc16 100644 --- a/README.md +++ b/README.md @@ -1237,6 +1237,7 @@ Most of these are paid services, some have free tiers. * [PopMenu](https://github.com/xhzengAIB/PopMenu) - PopMenu is pop animation menu inspired by Sina weibo / NetEase app. * [FlowingMenu](https://github.com/yannickl/FlowingMenu) - Interactive view transition to display menus with flowing and bouncing effects in Swift :large_orange_diamond: * [Persei](https://github.com/Yalantis/Persei) - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift :large_orange_diamond: + * [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS :large_orange_diamond: ##### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From a1cdc909c5a05a7a0ca0bb99d0eacf8383a4fc3e Mon Sep 17 00:00:00 2001 From: Nikolai Vazquez Date: Sat, 2 Jul 2016 10:49:14 -0400 Subject: [PATCH 0015/2606] Add Fischer --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index dde86dc16..979d92cd6 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [EventBus](#eventbus) - [Files](#files) - [Functional Programming](#functional-programming) + - [Games](#games) - [Gesture](#gesture) - [Graphics](#graphics) - [Hardware](#hardware) @@ -415,6 +416,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: +### Games +* [Fischer](https://github.com/nvzqz/Fischer) - A cross-platform chess library for Swift. :large_orange_diamond: + ### Gesture * [Tactile](https://github.com/delba/Tactile) - The Swift way to add UIGestureRecognizer and to react to UIControlEvents :large_orange_diamond: * [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond:[e] From 428d612f95b46ced107547f5624f042edb562912 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 2 Jul 2016 12:15:58 -0300 Subject: [PATCH 0016/2606] Added ColorizeSwift by @mtynior --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dde86dc16..1c5c29df1 100644 --- a/README.md +++ b/README.md @@ -286,6 +286,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces :large_orange_diamond: * [Colors](https://github.com/paulot/Colors) - Terminal Colors for Swift :large_orange_diamond: * [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift :large_orange_diamond: +* [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: ### Concurrency * [Venice](https://github.com/VeniceX/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: From 453bb968bca864530519fe8c57b37cbf5e58bd07 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 2 Jul 2016 18:02:06 -0300 Subject: [PATCH 0017/2606] Added Presentr by @IcaliaLabs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1c5c29df1..890e5a059 100644 --- a/README.md +++ b/README.md @@ -1249,6 +1249,7 @@ Most of these are paid services, some have free tiers. * [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. :large_orange_diamond: * [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao * [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller + * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: ##### Popup * [KLCPopup](https://github.com/jmascia/KLCPopup) - A simple and flexible class for presenting custom views as a popup in iOS. From a0cef00074f0e5f866b78bc4abe7662b4fb634de Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 2 Jul 2016 18:03:32 -0300 Subject: [PATCH 0018/2606] Added RQShineLabel by @zipme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 890e5a059..2fe339060 100644 --- a/README.md +++ b/README.md @@ -1205,6 +1205,7 @@ Most of these are paid services, some have free tiers. * [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. :large_orange_diamond: * [TOMSMorphingLabel](https://github.com/tomknig/TOMSMorphingLabel) - Configurable morphing transitions between text values of a label. * [THLabel](https://github.com/tobihagemann/THLabel) - UILabel subclass, which additionally allows shadow blur, inner shadow, stroke text and fill gradient. + * [RQShineLabel](https://github.com/zipme/RQShineLabel) - Secret app like text animation ##### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: From e80aa8c8b79b122b760a3024551e6c33f67b2e44 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 2 Jul 2016 18:17:14 -0300 Subject: [PATCH 0019/2606] Added ISTimeline by @instant-solutions --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2fe339060..72570c54f 100644 --- a/README.md +++ b/README.md @@ -1063,6 +1063,7 @@ Most of these are paid services, some have free tiers. * [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. :large_orange_diamond: * [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. :large_orange_diamond: * [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. + * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: ##### Activity Indicator From 2dde7443eab100c5a2514bde9d65ed5e075a661b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 2 Jul 2016 18:19:52 -0300 Subject: [PATCH 0020/2606] Added KYGooeyMenu by @KittenYang --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72570c54f..a796e60b9 100644 --- a/README.md +++ b/README.md @@ -1241,6 +1241,7 @@ Most of these are paid services, some have free tiers. * [FlowingMenu](https://github.com/yannickl/FlowingMenu) - Interactive view transition to display menus with flowing and bouncing effects in Swift :large_orange_diamond: * [Persei](https://github.com/Yalantis/Persei) - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift :large_orange_diamond: * [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS :large_orange_diamond: + * [KYGooeyMenu](https://github.com/KittenYang/KYGooeyMenu) - A not bad gooey effects menu. ##### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From e8561ddd7578d54fa9ab1c8e389751e8366b601d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 2 Jul 2016 18:22:28 -0300 Subject: [PATCH 0021/2606] Added BarcodeScanner by @hyperoslo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a796e60b9..9029bb3b5 100644 --- a/README.md +++ b/README.md @@ -457,6 +457,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RSBarcodes_Swift](https://github.com/yeahdongcn/RSBarcodes_Swift) - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. :large_orange_diamond: * [LLSimpleCamera](https://github.com/omergul123/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. * [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. :large_orange_diamond: + * [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. :large_orange_diamond: ##### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: From 28052bfc9a1bbbcffffc5b1f8645fb6b1b3e1560 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 2 Jul 2016 18:25:26 -0300 Subject: [PATCH 0022/2606] Added Daysquare by @unixzii --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9029bb3b5..7ee40cf8e 100644 --- a/README.md +++ b/README.md @@ -1174,6 +1174,7 @@ Most of these are paid services, some have free tiers. * [GLCalendarView](https://github.com/Glow-Inc/GLCalendarView) - A fully customizable calendar view acting as a date range picker * [JTCalendar](https://github.com/jonathantribouharet/JTCalendar) - A customizable calendar view for iOS. * [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The final iOS calendar control you'll ever try. :large_orange_diamond: + * [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. ##### Form * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From 020a01f06b5a4d9333d7af2dea6239cdbfe60e1a Mon Sep 17 00:00:00 2001 From: Nikolai Vazquez Date: Sun, 3 Jul 2016 07:55:58 -0400 Subject: [PATCH 0023/2606] Rename Fischer to Sage --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 979d92cd6..ab02af263 100644 --- a/README.md +++ b/README.md @@ -417,7 +417,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: ### Games -* [Fischer](https://github.com/nvzqz/Fischer) - A cross-platform chess library for Swift. :large_orange_diamond: +* [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: ### Gesture * [Tactile](https://github.com/delba/Tactile) - The Swift way to add UIGestureRecognizer and to react to UIControlEvents :large_orange_diamond: From cd104c200248bf4871eb4f03da3d1d2de2b25694 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 3 Jul 2016 17:21:41 -0300 Subject: [PATCH 0024/2606] Added Redbird by @czechboy0 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ee40cf8e..043479603 100644 --- a/README.md +++ b/README.md @@ -1515,6 +1515,7 @@ Most of these are paid services, some have free tiers. * [Kitura](https://github.com/IBM-Swift/Kitura) - Web framework and HTTP server for Swift by IBM :large_orange_diamond: * [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: + * [Redbird](https://github.com/czechboy0/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: # Dependency / Package Manager * [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. From 448c02180424d79a897991ce3c613c8a94791a51 Mon Sep 17 00:00:00 2001 From: Viktor Braun Date: Sun, 3 Jul 2016 22:41:42 +0200 Subject: [PATCH 0025/2606] Added VBPiledView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 043479603..6c5268b93 100644 --- a/README.md +++ b/README.md @@ -1353,6 +1353,7 @@ Most of these are paid services, some have free tiers. * [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A quick way to create settings tableview with switches, tap buttons, icons and more :large_orange_diamond: * [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views :large_orange_diamond: * [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView :large_orange_diamond: + * [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 19de8a314104a43b1f3667b40bf09d7a5a37d255 Mon Sep 17 00:00:00 2001 From: Sebastian Kreutzberger Date: Mon, 4 Jul 2016 15:15:03 +0200 Subject: [PATCH 0026/2606] Updated SwiftyBeaver Description (#935) SwiftyBeaver is supporting now Swift 3 and also logging during release so the update became necessary. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6c5268b93..ebe17dddd 100644 --- a/README.md +++ b/README.md @@ -569,7 +569,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. :large_orange_diamond: * [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. :large_orange_diamond: * [KZLinkedConsole](https://github.com/krzysztofzablocki/KZLinkedConsole) - Clickable links in your Xcode console, so you never wonder which class logged the message. http://merowing.info :large_orange_diamond: - * [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Colorful, lightweight & fast logging in Swift 2 :large_orange_diamond: + * [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development & release in Swift 2 & 3 :large_orange_diamond: * [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. :large_orange_diamond: * [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread :large_orange_diamond: * [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. :large_orange_diamond: From cf7cd37b9a543c1e79bf175a190b0a66b86405dc Mon Sep 17 00:00:00 2001 From: Khoa Pham Date: Mon, 4 Jul 2016 20:31:55 +0200 Subject: [PATCH 0027/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ebe17dddd..504e8ca77 100644 --- a/README.md +++ b/README.md @@ -896,6 +896,7 @@ Most of these are paid services, some have free tiers. * [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms :large_orange_diamond: * [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. * [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: + * [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: ### Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From f15d37101854ce7228dc415acc2c879bc51d5c40 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 4 Jul 2016 17:21:17 -0300 Subject: [PATCH 0028/2606] Added InfoView by @anatoliyv --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9a66ecef8..372a4939f 100644 --- a/README.md +++ b/README.md @@ -1462,6 +1462,7 @@ Most of these are paid services, some have free tiers. * [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. :large_orange_diamond: * [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. :large_orange_diamond: * [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider :large_orange_diamond: + * [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. :large_orange_diamond: ### WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From 5868da956d4e2b3fcffc811130e14907ec657c32 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 4 Jul 2016 18:18:23 -0300 Subject: [PATCH 0029/2606] Added Formatting by @stephencelis --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 372a4939f..c492c1bb7 100644 --- a/README.md +++ b/README.md @@ -416,6 +416,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. :large_orange_diamond:[e] * [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: +* [Formatting](https://github.com/stephencelis/Formatting) - Type-safe, functional string formatting in Swift. :large_orange_diamond: ### Games * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: From faa7cd626fb753ead611b757dd28c30fbaed2613 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 4 Jul 2016 21:35:52 -0300 Subject: [PATCH 0030/2606] Added Navigation Bar section --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c492c1bb7..1ffc5b7ac 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Label](#label) - [Menu](#menu) - [Modal Transition](#modal-transition) + - [Navigation Bar](#navigation-bar) - [Popup](#popup) - [Pull to Refresh](#pull-to-refresh) - [Rating Stars](#rating-stars) @@ -975,7 +976,6 @@ Most of these are paid services, some have free tiers. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: * [SAHistoryNavigationViewController](https://github.com/szk-atmosphere/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: * [SAInboxViewController](https://github.com/szk-atmosphere/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: - * [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! * [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. @@ -1014,7 +1014,6 @@ Most of these are paid services, some have free tiers. * [StackPageView](https://github.com/noppefoxwolf/StackPageView) - Vertical page view with UIViewControllers stacked on the top of each other :large_orange_diamond: * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. :large_orange_diamond: * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. - * [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library makes transition animations smooth between different navigation bar styles while pushing or popping a view controller. :large_orange_diamond: * [Pages](https://github.com/hyperoslo/Pages) - UIPageViewController made simple :large_orange_diamond: * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. http://karumi.com :large_orange_diamond: * [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop :large_orange_diamond: @@ -1055,7 +1054,6 @@ Most of these are paid services, some have free tiers. * [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. :large_orange_diamond: * [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts :large_orange_diamond: * [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. :large_orange_diamond: - * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: * [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. * [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. :large_orange_diamond: * [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app @@ -1262,6 +1260,11 @@ Most of these are paid services, some have free tiers. * [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: +##### Navigation Bar + * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: + * [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! + * [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. + ##### Popup * [KLCPopup](https://github.com/jmascia/KLCPopup) - A simple and flexible class for presenting custom views as a popup in iOS. * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. From fd8b63ca3727e3cec7c27719ab0b777f4a799528 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 4 Jul 2016 23:07:49 -0300 Subject: [PATCH 0031/2606] Added Code of Conduct fixes #933 --- CODE_OF_CONDUCT.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..dd12ef60a --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,74 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at dev@lucasfarah.me. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ From 7ef964234308194857efe30e320653d0d03563e6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 4 Jul 2016 23:10:42 -0300 Subject: [PATCH 0032/2606] Renamed Table View/ Collection view section fixes #898 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1ffc5b7ac..55833c0f7 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Stepper](#stepper) - [Switch](#switch) - [Tab Bar](#tab-bar) - - [Table View](#table-view) + - [Table View / Collection View](#table-view--collection-view) - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [Utility](#utility) @@ -1338,7 +1338,7 @@ Most of these are paid services, some have free tiers. * [TabDrawer](https://github.com/winslowdibona/TabDrawer) - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift 🔶 * [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers :large_orange_diamond: -##### Table View +##### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. * [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. From b05f0b800754457ef2cf6e511248368cd35916a5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 4 Jul 2016 23:14:14 -0300 Subject: [PATCH 0033/2606] Moved DisplaySwitcher to Table View / Collection view section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 55833c0f7..7f7a12359 100644 --- a/README.md +++ b/README.md @@ -1052,7 +1052,6 @@ Most of these are paid services, some have free tiers. * [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. :large_orange_diamond: * [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face :large_orange_diamond: * [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. :large_orange_diamond: - * [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts :large_orange_diamond: * [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. :large_orange_diamond: * [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. * [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. :large_orange_diamond: @@ -1363,6 +1362,7 @@ Most of these are paid services, some have free tiers. * [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views :large_orange_diamond: * [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView :large_orange_diamond: * [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu + * [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts :large_orange_diamond: ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 6e780d5f4e2ff26302475dd9967b5e4bd5bd076b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 4 Jul 2016 23:15:18 -0300 Subject: [PATCH 0034/2606] Added CHTCollectionViewWaterfallLayout by @chiahsien --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f7a12359..dee4cf0d5 100644 --- a/README.md +++ b/README.md @@ -1363,6 +1363,7 @@ Most of these are paid services, some have free tiers. * [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView :large_orange_diamond: * [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu * [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts :large_orange_diamond: + * [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 566f1c7042c14258ffc8115d81b42affe3198237 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 4 Jul 2016 23:16:07 -0300 Subject: [PATCH 0035/2606] Added FMMosaicLayout by @fmitech --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dee4cf0d5..27301ed41 100644 --- a/README.md +++ b/README.md @@ -1364,6 +1364,7 @@ Most of these are paid services, some have free tiers. * [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu * [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts :large_orange_diamond: * [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. + * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 129ef37708aaea00e313e9c7718a7ba1c4ab3ad3 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 4 Jul 2016 23:24:22 -0300 Subject: [PATCH 0036/2606] Added linter section under Code quality fixes #896 --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 27301ed41..49c09cb01 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Bridging](#bridging) - [Cache](#cache) - [Code Quality](#code-quality) + - [Linter](#linter) - [Color](#color) - [Command Line](#command-line) - [Concurrency](#concurrency) @@ -267,6 +268,10 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FBRetainCycleDetector](https://github.com/facebook/FBRetainCycleDetector) - iOS library to help detecting retain cycles in runtime. * [Buglife](https://github.com/Buglife/Buglife-iOS) - Awesome bug reporting for iOS apps +##### Linter + * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. :large_orange_diamond: + * [Swiftlint](https://github.com/realm/swiftlint) - A tool to enforce Swift style and conventions. :large_orange_diamond: + ### Color * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: * [SDevFlatColors](https://github.com/0x73/SDevFlatColors) - Flat Colors on Swift :large_orange_diamond: From 14de1c87e0d44fd1bb1a395e0cf5686cc349005f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 4 Jul 2016 23:56:06 -0300 Subject: [PATCH 0037/2606] Added MissionControl-iOS by @appculture --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 49c09cb01..84b3bb9b8 100644 --- a/README.md +++ b/README.md @@ -1449,6 +1449,7 @@ Most of these are paid services, some have free tiers. * [BundleInfos](https://github.com/singcodes/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. 🔶 * [YAML.framework](https://github.com/mirek/YAML.framework) - Proper YAML support for Objective-C based on `LibYAML`. * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. 🔶 + * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, OSX) :large_orange_diamond: ### VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From ba0539929b1c8a3bd4133e9f7055d675f0c85bc1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 4 Jul 2016 23:56:40 -0300 Subject: [PATCH 0038/2606] Added SwiftTweaks by @Khan --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 84b3bb9b8..525ad38d6 100644 --- a/README.md +++ b/README.md @@ -1450,6 +1450,7 @@ Most of these are paid services, some have free tiers. * [YAML.framework](https://github.com/mirek/YAML.framework) - Proper YAML support for Objective-C based on `LibYAML`. * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. 🔶 * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, OSX) :large_orange_diamond: + * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! :large_orange_diamond: ### VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 45c54b1ce53df592978970bc4a0d557ab6d8ed62 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 5 Jul 2016 00:03:41 -0300 Subject: [PATCH 0039/2606] Added Media processing section fixes #788 --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 525ad38d6..739371ecc 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Audio](#audio) - [GIF](#gif) - [Image](#image) + - [Media Processing](#media-processing) - [PDF](#pdf) - [Video](#video) - [Messaging](#messaging) @@ -704,6 +705,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond:[e] * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: +##### Media Processing + * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: + ##### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. * [MobilePlayer](https://github.com/mobileplayer/mobileplayer-ios) - A powerful and completely customizable media player for iOS. From 435695d34f363e888e605c5559adac6e23786cd9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 5 Jul 2016 00:05:03 -0300 Subject: [PATCH 0040/2606] Moved QR Code Scanner to Media Processing --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 739371ecc..905502e44 100644 --- a/README.md +++ b/README.md @@ -654,7 +654,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ##### Image * [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. * [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - IOS UIImage processing functions using the vDSP/Accelerate framework for speed. - * [QR Code Scanner](http://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. * [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. * [SDWebImage](https://github.com/rs/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. * [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. @@ -707,6 +706,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ##### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: + * [QR Code Scanner](http://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. ##### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. From ab1b52fa722b6a9d54afca31e54c773a1ed79299 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 5 Jul 2016 00:05:38 -0300 Subject: [PATCH 0041/2606] Moved QRCode to Media Processing --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 905502e44..03802c4a3 100644 --- a/README.md +++ b/README.md @@ -694,7 +694,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [UIImageColors](https://github.com/jathu/UIImageColors) - iTunes style color fetcher for UIImage. :large_orange_diamond:[e] * [CDFlipView](https://github.com/jibeex/CDFlipView) - A view that takes a set of images, make transition from one to another by using flipping effects. * [GPUImage2](https://github.com/BradLarson/GPUImage2) - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. :large_orange_diamond: - * [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. :large_orange_diamond: * [TGLParallaxCarousel](https://github.com/taglia3/TGLParallaxCarousel) - A lightweight 3D Linear Carousel with parallax effect :large_orange_diamond: * [ImageButter](https://github.com/dollarshaveclub/ImageButter) - Makes dealing with images buttery smooth :large_orange_diamond: * [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by facebook, twitter photo browsers written by swift :large_orange_diamond: @@ -707,6 +706,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ##### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: * [QR Code Scanner](http://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. + * [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. :large_orange_diamond: ##### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. From cc939443fbe836c19dcf68ffeb19aee3f39dd899 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 5 Jul 2016 00:06:56 -0300 Subject: [PATCH 0042/2606] Removed Taylor dupe from tools --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 03802c4a3..776393c0f 100644 --- a/README.md +++ b/README.md @@ -1606,7 +1606,6 @@ Most of these are paid services, some have free tiers. * [Provisioning](https://github.com/chockenberry/Provisioning) - A Quick Look plug-in to preview .mobileprovision files. * [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. :large_orange_diamond: * [appledoc](https://github.com/tomaz/appledoc) - ObjectiveC code Apple style documentation set generator. - * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics. :large_orange_diamond: * [Azkaban](https://github.com/neonichu/Azkaban) - A CLI to Alcatraz, the Xcode package manager. :large_orange_diamond: * [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! :large_orange_diamond: * [Chocolat](https://github.com/neonichu/Chocolat) - :chocolate_bar: Generate podspecs from Swift packages. :large_orange_diamond: From 0685cdbfd8ff5e33899566665b10c5c085051a44 Mon Sep 17 00:00:00 2001 From: Dan Federman Date: Tue, 5 Jul 2016 09:11:59 -0700 Subject: [PATCH 0043/2606] Added SuperDelegate (#887) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 776393c0f..ed4408d13 100644 --- a/README.md +++ b/README.md @@ -1636,6 +1636,7 @@ Most of these are paid services, some have free tiers. * [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. :large_orange_diamond: * [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your OS X file system with their metadata to your iOS simulator (Swift 2.0) :large_orange_diamond: * [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a Mac OS X utility to open and modify realm database files. + * [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 853bc8d52b3cb11a178d8a204bd92e207418100c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 6 Jul 2016 00:26:31 -0300 Subject: [PATCH 0044/2606] Added JFCardSelectionViewController by @atljeremy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed4408d13..cd7bbdfad 100644 --- a/README.md +++ b/README.md @@ -1077,6 +1077,7 @@ Most of these are paid services, some have free tiers. * [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. :large_orange_diamond: * [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: + * [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller :large_orange_diamond: ##### Activity Indicator From 3d82f98b93daf974b475a71ef05049ce9bf9bd63 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 6 Jul 2016 01:46:42 -0300 Subject: [PATCH 0045/2606] Removed Formatting because it is in pre-beta --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index cd7bbdfad..ce55c3aa1 100644 --- a/README.md +++ b/README.md @@ -423,7 +423,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. :large_orange_diamond:[e] * [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: -* [Formatting](https://github.com/stephencelis/Formatting) - Type-safe, functional string formatting in Swift. :large_orange_diamond: ### Games * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: From 2e068d66c3c9277641011aad2946b75d820ecf3a Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 6 Jul 2016 18:01:40 +0530 Subject: [PATCH 0046/2606] Added BackgroundVideoiOS. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ce55c3aa1..5d190a027 100644 --- a/README.md +++ b/README.md @@ -1077,6 +1077,7 @@ Most of these are paid services, some have free tiers. * [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: * [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller :large_orange_diamond: + * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views :large_orange_diamond: ##### Activity Indicator From f05f244ed1142651e416fb0599e8bc0fcdf7ad5e Mon Sep 17 00:00:00 2001 From: Andrey Gordeev Date: Thu, 7 Jul 2016 21:50:27 +0300 Subject: [PATCH 0047/2606] Added DCKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ce55c3aa1..a0d749150 100644 --- a/README.md +++ b/README.md @@ -1077,6 +1077,7 @@ Most of these are paid services, some have free tiers. * [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: * [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller :large_orange_diamond: + * [DCKit](https://github.com/andrew8712/DCKit) - Set of `@IBDesignable` iOS controls, which have useful `@IBInspectable` properties (border width and color, corner radius and much more) :large_orange_diamond: ##### Activity Indicator From e54f109d5d9b528758dac5c49999bb7331609854 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 7 Jul 2016 12:41:29 -0700 Subject: [PATCH 0048/2606] Update Dispatch [ci skip] #939 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ce55c3aa1..5e4187cbd 100644 --- a/README.md +++ b/README.md @@ -1499,7 +1499,7 @@ Most of these are paid services, some have free tiers. * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. :large_orange_diamond: * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) :large_orange_diamond: * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. - * [Dispatch](https://github.com/DynamicThreads/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: + * [Dispatch](https://github.com/Swiftification/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: ### XML / HTML / CSV * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From 44d8dcc925815488ad8f8ed9f4d56547abd28732 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 7 Jul 2016 12:43:36 -0700 Subject: [PATCH 0049/2606] Update lokalise link [ci skip] #939 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5e4187cbd..bfaf464a3 100644 --- a/README.md +++ b/README.md @@ -567,7 +567,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching :large_orange_diamond: * [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. * [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. - * [lokalise](https://lokali.se/en) - Translation platform for software developers. Free for open source projects + * [lokalise](https://lokalise.co/en ) - Translation platform for software developers. Free for open source projects * [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. ### Logging From e1cbde80dc23a970598fedb3351e406d58904b11 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 7 Jul 2016 18:28:26 -0300 Subject: [PATCH 0050/2606] Added ImageViewer by @MailOnline --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bfaf464a3..3f87aa36d 100644 --- a/README.md +++ b/README.md @@ -701,6 +701,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition :large_orange_diamond: * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond:[e] * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: + * [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter :large_orange_diamond: ##### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From bb0b5766267c067743ffe3763d76fca2f1ba740d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 8 Jul 2016 14:47:45 -0300 Subject: [PATCH 0051/2606] Added fastlane-plugin-appicon by @neonichu --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d26f3cd43..c0dab7c90 100644 --- a/README.md +++ b/README.md @@ -1639,6 +1639,7 @@ Most of these are paid services, some have free tiers. * [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your OS X file system with their metadata to your iOS simulator (Swift 2.0) :large_orange_diamond: * [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a Mac OS X utility to open and modify realm database files. * [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. + * [fastlane-plugin-appicon](https://github.com/neonichu/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From b9feb8c3d9a8ee01e46aaf43e6427edf045213f6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 9 Jul 2016 19:42:27 -0300 Subject: [PATCH 0052/2606] Added TRMosaicLayout by @vinnyoodles --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c0dab7c90..3228cf00b 100644 --- a/README.md +++ b/README.md @@ -1376,6 +1376,7 @@ Most of these are paid services, some have free tiers. * [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts :large_orange_diamond: * [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. + * [TRMosaicLayout](https://github.com/vinnyoodles/TRMosaicLayout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift 🔶 ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From d898a6968f253a6ebf6e8f63638e2634818df2a9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 10 Jul 2016 13:29:59 -0300 Subject: [PATCH 0053/2606] Added DynamicMaskSegmentSwitch by @KittenYang --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3228cf00b..5639dcb02 100644 --- a/README.md +++ b/README.md @@ -1334,6 +1334,7 @@ Most of these are paid services, some have free tiers. * [Switcher](https://github.com/knn90/Switcher) - Custom UISwitcher with animation :large_orange_diamond: * [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. :large_orange_diamond: * [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. :large_orange_diamond: + * [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: ##### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From 7809b14b0c110f9888c6b2a752a811e16741a604 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 11 Jul 2016 00:12:03 -0300 Subject: [PATCH 0054/2606] Updated karumi's description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5639dcb02..6f0226ac3 100644 --- a/README.md +++ b/README.md @@ -1024,7 +1024,7 @@ Most of these are paid services, some have free tiers. * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. :large_orange_diamond: * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. * [Pages](https://github.com/hyperoslo/Pages) - UIPageViewController made simple :large_orange_diamond: - * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. http://karumi.com :large_orange_diamond: + * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. :large_orange_diamond: * [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop :large_orange_diamond: * [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. :large_orange_diamond: * [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. From e7023559a3075ad29b081610175944cc52310b8e Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 11 Jul 2016 10:20:36 +0530 Subject: [PATCH 0055/2606] Conflict resolved. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41f07743a..2df97df17 100644 --- a/README.md +++ b/README.md @@ -1078,8 +1078,8 @@ Most of these are paid services, some have free tiers. * [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: * [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller :large_orange_diamond: - * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views :large_orange_diamond: * [DCKit](https://github.com/andrew8712/DCKit) - Set of `@IBDesignable` iOS controls, which have useful `@IBInspectable` properties (border width and color, corner radius and much more) :large_orange_diamond: + * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views :large_orange_diamond: ##### Activity Indicator From 331546e389f9c3cab6aaa14a54aadb599192cdef Mon Sep 17 00:00:00 2001 From: Amir Abbas Mousavian Date: Mon, 11 Jul 2016 18:34:42 +0430 Subject: [PATCH 0056/2606] Update FileProvider description (#942) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2df97df17..5a3153bb3 100644 --- a/README.md +++ b/README.md @@ -410,7 +410,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: * [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: -* [FileProvider](https://github.com/amosavian/FileProvider) - SMB/CIFS/WebDAV etc. for Swift on iOS and MacOS. :large_orange_diamond: +* [FileProvider](https://github.com/amosavian/FileProvider) - NSFIleManager replacement for Local and remote (WebDAV/Dropbox/SMB2) files on iOS and MacOS. :large_orange_diamond: ### Functional Programming * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: From 6ccb1a88db43f10ab3a1ce82ba52f771c3f53013 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 11 Jul 2016 07:05:51 -0700 Subject: [PATCH 0057/2606] Minor edits [ci skip] #942 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5a3153bb3..d65e95d2e 100644 --- a/README.md +++ b/README.md @@ -410,7 +410,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: * [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: -* [FileProvider](https://github.com/amosavian/FileProvider) - NSFIleManager replacement for Local and remote (WebDAV/Dropbox/SMB2) files on iOS and MacOS. :large_orange_diamond: +* [FileProvider](https://github.com/amosavian/FileProvider) - NSFileManager replacement for local and remote (WebDAV/Dropbox/SMB2) files on iOS and macOS. :large_orange_diamond: ### Functional Programming * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: From 8128958dc7150dc309fc55752a49850e8564e17e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Mon, 11 Jul 2016 18:33:58 -0300 Subject: [PATCH 0058/2606] Add infer to Tools (#943) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d65e95d2e..e7a2f4f76 100644 --- a/README.md +++ b/README.md @@ -1643,6 +1643,7 @@ Most of these are paid services, some have free tiers. * [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a Mac OS X utility to open and modify realm database files. * [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. * [fastlane-plugin-appicon](https://github.com/neonichu/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. + * [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 201e4dd54d6386e2961cb352c15a31c1f6e7712e Mon Sep 17 00:00:00 2001 From: mcmatan Date: Tue, 12 Jul 2016 13:33:08 +0300 Subject: [PATCH 0059/2606] Added JVTImageFilePicker (#941) * Added JVTImageFilePicker Hope you will except my library, if something is wrong please inform me (: Thanks, Matan * lib to bottom of category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e7a2f4f76..029e3972d 100644 --- a/README.md +++ b/README.md @@ -469,6 +469,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LLSimpleCamera](https://github.com/omergul123/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. * [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. :large_orange_diamond: * [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. :large_orange_diamond: + * [JVTImageFilePicker](https://github.com/mcmatan/JVTImageFilePicker) - Easy and beautiful way for a user to pick content, files or images. Written in Objective C. ##### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: From 2940e5f6b6ffc11e8bf3bbc40d6c14b207d89db2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 13 Jul 2016 02:13:40 -0300 Subject: [PATCH 0060/2606] Added IQAudioRecorderController by @hackiftekhar fixes #886 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 029e3972d..a72b4b906 100644 --- a/README.md +++ b/README.md @@ -637,6 +637,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. :large_orange_diamond: * [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/OSX DSP for audio (with Novocaine) * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. + * [IQAudioRecorderController](https://github.com/hackiftekhar/IQAudioRecorderController) - A drop-in universal library allows to record audio within the app with a nice User Interface. ##### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. From 853d1e65df1faae4513dcf7d4e34037e6a08531e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 00:07:05 -0300 Subject: [PATCH 0061/2606] Added AutoCompleteTextField by @nferocious76 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a72b4b906..f56cab6d0 100644 --- a/README.md +++ b/README.md @@ -1413,6 +1413,7 @@ Most of these are paid services, some have free tiers. * [SRKControls](https://github.com/sag333ar/SRKControls) - A Custom control which turns UITextfield to item-picker & date-picker. :large_orange_diamond: * [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. :large_orange_diamond: * [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.🔶[e] + * [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield :large_orange_diamond: ### Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. From 0c95821a39d5bf069e708a4f06d7a1960a54b887 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 00:10:32 -0300 Subject: [PATCH 0062/2606] Added Translucid by @Ekhoo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f56cab6d0..e93f737c5 100644 --- a/README.md +++ b/README.md @@ -947,6 +947,7 @@ Most of these are paid services, some have free tiers. * [NoOptionalInterpolation](https://github.com/T-Pham/NoOptionalInterpolation) - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.🔶[e] * [Smile](https://github.com/onmyway133/Smile) 😄 Emoji in Swift * [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift 🔶[e] + * [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. :large_orange_diamond: ##### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: From 8e6495368fd67a1eb37c8e892583504589c404d3 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 00:13:16 -0300 Subject: [PATCH 0063/2606] Added Lockbox by @granoff --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e93f737c5..44a4271c7 100644 --- a/README.md +++ b/README.md @@ -914,6 +914,7 @@ Most of these are paid services, some have free tiers. * [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. * [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: * [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: + * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. ### Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From fa69f41bb63ea34db94a4aa67cac5189384159fa Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 00:15:04 -0300 Subject: [PATCH 0064/2606] Added NightNight by @Draveness --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 44a4271c7..137b75c14 100644 --- a/README.md +++ b/README.md @@ -1084,6 +1084,7 @@ Most of these are paid services, some have free tiers. * [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller :large_orange_diamond: * [DCKit](https://github.com/andrew8712/DCKit) - Set of `@IBDesignable` iOS controls, which have useful `@IBInspectable` properties (border width and color, corner radius and much more) :large_orange_diamond: * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views :large_orange_diamond: + * [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects :large_orange_diamond: ##### Activity Indicator From 16ff12127b830d8ff45df2b70fcb779ea722805c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 00:16:06 -0300 Subject: [PATCH 0065/2606] Added WSTagsField by @whitesmith --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 137b75c14..604575607 100644 --- a/README.md +++ b/README.md @@ -1392,6 +1392,7 @@ Most of these are paid services, some have free tiers. * [TTGTagCollectionView](https://github.com/zekunyan/TTGTagCollectionView) - Show simple text tags or custom tag views in a vertical scrollable view. * [TagListView](https://github.com/xhacker/TagListView) - Simple and highly customizable iOS tag list view, in Swift. :large_orange_diamond: * [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. + * [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags :large_orange_diamond: ##### TextField & TextView * [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. From 5b253063f52f2dcf79d5b5dce10974a5b15ee1a1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 00:17:37 -0300 Subject: [PATCH 0066/2606] Moved Reusable to Table View section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 604575607..e65d5ecda 100644 --- a/README.md +++ b/README.md @@ -1384,6 +1384,7 @@ Most of these are paid services, some have free tiers. * [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. * [TRMosaicLayout](https://github.com/vinnyoodles/TRMosaicLayout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift 🔶 + * [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells :large_orange_diamond: ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. @@ -1445,7 +1446,6 @@ Most of these are paid services, some have free tiers. * [Sugar](https://github.com/hyperoslo/Sugar) - Something sweet that goes great with your Cocoa. :large_orange_diamond:[e] * [Then](https://github.com/devxoul/Then) - ✨ Super sweet syntactic sugar for Swift initializers. :large_orange_diamond:[e] * [Kvitto](https://github.com/Cocoanetics/Kvitto) - App Store Receipt Validation :large_orange_diamond: - * [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells :large_orange_diamond: * [Notificationz](https://github.com/SwiftKitz/Notificationz) - Helping you own NSNotificationCenter in Swift :large_orange_diamond: * [SwiftFoundation](https://github.com/PureSwift/SwiftFoundation) - Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux) :large_orange_diamond:[e] * [libextobjc](https://github.com/jspahrsummers/libextobjc) - A Cocoa library to extend the Objective-C programming language. From a07961594ee0c783ce81294effb4747adc340d61 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 00:23:23 -0300 Subject: [PATCH 0067/2606] Added CommonCrypto.swift by @onmyway133 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e65d5ecda..9c3466691 100644 --- a/README.md +++ b/README.md @@ -915,6 +915,7 @@ Most of these are paid services, some have free tiers. * [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: * [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. + * [CommonCrypto.swift](https://github.com/onmyway133/CommonCrypto.swift) - :floppy_disk: Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: ### Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From 806a8a6f1a2a9fa374788c4e98c206a939685789 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 00:29:42 -0300 Subject: [PATCH 0068/2606] Added LUNSegmentedControl by @LunApps --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9c3466691..489a77b31 100644 --- a/README.md +++ b/README.md @@ -1342,6 +1342,7 @@ Most of these are paid services, some have free tiers. * [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. :large_orange_diamond: * [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. :large_orange_diamond: * [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: + * [LUNSegmentedControl](https://github.com/LunApps/LUNSegmentedControl) - Customizable segmented control with interactive animation. ##### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From 954738defdbecebe75c6b1a3e4fc53d42cb51e3e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 00:44:17 -0300 Subject: [PATCH 0069/2606] Added SideMenuController by @teodorpatras --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 489a77b31..6ea2d5a60 100644 --- a/README.md +++ b/README.md @@ -1265,6 +1265,7 @@ Most of these are paid services, some have free tiers. * [Persei](https://github.com/Yalantis/Persei) - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift :large_orange_diamond: * [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS :large_orange_diamond: * [KYGooeyMenu](https://github.com/KittenYang/KYGooeyMenu) - A not bad gooey effects menu. + * [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift :large_orange_diamond: ##### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 16d0f691e31e22d92faba329b9f63003dcb92165 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 00:47:10 -0300 Subject: [PATCH 0070/2606] Added SubscriptionPrompt by @Binur --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6ea2d5a60..2746d46f1 100644 --- a/README.md +++ b/README.md @@ -1290,6 +1290,7 @@ Most of these are paid services, some have free tiers. * [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. :large_orange_diamond: * [CNPPopupController](https://github.com/carsonperrotti/CNPPopupController) - Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. * [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. + * [SubscriptionPrompt](https://github.com/Binur/SubscriptionPrompt) - Subscription View Controller like the Tinder uses :large_orange_diamond: ##### Pull to Refresh * [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: From 4d378f543198e9a217cc92c6a14914d51e4c0e89 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 15 Jul 2016 07:26:11 -0700 Subject: [PATCH 0071/2606] Add zxcvbn-ios to Security [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2746d46f1..d0db02095 100644 --- a/README.md +++ b/README.md @@ -916,6 +916,7 @@ Most of these are paid services, some have free tiers. * [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. * [CommonCrypto.swift](https://github.com/onmyway133/CommonCrypto.swift) - :floppy_disk: Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: + * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. ### Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From 020cf88faafbdba02606283acb837241b68b620f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 12:58:52 -0300 Subject: [PATCH 0072/2606] Organized Encryption under Security --- README.md | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index d0db02095..eaa458c93 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Reflection](#reflection) - [Regex](#regex) - [Security](#security) + - [Encryption](#encryption) - [Text](#text) - [Font](#font) - [URL Scheme](#url-scheme) @@ -442,10 +443,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [InkKit](https://github.com/shaps80/InkKit) - Drawing and Geometry made easy for iOS -- Now in Swift! :large_orange_diamond: * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. -### Encryption -* [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. -* [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. :large_orange_diamond: - ### Hardware ##### Bluetooth * [Discovery](https://github.com/omergul123/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). @@ -898,26 +895,31 @@ Most of these are paid services, some have free tiers. * [Valet](https://github.com/square/Valet) - Securely store data in the iOS or OS X Keychain without knowing a thing about how the Keychain works. * [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. :large_orange_diamond: * [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. - * [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - String Obfuscation for app's executable file * [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and OS X :large_orange_diamond:[e] - * [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/OS X, Android and different server side platforms. * [Keychain](https://github.com/hyperoslo/Keychain) - Because you should care... about the security... of your shit. :large_orange_diamond: * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: * [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. :large_orange_diamond: - * [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. :large_orange_diamond: - * [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift :large_orange_diamond: - * [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: * [SSKeychain](https://github.com/soffes/sskeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. - * [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, SEM encryption in Swift with CommonCrypto in iOS and OS X :large_orange_diamond: * [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: - * [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms :large_orange_diamond: * [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. - * [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: - * [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. - * [CommonCrypto.swift](https://github.com/onmyway133/CommonCrypto.swift) - :floppy_disk: Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. +##### Encryption +* [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. +* [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. :large_orange_diamond: +* [CommonCrypto.swift](https://github.com/onmyway133/CommonCrypto.swift) - :floppy_disk: Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: + * [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: + * [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: + * [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms :large_orange_diamond: + * [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, SEM encryption in Swift with CommonCrypto in iOS and OS X :large_orange_diamond: + * [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. :large_orange_diamond: + * [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift :large_orange_diamond: + * [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: + * [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/OS X, Android and different server side platforms. + * [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - String Obfuscation for app's executable file + + ### Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. * [Nimbus](https://github.com/jverkoey/nimbus) - Nimbus is a toolkit for experienced iOS software designers. From 6486a50c7e59f342094350955f9ee36cd17ae9a7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 12:59:43 -0300 Subject: [PATCH 0073/2606] Fixed tabbing for Encryption --- README.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index eaa458c93..cea8de66c 100644 --- a/README.md +++ b/README.md @@ -909,16 +909,15 @@ Most of these are paid services, some have free tiers. * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. * [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. :large_orange_diamond: * [CommonCrypto.swift](https://github.com/onmyway133/CommonCrypto.swift) - :floppy_disk: Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: - * [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: - * [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: - * [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms :large_orange_diamond: - * [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, SEM encryption in Swift with CommonCrypto in iOS and OS X :large_orange_diamond: - * [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. :large_orange_diamond: - * [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift :large_orange_diamond: - * [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: - * [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/OS X, Android and different server side platforms. - * [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - String Obfuscation for app's executable file - +* [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: +* [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: +* [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms :large_orange_diamond: +* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, SEM encryption in Swift with CommonCrypto in iOS and OS X :large_orange_diamond: +* [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. :large_orange_diamond: +* [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift :large_orange_diamond: +* [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: +* [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/OS X, Android and different server side platforms. +* [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - String Obfuscation for app's executable file ### Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From 91cd1e5ed78675802e41ead7be65426ca50a4b08 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 13:04:23 -0300 Subject: [PATCH 0074/2606] Moved more libs to Encryption --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cea8de66c..745672f4d 100644 --- a/README.md +++ b/README.md @@ -897,10 +897,8 @@ Most of these are paid services, some have free tiers. * [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. * [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and OS X :large_orange_diamond:[e] * [Keychain](https://github.com/hyperoslo/Keychain) - Because you should care... about the security... of your shit. :large_orange_diamond: - * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: * [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. :large_orange_diamond: * [SSKeychain](https://github.com/soffes/sskeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. - * [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: * [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. @@ -918,6 +916,8 @@ Most of these are paid services, some have free tiers. * [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: * [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/OS X, Android and different server side platforms. * [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - String Obfuscation for app's executable file +* [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: +* [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: ### Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From 75383197178f5651fea58303da573c533f20f41a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 13:11:10 -0300 Subject: [PATCH 0075/2606] Added SwiftSnippets by @hyperoslo fixes #946 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 745672f4d..6bba47dfa 100644 --- a/README.md +++ b/README.md @@ -1811,6 +1811,7 @@ Most of these are paid services, some have free tiers. # Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: * [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. +* [SwiftSnippets](https://github.com/hyperoslo/SwiftSnippets) - A collection of Swift snippets to be used in Xcode # Style Guides * [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. From 7f391630ba673f6cd519153235fbc4144883dac0 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 13:14:36 -0300 Subject: [PATCH 0076/2606] Added SwiftTheme by @jiecao-fm fixes #836 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6bba47dfa..cec249f8e 100644 --- a/README.md +++ b/README.md @@ -1088,6 +1088,7 @@ Most of these are paid services, some have free tiers. * [DCKit](https://github.com/andrew8712/DCKit) - Set of `@IBDesignable` iOS controls, which have useful `@IBInspectable` properties (border width and color, corner radius and much more) :large_orange_diamond: * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views :large_orange_diamond: * [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects :large_orange_diamond: + * [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ :large_orange_diamond: ##### Activity Indicator From a8e374bd62d55aed36e1238d54ededd88dd8e03e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 13:19:04 -0300 Subject: [PATCH 0077/2606] Added PinpointKit by @Lickability --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cec249f8e..fd8a7028b 100644 --- a/README.md +++ b/README.md @@ -1089,6 +1089,7 @@ Most of these are paid services, some have free tiers. * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views :large_orange_diamond: * [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects :large_orange_diamond: * [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ :large_orange_diamond: + * [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. :large_orange_diamond: ##### Activity Indicator From ba97da424a46dfadbf6f136042c00e690c1a68bf Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 15 Jul 2016 13:25:11 -0300 Subject: [PATCH 0078/2606] Updated FlightAnimator's description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fd8a7028b..77730d479 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. :large_orange_diamond: * [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. * [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes :large_orange_diamond: - * [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Natural Blocks Based Core Animation Framework :large_orange_diamond: + * [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax :large_orange_diamond: ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 655c207f7b7153339d249f23cb96b0aac46a2dbd Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 16 Jul 2016 23:44:29 -0300 Subject: [PATCH 0079/2606] Moved NetworkObjects to Server --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 77730d479..c12937821 100644 --- a/README.md +++ b/README.md @@ -1560,6 +1560,7 @@ Most of these are paid services, some have free tiers. * [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: * [Redbird](https://github.com/czechboy0/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: + * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: # Dependency / Package Manager * [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. @@ -1663,7 +1664,6 @@ Most of these are paid services, some have free tiers. # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. * [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. - * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Generate RESTful server from your Core Data Model. * [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. ## Injection From 7ee1e26016c3fa50253a225d527db509d4399d45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordi=20Gim=C3=A9nez=20G=C3=A1mez?= Date: Sun, 17 Jul 2016 14:11:45 +0200 Subject: [PATCH 0080/2606] Adding Bugfender, cloud storage for app logs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c12937821..399762b9e 100644 --- a/README.md +++ b/README.md @@ -594,6 +594,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Logkit](https://github.com/logkit/logkit) - An efficient logging library for OS X, iOS, watchOS, and tvOS – written in Swift. Log to console, file, HTTP service, or your own endpoint. Simple to get started, but smartly customizable :large_orange_diamond: * [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations :large_orange_diamond: * [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. :large_orange_diamond: + * [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. ### Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From 558507a47c28bc383d6bdd40b2f4e98cdb46e548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jordi=20Gim=C3=A9nez=20G=C3=A1mez?= Date: Sun, 17 Jul 2016 14:20:28 +0200 Subject: [PATCH 0081/2606] Suggesting Bugfender Live Stream the screen of an iOS device for live debugging --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c12937821..36bcc703c 100644 --- a/README.md +++ b/README.md @@ -1617,6 +1617,7 @@ Most of these are paid services, some have free tiers. * [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift :large_orange_diamond: * [Fetcher](https://github.com/rob-nash/Fetcher) - Mock paging data with a variable fetch time interval. * [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java :large_orange_diamond: + * [Bugfender Live](https://github.com/bugfender/BugfenderLive-iOS) - Stream the screen of an iOS device for live debugging. # Tools * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: From ae2cca6fa96717d59df1191b57db866e1118ea68 Mon Sep 17 00:00:00 2001 From: Simon Strandgaard Date: Sun, 17 Jul 2016 21:46:00 +0200 Subject: [PATCH 0082/2606] Added SwiftyFORM, a framework for creating forms with validation rules --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c12937821..ba9488356 100644 --- a/README.md +++ b/README.md @@ -1208,6 +1208,7 @@ Most of these are paid services, some have free tiers. * [YALField](https://github.com/Yalantis/YALField) - Custom Field component with validation for creating easier form-like UI from interface builder. * [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. :large_orange_diamond: * [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. :large_orange_diamond: + * [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - Framework for creating forms with validation rules :large_orange_diamond: * [APValidators](https://github.com/Alterplay/APValidators) - Codeless solution for form validation in iOS! * [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS :large_orange_diamond: From abcc46a65791db030e37e426a651c11b8e49f4f9 Mon Sep 17 00:00:00 2001 From: Simon Strandgaard Date: Sun, 17 Jul 2016 21:50:34 +0200 Subject: [PATCH 0083/2606] Addition in chronological order (bottom of category) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ba9488356..a027cc34e 100644 --- a/README.md +++ b/README.md @@ -1208,9 +1208,9 @@ Most of these are paid services, some have free tiers. * [YALField](https://github.com/Yalantis/YALField) - Custom Field component with validation for creating easier form-like UI from interface builder. * [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. :large_orange_diamond: * [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. :large_orange_diamond: - * [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - Framework for creating forms with validation rules :large_orange_diamond: * [APValidators](https://github.com/Alterplay/APValidators) - Codeless solution for form validation in iOS! * [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS :large_orange_diamond: + * [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - Framework for creating forms with validation rules :large_orange_diamond: ##### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From 02082163dca7c03c07fe15cefca6182e930a1466 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 18 Jul 2016 12:12:02 -0300 Subject: [PATCH 0084/2606] Added WSProgressHUD by @devSC --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 970361596..0b2d11a20 100644 --- a/README.md +++ b/README.md @@ -1127,7 +1127,8 @@ Most of these are paid services, some have free tiers. * [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. :large_orange_diamond: * [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - Circular progress UIView subclass with UIProgressView properties :large_orange_diamond: * [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. - + * [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beauful hud view for iPhone & iPad + ##### Alerts * [NZAlertView](https://github.com/NZN/NZAlertView) - Simple and intuitive alert view. Similar to push notification effect. From 8234fd32198ebd2e0daa57925a61d01c0b0721a6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 18 Jul 2016 14:39:50 -0300 Subject: [PATCH 0085/2606] Removed MBNetworkMonitor because it is not a library --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0b2d11a20..61af0d97b 100644 --- a/README.md +++ b/README.md @@ -756,7 +756,6 @@ Also see [push notifications](#push-notifications) * [ASIHTTPRequest](https://github.com/pokeb/asi-http-request) - Easy to use CFNetwork wrapper for HTTP requests, Objective-C, Mac OS X and iPhone. * [Overcoat](https://github.com/Overcoat/Overcoat) - Small but powerful library that makes creating REST clients simple and fun. * [ROADFramework](https://github.com/epam/road-ios-framework) - Attributed-oriented approach for interacting with web services. The framework has built-in json and xml serialization for requests and responses and can be easily extensible. - * [MBNetworkMonitor](https://github.com/emaloney/MBToolbox/blob/master/Code/Network/MBNetworkMonitor.h) - A modern replacement for Apple's `Reachability` class that uses CoreTelephony to report more [information about the user's network connection](https://rawgit.com/emaloney/MBToolbox/master/Documentation/html/Classes/MBNetworkMonitor.html). * [Alamofire](https://github.com/Alamofire/Alamofire) - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking. :large_orange_diamond: * [Transporter](https://github.com/nghialv/Transporter) - A tiny library makes uploading and downloading easier. :large_orange_diamond: * [CDZPinger](https://github.com/cdzombak/CDZPinger) - Easy-to-use ICMP Ping. From bc7f89c3484420639dbe7e338e677529d2166bde Mon Sep 17 00:00:00 2001 From: WorldDownTown Date: Tue, 19 Jul 2016 18:21:42 +0900 Subject: [PATCH 0086/2606] add ZoomTransitioning --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 61af0d97b..7ffd4d462 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. * [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes :large_orange_diamond: * [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax :large_orange_diamond: + * [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. :large_orange_diamond: ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 4a62f3758a4430b27ab7e25e57e9221ac6374d71 Mon Sep 17 00:00:00 2001 From: mcmatan Date: Tue, 19 Jul 2016 16:14:18 +0300 Subject: [PATCH 0087/2606] Add "ImageOpenTransition" to Modal transitions --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 61af0d97b..ae5ac8c63 100644 --- a/README.md +++ b/README.md @@ -1283,6 +1283,8 @@ Most of these are paid services, some have free tiers. * [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao * [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: + * [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. :large_orange_diamond: + ##### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 7a77ae1aeb55847ceff209baae46d6d976845cd6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 19 Jul 2016 12:30:49 -0300 Subject: [PATCH 0088/2606] Updated Bridge's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f056ae2a..d5f3ec1ad 100644 --- a/README.md +++ b/README.md @@ -771,7 +771,7 @@ Also see [push notifications](#push-notifications) * [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. :large_orange_diamond: * [TWRDownloadManager](https://github.com/chasseurmic/TWRDownloadManager) - A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. * [HappyDns](https://github.com/qiniu/happy-dns-objc) - A Dns library, support custom dns server, dnspod httpdns. Only support A record. - * [Bridge](https://github.com/rawrjustin/Bridge) - A simple extensible typed networking library. Intercept and process/alter requests and responses easily. :large_orange_diamond: + * [Bridge](https://github.com/BridgeNetworking/Bridge) - A simple extensible typed networking library. Intercept and process/alter requests and responses easily. :large_orange_diamond: * [TRON](https://github.com/MLSDev/TRON) - Lightweight network abstraction layer, written on top of Alamofire and SwiftyJSON :large_orange_diamond: * [EVCloudKitDao](https://github.com/evermeer/EVCloudKitDao) - Simplified access to Apple's CloudKit :large_orange_diamond: * [EVURLCache](https://github.com/evermeer/EVURLCache) - a NSURLCache subclass for handling all web requests that use NSURLRequest :large_orange_diamond: From a3d3378b1113e9a5687e16aaea759a4c65fbb7dd Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 19 Jul 2016 15:00:22 -0300 Subject: [PATCH 0089/2606] Added VTMagic by @tianzhuo112 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d5f3ec1ad..cb02d3133 100644 --- a/README.md +++ b/README.md @@ -1398,6 +1398,7 @@ Most of these are paid services, some have free tiers. * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. * [TRMosaicLayout](https://github.com/vinnyoodles/TRMosaicLayout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift 🔶 * [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells :large_orange_diamond: + * [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 6975f76e8218886670ac4df27fd9f71a3121d06d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 19 Jul 2016 16:34:28 -0300 Subject: [PATCH 0090/2606] Moved Presentr to Popup --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index cb02d3133..5780a389c 100644 --- a/README.md +++ b/README.md @@ -1283,9 +1283,7 @@ Most of these are paid services, some have free tiers. * [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. :large_orange_diamond: * [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao * [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller - * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: * [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. :large_orange_diamond: - ##### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: @@ -1300,6 +1298,7 @@ Most of these are paid services, some have free tiers. * [CNPPopupController](https://github.com/carsonperrotti/CNPPopupController) - Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. * [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. * [SubscriptionPrompt](https://github.com/Binur/SubscriptionPrompt) - Subscription View Controller like the Tinder uses :large_orange_diamond: + * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: ##### Pull to Refresh * [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: From 6c3dc2c3c117d441610b287bc8b83e1eca9a37e4 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 19 Jul 2016 20:13:33 -0300 Subject: [PATCH 0091/2606] Updated Category spaces fixes #960 --- README.md | 248 +++++++++++++++++++++++++++--------------------------- 1 file changed, 124 insertions(+), 124 deletions(-) diff --git a/README.md b/README.md index 5780a389c..87aba2661 100644 --- a/README.md +++ b/README.md @@ -276,33 +276,33 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swiftlint](https://github.com/realm/swiftlint) - A tool to enforce Swift style and conventions. :large_orange_diamond: ### Color -* [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: -* [SDevFlatColors](https://github.com/0x73/SDevFlatColors) - Flat Colors on Swift :large_orange_diamond: -* [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. -* [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. :large_orange_diamond:[e] -* [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. :large_orange_diamond:[e] -* [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/OSX development life easier. -* [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. :large_orange_diamond: -* [Crayons](https://github.com/Sephiroth87/Crayons) - An Xcode plugin to improve dealing with colors in your project -* [Hue](https://github.com/hyperoslo/Hue) - Hue is the all-in-one coloring utility that you'll ever need. -* [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. :large_orange_diamond: -* [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. :large_orange_diamond: -* [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. :large_orange_diamond: -* [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) :large_orange_diamond: -* [XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) - :balloon: An Xcode plugin that makes working with color easier :large_orange_diamond:[e] + * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: + * [SDevFlatColors](https://github.com/0x73/SDevFlatColors) - Flat Colors on Swift :large_orange_diamond: + * [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. + * [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. :large_orange_diamond:[e] + * [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. :large_orange_diamond:[e] + * [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/OSX development life easier. + * [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. :large_orange_diamond: + * [Crayons](https://github.com/Sephiroth87/Crayons) - An Xcode plugin to improve dealing with colors in your project + * [Hue](https://github.com/hyperoslo/Hue) - Hue is the all-in-one coloring utility that you'll ever need. + * [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. :large_orange_diamond: + * [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. :large_orange_diamond: + * [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. :large_orange_diamond: + * [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) :large_orange_diamond: + * [XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) - :balloon: An Xcode plugin that makes working with color easier :large_orange_diamond:[e] ### Command Line -* [Swiftline](https://github.com/oarrabi/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: -* [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces :large_orange_diamond: -* [Colors](https://github.com/paulot/Colors) - Terminal Colors for Swift :large_orange_diamond: -* [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift :large_orange_diamond: -* [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: + * [Swiftline](https://github.com/oarrabi/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: + * [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces :large_orange_diamond: + * [Colors](https://github.com/paulot/Colors) - Terminal Colors for Swift :large_orange_diamond: + * [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift :large_orange_diamond: + * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: ### Concurrency -* [Venice](https://github.com/VeniceX/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: -* [Safe](https://github.com/tidwall/Safe) - Modern Concurrency and Synchronization for Swift. :large_orange_diamond: -* [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives :large_orange_diamond: -* [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift :large_orange_diamond: + * [Venice](https://github.com/VeniceX/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: + * [Safe](https://github.com/tidwall/Safe) - Modern Concurrency and Synchronization for Swift. :large_orange_diamond: + * [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives :large_orange_diamond: + * [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift :large_orange_diamond: ### Charts * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: @@ -384,15 +384,15 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ### Date & Time -* [Every.swift](https://github.com/samhann/Every.swift) - Wrapper for NSTimer :large_orange_diamond: -* [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions :large_orange_diamond:[e] -* [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 :large_orange_diamond: -* [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 :large_orange_diamond: -* [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C -* [Punctual.swift](https://github.com/harlanhaskins/Punctual.swift) - Swift dates, more fun. :large_orange_diamond: -* [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond:[e] -* [AFDateHelper](https://github.com/melvitax/AFDateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond:[e] -* [Tempo](https://github.com/remirobert/Tempo) - Date and time manager for iOS/OSX written in Swift :large_orange_diamond: + * [Every.swift](https://github.com/samhann/Every.swift) - Wrapper for NSTimer :large_orange_diamond: + * [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions :large_orange_diamond:[e] + * [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 :large_orange_diamond: + * [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 :large_orange_diamond: + * [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C + * [Punctual.swift](https://github.com/harlanhaskins/Punctual.swift) - Swift dates, more fun. :large_orange_diamond: + * [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond:[e] + * [AFDateHelper](https://github.com/melvitax/AFDateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond:[e] + * [Tempo](https://github.com/remirobert/Tempo) - Date and time manager for iOS/OSX written in Swift :large_orange_diamond: ### EventBus * [Caravel](https://github.com/coshx/caravel) - A Swift event bus for UIWebView and JS :large_orange_diamond: @@ -408,41 +408,41 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety :large_orange_diamond: ### Files -* [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: -* [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: -* [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: -* [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: -* [FileProvider](https://github.com/amosavian/FileProvider) - NSFileManager replacement for local and remote (WebDAV/Dropbox/SMB2) files on iOS and macOS. :large_orange_diamond: + * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: + * [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: + * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: + * [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: + * [FileProvider](https://github.com/amosavian/FileProvider) - NSFileManager replacement for local and remote (WebDAV/Dropbox/SMB2) files on iOS and macOS. :large_orange_diamond: ### Functional Programming -* [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: -* [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. :large_orange_diamond: -* [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. :large_orange_diamond: -* [Oriole](https://github.com/tptee/Oriole) - A functional utility belt implemented as Swift 2.0 protocol extensions. :large_orange_diamond:[e] -* [Prelude](https://github.com/robrix/Prelude) - Swift µframework of simple functional programming tools. :large_orange_diamond: -* [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. :large_orange_diamond: -* [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. :large_orange_diamond: -* [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. :large_orange_diamond:[e] -* [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: -* [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: + * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: + * [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. :large_orange_diamond: + * [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. :large_orange_diamond: + * [Oriole](https://github.com/tptee/Oriole) - A functional utility belt implemented as Swift 2.0 protocol extensions. :large_orange_diamond:[e] + * [Prelude](https://github.com/robrix/Prelude) - Swift µframework of simple functional programming tools. :large_orange_diamond: + * [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. :large_orange_diamond: + * [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. :large_orange_diamond: + * [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. :large_orange_diamond:[e] + * [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: + * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: ### Games -* [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: + * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: ### Gesture -* [Tactile](https://github.com/delba/Tactile) - The Swift way to add UIGestureRecognizer and to react to UIControlEvents :large_orange_diamond: -* [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond:[e] -* [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] :large_orange_diamond: -* [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. :large_orange_diamond: + * [Tactile](https://github.com/delba/Tactile) - The Swift way to add UIGestureRecognizer and to react to UIControlEvents :large_orange_diamond: + * [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond:[e] + * [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] :large_orange_diamond: + * [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. :large_orange_diamond: ### Graphics -* [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! :large_orange_diamond: -* [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. -* [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext -* [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! :large_orange_diamond: -* [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). :large_orange_diamond: -* [InkKit](https://github.com/shaps80/InkKit) - Drawing and Geometry made easy for iOS -- Now in Swift! :large_orange_diamond: -* [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. + * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! :large_orange_diamond: + * [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. + * [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext + * [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! :large_orange_diamond: + * [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). :large_orange_diamond: + * [InkKit](https://github.com/shaps80/InkKit) - Drawing and Geometry made easy for iOS -- Now in Swift! :large_orange_diamond: + * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. ### Hardware ##### Bluetooth @@ -531,31 +531,31 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. :large_orange_diamond: ### Layout -* [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift :large_orange_diamond: -* [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. -* [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. -* [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. -* [PureLayout](https://github.com/PureLayout/PureLayout) - The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible. -* [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & OS X. :large_orange_diamond: -* [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :large_orange_diamond: -* [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. :large_orange_diamond: -* [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. :large_orange_diamond: -* [MisterFusion](https://github.com/szk-atmosphere/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. :large_orange_diamond: -* [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. :large_orange_diamond: -* [ManualLayout](https://github.com/isair/ManualLayout) - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit. :large_orange_diamond:[e] -* [Stevia](https://github.com/s4cha/Stevia) - Elegant view layout for iOS. :large_orange_diamond: -* [Manuscript](https://github.com/floriankrueger/Manuscript) - AutoLayoutKit in pure Swift. :large_orange_diamond: -* [FDTemplateLayoutCell](https://github.com/forkingdog/UITableView-FDTemplateLayoutCell) - Template auto layout cell for automatically UITableViewCell height calculating -* [SwiftAutoLayout](https://github.com/indragiek/SwiftAutoLayout) - Tiny Swift DSL for Autolayout :large_orange_diamond: -* [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. :large_orange_diamond: -* [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift :large_orange_diamond: -* [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy :large_orange_diamond: -* [SwiftBond](https://github.com/SwiftBond/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. :large_orange_diamond: -* [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift :large_orange_diamond: -* [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - The easiest way to create and maintain Auto Layout constraints :large_orange_diamond: -* [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! :large_orange_diamond: -* [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. :large_orange_diamond: -* [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS :large_orange_diamond: + * [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift :large_orange_diamond: + * [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. + * [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. + * [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. + * [PureLayout](https://github.com/PureLayout/PureLayout) - The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible. + * [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & OS X. :large_orange_diamond: + * [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :large_orange_diamond: + * [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. :large_orange_diamond: + * [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. :large_orange_diamond: + * [MisterFusion](https://github.com/szk-atmosphere/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. :large_orange_diamond: + * [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. :large_orange_diamond: + * [ManualLayout](https://github.com/isair/ManualLayout) - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit. :large_orange_diamond:[e] + * [Stevia](https://github.com/s4cha/Stevia) - Elegant view layout for iOS. :large_orange_diamond: + * [Manuscript](https://github.com/floriankrueger/Manuscript) - AutoLayoutKit in pure Swift. :large_orange_diamond: + * [FDTemplateLayoutCell](https://github.com/forkingdog/UITableView-FDTemplateLayoutCell) - Template auto layout cell for automatically UITableViewCell height calculating + * [SwiftAutoLayout](https://github.com/indragiek/SwiftAutoLayout) - Tiny Swift DSL for Autolayout :large_orange_diamond: + * [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. :large_orange_diamond: + * [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift :large_orange_diamond: + * [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy :large_orange_diamond: + * [SwiftBond](https://github.com/SwiftBond/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. :large_orange_diamond: + * [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift :large_orange_diamond: + * [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - The easiest way to create and maintain Auto Layout constraints :large_orange_diamond: + * [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! :large_orange_diamond: + * [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. :large_orange_diamond: + * [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS :large_orange_diamond: ### Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. @@ -831,15 +831,15 @@ Most of these are paid services, some have free tiers. * [Passkit](https://passkit.com) - Design, Create and validate Passbook Passes. ### Permissions -* [PermissionScope](https://github.com/nickoneill/PermissionScope) - Intelligent iOS permissions UI and unified API (Supports Location, Notifications, Camera, Contacts, Calendar, Photos, Microphone, BT, Activity Monitoring, HealthKit and CloudKit). :large_orange_diamond: -* [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). :large_orange_diamond: -* [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). :large_orange_diamond: -* [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. -* [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. -* [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. -* [ClusterPrePermissions](https://github.com/clusterinc/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. -* [Permission](https://github.com/delba/Permission) - Ask for iOS permissions through a single, uniform interface. :large_orange_diamond: -* [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: + * [PermissionScope](https://github.com/nickoneill/PermissionScope) - Intelligent iOS permissions UI and unified API (Supports Location, Notifications, Camera, Contacts, Calendar, Photos, Microphone, BT, Activity Monitoring, HealthKit and CloudKit). :large_orange_diamond: + * [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). :large_orange_diamond: + * [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). :large_orange_diamond: + * [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. + * [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. + * [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. + * [ClusterPrePermissions](https://github.com/clusterinc/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. + * [Permission](https://github.com/delba/Permission) - Ask for iOS permissions through a single, uniform interface. :large_orange_diamond: + * [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: ### Payments * [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. :large_orange_diamond: @@ -859,23 +859,23 @@ Most of these are paid services, some have free tiers. * [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. ### Reactive Programming -* [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift :large_orange_diamond: -* [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extentions for Swift optionals and "Occupiable" types :large_orange_diamond:[e] -* [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes :large_orange_diamond: -* [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) - Streams of values over time :large_orange_diamond: -* [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. :large_orange_diamond: -* [ReactiveCoreData](https://github.com/apparentsoft/ReactiveCoreData) - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world. -* [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux :large_orange_diamond: -* [ReactiveKit](https://github.com/ReactiveKit/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. :large_orange_diamond: -* [RxPermission](https://github.com/sunshinejr/RxPermission) - RxSwift bindings for Permissions API in iOS. :large_orange_diamond: -* [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire :large_orange_diamond: -* [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types :large_orange_diamond: -* [RxMultipeer](https://github.com/RxSwiftCommunity/RxMultipeer) - A testable RxSwift wrapper around MultipeerConnectivity :large_orange_diamond: -* [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & OSX Bluetooth library for RxSwift :large_orange_diamond: -* [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures :large_orange_diamond: -* [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. :large_orange_diamond: -* [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data :large_orange_diamond: -* [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: + * [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift :large_orange_diamond: + * [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extentions for Swift optionals and "Occupiable" types :large_orange_diamond:[e] + * [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes :large_orange_diamond: + * [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) - Streams of values over time :large_orange_diamond: + * [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. :large_orange_diamond: + * [ReactiveCoreData](https://github.com/apparentsoft/ReactiveCoreData) - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world. + * [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux :large_orange_diamond: + * [ReactiveKit](https://github.com/ReactiveKit/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. :large_orange_diamond: + * [RxPermission](https://github.com/sunshinejr/RxPermission) - RxSwift bindings for Permissions API in iOS. :large_orange_diamond: + * [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire :large_orange_diamond: + * [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types :large_orange_diamond: + * [RxMultipeer](https://github.com/RxSwiftCommunity/RxMultipeer) - A testable RxSwift wrapper around MultipeerConnectivity :large_orange_diamond: + * [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & OSX Bluetooth library for RxSwift :large_orange_diamond: + * [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures :large_orange_diamond: + * [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. :large_orange_diamond: + * [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data :large_orange_diamond: + * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: ### Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: @@ -905,20 +905,20 @@ Most of these are paid services, some have free tiers. * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. ##### Encryption -* [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. -* [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. :large_orange_diamond: -* [CommonCrypto.swift](https://github.com/onmyway133/CommonCrypto.swift) - :floppy_disk: Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: -* [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: -* [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: -* [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms :large_orange_diamond: -* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, SEM encryption in Swift with CommonCrypto in iOS and OS X :large_orange_diamond: -* [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. :large_orange_diamond: -* [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift :large_orange_diamond: -* [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: -* [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/OS X, Android and different server side platforms. -* [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - String Obfuscation for app's executable file -* [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: -* [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: + * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. + * [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. :large_orange_diamond: + * [CommonCrypto.swift](https://github.com/onmyway133/CommonCrypto.swift) - :floppy_disk: Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: + * [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: + * [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: + * [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms :large_orange_diamond: + * [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, SEM encryption in Swift with CommonCrypto in iOS and OS X :large_orange_diamond: + * [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. :large_orange_diamond: + * [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift :large_orange_diamond: + * [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: + * [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/OS X, Android and different server side platforms. + * [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - String Obfuscation for app's executable file + * [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: + * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: ### Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From 225853c7cdc62958dc28d6d41b3f8b9fc20e909a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 19 Jul 2016 22:59:59 -0300 Subject: [PATCH 0092/2606] Fixed extra space before * --- README.md | 3068 ++++++++++++++++++++++++++--------------------------- 1 file changed, 1534 insertions(+), 1534 deletions(-) diff --git a/README.md b/README.md index 87aba2661..f8aef246c 100644 --- a/README.md +++ b/README.md @@ -147,580 +147,580 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *** # Getting Started - * [Start Developing with iOS](https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. :large_orange_diamond: - * [Lifehacker](http://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? - * [Codeproject](http://www.codeproject.com/Articles/88929/Getting-Started-with-iPhone-and-iOS-Development) - Getting Started with iPhone and iOS Development. - * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. - * [Stanford - Developing Apps to iOS](https://itunes.apple.com/us/itunes-u/developing-apps-for-ios-hd/id395605774?mt=10) - Stanford's iTunes U App Development Course (Audio and Video). - * [Stanford - Developing iOS 8 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099) - Stanford's 2015 iTunes U App Development Course. :large_orange_diamond: - * [Stanford - Developing iOS 9 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961) - Stanford's iTunes U course. :large_orange_diamond: - * [Programming with Objective-C by Apple](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) - * [Object-Oriented Programming with Objective-C by Apple](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) - * [Udacity: Beginning iOS App Development Nanodegree](https://www.udacity.com/course/beginning-ios-app-development-nanodegree--nd006) - Udacity's intro course on writing iOS apps [Paid Resource] :large_orange_diamond: - * [Udacity: iOS Developer Nanodegree](https://www.udacity.com/course/ios-developer-nanodegree--nd003) - Udacity's full course on iOS developing [Paid Resource] :large_orange_diamond: +* [Start Developing with iOS](https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. :large_orange_diamond: +* [Lifehacker](http://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? +* [Codeproject](http://www.codeproject.com/Articles/88929/Getting-Started-with-iPhone-and-iOS-Development) - Getting Started with iPhone and iOS Development. +* [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. +* [Stanford - Developing Apps to iOS](https://itunes.apple.com/us/itunes-u/developing-apps-for-ios-hd/id395605774?mt=10) - Stanford's iTunes U App Development Course (Audio and Video). +* [Stanford - Developing iOS 8 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099) - Stanford's 2015 iTunes U App Development Course. :large_orange_diamond: +* [Stanford - Developing iOS 9 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961) - Stanford's iTunes U course. :large_orange_diamond: +* [Programming with Objective-C by Apple](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) +* [Object-Oriented Programming with Objective-C by Apple](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) +* [Udacity: Beginning iOS App Development Nanodegree](https://www.udacity.com/course/beginning-ios-app-development-nanodegree--nd006) - Udacity's intro course on writing iOS apps [Paid Resource] :large_orange_diamond: +* [Udacity: iOS Developer Nanodegree](https://www.udacity.com/course/ios-developer-nanodegree--nd003) - Udacity's full course on iOS developing [Paid Resource] :large_orange_diamond: # Libraries And Frameworks ### Animation - * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. - * [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. - * [Awesome-iOS-Animation](https://github.com/jackyzh/awesome-ios-animation) - Collection of Animation projects - * [RZTransitions](https://github.com/Raizlabs/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. - * [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. - * [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. - * [Canvas](https://github.com/CanvasPod/Canvas) - Animate in Xcode without code http://canvaspod.io - * [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy :large_orange_diamond: - * [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS with Swift2. :large_orange_diamond: - * [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). :large_orange_diamond: - * [Pop By Example](https://github.com/hossamghareeb/Facebook-POP-Tutorial) - A project tutorial in how to use Pop animation framework by example. - * [AppAnimations](http://www.appanimations.com) - Collection of iOS animations to inspire your next project - * [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. :large_orange_diamond: - * [Animo](https://github.com/eure/Animo) - SpriteKit-like animation builders for CALayers. :large_orange_diamond: - * [CurryFire](https://github.com/devinross/curry-fire) - A framework for creating unique animations. - * [IBAnimatable](https://github.com/JakeLin/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. :large_orange_diamond: - * [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView :large_orange_diamond: - * [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining :large_orange_diamond: - * [SYBlinkAnimationKit](https://github.com/shoheiyokoyama/SYBlinkAnimationKit) - A blink effect animation framework for iOS, written in Swift. :large_orange_diamond: - * [PulsingHalo](https://github.com/shu223/PulsingHalo) - iOS Component for creating a pulsing animation. - * [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - :star: Chainable animations in Swift :large_orange_diamond:[e] - * [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift :large_orange_diamond: - * [Advance](https://github.com/storehouse/Advance) - A powerful animation framework for iOS. :large_orange_diamond: - * [UIView-Shake](https://github.com/andreamazz/UIView-Shake) - UIView category that adds shake animation - * [Walker](https://github.com/RamonGilabert/Walker) - A new animation engine for your app. :large_orange_diamond: - * [Morgan](https://github.com/RamonGilabert/Morgan) - An animation set for your app. :large_orange_diamond: - * [MagicMove](https://github.com/patrickreynolds/MagicMove) - Keynote-style Magic Move transition animations :large_orange_diamond: - * [Shimmer](https://github.com/facebook/Shimmer) - An easy way to add a simple, shimmering effect to any view in an iOS app. - * [SAConfettiView](https://github.com/sudeepag/SAConfettiView) - Confetti! Who doesn't like confetti? :large_orange_diamond: - * [CCMRadarView](https://github.com/cacmartinez/CCMRadarView) - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation :large_orange_diamond: - * [Pulsator](https://github.com/shu223/Pulsator) - Pulse animation for iOS :large_orange_diamond: - * [Interpolate](https://github.com/marmelroy/Interpolate) - Interpolation framework for creating interactive gesture-driven animations :large_orange_diamond: - * [ADPuzzleAnimation](https://github.com/Antondomashnev/ADPuzzleAnimation) - Custom animation for UIView inspired by Fabric - Answers animation. :large_orange_diamond: - * [Wave](https://github.com/onmyway133/Wave) - 🏄 Declarative chainable animations in Swift - * [Stellar](https://github.com/AugustRush/Stellar) - A fantastic Physical animation library for swift :large_orange_diamond: - * [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. :large_orange_diamond: - * [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. - * [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes :large_orange_diamond: - * [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax :large_orange_diamond: - * [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. :large_orange_diamond: +* [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. +* [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. +* [Awesome-iOS-Animation](https://github.com/jackyzh/awesome-ios-animation) - Collection of Animation projects +* [RZTransitions](https://github.com/Raizlabs/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. +* [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. +* [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. +* [Canvas](https://github.com/CanvasPod/Canvas) - Animate in Xcode without code http://canvaspod.io +* [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy :large_orange_diamond: +* [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS with Swift2. :large_orange_diamond: +* [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). :large_orange_diamond: +* [Pop By Example](https://github.com/hossamghareeb/Facebook-POP-Tutorial) - A project tutorial in how to use Pop animation framework by example. +* [AppAnimations](http://www.appanimations.com) - Collection of iOS animations to inspire your next project +* [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. :large_orange_diamond: +* [Animo](https://github.com/eure/Animo) - SpriteKit-like animation builders for CALayers. :large_orange_diamond: +* [CurryFire](https://github.com/devinross/curry-fire) - A framework for creating unique animations. +* [IBAnimatable](https://github.com/JakeLin/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. :large_orange_diamond: +* [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView :large_orange_diamond: +* [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining :large_orange_diamond: +* [SYBlinkAnimationKit](https://github.com/shoheiyokoyama/SYBlinkAnimationKit) - A blink effect animation framework for iOS, written in Swift. :large_orange_diamond: +* [PulsingHalo](https://github.com/shu223/PulsingHalo) - iOS Component for creating a pulsing animation. +* [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - :star: Chainable animations in Swift :large_orange_diamond:[e] +* [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift :large_orange_diamond: +* [Advance](https://github.com/storehouse/Advance) - A powerful animation framework for iOS. :large_orange_diamond: +* [UIView-Shake](https://github.com/andreamazz/UIView-Shake) - UIView category that adds shake animation +* [Walker](https://github.com/RamonGilabert/Walker) - A new animation engine for your app. :large_orange_diamond: +* [Morgan](https://github.com/RamonGilabert/Morgan) - An animation set for your app. :large_orange_diamond: +* [MagicMove](https://github.com/patrickreynolds/MagicMove) - Keynote-style Magic Move transition animations :large_orange_diamond: +* [Shimmer](https://github.com/facebook/Shimmer) - An easy way to add a simple, shimmering effect to any view in an iOS app. +* [SAConfettiView](https://github.com/sudeepag/SAConfettiView) - Confetti! Who doesn't like confetti? :large_orange_diamond: +* [CCMRadarView](https://github.com/cacmartinez/CCMRadarView) - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation :large_orange_diamond: +* [Pulsator](https://github.com/shu223/Pulsator) - Pulse animation for iOS :large_orange_diamond: +* [Interpolate](https://github.com/marmelroy/Interpolate) - Interpolation framework for creating interactive gesture-driven animations :large_orange_diamond: +* [ADPuzzleAnimation](https://github.com/Antondomashnev/ADPuzzleAnimation) - Custom animation for UIView inspired by Fabric - Answers animation. :large_orange_diamond: +* [Wave](https://github.com/onmyway133/Wave) - 🏄 Declarative chainable animations in Swift +* [Stellar](https://github.com/AugustRush/Stellar) - A fantastic Physical animation library for swift :large_orange_diamond: +* [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. :large_orange_diamond: +* [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. +* [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes :large_orange_diamond: +* [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax :large_orange_diamond: +* [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. :large_orange_diamond: ### Apple TV - * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. - * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and OS X - * [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager without client-server :large_orange_diamond: - * [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! :large_orange_diamond: - * [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. :large_orange_diamond: +* [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. +* [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and OS X +* [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager without client-server :large_orange_diamond: +* [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! :large_orange_diamond: +* [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. :large_orange_diamond: ### Authentication - * [Heimdallr.swift](https://github.com/rheinfabrik/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: - * [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. :large_orange_diamond: - * [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. :large_orange_diamond: - * [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for OS X and iOS, written in Swift. :large_orange_diamond: - * [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS :large_orange_diamond: - * [SimpleAuth](https://github.com/calebd/SimpleAuth) - Simple social authentication for iOS - * [AlamofireOauth2](https://github.com/evermeer/AlamofireOauth2) - A swift implementation of OAuth2 :large_orange_diamond: - * [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A small OAuth library with a built-in set of providers :large_orange_diamond: - * [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and OS X apps. :large_orange_diamond: - * [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. :large_orange_diamond: +* [Heimdallr.swift](https://github.com/rheinfabrik/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: +* [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. :large_orange_diamond: +* [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. :large_orange_diamond: +* [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for OS X and iOS, written in Swift. :large_orange_diamond: +* [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS :large_orange_diamond: +* [SimpleAuth](https://github.com/calebd/SimpleAuth) - Simple social authentication for iOS +* [AlamofireOauth2](https://github.com/evermeer/AlamofireOauth2) - A swift implementation of OAuth2 :large_orange_diamond: +* [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A small OAuth library with a built-in set of providers :large_orange_diamond: +* [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and OS X apps. :large_orange_diamond: +* [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. :large_orange_diamond: ### Analytics - * [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. - * [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. - * [Answers by Fabric](https://answers.io/) - Answers gives you real-time insight into people’s experience in your app. - * [Liquid Analytics](https://onliquid.com) - Identify behaviours through Analytics and react with real-time Personalization. - * [GTrack](https://github.com/gemr/GTrack) - Lightweight Objective-C wrapper around the Google Analytics for iOS SDK with some extra goodies. - * [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. - * [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. - * [MOCA Analytics](https://mocaplatform.com/features) - Paid cross-platform analytics backend. - * [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. - * [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. +* [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. +* [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. +* [Answers by Fabric](https://answers.io/) - Answers gives you real-time insight into people’s experience in your app. +* [Liquid Analytics](https://onliquid.com) - Identify behaviours through Analytics and react with real-time Personalization. +* [GTrack](https://github.com/gemr/GTrack) - Lightweight Objective-C wrapper around the Google Analytics for iOS SDK with some extra goodies. +* [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. +* [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. +* [MOCA Analytics](https://mocaplatform.com/features) - Paid cross-platform analytics backend. +* [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. +* [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. ### Bridging - * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac, all using the Ruby language. - * [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. +* [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac, all using the Ruby language. +* [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. ### Cache - * [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache :large_orange_diamond: - * [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content :large_orange_diamond: - * [Carlos](https://github.com/WeltN24/Carlos) - A simple but flexible cache :large_orange_diamond: - * [HanekeSwift](https://github.com/Haneke/HanekeSwift) - A lightweight generic cache for iOS written in Swift with extra love for images. :large_orange_diamond: - * [YYCache](https://github.com/ibireme/YYCache) - High performance cache framework for iOS. - * [Cache](https://github.com/hyperoslo/Cache) - Nothing but Cache. :large_orange_diamond: - * [MGCacheManager](https://github.com/Mortgy/MGCacheManager) - A delightful iOS Networking Cache Managing Class. - * [SPTPersistentCache](https://github.com/spotify/SPTPersistentCache) - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify - * [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. :large_orange_diamond: - * [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cache that cures scroll-lags on a cell instantiating +* [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache :large_orange_diamond: +* [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content :large_orange_diamond: +* [Carlos](https://github.com/WeltN24/Carlos) - A simple but flexible cache :large_orange_diamond: +* [HanekeSwift](https://github.com/Haneke/HanekeSwift) - A lightweight generic cache for iOS written in Swift with extra love for images. :large_orange_diamond: +* [YYCache](https://github.com/ibireme/YYCache) - High performance cache framework for iOS. +* [Cache](https://github.com/hyperoslo/Cache) - Nothing but Cache. :large_orange_diamond: +* [MGCacheManager](https://github.com/Mortgy/MGCacheManager) - A delightful iOS Networking Cache Managing Class. +* [SPTPersistentCache](https://github.com/spotify/SPTPersistentCache) - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify +* [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. :large_orange_diamond: +* [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cache that cures scroll-lags on a cell instantiating ### Code Quality - * [KZBootstrap](https://github.com/krzysztofzablocki/KZBootstrap) - iOS project bootstrap aimed at high quality coding. - * [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL. - * [PSPDFUIKitMainThreadGuard](https://gist.github.com/steipete/5664345) - Simple snippet generating assertions when UIKit is used on background threads. - * [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. - * [chisel](https://github.com/facebook/chisel) - Collection of LLDB commands to assist debugging iOS apps. - * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. - * [ocstyle](https://github.com/Cue/ocstyle) - Objective-C style checker. - * [SwiftLint](https://github.com/realm/SwiftLint) - An experimental tool to enforce Swift style and conventions. :large_orange_diamond: - * [spacecommander](https://github.com/square/spacecommander) - Commit fully-formatted Objective-C code as a team without even trying. - * [DWURecyclingAlert](https://github.com/diwu/DWURecyclingAlert) - Optimizing UITableViewCell For Fast Scrolling. - * [Tailor](https://github.com/sleekbyte/tailor) - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs. - * [SwiftCop](https://github.com/andresinaka/SwiftCop) - SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations. :large_orange_diamond: - * [Trackable](https://github.com/VojtaStavik/Trackable) - Trackable is a simple analytics integration helper library. It’s especially designed for easy and comfortable integration with existing projects. :large_orange_diamond: - * [MLeaksFinder](https://github.com/Zepo/MLeaksFinder) - Find memory leaks in your iOS app at develop time. - * [HeapInspector-for-iOS](https://github.com/tapwork/HeapInspector-for-iOS) - Find memory issues & leaks in your iOS app without instruments - * [FBMemoryProfiler](https://github.com/facebook/FBMemoryProfiler) - iOS tool that helps with profiling iOS Memory usage. - * [FBRetainCycleDetector](https://github.com/facebook/FBRetainCycleDetector) - iOS library to help detecting retain cycles in runtime. - * [Buglife](https://github.com/Buglife/Buglife-iOS) - Awesome bug reporting for iOS apps +* [KZBootstrap](https://github.com/krzysztofzablocki/KZBootstrap) - iOS project bootstrap aimed at high quality coding. +* [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL. +* [PSPDFUIKitMainThreadGuard](https://gist.github.com/steipete/5664345) - Simple snippet generating assertions when UIKit is used on background threads. +* [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. +* [chisel](https://github.com/facebook/chisel) - Collection of LLDB commands to assist debugging iOS apps. +* [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. +* [ocstyle](https://github.com/Cue/ocstyle) - Objective-C style checker. +* [SwiftLint](https://github.com/realm/SwiftLint) - An experimental tool to enforce Swift style and conventions. :large_orange_diamond: +* [spacecommander](https://github.com/square/spacecommander) - Commit fully-formatted Objective-C code as a team without even trying. +* [DWURecyclingAlert](https://github.com/diwu/DWURecyclingAlert) - Optimizing UITableViewCell For Fast Scrolling. +* [Tailor](https://github.com/sleekbyte/tailor) - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs. +* [SwiftCop](https://github.com/andresinaka/SwiftCop) - SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations. :large_orange_diamond: +* [Trackable](https://github.com/VojtaStavik/Trackable) - Trackable is a simple analytics integration helper library. It’s especially designed for easy and comfortable integration with existing projects. :large_orange_diamond: +* [MLeaksFinder](https://github.com/Zepo/MLeaksFinder) - Find memory leaks in your iOS app at develop time. +* [HeapInspector-for-iOS](https://github.com/tapwork/HeapInspector-for-iOS) - Find memory issues & leaks in your iOS app without instruments +* [FBMemoryProfiler](https://github.com/facebook/FBMemoryProfiler) - iOS tool that helps with profiling iOS Memory usage. +* [FBRetainCycleDetector](https://github.com/facebook/FBRetainCycleDetector) - iOS library to help detecting retain cycles in runtime. +* [Buglife](https://github.com/Buglife/Buglife-iOS) - Awesome bug reporting for iOS apps ##### Linter - * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. :large_orange_diamond: - * [Swiftlint](https://github.com/realm/swiftlint) - A tool to enforce Swift style and conventions. :large_orange_diamond: +* [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. :large_orange_diamond: +* [Swiftlint](https://github.com/realm/swiftlint) - A tool to enforce Swift style and conventions. :large_orange_diamond: ### Color - * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: - * [SDevFlatColors](https://github.com/0x73/SDevFlatColors) - Flat Colors on Swift :large_orange_diamond: - * [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. - * [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. :large_orange_diamond:[e] - * [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. :large_orange_diamond:[e] - * [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/OSX development life easier. - * [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. :large_orange_diamond: - * [Crayons](https://github.com/Sephiroth87/Crayons) - An Xcode plugin to improve dealing with colors in your project - * [Hue](https://github.com/hyperoslo/Hue) - Hue is the all-in-one coloring utility that you'll ever need. - * [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. :large_orange_diamond: - * [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. :large_orange_diamond: - * [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. :large_orange_diamond: - * [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) :large_orange_diamond: - * [XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) - :balloon: An Xcode plugin that makes working with color easier :large_orange_diamond:[e] +* [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: +* [SDevFlatColors](https://github.com/0x73/SDevFlatColors) - Flat Colors on Swift :large_orange_diamond: +* [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. +* [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. :large_orange_diamond:[e] +* [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. :large_orange_diamond:[e] +* [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/OSX development life easier. +* [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. :large_orange_diamond: +* [Crayons](https://github.com/Sephiroth87/Crayons) - An Xcode plugin to improve dealing with colors in your project +* [Hue](https://github.com/hyperoslo/Hue) - Hue is the all-in-one coloring utility that you'll ever need. +* [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. :large_orange_diamond: +* [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. :large_orange_diamond: +* [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. :large_orange_diamond: +* [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) :large_orange_diamond: +* [XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) - :balloon: An Xcode plugin that makes working with color easier :large_orange_diamond:[e] ### Command Line - * [Swiftline](https://github.com/oarrabi/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: - * [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces :large_orange_diamond: - * [Colors](https://github.com/paulot/Colors) - Terminal Colors for Swift :large_orange_diamond: - * [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift :large_orange_diamond: - * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: +* [Swiftline](https://github.com/oarrabi/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: +* [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces :large_orange_diamond: +* [Colors](https://github.com/paulot/Colors) - Terminal Colors for Swift :large_orange_diamond: +* [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift :large_orange_diamond: +* [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: ### Concurrency - * [Venice](https://github.com/VeniceX/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: - * [Safe](https://github.com/tidwall/Safe) - Modern Concurrency and Synchronization for Swift. :large_orange_diamond: - * [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives :large_orange_diamond: - * [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift :large_orange_diamond: +* [Venice](https://github.com/VeniceX/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: +* [Safe](https://github.com/tidwall/Safe) - Modern Concurrency and Synchronization for Swift. :large_orange_diamond: +* [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives :large_orange_diamond: +* [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift :large_orange_diamond: ### Charts - * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: - * [JTChartView](https://github.com/kubatru/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. - * [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS - * [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Elegant Line Graphs for iOS (charting library). - * [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. - * [iOSPlot](https://github.com/honcheng/iOSPlot) - Chart library for iOS. - * [XYPieChart](https://github.com/xyfeng/XYPieChart) - A simple and animated Pie Chart for your iOS app. - * [TEAChart](https://github.com/xhacker/TEAChart) - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart. - * [EChart](https://github.com/zhuhuihuihui/EChart) - iOS/iPhone/iPad Chart, Graph. Event handling and animation supported. - * [FSLineChart](https://github.com/ArthurGuibert/FSLineChart) - A line chart library for iOS. - * [chartee](https://github.com/zhiyu/chartee) - a charting library for mobile platforms. - * [ANDLineChartView](https://github.com/anaglik/ANDLineChartView) - ANDLineChartView is easy to use view-based class for displaying animated line chart. - * [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. - * [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. :large_orange_diamond: - * [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. :large_orange_diamond: - * [Scrollable-GraphView](https://github.com/philackm/Scrollable-GraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: - * [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. - * [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generater for iOS. :large_orange_diamond: +* [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: +* [JTChartView](https://github.com/kubatru/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. +* [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS +* [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Elegant Line Graphs for iOS (charting library). +* [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. +* [iOSPlot](https://github.com/honcheng/iOSPlot) - Chart library for iOS. +* [XYPieChart](https://github.com/xyfeng/XYPieChart) - A simple and animated Pie Chart for your iOS app. +* [TEAChart](https://github.com/xhacker/TEAChart) - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart. +* [EChart](https://github.com/zhuhuihuihui/EChart) - iOS/iPhone/iPad Chart, Graph. Event handling and animation supported. +* [FSLineChart](https://github.com/ArthurGuibert/FSLineChart) - A line chart library for iOS. +* [chartee](https://github.com/zhiyu/chartee) - a charting library for mobile platforms. +* [ANDLineChartView](https://github.com/anaglik/ANDLineChartView) - ANDLineChartView is easy to use view-based class for displaying animated line chart. +* [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. +* [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. :large_orange_diamond: +* [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. :large_orange_diamond: +* [Scrollable-GraphView](https://github.com/philackm/Scrollable-GraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: +* [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. +* [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generater for iOS. :large_orange_diamond: ### Core Data - * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. - * [ObjectiveRecord](https://github.com/supermarin/ObjectiveRecord) - ActiveRecord for Objective-C. - * [SSDataKit](https://github.com/soffes/SSDataKit) - Eliminate your Core Data boilerplate code. - * [ios-queryable](https://github.com/martydill/ios-queryable) - ios-queryable is an implementation of IQueryable/IEnumerable for Core Data. - * [Ensembles](https://github.com/drewmccormack/ensembles) - A synchronization framework for Core Data. - * [SLRESTfulCoreData](https://github.com/OliverLetterer/SLRESTfulCoreData) - Objc naming conventions, autogenerated accessors at runtime, URL substitutions and intelligent attribute mapping. - * [Mogenerator](https://github.com/rentzsch/mogenerator) - Automatic Core Data code generation. - * [HardCoreData](https://github.com/Krivoblotsky/HardCoreData) - CoreData stack and controller that will never block UI thread. - * [encrypted-core-data](https://github.com/project-imas/encrypted-core-data) - Core Data encrypted SQLite store using SQLCipher. - * [MagicalRecord](https://github.com/magicalpanda/MagicalRecord) - Super Awesome Easy Fetching for Core Data. - * [QueryKit](https://github.com/QueryKit/QueryKit) - A simple type-safe Core Data query language. :large_orange_diamond: - * [CoreStore](https://github.com/JohnEstropia/CoreStore) - Powerful Core Data framework for Incremental Migrations, Fetching, Observering, etc. :large_orange_diamond: - * [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. :large_orange_diamond: - * [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. :large_orange_diamond: - * [CoreDataDandy](https://github.com/fuzz-productions/CoreDataDandy) - A feature-light wrapper around Core Data that simplifies common database operations. :large_orange_diamond: - * [Sync](https://github.com/hyperoslo/Sync) - Modern JSON synchronization to Core Data :large_orange_diamond: - * [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. :large_orange_diamond: - * [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. :large_orange_diamond: +* [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. +* [ObjectiveRecord](https://github.com/supermarin/ObjectiveRecord) - ActiveRecord for Objective-C. +* [SSDataKit](https://github.com/soffes/SSDataKit) - Eliminate your Core Data boilerplate code. +* [ios-queryable](https://github.com/martydill/ios-queryable) - ios-queryable is an implementation of IQueryable/IEnumerable for Core Data. +* [Ensembles](https://github.com/drewmccormack/ensembles) - A synchronization framework for Core Data. +* [SLRESTfulCoreData](https://github.com/OliverLetterer/SLRESTfulCoreData) - Objc naming conventions, autogenerated accessors at runtime, URL substitutions and intelligent attribute mapping. +* [Mogenerator](https://github.com/rentzsch/mogenerator) - Automatic Core Data code generation. +* [HardCoreData](https://github.com/Krivoblotsky/HardCoreData) - CoreData stack and controller that will never block UI thread. +* [encrypted-core-data](https://github.com/project-imas/encrypted-core-data) - Core Data encrypted SQLite store using SQLCipher. +* [MagicalRecord](https://github.com/magicalpanda/MagicalRecord) - Super Awesome Easy Fetching for Core Data. +* [QueryKit](https://github.com/QueryKit/QueryKit) - A simple type-safe Core Data query language. :large_orange_diamond: +* [CoreStore](https://github.com/JohnEstropia/CoreStore) - Powerful Core Data framework for Incremental Migrations, Fetching, Observering, etc. :large_orange_diamond: +* [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. :large_orange_diamond: +* [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. :large_orange_diamond: +* [CoreDataDandy](https://github.com/fuzz-productions/CoreDataDandy) - A feature-light wrapper around Core Data that simplifies common database operations. :large_orange_diamond: +* [Sync](https://github.com/hyperoslo/Sync) - Modern JSON synchronization to Core Data :large_orange_diamond: +* [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. :large_orange_diamond: +* [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. :large_orange_diamond: ### Database - * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. - * [YapDatabase](https://github.com/yapstudios/YapDatabase) - YapDatabase is an extensible database for iOS & Mac. - * [Couchbase Mobile](http://developer.couchbase.com/mobile/) - Couchbase document store for mobile with cloud sync. - * [FMDB](https://github.com/ccgus/fmdb) - A Cocoa / Objective-C wrapper around SQLite. - * [Akaibu-NSUserDefaults](https://github.com/roytang121/Akaibu-NSUserDefaults) - a Swifty Key-value store for archiving NSObject in only one line of code. Class properties are automatically mapped and archived under the hood. - * [FCModel](https://github.com/marcoarment/FCModel) - An alternative to Core Data for people who like having direct SQL access. - * [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly sync NSUserDefaults over iCloud :large_orange_diamond: - * [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. :large_orange_diamond: - * [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). :large_orange_diamond: - * [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. :large_orange_diamond: - * [swiftydb](https://github.com/Oyvindkg/swiftydb) - Making SQLite databases a blast :large_orange_diamond: - * [SugarRecord](https://github.com/pepibumur/SugarRecord) - Data persistence management library written in Swift 2.0 :large_orange_diamond: - * [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. :large_orange_diamond: - * [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift :large_orange_diamond: - * [SwiftData](https://github.com/ryanfowler/SwiftData) - Simple and Effective SQLite Handling in Swift :large_orange_diamond: - * [Fluent](https://github.com/qutheory/fluent) - Simple ActiveRecord implementation for working with your database in Swift. :large_orange_diamond: - * [RealmIncrementalStore](https://github.com/eure/RealmIncrementalStore) - Realm-powered Core Data persistent store. :large_orange_diamond: - * [Palau](https://github.com/symentis/Palau) - NSUserDefaults with Wings! Custom Validation, Swift Generics. :large_orange_diamond: - * [ParseAlternatives](https://github.com/relatedcode/ParseAlternatives) - A collaborative list of Parse alternative backend service providers. - * [TypedDefaults](https://github.com/tasanobu/TypedDefaults) - TypedDefaults is a utility library to type-safely use NSUserDefaults. :large_orange_diamond: - * [realm-cocoa-converter](https://github.com/realm/realm-cocoa-converter) - A library that provides the ability to import/export Realm files from a variety of data container formats. :large_orange_diamond: - * [YapDatabaseExtensions](https://github.com/danthorpe/YapDatabaseExtensions) - YapDatabase extensions for use with Swift :large_orange_diamond:[e] - * [RealmGeoQueries](https://github.com/mhergon/RealmGeoQueries) - RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do proximity search. :large_orange_diamond:[e] - * [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift :large_orange_diamond: - * [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. +* [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. +* [YapDatabase](https://github.com/yapstudios/YapDatabase) - YapDatabase is an extensible database for iOS & Mac. +* [Couchbase Mobile](http://developer.couchbase.com/mobile/) - Couchbase document store for mobile with cloud sync. +* [FMDB](https://github.com/ccgus/fmdb) - A Cocoa / Objective-C wrapper around SQLite. +* [Akaibu-NSUserDefaults](https://github.com/roytang121/Akaibu-NSUserDefaults) - a Swifty Key-value store for archiving NSObject in only one line of code. Class properties are automatically mapped and archived under the hood. +* [FCModel](https://github.com/marcoarment/FCModel) - An alternative to Core Data for people who like having direct SQL access. +* [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly sync NSUserDefaults over iCloud :large_orange_diamond: +* [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. :large_orange_diamond: +* [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). :large_orange_diamond: +* [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. :large_orange_diamond: +* [swiftydb](https://github.com/Oyvindkg/swiftydb) - Making SQLite databases a blast :large_orange_diamond: +* [SugarRecord](https://github.com/pepibumur/SugarRecord) - Data persistence management library written in Swift 2.0 :large_orange_diamond: +* [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. :large_orange_diamond: +* [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift :large_orange_diamond: +* [SwiftData](https://github.com/ryanfowler/SwiftData) - Simple and Effective SQLite Handling in Swift :large_orange_diamond: +* [Fluent](https://github.com/qutheory/fluent) - Simple ActiveRecord implementation for working with your database in Swift. :large_orange_diamond: +* [RealmIncrementalStore](https://github.com/eure/RealmIncrementalStore) - Realm-powered Core Data persistent store. :large_orange_diamond: +* [Palau](https://github.com/symentis/Palau) - NSUserDefaults with Wings! Custom Validation, Swift Generics. :large_orange_diamond: +* [ParseAlternatives](https://github.com/relatedcode/ParseAlternatives) - A collaborative list of Parse alternative backend service providers. +* [TypedDefaults](https://github.com/tasanobu/TypedDefaults) - TypedDefaults is a utility library to type-safely use NSUserDefaults. :large_orange_diamond: +* [realm-cocoa-converter](https://github.com/realm/realm-cocoa-converter) - A library that provides the ability to import/export Realm files from a variety of data container formats. :large_orange_diamond: +* [YapDatabaseExtensions](https://github.com/danthorpe/YapDatabaseExtensions) - YapDatabase extensions for use with Swift :large_orange_diamond:[e] +* [RealmGeoQueries](https://github.com/mhergon/RealmGeoQueries) - RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do proximity search. :large_orange_diamond:[e] +* [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift :large_orange_diamond: +* [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. ### Data Structures / Algorithms - * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: - * [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another - * [BTree](https://github.com/lorentey/BTree) - Fast ordered collections for Swift using in-memory B-trees :large_orange_diamond: - * [SwiftStructures](https://github.com/waynewbishop/SwiftStructures) - Examples of commonly used data structures and algorithms in Swift. :large_orange_diamond: - * [diff](https://github.com/soffes/diff) - Simple diff library in pure Swift :large_orange_diamond: - * [Brick](https://github.com/hyperoslo/Brick) - A generic view model for both basic and complex scenarios :large_orange_diamond: - * [Algorithm](https://github.com/CosmicMind/Algorithm) - A toolset for writing algorithms and probability models in Swift :large_orange_diamond: - * [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. :large_orange_diamond: - * [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript http://www.dollarswift.org. :large_orange_diamond: +* [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: +* [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another +* [BTree](https://github.com/lorentey/BTree) - Fast ordered collections for Swift using in-memory B-trees :large_orange_diamond: +* [SwiftStructures](https://github.com/waynewbishop/SwiftStructures) - Examples of commonly used data structures and algorithms in Swift. :large_orange_diamond: +* [diff](https://github.com/soffes/diff) - Simple diff library in pure Swift :large_orange_diamond: +* [Brick](https://github.com/hyperoslo/Brick) - A generic view model for both basic and complex scenarios :large_orange_diamond: +* [Algorithm](https://github.com/CosmicMind/Algorithm) - A toolset for writing algorithms and probability models in Swift :large_orange_diamond: +* [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. :large_orange_diamond: +* [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript http://www.dollarswift.org. :large_orange_diamond: ### Date & Time - * [Every.swift](https://github.com/samhann/Every.swift) - Wrapper for NSTimer :large_orange_diamond: - * [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions :large_orange_diamond:[e] - * [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 :large_orange_diamond: - * [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 :large_orange_diamond: - * [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C - * [Punctual.swift](https://github.com/harlanhaskins/Punctual.swift) - Swift dates, more fun. :large_orange_diamond: - * [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond:[e] - * [AFDateHelper](https://github.com/melvitax/AFDateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond:[e] - * [Tempo](https://github.com/remirobert/Tempo) - Date and time manager for iOS/OSX written in Swift :large_orange_diamond: +* [Every.swift](https://github.com/samhann/Every.swift) - Wrapper for NSTimer :large_orange_diamond: +* [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions :large_orange_diamond:[e] +* [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 :large_orange_diamond: +* [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 :large_orange_diamond: +* [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C +* [Punctual.swift](https://github.com/harlanhaskins/Punctual.swift) - Swift dates, more fun. :large_orange_diamond: +* [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond:[e] +* [AFDateHelper](https://github.com/melvitax/AFDateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond:[e] +* [Tempo](https://github.com/remirobert/Tempo) - Date and time manager for iOS/OSX written in Swift :large_orange_diamond: ### EventBus - * [Caravel](https://github.com/coshx/caravel) - A Swift event bus for UIWebView and JS :large_orange_diamond: - * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: - * [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and OS X. - * [Bolts](https://github.com/BoltsFramework/Bolts-ObjC) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links). - * [SwiftTask](https://github.com/ReactKit/SwiftTask) - Promise + progress + pause + cancel + retry for Swift. :large_orange_diamond: - * [When](https://github.com/vadymmarkov/When) - A lightweight implementation of Promises in Swift. :large_orange_diamond: - * [then🎬](https://github.com/s4cha/then) - Elegant Async code in Swift. :large_orange_diamond: - * [Bolts-Swift](https://github.com/BoltsFramework/Bolts-Swift) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier. :large_orange_diamond: - * [RWPromiseKit](https://github.com/deput/RWPromiseKit) - A light-weighted Promise library for Objective-C - * [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. :large_orange_diamond: - * [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety :large_orange_diamond: +* [Caravel](https://github.com/coshx/caravel) - A Swift event bus for UIWebView and JS :large_orange_diamond: +* [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: +* [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and OS X. +* [Bolts](https://github.com/BoltsFramework/Bolts-ObjC) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links). +* [SwiftTask](https://github.com/ReactKit/SwiftTask) - Promise + progress + pause + cancel + retry for Swift. :large_orange_diamond: +* [When](https://github.com/vadymmarkov/When) - A lightweight implementation of Promises in Swift. :large_orange_diamond: +* [then🎬](https://github.com/s4cha/then) - Elegant Async code in Swift. :large_orange_diamond: +* [Bolts-Swift](https://github.com/BoltsFramework/Bolts-Swift) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier. :large_orange_diamond: +* [RWPromiseKit](https://github.com/deput/RWPromiseKit) - A light-weighted Promise library for Objective-C +* [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. :large_orange_diamond: +* [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety :large_orange_diamond: ### Files - * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: - * [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: - * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: - * [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: - * [FileProvider](https://github.com/amosavian/FileProvider) - NSFileManager replacement for local and remote (WebDAV/Dropbox/SMB2) files on iOS and macOS. :large_orange_diamond: +* [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: +* [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: +* [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: +* [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: +* [FileProvider](https://github.com/amosavian/FileProvider) - NSFileManager replacement for local and remote (WebDAV/Dropbox/SMB2) files on iOS and macOS. :large_orange_diamond: ### Functional Programming - * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: - * [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. :large_orange_diamond: - * [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. :large_orange_diamond: - * [Oriole](https://github.com/tptee/Oriole) - A functional utility belt implemented as Swift 2.0 protocol extensions. :large_orange_diamond:[e] - * [Prelude](https://github.com/robrix/Prelude) - Swift µframework of simple functional programming tools. :large_orange_diamond: - * [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. :large_orange_diamond: - * [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. :large_orange_diamond: - * [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. :large_orange_diamond:[e] - * [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: - * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: +* [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: +* [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. :large_orange_diamond: +* [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. :large_orange_diamond: +* [Oriole](https://github.com/tptee/Oriole) - A functional utility belt implemented as Swift 2.0 protocol extensions. :large_orange_diamond:[e] +* [Prelude](https://github.com/robrix/Prelude) - Swift µframework of simple functional programming tools. :large_orange_diamond: +* [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. :large_orange_diamond: +* [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. :large_orange_diamond: +* [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. :large_orange_diamond:[e] +* [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: +* [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: ### Games - * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: +* [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: ### Gesture - * [Tactile](https://github.com/delba/Tactile) - The Swift way to add UIGestureRecognizer and to react to UIControlEvents :large_orange_diamond: - * [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond:[e] - * [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] :large_orange_diamond: - * [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. :large_orange_diamond: +* [Tactile](https://github.com/delba/Tactile) - The Swift way to add UIGestureRecognizer and to react to UIControlEvents :large_orange_diamond: +* [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond:[e] +* [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] :large_orange_diamond: +* [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. :large_orange_diamond: ### Graphics - * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! :large_orange_diamond: - * [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. - * [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext - * [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! :large_orange_diamond: - * [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). :large_orange_diamond: - * [InkKit](https://github.com/shaps80/InkKit) - Drawing and Geometry made easy for iOS -- Now in Swift! :large_orange_diamond: - * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. +* [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! :large_orange_diamond: +* [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. +* [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext +* [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! :large_orange_diamond: +* [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). :large_orange_diamond: +* [InkKit](https://github.com/shaps80/InkKit) - Drawing and Geometry made easy for iOS -- Now in Swift! :large_orange_diamond: +* [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. ### Hardware ##### Bluetooth - * [Discovery](https://github.com/omergul123/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). - * [LGBluetooth](https://github.com/l0gg3r/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. - * [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. :large_orange_diamond: - * [simple-share](https://github.com/lauraskelton/simple-share) - Easy Proximity-based Bluetooth LE Sharing for iOS. - * [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/OSX devices using BLE. :large_orange_diamond: - * [CocoaMultipeer](https://github.com/manavgabhawala/CocoaMultipeer) - This repository is a peer to peer framework for OS X, iOS and watchOS 2 that presents a similar interface to the MultipeerConnectivity framework (which is iOS only) that lets you connect any 2 devices from any platform. :large_orange_diamond: - * [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift :large_orange_diamond: - * [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework :large_orange_diamond: +* [Discovery](https://github.com/omergul123/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). +* [LGBluetooth](https://github.com/l0gg3r/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. +* [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. :large_orange_diamond: +* [simple-share](https://github.com/lauraskelton/simple-share) - Easy Proximity-based Bluetooth LE Sharing for iOS. +* [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/OSX devices using BLE. :large_orange_diamond: +* [CocoaMultipeer](https://github.com/manavgabhawala/CocoaMultipeer) - This repository is a peer to peer framework for OS X, iOS and watchOS 2 that presents a similar interface to the MultipeerConnectivity framework (which is iOS only) that lets you connect any 2 devices from any platform. :large_orange_diamond: +* [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift :large_orange_diamond: +* [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework :large_orange_diamond: ##### Camera - * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. - * [PBJVision](https://github.com/piemonte/PBJVision) - iOS camera engine, features touch-to-record video, slow motion video, and photo capture. - * [Cool-iOS-Camera](https://github.com/GabrielAlva/Cool-iOS-Camera) - A fully customisable and modern camera implementation for iOS made with AVFoundation. - * [SCRecorder](https://github.com/rFlex/SCRecorder) - Camera engine with Vine-like tap to record, animatable filters, slow motion, segments editing. - * [ALCameraViewController](https://github.com/AlexLittlejohn/ALCameraViewController) - A camera view controller with custom image picker and image cropping. Written in Swift. :large_orange_diamond: - * [ImagePicker](https://github.com/hyperoslo/ImagePicker) - Reinventing the way ImagePicker works. :large_orange_diamond: - * [CameraManager](https://github.com/imaginary-cloud/CameraManager) - Simple Swift class to provide all the configurations you need to create custom camera view in your app. :large_orange_diamond: - * [RSBarcodes_Swift](https://github.com/yeahdongcn/RSBarcodes_Swift) - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. :large_orange_diamond: - * [LLSimpleCamera](https://github.com/omergul123/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. - * [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. :large_orange_diamond: - * [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. :large_orange_diamond: - * [JVTImageFilePicker](https://github.com/mcmatan/JVTImageFilePicker) - Easy and beautiful way for a user to pick content, files or images. Written in Objective C. +* [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. +* [PBJVision](https://github.com/piemonte/PBJVision) - iOS camera engine, features touch-to-record video, slow motion video, and photo capture. +* [Cool-iOS-Camera](https://github.com/GabrielAlva/Cool-iOS-Camera) - A fully customisable and modern camera implementation for iOS made with AVFoundation. +* [SCRecorder](https://github.com/rFlex/SCRecorder) - Camera engine with Vine-like tap to record, animatable filters, slow motion, segments editing. +* [ALCameraViewController](https://github.com/AlexLittlejohn/ALCameraViewController) - A camera view controller with custom image picker and image cropping. Written in Swift. :large_orange_diamond: +* [ImagePicker](https://github.com/hyperoslo/ImagePicker) - Reinventing the way ImagePicker works. :large_orange_diamond: +* [CameraManager](https://github.com/imaginary-cloud/CameraManager) - Simple Swift class to provide all the configurations you need to create custom camera view in your app. :large_orange_diamond: +* [RSBarcodes_Swift](https://github.com/yeahdongcn/RSBarcodes_Swift) - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. :large_orange_diamond: +* [LLSimpleCamera](https://github.com/omergul123/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. +* [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. :large_orange_diamond: +* [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. :large_orange_diamond: +* [JVTImageFilePicker](https://github.com/mcmatan/JVTImageFilePicker) - Easy and beautiful way for a user to pick content, files or images. Written in Objective C. ##### Force Touch - * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: +* [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: ##### iBeacon - * [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. - * [OWUProximityManager](https://github.com/ohwutup/OWUProximityManager) - iBeacons + CoreBluetooth. - * [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy bluetooth devices in the background. - * [BeaconEmitter](https://github.com/lgaches/BeaconEmitter) - Turn your Mac as an iBeacon. - * [MOCA Proximity](https://mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. - * [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. 🔶 +* [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. +* [OWUProximityManager](https://github.com/ohwutup/OWUProximityManager) - iBeacons + CoreBluetooth. +* [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy bluetooth devices in the background. +* [BeaconEmitter](https://github.com/lgaches/BeaconEmitter) - Turn your Mac as an iBeacon. +* [MOCA Proximity](https://mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. +* [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. 🔶 ##### Location - * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. - * [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. - * [LocationKit](https://locationkit.io) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information - * [SwiftLocation](https://github.com/malcommac/SwiftLocation) - CoreLocation Made Easy, 100% Swift :large_orange_diamond: - * [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. - * [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: +* [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. +* [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. +* [LocationKit](https://locationkit.io) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information +* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - CoreLocation Made Easy, 100% Swift :large_orange_diamond: +* [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. +* [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: ##### Other Hardware - * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. - * [DarkLightning](https://github.com/jensmeder/DarkLightning) -Simply the fastest way to transmit data between iOS and OSX - * [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 +* [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. +* [DarkLightning](https://github.com/jensmeder/DarkLightning) -Simply the fastest way to transmit data between iOS and OSX +* [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 ### JSON - * [JSONKit](https://github.com/johnezang/JSONKit) - Objective-C JSON. - * [TouchJSON](https://github.com/TouchCode/TouchJSON) - A humane JSON Objective-C un-framework. - * [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. - * [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. - * [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. - * [KZPropertyMapper](https://github.com/krzysztofzablocki/KZPropertyMapper) - Data mapping and validation with minimal amount of code. - * [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modelling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. - * [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. :large_orange_diamond: - * [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. - * [OCMapper](https://github.com/aryaxt/OCMapper) - Objective-C & Swift library to easily map NSDictionary to model objects. :large_orange_diamond: - * [ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. :large_orange_diamond: - * [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. :large_orange_diamond: - * [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. :large_orange_diamond: - * [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization :large_orange_diamond: - * [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift model files from JSON using either SwiftyJSON or ObjectMapper. Supports NSCoding and provides method for JSON string representation of the model. :large_orange_diamond: - * [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift :large_orange_diamond: - * [Coolie](https://github.com/nixzhu/Coolie) - Coolie helps you to create models (& their constructors) from JSON file. :large_orange_diamond: - * [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. :large_orange_diamond: - * [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. :large_orange_diamond: - * [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. :large_orange_diamond: - * [mapper](https://github.com/lyft/mapper) - Another JSON deserialization library for Swift :large_orange_diamond: - * [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection :large_orange_diamond: - * [Jay](https://github.com/czechboy0/Jay) - Pure-Swift JSON parser & formatter. Linux & OS X ready. :large_orange_diamond: - * [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/OSX. - * [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON :large_orange_diamond: - * [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder :large_orange_diamond: - * [Arrow 🏹](https://github.com/s4cha/Arrow) - Elegant JSON Parsing in Swift. :large_orange_diamond: - * [Decodable](https://github.com/Anviking/Decodable) - Swift 2 JSON parsing done (more) right :large_orange_diamond: - * [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 2.0 (Supports Linux) :large_orange_diamond: - * [Tyro](https://github.com/typelift/Tyro) - Functional JSON parsing and encoding :large_orange_diamond: - * [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder :large_orange_diamond: - * [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. :large_orange_diamond: - * [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects :large_orange_diamond: - * [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. :large_orange_diamond: - * [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. :large_orange_diamond: +* [JSONKit](https://github.com/johnezang/JSONKit) - Objective-C JSON. +* [TouchJSON](https://github.com/TouchCode/TouchJSON) - A humane JSON Objective-C un-framework. +* [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. +* [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. +* [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. +* [KZPropertyMapper](https://github.com/krzysztofzablocki/KZPropertyMapper) - Data mapping and validation with minimal amount of code. +* [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modelling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. +* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. :large_orange_diamond: +* [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. +* [OCMapper](https://github.com/aryaxt/OCMapper) - Objective-C & Swift library to easily map NSDictionary to model objects. :large_orange_diamond: +* [ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. :large_orange_diamond: +* [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. :large_orange_diamond: +* [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. :large_orange_diamond: +* [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization :large_orange_diamond: +* [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift model files from JSON using either SwiftyJSON or ObjectMapper. Supports NSCoding and provides method for JSON string representation of the model. :large_orange_diamond: +* [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift :large_orange_diamond: +* [Coolie](https://github.com/nixzhu/Coolie) - Coolie helps you to create models (& their constructors) from JSON file. :large_orange_diamond: +* [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. :large_orange_diamond: +* [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. :large_orange_diamond: +* [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. :large_orange_diamond: +* [mapper](https://github.com/lyft/mapper) - Another JSON deserialization library for Swift :large_orange_diamond: +* [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection :large_orange_diamond: +* [Jay](https://github.com/czechboy0/Jay) - Pure-Swift JSON parser & formatter. Linux & OS X ready. :large_orange_diamond: +* [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/OSX. +* [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON :large_orange_diamond: +* [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder :large_orange_diamond: +* [Arrow 🏹](https://github.com/s4cha/Arrow) - Elegant JSON Parsing in Swift. :large_orange_diamond: +* [Decodable](https://github.com/Anviking/Decodable) - Swift 2 JSON parsing done (more) right :large_orange_diamond: +* [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 2.0 (Supports Linux) :large_orange_diamond: +* [Tyro](https://github.com/typelift/Tyro) - Functional JSON parsing and encoding :large_orange_diamond: +* [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder :large_orange_diamond: +* [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. :large_orange_diamond: +* [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects :large_orange_diamond: +* [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. :large_orange_diamond: +* [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. :large_orange_diamond: ### Layout - * [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift :large_orange_diamond: - * [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. - * [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. - * [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. - * [PureLayout](https://github.com/PureLayout/PureLayout) - The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible. - * [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & OS X. :large_orange_diamond: - * [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :large_orange_diamond: - * [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. :large_orange_diamond: - * [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. :large_orange_diamond: - * [MisterFusion](https://github.com/szk-atmosphere/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. :large_orange_diamond: - * [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. :large_orange_diamond: - * [ManualLayout](https://github.com/isair/ManualLayout) - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit. :large_orange_diamond:[e] - * [Stevia](https://github.com/s4cha/Stevia) - Elegant view layout for iOS. :large_orange_diamond: - * [Manuscript](https://github.com/floriankrueger/Manuscript) - AutoLayoutKit in pure Swift. :large_orange_diamond: - * [FDTemplateLayoutCell](https://github.com/forkingdog/UITableView-FDTemplateLayoutCell) - Template auto layout cell for automatically UITableViewCell height calculating - * [SwiftAutoLayout](https://github.com/indragiek/SwiftAutoLayout) - Tiny Swift DSL for Autolayout :large_orange_diamond: - * [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. :large_orange_diamond: - * [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift :large_orange_diamond: - * [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy :large_orange_diamond: - * [SwiftBond](https://github.com/SwiftBond/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. :large_orange_diamond: - * [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift :large_orange_diamond: - * [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - The easiest way to create and maintain Auto Layout constraints :large_orange_diamond: - * [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! :large_orange_diamond: - * [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. :large_orange_diamond: - * [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS :large_orange_diamond: +* [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift :large_orange_diamond: +* [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. +* [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. +* [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. +* [PureLayout](https://github.com/PureLayout/PureLayout) - The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible. +* [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & OS X. :large_orange_diamond: +* [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :large_orange_diamond: +* [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. :large_orange_diamond: +* [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. :large_orange_diamond: +* [MisterFusion](https://github.com/szk-atmosphere/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. :large_orange_diamond: +* [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. :large_orange_diamond: +* [ManualLayout](https://github.com/isair/ManualLayout) - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit. :large_orange_diamond:[e] +* [Stevia](https://github.com/s4cha/Stevia) - Elegant view layout for iOS. :large_orange_diamond: +* [Manuscript](https://github.com/floriankrueger/Manuscript) - AutoLayoutKit in pure Swift. :large_orange_diamond: +* [FDTemplateLayoutCell](https://github.com/forkingdog/UITableView-FDTemplateLayoutCell) - Template auto layout cell for automatically UITableViewCell height calculating +* [SwiftAutoLayout](https://github.com/indragiek/SwiftAutoLayout) - Tiny Swift DSL for Autolayout :large_orange_diamond: +* [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. :large_orange_diamond: +* [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift :large_orange_diamond: +* [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy :large_orange_diamond: +* [SwiftBond](https://github.com/SwiftBond/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. :large_orange_diamond: +* [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift :large_orange_diamond: +* [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - The easiest way to create and maintain Auto Layout constraints :large_orange_diamond: +* [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! :large_orange_diamond: +* [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. :large_orange_diamond: +* [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS :large_orange_diamond: ### Localization - * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. - * [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. :large_orange_diamond: - * [Rubustrings](https://github.com/dcordero/Rubustrings) - Check the format and consistency of Localizable.strings files - * [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) - Incrementally update/translate your Strings files from Code and Storyboards/XIBs. :large_orange_diamond: - * [Lin](https://github.com/questbeat/Lin) - Xcode plugin that provides auto-completion for NSLocalizedString. - * [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching :large_orange_diamond: - * [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. - * [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. - * [lokalise](https://lokalise.co/en ) - Translation platform for software developers. Free for open source projects - * [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. +* [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. +* [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. :large_orange_diamond: +* [Rubustrings](https://github.com/dcordero/Rubustrings) - Check the format and consistency of Localizable.strings files +* [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) - Incrementally update/translate your Strings files from Code and Storyboards/XIBs. :large_orange_diamond: +* [Lin](https://github.com/questbeat/Lin) - Xcode plugin that provides auto-completion for NSLocalizedString. +* [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching :large_orange_diamond: +* [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. +* [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. +* [lokalise](https://lokalise.co/en ) - Translation platform for software developers. Free for open source projects +* [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. ### Logging - * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: - * [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. - * [NSLogger](https://github.com/fpillet/NSLogger) - a high perfomance logging utility which displays traces emitted by client applications running on Mac OS X, iOS and Android. - * [Aardvark](https://github.com/square/Aardvark/) - A performant logging framework that makes it dead simple to create actionable bug reports on iOS. - * [BlockTypeDescription](https://github.com/conradev/BlockTypeDescription) - Show type signatures when logging blocks. - * [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. :large_orange_diamond: - * [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. :large_orange_diamond: - * [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. :large_orange_diamond: - * [KZLinkedConsole](https://github.com/krzysztofzablocki/KZLinkedConsole) - Clickable links in your Xcode console, so you never wonder which class logged the message. http://merowing.info :large_orange_diamond: - * [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development & release in Swift 2 & 3 :large_orange_diamond: - * [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. :large_orange_diamond: - * [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread :large_orange_diamond: - * [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. :large_orange_diamond: - * [puree](https://github.com/cookpad/puree-ios) - A log collector for iOS :large_orange_diamond: - * [AFNetworkActivityLogger](https://github.com/AFNetworking/AFNetworkActivityLogger) - AFNetworking 2.0 Extension for Network Request Logging - * [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! :large_orange_diamond:[e] - * [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. :large_orange_diamond: - * [CleanroomASL](https://github.com/emaloney/CleanroomASL) - A Swift-based API for reading from & writing to the Apple System Log (more commonly known somewhat inaccurately as "the console") :large_orange_diamond: - * [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. :large_orange_diamond: - * [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. :large_orange_diamond: - * [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. :large_orange_diamond: - * [Evergreen](https://github.com/viWiD/Evergreen) - Most natural Swift logging :large_orange_diamond: - * [Logkit](https://github.com/logkit/logkit) - An efficient logging library for OS X, iOS, watchOS, and tvOS – written in Swift. Log to console, file, HTTP service, or your own endpoint. Simple to get started, but smartly customizable :large_orange_diamond: - * [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations :large_orange_diamond: - * [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. :large_orange_diamond: - * [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. +* [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: +* [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. +* [NSLogger](https://github.com/fpillet/NSLogger) - a high perfomance logging utility which displays traces emitted by client applications running on Mac OS X, iOS and Android. +* [Aardvark](https://github.com/square/Aardvark/) - A performant logging framework that makes it dead simple to create actionable bug reports on iOS. +* [BlockTypeDescription](https://github.com/conradev/BlockTypeDescription) - Show type signatures when logging blocks. +* [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. :large_orange_diamond: +* [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. :large_orange_diamond: +* [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. :large_orange_diamond: +* [KZLinkedConsole](https://github.com/krzysztofzablocki/KZLinkedConsole) - Clickable links in your Xcode console, so you never wonder which class logged the message. http://merowing.info :large_orange_diamond: +* [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development & release in Swift 2 & 3 :large_orange_diamond: +* [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. :large_orange_diamond: +* [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread :large_orange_diamond: +* [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. :large_orange_diamond: +* [puree](https://github.com/cookpad/puree-ios) - A log collector for iOS :large_orange_diamond: +* [AFNetworkActivityLogger](https://github.com/AFNetworking/AFNetworkActivityLogger) - AFNetworking 2.0 Extension for Network Request Logging +* [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! :large_orange_diamond:[e] +* [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. :large_orange_diamond: +* [CleanroomASL](https://github.com/emaloney/CleanroomASL) - A Swift-based API for reading from & writing to the Apple System Log (more commonly known somewhat inaccurately as "the console") :large_orange_diamond: +* [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. :large_orange_diamond: +* [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. :large_orange_diamond: +* [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. :large_orange_diamond: +* [Evergreen](https://github.com/viWiD/Evergreen) - Most natural Swift logging :large_orange_diamond: +* [Logkit](https://github.com/logkit/logkit) - An efficient logging library for OS X, iOS, watchOS, and tvOS – written in Swift. Log to console, file, HTTP service, or your own endpoint. Simple to get started, but smartly customizable :large_orange_diamond: +* [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations :large_orange_diamond: +* [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. :large_orange_diamond: +* [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. ### Maps - * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. - * [NAMapKit](https://github.com/neilang/NAMapKit) - Allows you to use custom maps in iphone applications and attempts to mimics some of the behaviour of the MapKit framework. - * [Mapbox GL](https://github.com/mapbox/mapbox-gl-native) - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS. - * [CMMapLauncher](https://github.com/citymapper/CMMapLauncher) - iOS library that makes it quick and easy to show directions in various mapping applications. - * [GEOSwift](https://github.com/andreacremaschi/GEOSwift) - The Swift Geographic Engine. :large_orange_diamond: +* [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. +* [NAMapKit](https://github.com/neilang/NAMapKit) - Allows you to use custom maps in iphone applications and attempts to mimics some of the behaviour of the MapKit framework. +* [Mapbox GL](https://github.com/mapbox/mapbox-gl-native) - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS. +* [CMMapLauncher](https://github.com/citymapper/CMMapLauncher) - iOS library that makes it quick and easy to show directions in various mapping applications. +* [GEOSwift](https://github.com/andreacremaschi/GEOSwift) - The Swift Geographic Engine. :large_orange_diamond: ### Math - * [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation :large_orange_diamond: - * [SwiftMath](https://github.com/madbat/SwiftMath) - :triangular_ruler: A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. :large_orange_diamond: - * [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations :large_orange_diamond: - * [Surge](https://github.com/mattt/Surge) - A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation. :large_orange_diamond: - * [Upsurge](https://github.com/aleph7/Upsurge) - Swift + Accelerate :large_orange_diamond: - * [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. :large_orange_diamond: - * [iosMath](https://github.com/kostub/iosMath) - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS. - * [swift-pons](https://github.com/dankogai/swift-pons) - Protocol-Oriented Number System in Pure Swift :large_orange_diamond: - * [BigInt](https://github.com/lorentey/BigInt) - Arbitrary-precision arithmetic in pure Swift :large_orange_diamond: - * [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. :large_orange_diamond: - * [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics :large_orange_diamond: +* [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation :large_orange_diamond: +* [SwiftMath](https://github.com/madbat/SwiftMath) - :triangular_ruler: A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. :large_orange_diamond: +* [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations :large_orange_diamond: +* [Surge](https://github.com/mattt/Surge) - A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation. :large_orange_diamond: +* [Upsurge](https://github.com/aleph7/Upsurge) - Swift + Accelerate :large_orange_diamond: +* [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. :large_orange_diamond: +* [iosMath](https://github.com/kostub/iosMath) - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS. +* [swift-pons](https://github.com/dankogai/swift-pons) - Protocol-Oriented Number System in Pure Swift :large_orange_diamond: +* [BigInt](https://github.com/lorentey/BigInt) - Arbitrary-precision arithmetic in pure Swift :large_orange_diamond: +* [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. :large_orange_diamond: +* [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics :large_orange_diamond: ### Media ##### Audio - * [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing - * [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. - * [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/OSX audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. - * [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and Mac OS X. - * [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). - * [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for OSX and iOS. - * [sound-fader-ios](https://github.com/evgenyneu/sound-fader-ios) - A sound fader for AVAudioPlayer written in Swift. :large_orange_diamond: - * [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! :large_orange_diamond: - * [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. :large_orange_diamond: - * [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. :large_orange_diamond: - * [AudioPlayerSwift](https://github.com/recisio/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps :large_orange_diamond: - * [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). :large_orange_diamond: - * [TuningFork](https://github.com/comyarzaheri/TuningFork) - A Simple Tuner for iOS :large_orange_diamond::black_circle: - * [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift :large_orange_diamond: - * [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. :large_orange_diamond: - * [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/OSX DSP for audio (with Novocaine) - * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. - * [IQAudioRecorderController](https://github.com/hackiftekhar/IQAudioRecorderController) - A drop-in universal library allows to record audio within the app with a nice User Interface. +* [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing +* [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. +* [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/OSX audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. +* [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and Mac OS X. +* [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). +* [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for OSX and iOS. +* [sound-fader-ios](https://github.com/evgenyneu/sound-fader-ios) - A sound fader for AVAudioPlayer written in Swift. :large_orange_diamond: +* [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! :large_orange_diamond: +* [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. :large_orange_diamond: +* [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. :large_orange_diamond: +* [AudioPlayerSwift](https://github.com/recisio/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps :large_orange_diamond: +* [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). :large_orange_diamond: +* [TuningFork](https://github.com/comyarzaheri/TuningFork) - A Simple Tuner for iOS :large_orange_diamond::black_circle: +* [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift :large_orange_diamond: +* [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. :large_orange_diamond: +* [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/OSX DSP for audio (with Novocaine) +* [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. +* [IQAudioRecorderController](https://github.com/hackiftekhar/IQAudioRecorderController) - A drop-in universal library allows to record audio within the app with a nice User Interface. ##### GIF - * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. - * [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage) - Performant animated GIF engine for iOS - * [gifu](https://github.com/kaishin/gifu) - Highly performant animated GIF support for iOS in Swift :large_orange_diamond: - * [AnimatedGIFImageSerialization](https://github.com/mattt/AnimatedGIFImageSerialization) - Complete Animated GIF Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling - * [XAnimatedImage](https://github.com/khaledmtaha/XAnimatedImage) - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage :large_orange_diamond: - * [SwiftGif](https://github.com/bahlo/SwiftGif) - :sparkles: A small UIImage extension with gif support :large_orange_diamond: - * [APNGKit](https://github.com/onevcat/APNGKit) - High performance and delightful way to play with APNG format in iOS. :large_orange_diamond: - * [YYImage](https://github.com/ibireme/YYImage) - Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more. - * [JWAnimatedImage](https://github.com/wangjwchn/JWAnimatedImage) - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case.:large_orange_diamond: - * [NSGIF2](https://github.com/metasmile/NSGIF2) - Simplify creation of a GIF from the provided video file url. - * [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine :large_orange_diamond: +* [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. +* [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage) - Performant animated GIF engine for iOS +* [gifu](https://github.com/kaishin/gifu) - Highly performant animated GIF support for iOS in Swift :large_orange_diamond: +* [AnimatedGIFImageSerialization](https://github.com/mattt/AnimatedGIFImageSerialization) - Complete Animated GIF Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling +* [XAnimatedImage](https://github.com/khaledmtaha/XAnimatedImage) - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage :large_orange_diamond: +* [SwiftGif](https://github.com/bahlo/SwiftGif) - :sparkles: A small UIImage extension with gif support :large_orange_diamond: +* [APNGKit](https://github.com/onevcat/APNGKit) - High performance and delightful way to play with APNG format in iOS. :large_orange_diamond: +* [YYImage](https://github.com/ibireme/YYImage) - Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more. +* [JWAnimatedImage](https://github.com/wangjwchn/JWAnimatedImage) - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case.:large_orange_diamond: +* [NSGIF2](https://github.com/metasmile/NSGIF2) - Simplify creation of a GIF from the provided video file url. +* [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine :large_orange_diamond: ##### Image - * [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. - * [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - IOS UIImage processing functions using the vDSP/Accelerate framework for speed. - * [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. - * [SDWebImage](https://github.com/rs/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. - * [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. - * [MapleBacon](https://github.com/zalando/MapleBacon) - An image download and caching library for iOS written in Swift. :large_orange_diamond: - * [NYTPhotoViewer](https://github.com/NYTimes/NYTPhotoViewer) - Slideshow and image viewer. - * [IDMPhotoBrowser](https://github.com/ideaismobile/IDMPhotoBrowser) - Photo Browser / Viewer. - * [JTSImageViewController](https://github.com/jaredsinclair/JTSImageViewController) - Interactive iOS image viewer. - * [Concorde](https://github.com/contentful-labs/Concorde/) - Download and decode progressive JPEGs. - * [TOCropViewController](https://github.com/TimOliver/TOCropViewController) - A view controller that allows users to crop UIImage objects. - * [YXTMotionView](https://github.com/hanton/YXTMotionView) - A custom image view that implements device motion scrolling. - * [PINRemoteImage](https://github.com/pinterest/PINRemoteImage) - A thread safe, performant, feature rich image fetcher. - * [SABlurImageView](https://github.com/szk-atmosphere/SABlurImageView) - Easily Adding Animated Blur/Unblur Effects To An Image. :large_orange_diamond: - * [FastImageCache](https://github.com/path/FastImageCache) - iOS library for quickly displaying images while scrolling. - * [BKAsciiImage](https://github.com/bkoc/BKAsciiImage) - A library to render UIImage as ASCII art - * [AlamofireImage](https://github.com/Alamofire/AlamofireImage) - An image component library for Alamofire. :large_orange_diamond: - * [Nuke](https://github.com/kean/Nuke) - Advanced framework for managing images :large_orange_diamond: - * [FlagKit](https://github.com/madebybowtie/FlagKit) - Beautiful flag icons for usage in apps and on the web. :large_orange_diamond: - * [YYWebImage](https://github.com/ibireme/YYWebImage) - Asynchronous image loading framework (supports WebP, APNG, GIF). - * [RSKImageCropper](https://github.com/ruslanskorb/RSKImageCropper) - An image cropper for iOS like in the Contacts app with support for landscape orientation. - * [Silo](https://github.com/josejuanqm/Silo) - Image loading framework with loaders. :large_orange_diamond: - * [Ody](https://github.com/josejuanqm/Ody) - Ody is an easy to use random image generator built with Swift, Perfect for placeholders. :large_orange_diamond: - * [Banana](https://github.com/gauravkatoch007/banana) - Image slider with very simple interface. :large_orange_diamond: - * [JDSwiftAvatarProgress](https://github.com/JellyDevelopment/JDSwiftAvatarProgress) - Easy customizable avatar image asynchronously with progress bar animated :large_orange_diamond: - * [Kingfisher](https://github.com/onevcat/Kingfisher) - A lightweight and pure Swift implemented library for downloading and caching image from the web. :large_orange_diamond: - * [EBPhotoPages](https://github.com/EddyBorja/EBPhotoPages) - A photo gallery for iOS with a modern feature set. Similar features as the Facebook photo browser. - * [UIImageView-BetterFace-Swift](https://github.com/croath/UIImageView-BetterFace-Swift) - The Swift version of https://github.com/croath/UIImageView-BetterFace :large_orange_diamond: - * [KFSwiftImageLoader](https://github.com/kiavashfaisali/KFSwiftImageLoader) - An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and  Watch. :large_orange_diamond: - * [Toucan](https://github.com/gavinbunney/Toucan) - Fabulous Image Processing in Swift :large_orange_diamond: - * [ImageLoaderSwift](https://github.com/hirohisa/ImageLoaderSwift) - A lightweight and fast image loader for iOS written in Swift. :large_orange_diamond: - * [ImageScout](https://github.com/kaishin/ImageScout) - A Swift implementation of fastimage. Supports PNG, GIF, and JPEG. :large_orange_diamond: - * [JLStickerTextView](https://github.com/luiyezheng/JLStickerTextView) - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image. :large_orange_diamond: - * [Agrume](https://github.com/JanGorman/Agrume) - A lemony fresh iOS image viewer written in Swift. :large_orange_diamond: - * [PASImageView](https://github.com/abiaad/PASImageView) - Rounded async imageview downloader lightly cached and written in Swift :large_orange_diamond: - * [Navi](https://github.com/nixzhu/Navi) - Focus on avatar caching. :large_orange_diamond: - * [SwiftPhotoGallery](https://github.com/Inspirato/SwiftPhotoGallery) - Simple, fullscreen image gallery with tap, swipe, and pinch gestures. :large_orange_diamond: - * [MetalAcc](https://github.com/wangjwchn/MetalAcc) - GPU-based Media processing library using Metal written in Swift.:large_orange_diamond: - * [MWPhotoBrowser](https://github.com/mwaterfall/MWPhotoBrowser) - A simple iOS photo and video browser with grid view, captions and selections - * [UIImageColors](https://github.com/jathu/UIImageColors) - iTunes style color fetcher for UIImage. :large_orange_diamond:[e] - * [CDFlipView](https://github.com/jibeex/CDFlipView) - A view that takes a set of images, make transition from one to another by using flipping effects. - * [GPUImage2](https://github.com/BradLarson/GPUImage2) - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. :large_orange_diamond: - * [TGLParallaxCarousel](https://github.com/taglia3/TGLParallaxCarousel) - A lightweight 3D Linear Carousel with parallax effect :large_orange_diamond: - * [ImageButter](https://github.com/dollarshaveclub/ImageButter) - Makes dealing with images buttery smooth :large_orange_diamond: - * [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by facebook, twitter photo browsers written by swift :large_orange_diamond: - * [YUCIHighPassSkinSmoothing](https://github.com/YuAo/YUCIHighPassSkinSmoothing) - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework - * [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up :large_orange_diamond: - * [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition :large_orange_diamond: - * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond:[e] - * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: - * [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter :large_orange_diamond: +* [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. +* [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - IOS UIImage processing functions using the vDSP/Accelerate framework for speed. +* [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. +* [SDWebImage](https://github.com/rs/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. +* [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. +* [MapleBacon](https://github.com/zalando/MapleBacon) - An image download and caching library for iOS written in Swift. :large_orange_diamond: +* [NYTPhotoViewer](https://github.com/NYTimes/NYTPhotoViewer) - Slideshow and image viewer. +* [IDMPhotoBrowser](https://github.com/ideaismobile/IDMPhotoBrowser) - Photo Browser / Viewer. +* [JTSImageViewController](https://github.com/jaredsinclair/JTSImageViewController) - Interactive iOS image viewer. +* [Concorde](https://github.com/contentful-labs/Concorde/) - Download and decode progressive JPEGs. +* [TOCropViewController](https://github.com/TimOliver/TOCropViewController) - A view controller that allows users to crop UIImage objects. +* [YXTMotionView](https://github.com/hanton/YXTMotionView) - A custom image view that implements device motion scrolling. +* [PINRemoteImage](https://github.com/pinterest/PINRemoteImage) - A thread safe, performant, feature rich image fetcher. +* [SABlurImageView](https://github.com/szk-atmosphere/SABlurImageView) - Easily Adding Animated Blur/Unblur Effects To An Image. :large_orange_diamond: +* [FastImageCache](https://github.com/path/FastImageCache) - iOS library for quickly displaying images while scrolling. +* [BKAsciiImage](https://github.com/bkoc/BKAsciiImage) - A library to render UIImage as ASCII art +* [AlamofireImage](https://github.com/Alamofire/AlamofireImage) - An image component library for Alamofire. :large_orange_diamond: +* [Nuke](https://github.com/kean/Nuke) - Advanced framework for managing images :large_orange_diamond: +* [FlagKit](https://github.com/madebybowtie/FlagKit) - Beautiful flag icons for usage in apps and on the web. :large_orange_diamond: +* [YYWebImage](https://github.com/ibireme/YYWebImage) - Asynchronous image loading framework (supports WebP, APNG, GIF). +* [RSKImageCropper](https://github.com/ruslanskorb/RSKImageCropper) - An image cropper for iOS like in the Contacts app with support for landscape orientation. +* [Silo](https://github.com/josejuanqm/Silo) - Image loading framework with loaders. :large_orange_diamond: +* [Ody](https://github.com/josejuanqm/Ody) - Ody is an easy to use random image generator built with Swift, Perfect for placeholders. :large_orange_diamond: +* [Banana](https://github.com/gauravkatoch007/banana) - Image slider with very simple interface. :large_orange_diamond: +* [JDSwiftAvatarProgress](https://github.com/JellyDevelopment/JDSwiftAvatarProgress) - Easy customizable avatar image asynchronously with progress bar animated :large_orange_diamond: +* [Kingfisher](https://github.com/onevcat/Kingfisher) - A lightweight and pure Swift implemented library for downloading and caching image from the web. :large_orange_diamond: +* [EBPhotoPages](https://github.com/EddyBorja/EBPhotoPages) - A photo gallery for iOS with a modern feature set. Similar features as the Facebook photo browser. +* [UIImageView-BetterFace-Swift](https://github.com/croath/UIImageView-BetterFace-Swift) - The Swift version of https://github.com/croath/UIImageView-BetterFace :large_orange_diamond: +* [KFSwiftImageLoader](https://github.com/kiavashfaisali/KFSwiftImageLoader) - An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and  Watch. :large_orange_diamond: +* [Toucan](https://github.com/gavinbunney/Toucan) - Fabulous Image Processing in Swift :large_orange_diamond: +* [ImageLoaderSwift](https://github.com/hirohisa/ImageLoaderSwift) - A lightweight and fast image loader for iOS written in Swift. :large_orange_diamond: +* [ImageScout](https://github.com/kaishin/ImageScout) - A Swift implementation of fastimage. Supports PNG, GIF, and JPEG. :large_orange_diamond: +* [JLStickerTextView](https://github.com/luiyezheng/JLStickerTextView) - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image. :large_orange_diamond: +* [Agrume](https://github.com/JanGorman/Agrume) - A lemony fresh iOS image viewer written in Swift. :large_orange_diamond: +* [PASImageView](https://github.com/abiaad/PASImageView) - Rounded async imageview downloader lightly cached and written in Swift :large_orange_diamond: +* [Navi](https://github.com/nixzhu/Navi) - Focus on avatar caching. :large_orange_diamond: +* [SwiftPhotoGallery](https://github.com/Inspirato/SwiftPhotoGallery) - Simple, fullscreen image gallery with tap, swipe, and pinch gestures. :large_orange_diamond: +* [MetalAcc](https://github.com/wangjwchn/MetalAcc) - GPU-based Media processing library using Metal written in Swift.:large_orange_diamond: +* [MWPhotoBrowser](https://github.com/mwaterfall/MWPhotoBrowser) - A simple iOS photo and video browser with grid view, captions and selections +* [UIImageColors](https://github.com/jathu/UIImageColors) - iTunes style color fetcher for UIImage. :large_orange_diamond:[e] +* [CDFlipView](https://github.com/jibeex/CDFlipView) - A view that takes a set of images, make transition from one to another by using flipping effects. +* [GPUImage2](https://github.com/BradLarson/GPUImage2) - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. :large_orange_diamond: +* [TGLParallaxCarousel](https://github.com/taglia3/TGLParallaxCarousel) - A lightweight 3D Linear Carousel with parallax effect :large_orange_diamond: +* [ImageButter](https://github.com/dollarshaveclub/ImageButter) - Makes dealing with images buttery smooth :large_orange_diamond: +* [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by facebook, twitter photo browsers written by swift :large_orange_diamond: +* [YUCIHighPassSkinSmoothing](https://github.com/YuAo/YUCIHighPassSkinSmoothing) - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework +* [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up :large_orange_diamond: +* [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition :large_orange_diamond: +* [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond:[e] +* [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: +* [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter :large_orange_diamond: ##### Media Processing - * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: - * [QR Code Scanner](http://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. - * [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. :large_orange_diamond: +* [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: +* [QR Code Scanner](http://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. +* [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. :large_orange_diamond: ##### Video - * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. - * [MobilePlayer](https://github.com/mobileplayer/mobileplayer-ios) - A powerful and completely customizable media player for iOS. - * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and OS X - * [AVAnimator](http://www.modejong.com/AVAnimator/) - An open source iOS native library that makes it easy to implement non-trivial video/audio enabled apps. - * [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control :large_orange_diamond: - * [SSVideoPlayer](https://github.com/immrss/SSVideoPlayer) - A video player that support both local and network resource. - * [MHVideoPhotoGallery](https://github.com/mariohahn/MHVideoPhotoGallery) - A Photo and Video Gallery - * [PlayerView](https://github.com/davidlondono/PlayerView) - Player View is a delegated view using AVPlayer of Swift :large_orange_diamond: - * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. - * [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] - * [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] +* [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. +* [MobilePlayer](https://github.com/mobileplayer/mobileplayer-ios) - A powerful and completely customizable media player for iOS. +* [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and OS X +* [AVAnimator](http://www.modejong.com/AVAnimator/) - An open source iOS native library that makes it easy to implement non-trivial video/audio enabled apps. +* [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control :large_orange_diamond: +* [SSVideoPlayer](https://github.com/immrss/SSVideoPlayer) - A video player that support both local and network resource. +* [MHVideoPhotoGallery](https://github.com/mariohahn/MHVideoPhotoGallery) - A Photo and Video Gallery +* [PlayerView](https://github.com/davidlondono/PlayerView) - Player View is a delegated view using AVPlayer of Swift :large_orange_diamond: +* [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. +* [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] +* [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] ##### PDF * [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. @@ -734,943 +734,943 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap Also see [push notifications](#push-notifications) - * [LayerKit](https://github.com/layerhq/releases-ios) - iOS SDK for Layer, the easiest way to add in-app messaging (text, photos, videos, data) to any mobile or web application. - * [Twilio](https://www.twilio.com/) - Power modern communications. Build the next generation of voice and SMS applications. - * [Plivo](https://www.plivo.com/) - SMS API, Voice API, & Global Carrier Provider. - * [XMPPFramework](https://github.com/robbiehanson/XMPPFramework) - An XMPP Framework in Objective-C for Mac and iOS. - * [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift :large_orange_diamond: - * [JSQMessagesViewController](https://github.com/jessesquires/JSQMessagesViewController) - An elegant messages UI library for iOS. - * [Smooch](https://smooch.io) - Simple, lightweight SDKs and interfaces that enable customer messaging inside your apps and websites. - * [SlackTextViewController](https://github.com/slackhq/SlackTextViewController) - A drop-in UIViewController subclass with a growing text input view and other useful messaging features. - * [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController :large_orange_diamond: - * [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. :large_orange_diamond: +* [LayerKit](https://github.com/layerhq/releases-ios) - iOS SDK for Layer, the easiest way to add in-app messaging (text, photos, videos, data) to any mobile or web application. +* [Twilio](https://www.twilio.com/) - Power modern communications. Build the next generation of voice and SMS applications. +* [Plivo](https://www.plivo.com/) - SMS API, Voice API, & Global Carrier Provider. +* [XMPPFramework](https://github.com/robbiehanson/XMPPFramework) - An XMPP Framework in Objective-C for Mac and iOS. +* [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift :large_orange_diamond: +* [JSQMessagesViewController](https://github.com/jessesquires/JSQMessagesViewController) - An elegant messages UI library for iOS. +* [Smooch](https://smooch.io) - Simple, lightweight SDKs and interfaces that enable customer messaging inside your apps and websites. +* [SlackTextViewController](https://github.com/slackhq/SlackTextViewController) - A drop-in UIViewController subclass with a growing text input view and other useful messaging features. +* [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController :large_orange_diamond: +* [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. :large_orange_diamond: ### Machine Learning - * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: - * [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. :large_orange_diamond: - * [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. :large_orange_diamond: +* [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: +* [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. :large_orange_diamond: +* [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. :large_orange_diamond: ### Networking - * [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and OS X networking framework. - * [RestKit](https://github.com/RestKit/RestKit) - RestKit is an Objective-C framework for iOS that aims to make interacting with RESTful web services simple, fast and fun. - * [FSNetworking](https://github.com/foursquare/FSNetworking) - Foursquare iOS networking library. - * [ASIHTTPRequest](https://github.com/pokeb/asi-http-request) - Easy to use CFNetwork wrapper for HTTP requests, Objective-C, Mac OS X and iPhone. - * [Overcoat](https://github.com/Overcoat/Overcoat) - Small but powerful library that makes creating REST clients simple and fun. - * [ROADFramework](https://github.com/epam/road-ios-framework) - Attributed-oriented approach for interacting with web services. The framework has built-in json and xml serialization for requests and responses and can be easily extensible. - * [Alamofire](https://github.com/Alamofire/Alamofire) - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking. :large_orange_diamond: - * [Transporter](https://github.com/nghialv/Transporter) - A tiny library makes uploading and downloading easier. :large_orange_diamond: - * [CDZPinger](https://github.com/cdzombak/CDZPinger) - Easy-to-use ICMP Ping. - * [NSRails](https://github.com/dingbat/nsrails) - Map client-side objects/classes to remote rest api objects/orm - * [NKMultipeer](https://github.com/nathankot/NKMultipeer) - A testable abstraction over multipeer connectivity. :large_orange_diamond: - * [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket) - Asynchronous socket networking library for Mac and iOS. - * [Siesta](https://bustoutsolutions.github.io/siesta/) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. :large_orange_diamond: - * [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures :large_orange_diamond: - * [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. - * [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS network debugging library! :large_orange_diamond: - * [OctopusKit](https://github.com/icoco/OctopusKit) - A simplicity but graceful solution for invoke RESTful web service APIs. - * [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. :large_orange_diamond: - * [TWRDownloadManager](https://github.com/chasseurmic/TWRDownloadManager) - A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. - * [HappyDns](https://github.com/qiniu/happy-dns-objc) - A Dns library, support custom dns server, dnspod httpdns. Only support A record. - * [Bridge](https://github.com/BridgeNetworking/Bridge) - A simple extensible typed networking library. Intercept and process/alter requests and responses easily. :large_orange_diamond: - * [TRON](https://github.com/MLSDev/TRON) - Lightweight network abstraction layer, written on top of Alamofire and SwiftyJSON :large_orange_diamond: - * [EVCloudKitDao](https://github.com/evermeer/EVCloudKitDao) - Simplified access to Apple's CloudKit :large_orange_diamond: - * [EVURLCache](https://github.com/evermeer/EVURLCache) - a NSURLCache subclass for handling all web requests that use NSURLRequest :large_orange_diamond: - * [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer :large_orange_diamond: - * [Pitaya](https://github.com/johnlui/Pitaya) - A Swift HTTP / HTTPS networking library just incidentally execute on machines :large_orange_diamond: - * [Just](https://github.com/JustHTTP/Just) - Swift HTTP for Humans :large_orange_diamond: - * [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and OS X :large_orange_diamond: - * [Reach](https://github.com/Isuru-Nanayakkara/Reach) - A simple class to check for internet connection availability in Swift. :large_orange_diamond: - * [SwiftHTTP](https://github.com/daltoniam/SwiftHTTP) - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. :large_orange_diamond: - * [Netdiag](https://github.com/qiniu/iOS-netdiag) - A network diagnosis library. Support Ping/TcpPing/Rtmp/TraceRoute/DNS/external IP/external DNS. - * [AFNetworkingHelper](https://github.com/betacraft/AFNetworkingHelper) - A custom wrapper over AFNetworking library that we use inside RC extensively - * [NetKit](https://github.com/azizuysal/NetKit) - A Concise HTTP Framework in Swift. :large_orange_diamond: - * [RealReachability](https://github.com/dustturtle/RealReachability) - We need to observe the REAL reachability of network. That's what RealReachability do. - * [MonkeyKing](https://github.com/nixzhu/MonkeyKing) - MonkeyKing helps you post messages to Chinese Social Networks. :large_orange_diamond: - * [NetworkKit](https://github.com/imex94/NetworkKit) - Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS. :large_orange_diamond: - * [APIKit](https://github.com/ishkawa/APIKit) - A networking library for building type safe web API client in Swift. :large_orange_diamond: - * [ws ☁️](https://github.com/s4cha/ws) - Elegant JSON WebService in Swift.:large_orange_diamond: - * [SPTDataLoader](https://github.com/spotify/SPTDataLoader) - The HTTP library used by the Spotify iOS client :large_orange_diamond: - * [SWNetworking](https://github.com/skywite/SWNetworking) - Powerful high-level iOS, OS X and tvOS networking library. - * [Networking](https://github.com/3lvis/Networking) - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support :large_orange_diamond: - * [SOAPEngine](https://github.com/priore/SOAPEngine) - This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app - * [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working) :large_orange_diamond: - * [Malibu](https://github.com/hyperoslo/Malibu) - Networking library built on promises :large_orange_diamond: +* [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and OS X networking framework. +* [RestKit](https://github.com/RestKit/RestKit) - RestKit is an Objective-C framework for iOS that aims to make interacting with RESTful web services simple, fast and fun. +* [FSNetworking](https://github.com/foursquare/FSNetworking) - Foursquare iOS networking library. +* [ASIHTTPRequest](https://github.com/pokeb/asi-http-request) - Easy to use CFNetwork wrapper for HTTP requests, Objective-C, Mac OS X and iPhone. +* [Overcoat](https://github.com/Overcoat/Overcoat) - Small but powerful library that makes creating REST clients simple and fun. +* [ROADFramework](https://github.com/epam/road-ios-framework) - Attributed-oriented approach for interacting with web services. The framework has built-in json and xml serialization for requests and responses and can be easily extensible. +* [Alamofire](https://github.com/Alamofire/Alamofire) - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking. :large_orange_diamond: +* [Transporter](https://github.com/nghialv/Transporter) - A tiny library makes uploading and downloading easier. :large_orange_diamond: +* [CDZPinger](https://github.com/cdzombak/CDZPinger) - Easy-to-use ICMP Ping. +* [NSRails](https://github.com/dingbat/nsrails) - Map client-side objects/classes to remote rest api objects/orm +* [NKMultipeer](https://github.com/nathankot/NKMultipeer) - A testable abstraction over multipeer connectivity. :large_orange_diamond: +* [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket) - Asynchronous socket networking library for Mac and iOS. +* [Siesta](https://bustoutsolutions.github.io/siesta/) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. :large_orange_diamond: +* [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures :large_orange_diamond: +* [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. +* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS network debugging library! :large_orange_diamond: +* [OctopusKit](https://github.com/icoco/OctopusKit) - A simplicity but graceful solution for invoke RESTful web service APIs. +* [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. :large_orange_diamond: +* [TWRDownloadManager](https://github.com/chasseurmic/TWRDownloadManager) - A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. +* [HappyDns](https://github.com/qiniu/happy-dns-objc) - A Dns library, support custom dns server, dnspod httpdns. Only support A record. +* [Bridge](https://github.com/BridgeNetworking/Bridge) - A simple extensible typed networking library. Intercept and process/alter requests and responses easily. :large_orange_diamond: +* [TRON](https://github.com/MLSDev/TRON) - Lightweight network abstraction layer, written on top of Alamofire and SwiftyJSON :large_orange_diamond: +* [EVCloudKitDao](https://github.com/evermeer/EVCloudKitDao) - Simplified access to Apple's CloudKit :large_orange_diamond: +* [EVURLCache](https://github.com/evermeer/EVURLCache) - a NSURLCache subclass for handling all web requests that use NSURLRequest :large_orange_diamond: +* [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer :large_orange_diamond: +* [Pitaya](https://github.com/johnlui/Pitaya) - A Swift HTTP / HTTPS networking library just incidentally execute on machines :large_orange_diamond: +* [Just](https://github.com/JustHTTP/Just) - Swift HTTP for Humans :large_orange_diamond: +* [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and OS X :large_orange_diamond: +* [Reach](https://github.com/Isuru-Nanayakkara/Reach) - A simple class to check for internet connection availability in Swift. :large_orange_diamond: +* [SwiftHTTP](https://github.com/daltoniam/SwiftHTTP) - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. :large_orange_diamond: +* [Netdiag](https://github.com/qiniu/iOS-netdiag) - A network diagnosis library. Support Ping/TcpPing/Rtmp/TraceRoute/DNS/external IP/external DNS. +* [AFNetworkingHelper](https://github.com/betacraft/AFNetworkingHelper) - A custom wrapper over AFNetworking library that we use inside RC extensively +* [NetKit](https://github.com/azizuysal/NetKit) - A Concise HTTP Framework in Swift. :large_orange_diamond: +* [RealReachability](https://github.com/dustturtle/RealReachability) - We need to observe the REAL reachability of network. That's what RealReachability do. +* [MonkeyKing](https://github.com/nixzhu/MonkeyKing) - MonkeyKing helps you post messages to Chinese Social Networks. :large_orange_diamond: +* [NetworkKit](https://github.com/imex94/NetworkKit) - Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS. :large_orange_diamond: +* [APIKit](https://github.com/ishkawa/APIKit) - A networking library for building type safe web API client in Swift. :large_orange_diamond: +* [ws ☁️](https://github.com/s4cha/ws) - Elegant JSON WebService in Swift.:large_orange_diamond: +* [SPTDataLoader](https://github.com/spotify/SPTDataLoader) - The HTTP library used by the Spotify iOS client :large_orange_diamond: +* [SWNetworking](https://github.com/skywite/SWNetworking) - Powerful high-level iOS, OS X and tvOS networking library. +* [Networking](https://github.com/3lvis/Networking) - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support :large_orange_diamond: +* [SOAPEngine](https://github.com/priore/SOAPEngine) - This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app +* [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working) :large_orange_diamond: +* [Malibu](https://github.com/hyperoslo/Malibu) - Networking library built on promises :large_orange_diamond: #### Email - * [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. +* [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. ### Push Notifications - * [Orbiter](https://github.com/mattt/Orbiter) - Push Notification Registration for iOS. - * [PEM](https://github.com/fastlane/fastlane/tree/master/pem) - Automatically generate and renew your push notification profiles. - * [Knuff](https://github.com/KnuffApp/Knuff) - The debug application for Apple Push Notification Service (APNS). - * [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework https://developers.facebook.com/docs/analytics/push-campaigns - * [NWPusher](https://github.com/noodlewerk/NWPusher) - OS X and iOS application and framework to play with the Apple Push Notification service (APNs) - * [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator +* [Orbiter](https://github.com/mattt/Orbiter) - Push Notification Registration for iOS. +* [PEM](https://github.com/fastlane/fastlane/tree/master/pem) - Automatically generate and renew your push notification profiles. +* [Knuff](https://github.com/KnuffApp/Knuff) - The debug application for Apple Push Notification Service (APNS). +* [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework https://developers.facebook.com/docs/analytics/push-campaigns +* [NWPusher](https://github.com/noodlewerk/NWPusher) - OS X and iOS application and framework to play with the Apple Push Notification service (APNs) +* [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator #### Push Notification Providers Most of these are paid services, some have free tiers. - * [Urban Airship](https://www.urbanairship.com/products/engage#push-messages) - * [Growth Push](https://growthpush.com) - Popular in Japan. - * [Appboy](https://www.appboy.com) - * [Batch](https://batch.com) - * [Boxcar](https://boxcar.io/developer) - * [Carnival](http://www.carnival.io) - * [Catapush](https://www.catapush.com) - * [Netmera](http://www.netmera.com) - * [OneSignal](https://www.onesignal.com) - Free. - * [PushBots](https://pushbots.com/) - * [Pushwoosh](https://www.pushwoosh.com) - * [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. +* [Urban Airship](https://www.urbanairship.com/products/engage#push-messages) +* [Growth Push](https://growthpush.com) - Popular in Japan. +* [Appboy](https://www.appboy.com) +* [Batch](https://batch.com) +* [Boxcar](https://boxcar.io/developer) +* [Carnival](http://www.carnival.io) +* [Catapush](https://www.catapush.com) +* [Netmera](http://www.netmera.com) +* [OneSignal](https://www.onesignal.com) - Free. +* [PushBots](https://pushbots.com/) +* [Pushwoosh](https://www.pushwoosh.com) +* [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. ### Passbook - * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. - * [Dubai](https://github.com/nomad/dubai) - Generate and Preview Passbook Passes. - * [Passkit](https://passkit.com) - Design, Create and validate Passbook Passes. +* [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. +* [Dubai](https://github.com/nomad/dubai) - Generate and Preview Passbook Passes. +* [Passkit](https://passkit.com) - Design, Create and validate Passbook Passes. ### Permissions - * [PermissionScope](https://github.com/nickoneill/PermissionScope) - Intelligent iOS permissions UI and unified API (Supports Location, Notifications, Camera, Contacts, Calendar, Photos, Microphone, BT, Activity Monitoring, HealthKit and CloudKit). :large_orange_diamond: - * [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). :large_orange_diamond: - * [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). :large_orange_diamond: - * [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. - * [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. - * [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. - * [ClusterPrePermissions](https://github.com/clusterinc/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. - * [Permission](https://github.com/delba/Permission) - Ask for iOS permissions through a single, uniform interface. :large_orange_diamond: - * [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: +* [PermissionScope](https://github.com/nickoneill/PermissionScope) - Intelligent iOS permissions UI and unified API (Supports Location, Notifications, Camera, Contacts, Calendar, Photos, Microphone, BT, Activity Monitoring, HealthKit and CloudKit). :large_orange_diamond: +* [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). :large_orange_diamond: +* [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). :large_orange_diamond: +* [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. +* [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. +* [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. +* [ClusterPrePermissions](https://github.com/clusterinc/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. +* [Permission](https://github.com/delba/Permission) - Ask for iOS permissions through a single, uniform interface. :large_orange_diamond: +* [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: ### Payments - * [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. :large_orange_diamond: - * [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowlege on Backend. - * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. - * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. - * [Moltin](https://moltin.com/ios-ecommerce-sdk) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. - * [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. :large_orange_diamond: - * [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and OSX 9.0+ :large_orange_diamond: - * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS :large_orange_diamond: - * [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework :large_orange_diamond: - * [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions +* [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. :large_orange_diamond: +* [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowlege on Backend. +* [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. +* [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. +* [Moltin](https://moltin.com/ios-ecommerce-sdk) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. +* [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. :large_orange_diamond: +* [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and OSX 9.0+ :large_orange_diamond: +* [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS :large_orange_diamond: +* [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework :large_orange_diamond: +* [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions ### Products - * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. - * [Tapglue](https://www.tapglue.com) - Build social products and a activity feed with a few lines of code. - * [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. +* [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. +* [Tapglue](https://www.tapglue.com) - Build social products and a activity feed with a few lines of code. +* [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. ### Reactive Programming - * [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift :large_orange_diamond: - * [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extentions for Swift optionals and "Occupiable" types :large_orange_diamond:[e] - * [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes :large_orange_diamond: - * [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) - Streams of values over time :large_orange_diamond: - * [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. :large_orange_diamond: - * [ReactiveCoreData](https://github.com/apparentsoft/ReactiveCoreData) - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world. - * [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux :large_orange_diamond: - * [ReactiveKit](https://github.com/ReactiveKit/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. :large_orange_diamond: - * [RxPermission](https://github.com/sunshinejr/RxPermission) - RxSwift bindings for Permissions API in iOS. :large_orange_diamond: - * [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire :large_orange_diamond: - * [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types :large_orange_diamond: - * [RxMultipeer](https://github.com/RxSwiftCommunity/RxMultipeer) - A testable RxSwift wrapper around MultipeerConnectivity :large_orange_diamond: - * [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & OSX Bluetooth library for RxSwift :large_orange_diamond: - * [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures :large_orange_diamond: - * [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. :large_orange_diamond: - * [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data :large_orange_diamond: - * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: +* [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift :large_orange_diamond: +* [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extentions for Swift optionals and "Occupiable" types :large_orange_diamond:[e] +* [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes :large_orange_diamond: +* [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) - Streams of values over time :large_orange_diamond: +* [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. :large_orange_diamond: +* [ReactiveCoreData](https://github.com/apparentsoft/ReactiveCoreData) - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world. +* [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux :large_orange_diamond: +* [ReactiveKit](https://github.com/ReactiveKit/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. :large_orange_diamond: +* [RxPermission](https://github.com/sunshinejr/RxPermission) - RxSwift bindings for Permissions API in iOS. :large_orange_diamond: +* [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire :large_orange_diamond: +* [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types :large_orange_diamond: +* [RxMultipeer](https://github.com/RxSwiftCommunity/RxMultipeer) - A testable RxSwift wrapper around MultipeerConnectivity :large_orange_diamond: +* [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & OSX Bluetooth library for RxSwift :large_orange_diamond: +* [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures :large_orange_diamond: +* [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. :large_orange_diamond: +* [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data :large_orange_diamond: +* [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: ### Reflection - * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: - * [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive :large_orange_diamond: - * [EVReflection](https://github.com/evermeer/EVReflection) - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable :large_orange_diamond: - * [JSONNeverDie](https://github.com/johnlui/JSONNeverDie) - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die :large_orange_diamond: - * [SwiftKVC](https://github.com/bradhilton/SwiftKVC) - Key-Value Coding (KVC) for native Swift classes and structs :large_orange_diamond: +* [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: +* [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive :large_orange_diamond: +* [EVReflection](https://github.com/evermeer/EVReflection) - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable :large_orange_diamond: +* [JSONNeverDie](https://github.com/johnlui/JSONNeverDie) - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die :large_orange_diamond: +* [SwiftKVC](https://github.com/bradhilton/SwiftKVC) - Key-Value Coding (KVC) for native Swift classes and structs :large_orange_diamond: ### Regex - * [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type :large_orange_diamond: - * [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like regex =~ operator for Swift :large_orange_diamond: - * [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way :large_orange_diamond: - * [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift :large_orange_diamond: +* [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type :large_orange_diamond: +* [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like regex =~ operator for Swift :large_orange_diamond: +* [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way :large_orange_diamond: +* [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift :large_orange_diamond: ### Security - * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. - * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. - * [Valet](https://github.com/square/Valet) - Securely store data in the iOS or OS X Keychain without knowing a thing about how the Keychain works. - * [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. :large_orange_diamond: - * [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. - * [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and OS X :large_orange_diamond:[e] - * [Keychain](https://github.com/hyperoslo/Keychain) - Because you should care... about the security... of your shit. :large_orange_diamond: - * [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. :large_orange_diamond: - * [SSKeychain](https://github.com/soffes/sskeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. - * [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. - * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. - * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. +* [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. +* [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. +* [Valet](https://github.com/square/Valet) - Securely store data in the iOS or OS X Keychain without knowing a thing about how the Keychain works. +* [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. :large_orange_diamond: +* [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. +* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and OS X :large_orange_diamond:[e] +* [Keychain](https://github.com/hyperoslo/Keychain) - Because you should care... about the security... of your shit. :large_orange_diamond: +* [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. :large_orange_diamond: +* [SSKeychain](https://github.com/soffes/sskeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. +* [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. +* [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. +* [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. ##### Encryption - * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. - * [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. :large_orange_diamond: - * [CommonCrypto.swift](https://github.com/onmyway133/CommonCrypto.swift) - :floppy_disk: Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: - * [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: - * [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: - * [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms :large_orange_diamond: - * [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, SEM encryption in Swift with CommonCrypto in iOS and OS X :large_orange_diamond: - * [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. :large_orange_diamond: - * [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift :large_orange_diamond: - * [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: - * [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/OS X, Android and different server side platforms. - * [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - String Obfuscation for app's executable file - * [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: - * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: +* [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. +* [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. :large_orange_diamond: +* [CommonCrypto.swift](https://github.com/onmyway133/CommonCrypto.swift) - :floppy_disk: Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: +* [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: +* [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: +* [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms :large_orange_diamond: +* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, SEM encryption in Swift with CommonCrypto in iOS and OS X :large_orange_diamond: +* [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. :large_orange_diamond: +* [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift :large_orange_diamond: +* [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: +* [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/OS X, Android and different server side platforms. +* [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - String Obfuscation for app's executable file +* [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: +* [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: ### Text - * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. - * [Nimbus](https://github.com/jverkoey/nimbus) - Nimbus is a toolkit for experienced iOS software designers. - * [NSStringEmojize](https://github.com/diy/nsstringemojize) - A category on NSString to convert Emoji Cheat Sheet codes to their equivalent Unicode characters. - * [MMMarkdown](https://github.com/mdiep/MMMarkdown) - An Objective-C static library for converting Markdown to HTML. - * [DTCoreText](https://github.com/Cocoanetics/DTCoreText) - Methods to allow using HTML code with CoreText. - * [DTRichTextEditor](https://github.com/Cocoanetics/DTRichTextEditor) - A rich-text editor for iOS. - * [NBEmojiSearchView](https://github.com/neerajbaid/NBEmojiSearchView) - A searchable emoji dropdown view that can be integrated with a text control - * [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension :large_orange_diamond:[e] - * [RichEditorView](https://github.com/cjwirth/RichEditorView) - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. :large_orange_diamond: - * [Money](https://github.com/danthorpe/Money) - Swift value types for working with money & currency :large_orange_diamond: - * [PhoneNumberKit](https://github.com/marmelroy/PhoneNumberKit) - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. :large_orange_diamond: - * [YYText](https://github.com/ibireme/YYText) - Powerful text framework for iOS to display and edit rich text. - * [Format](https://github.com/marmelroy/Format) - A Swift Formatter Kit. :large_orange_diamond: - * [Tribute](https://github.com/zats/Tribute) - Programmatic creation of NSAttributedString doesn't have to be a pain :large_orange_diamond: - * [EmojiKit](https://github.com/dasmer/EmojiKit) - Effortless emoji-querying in Swift :large_orange_diamond: - * [Roman](https://github.com/nvzqz/Roman) - Seamless Roman numeral conversion in Swift. :large_orange_diamond: - * [ZSSRichTextEditor](https://github.com/nnhubbard/ZSSRichTextEditor) - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view :large_orange_diamond: - * [pangu.Objective-C](https://github.com/Cee/pangu.objective-c) - Paranoid text spacing in Objective-C. - * [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift :large_orange_diamond:[e] - * [Marklight](https://github.com/macteo/Marklight) - Markdown syntax highlighter for iOS :large_orange_diamond: - * [MarkdownTextView](https://github.com/indragiek/MarkdownTextView) - Rich Markdown editing control for iOS :large_orange_diamond: - * [TextAttributes](https://github.com/delba/TextAttributes) - An easier way to compose attributed strings. :large_orange_diamond:[e] - * [Reductio](https://github.com/fdzsergio/Reductio) - Automatic summarizer text in Swift :large_orange_diamond: - * [SmarkDown](https://github.com/SwiftStudies/SmarkDown) - A Pure Swift implementation of the markdown mark-up language :large_orange_diamond: - * [SwiftyMarkdown](https://github.com/SimonFairbairn/SwiftyMarkdown) - Converts Markdown files and strings into NSAttributedString :large_orange_diamond: - * [SZMentions](https://github.com/szweier/SZMentions) - Library to help handle mentions - * [SZMentionsSwift](https://github.com/szweier/SZMentionsSwift) - Library to help handle mentions, written in Swift 🔶 - * [Heimdall](https://github.com/henrinormak/Heimdall) - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. :large_orange_diamond: - * [NoOptionalInterpolation](https://github.com/T-Pham/NoOptionalInterpolation) - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.🔶[e] - * [Smile](https://github.com/onmyway133/Smile) 😄 Emoji in Swift - * [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift 🔶[e] - * [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. :large_orange_diamond: +* [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. +* [Nimbus](https://github.com/jverkoey/nimbus) - Nimbus is a toolkit for experienced iOS software designers. +* [NSStringEmojize](https://github.com/diy/nsstringemojize) - A category on NSString to convert Emoji Cheat Sheet codes to their equivalent Unicode characters. +* [MMMarkdown](https://github.com/mdiep/MMMarkdown) - An Objective-C static library for converting Markdown to HTML. +* [DTCoreText](https://github.com/Cocoanetics/DTCoreText) - Methods to allow using HTML code with CoreText. +* [DTRichTextEditor](https://github.com/Cocoanetics/DTRichTextEditor) - A rich-text editor for iOS. +* [NBEmojiSearchView](https://github.com/neerajbaid/NBEmojiSearchView) - A searchable emoji dropdown view that can be integrated with a text control +* [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension :large_orange_diamond:[e] +* [RichEditorView](https://github.com/cjwirth/RichEditorView) - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. :large_orange_diamond: +* [Money](https://github.com/danthorpe/Money) - Swift value types for working with money & currency :large_orange_diamond: +* [PhoneNumberKit](https://github.com/marmelroy/PhoneNumberKit) - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. :large_orange_diamond: +* [YYText](https://github.com/ibireme/YYText) - Powerful text framework for iOS to display and edit rich text. +* [Format](https://github.com/marmelroy/Format) - A Swift Formatter Kit. :large_orange_diamond: +* [Tribute](https://github.com/zats/Tribute) - Programmatic creation of NSAttributedString doesn't have to be a pain :large_orange_diamond: +* [EmojiKit](https://github.com/dasmer/EmojiKit) - Effortless emoji-querying in Swift :large_orange_diamond: +* [Roman](https://github.com/nvzqz/Roman) - Seamless Roman numeral conversion in Swift. :large_orange_diamond: +* [ZSSRichTextEditor](https://github.com/nnhubbard/ZSSRichTextEditor) - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view :large_orange_diamond: +* [pangu.Objective-C](https://github.com/Cee/pangu.objective-c) - Paranoid text spacing in Objective-C. +* [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift :large_orange_diamond:[e] +* [Marklight](https://github.com/macteo/Marklight) - Markdown syntax highlighter for iOS :large_orange_diamond: +* [MarkdownTextView](https://github.com/indragiek/MarkdownTextView) - Rich Markdown editing control for iOS :large_orange_diamond: +* [TextAttributes](https://github.com/delba/TextAttributes) - An easier way to compose attributed strings. :large_orange_diamond:[e] +* [Reductio](https://github.com/fdzsergio/Reductio) - Automatic summarizer text in Swift :large_orange_diamond: +* [SmarkDown](https://github.com/SwiftStudies/SmarkDown) - A Pure Swift implementation of the markdown mark-up language :large_orange_diamond: +* [SwiftyMarkdown](https://github.com/SimonFairbairn/SwiftyMarkdown) - Converts Markdown files and strings into NSAttributedString :large_orange_diamond: +* [SZMentions](https://github.com/szweier/SZMentions) - Library to help handle mentions +* [SZMentionsSwift](https://github.com/szweier/SZMentionsSwift) - Library to help handle mentions, written in Swift 🔶 +* [Heimdall](https://github.com/henrinormak/Heimdall) - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. :large_orange_diamond: +* [NoOptionalInterpolation](https://github.com/T-Pham/NoOptionalInterpolation) - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.🔶[e] +* [Smile](https://github.com/onmyway133/Smile) 😄 Emoji in Swift +* [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift 🔶[e] +* [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. :large_orange_diamond: ##### Font - * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: - * [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project :large_orange_diamond: - * [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. - * [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. :large_orange_diamond: - * [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported :large_orange_diamond: - * [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for Swift (FontAwesome, Ionicons, Octicons, Iconic) +* [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: +* [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project :large_orange_diamond: +* [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. +* [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. :large_orange_diamond: +* [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported :large_orange_diamond: +* [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for Swift (FontAwesome, Ionicons, Octicons, Iconic) :large_orange_diamond: - * [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. - * [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS :large_orange_diamond: +* [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. +* [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS :large_orange_diamond: ### URL Scheme - * [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! - * [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. - * [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. - * [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. - * [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks :large_orange_diamond: - * [Compass](https://github.com/hyperoslo/Compass) - Compass helps you setup a central navigation system for your application :large_orange_diamond: - * [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. :large_orange_diamond: - * [URLNavigator](https://github.com/devxoul/URLNavigator) - :boat: Elegant URL Routing for Swift :large_orange_diamond: +* [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! +* [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. +* [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. +* [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. +* [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks :large_orange_diamond: +* [Compass](https://github.com/hyperoslo/Compass) - Compass helps you setup a central navigation system for your application :large_orange_diamond: +* [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. :large_orange_diamond: +* [URLNavigator](https://github.com/devxoul/URLNavigator) - :boat: Elegant URL Routing for Swift :large_orange_diamond: ### UI - * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. - * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. - * [BetweenKit](https://github.com/ice3-software/between-kit) - A robust drag-and-drop framework for iOS. - * [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! - * [JLToast](https://github.com/devxoul/JLToast) - Toast for iOS with very simple interface. :large_orange_diamond: - * [BLKFlexibleHeightBar](https://github.com/bryankeller/BLKFlexibleHeightBar) - Create condensing header bars like those seen in the Facebook, Square Cash, and Safari iOS apps. - * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. - * [AsyncDisplayKit](https://github.com/facebook/AsyncDisplayKit/) - AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. - * [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. - * [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. :large_orange_diamond: - * [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. - * [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A Swift implementation of SVWebViewController - a drop-in inline browser for your iOS app. :large_orange_diamond: - * [MVMaterialView](https://github.com/mrugrajsinh/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. - * [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. - * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: - * [SAHistoryNavigationViewController](https://github.com/szk-atmosphere/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: - * [SAInboxViewController](https://github.com/szk-atmosphere/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: - * [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. - * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. - * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. - * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and OS X. - * [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout whitch can move item with drag and drop. - * [HoneycombView](https://github.com/suzuki-0000/HoneycombView) - HoneycombView is the iOS UIView for displaying like Honyecomb layout written by swift. :large_orange_diamond: - * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. - * [KCHorizontalDial](https://github.com/kciter/KCHorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: - * [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager similar to the one in Flipboard :large_orange_diamond: - * [ComponentKit](http://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. - * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. - * [WobbleView](https://github.com/inFullMobile/WobbleView) - WobbleView is an implementation of a recently popular wobble effect for any view in your app. It can be used to easily add dynamics to user interactions and transitions. :large_orange_diamond: - * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. - * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. - * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit - * [CollapsableOptions](https://github.com/rob-nash/CollapsableOptions) - Collapsable table view sections with custom section header views. :large_orange_diamond: - * [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. :large_orange_diamond: - * [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view :large_orange_diamond: - * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift :large_orange_diamond: - * [DLWBouncyView](https://github.com/cute/DLWBouncyView) - BouncyView is an implementation of a recently popular bouncy effect for any view. - * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. - * [KCSelectionDialog](https://github.com/kciter/KCSelectionDialog) - Simple selection dialog. :large_orange_diamond: - * [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. - * [CardAnimation](https://github.com/seedante/CardAnimation) - Card flipping-style animation :large_orange_diamond: - * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) - * [HorizontalProgress](https://github.com/AliThink/HorizontalProgress) - Simple horizontal progress bar with animation - * [JRSplitVC](https://github.com/tommypeps/JRSplitVC) - UISplitViewController with adaptative layouts - * [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. :large_orange_diamond: - * [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications :large_orange_diamond: - * [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category :large_orange_diamond: - * [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages :large_orange_diamond: - * [SWRevealViewController](https://github.com/John-Lluch/SWRevealViewController) - A UIViewController subclass for presenting side view controllers inspired on the FaceBook and Wunderlist apps, done right. - * [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. :large_orange_diamond: - * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. :large_orange_diamond: - * [FooterPull](https://github.com/rob-nash/FooterPull) - Add paging to your table views with a cool animation. - * [StackPageView](https://github.com/noppefoxwolf/StackPageView) - Vertical page view with UIViewControllers stacked on the top of each other :large_orange_diamond: - * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. :large_orange_diamond: - * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. - * [Pages](https://github.com/hyperoslo/Pages) - UIPageViewController made simple :large_orange_diamond: - * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. :large_orange_diamond: - * [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop :large_orange_diamond: - * [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. :large_orange_diamond: - * [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. - * [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. :large_orange_diamond: - * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion - * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers - * [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: - * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. :large_orange_diamond: - * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: - * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: - * [SCNavigationControlCenter](https://github.com/SergioChan/SCNavigationControlCenter) - This is an advanced navigation control center on iOS that can allow you to navigate to whichever view controller you want - * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. - * [FXBlurView](https://github.com/nicklockwood/FXBlurView) - UIView subclass that replicates the iOS 7 realtime background blur effect, but works on iOS 5 and above. - * [NGAParallaxMotion](https://github.com/michaeljbishop/NGAParallaxMotion) - A tiny category on UIView that allows you to set one property: "parallaxIntensity" to achieve a parallax effect with UIMotionEffect - * [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. :large_orange_diamond: - * [CRParticleEffect](https://github.com/Cleveroad/CRParticleEffect) - A CocoaPod that simplifies creation of the particle effects - * [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. :large_orange_diamond: - * [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book - * [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. :large_orange_diamond: - * [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. :large_orange_diamond: - * [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS - * [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library :large_orange_diamond: - * [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. - * [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView :large_orange_diamond: - * [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. :large_orange_diamond: - * [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities :large_orange_diamond: - * [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: - * [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: - * [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. - * [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. 🔶 - * [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift :large_orange_diamond: - * [CoreDragon](https://github.com/nevyn/CoreDragon) - [iOS] Stop using context menus. Drag and drop instead, even between apps! - * [URLEmbeddedView](https://github.com/szk-atmosphere/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: - * [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. :large_orange_diamond: - * [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face :large_orange_diamond: - * [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. :large_orange_diamond: - * [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. :large_orange_diamond: - * [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. - * [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. :large_orange_diamond: - * [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app - * [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. :large_orange_diamond: - * [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). :large_orange_diamond: - * [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller :large_orange_diamond: - * [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) :large_orange_diamond: - * [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. :large_orange_diamond: - * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift :large_orange_diamond: - * [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. :large_orange_diamond: - * [JDFlipNumberView](https://github.com/jaydee3/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. - * [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. :large_orange_diamond: - * [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. :large_orange_diamond: - * [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. - * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: - * [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller :large_orange_diamond: - * [DCKit](https://github.com/andrew8712/DCKit) - Set of `@IBDesignable` iOS controls, which have useful `@IBInspectable` properties (border width and color, corner radius and much more) :large_orange_diamond: - * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views :large_orange_diamond: - * [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects :large_orange_diamond: - * [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ :large_orange_diamond: - * [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. :large_orange_diamond: +* [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. +* [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. +* [BetweenKit](https://github.com/ice3-software/between-kit) - A robust drag-and-drop framework for iOS. +* [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! +* [JLToast](https://github.com/devxoul/JLToast) - Toast for iOS with very simple interface. :large_orange_diamond: +* [BLKFlexibleHeightBar](https://github.com/bryankeller/BLKFlexibleHeightBar) - Create condensing header bars like those seen in the Facebook, Square Cash, and Safari iOS apps. +* [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. +* [AsyncDisplayKit](https://github.com/facebook/AsyncDisplayKit/) - AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. +* [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. +* [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. :large_orange_diamond: +* [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. +* [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A Swift implementation of SVWebViewController - a drop-in inline browser for your iOS app. :large_orange_diamond: +* [MVMaterialView](https://github.com/mrugrajsinh/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. +* [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. +* [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: +* [SAHistoryNavigationViewController](https://github.com/szk-atmosphere/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: +* [SAInboxViewController](https://github.com/szk-atmosphere/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: +* [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. +* [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. +* [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. +* [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and OS X. +* [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout whitch can move item with drag and drop. +* [HoneycombView](https://github.com/suzuki-0000/HoneycombView) - HoneycombView is the iOS UIView for displaying like Honyecomb layout written by swift. :large_orange_diamond: +* [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. +* [KCHorizontalDial](https://github.com/kciter/KCHorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: +* [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager similar to the one in Flipboard :large_orange_diamond: +* [ComponentKit](http://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. +* [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. +* [WobbleView](https://github.com/inFullMobile/WobbleView) - WobbleView is an implementation of a recently popular wobble effect for any view in your app. It can be used to easily add dynamics to user interactions and transitions. :large_orange_diamond: +* [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. +* [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. +* [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit +* [CollapsableOptions](https://github.com/rob-nash/CollapsableOptions) - Collapsable table view sections with custom section header views. :large_orange_diamond: +* [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. :large_orange_diamond: +* [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view :large_orange_diamond: +* [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift :large_orange_diamond: +* [DLWBouncyView](https://github.com/cute/DLWBouncyView) - BouncyView is an implementation of a recently popular bouncy effect for any view. +* [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. +* [KCSelectionDialog](https://github.com/kciter/KCSelectionDialog) - Simple selection dialog. :large_orange_diamond: +* [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. +* [CardAnimation](https://github.com/seedante/CardAnimation) - Card flipping-style animation :large_orange_diamond: +* [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) +* [HorizontalProgress](https://github.com/AliThink/HorizontalProgress) - Simple horizontal progress bar with animation +* [JRSplitVC](https://github.com/tommypeps/JRSplitVC) - UISplitViewController with adaptative layouts +* [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. :large_orange_diamond: +* [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications :large_orange_diamond: +* [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category :large_orange_diamond: +* [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages :large_orange_diamond: +* [SWRevealViewController](https://github.com/John-Lluch/SWRevealViewController) - A UIViewController subclass for presenting side view controllers inspired on the FaceBook and Wunderlist apps, done right. +* [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. :large_orange_diamond: +* [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. :large_orange_diamond: +* [FooterPull](https://github.com/rob-nash/FooterPull) - Add paging to your table views with a cool animation. +* [StackPageView](https://github.com/noppefoxwolf/StackPageView) - Vertical page view with UIViewControllers stacked on the top of each other :large_orange_diamond: +* [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. :large_orange_diamond: +* [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. +* [Pages](https://github.com/hyperoslo/Pages) - UIPageViewController made simple :large_orange_diamond: +* [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. :large_orange_diamond: +* [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop :large_orange_diamond: +* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. :large_orange_diamond: +* [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. +* [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. :large_orange_diamond: +* [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion +* [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers +* [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: +* [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. :large_orange_diamond: +* [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: +* [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: +* [SCNavigationControlCenter](https://github.com/SergioChan/SCNavigationControlCenter) - This is an advanced navigation control center on iOS that can allow you to navigate to whichever view controller you want +* [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. +* [FXBlurView](https://github.com/nicklockwood/FXBlurView) - UIView subclass that replicates the iOS 7 realtime background blur effect, but works on iOS 5 and above. +* [NGAParallaxMotion](https://github.com/michaeljbishop/NGAParallaxMotion) - A tiny category on UIView that allows you to set one property: "parallaxIntensity" to achieve a parallax effect with UIMotionEffect +* [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. :large_orange_diamond: +* [CRParticleEffect](https://github.com/Cleveroad/CRParticleEffect) - A CocoaPod that simplifies creation of the particle effects +* [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. :large_orange_diamond: +* [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book +* [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. :large_orange_diamond: +* [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. :large_orange_diamond: +* [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS +* [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library :large_orange_diamond: +* [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. +* [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView :large_orange_diamond: +* [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. :large_orange_diamond: +* [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities :large_orange_diamond: +* [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: +* [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: +* [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. +* [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. 🔶 +* [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift :large_orange_diamond: +* [CoreDragon](https://github.com/nevyn/CoreDragon) - [iOS] Stop using context menus. Drag and drop instead, even between apps! +* [URLEmbeddedView](https://github.com/szk-atmosphere/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: +* [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. :large_orange_diamond: +* [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face :large_orange_diamond: +* [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. :large_orange_diamond: +* [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. :large_orange_diamond: +* [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. +* [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. :large_orange_diamond: +* [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app +* [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. :large_orange_diamond: +* [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). :large_orange_diamond: +* [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller :large_orange_diamond: +* [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) :large_orange_diamond: +* [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. :large_orange_diamond: +* [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift :large_orange_diamond: +* [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. :large_orange_diamond: +* [JDFlipNumberView](https://github.com/jaydee3/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. +* [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. :large_orange_diamond: +* [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. :large_orange_diamond: +* [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. +* [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: +* [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller :large_orange_diamond: +* [DCKit](https://github.com/andrew8712/DCKit) - Set of `@IBDesignable` iOS controls, which have useful `@IBInspectable` properties (border width and color, corner radius and much more) :large_orange_diamond: +* [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views :large_orange_diamond: +* [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects :large_orange_diamond: +* [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ :large_orange_diamond: +* [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. :large_orange_diamond: ##### Activity Indicator - * [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. :large_orange_diamond: - * [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift :large_orange_diamond: - * [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations by using Swift CALayer :large_orange_diamond: - * [LiquidLoader](https://github.com/yoavlt/LiquidLoader) - Spinner loader components with liquid animation :large_orange_diamond: - * [iOS-CircleProgressView](https://github.com/CardinalNow/iOS-CircleProgressView) - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view. :large_orange_diamond: - * [iOS Circle Progress Bar](https://github.com/Eclair/CircleProgressBar) - iOS Circle Progress Bar - * [LinearProgressBar](https://github.com/PhilippeBoisney/LinearProgressBar) - Linear Progress Bar (inspired by Google Material Design) for iOS written in Swift 2.0. :large_orange_diamond: - * [STLoadingGroup](https://github.com/saitjr/STLoadingGroup) - loading views :large_orange_diamond: - * [ALThreeCircleSpinner](https://github.com/AlexLittlejohn/ALThreeCircleSpinner) - A pulsing spinner view written in swift :large_orange_diamond: - * [MHRadialProgressView](https://github.com/mehfuzh/MHRadialProgressView) - iOS 7 radial animated progress view. - * [Loader](https://github.com/Ekhoo/Loader) - Amazing animated switch activity indicator written in swift - * [MBProgressHUD](https://github.com/jdg/MBProgressHUD) - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. - * [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD) - A clean and lightweight progress HUD for your iOS app. - * [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - ProgressHUD is a lightweight and easy-to-use HUD. - * [M13ProgressSuite](https://github.com/Marxon13/M13ProgressSuite) - A suite containing many tools to display progress information on iOS. - * [JHProgressHUD](https://github.com/harikrishnant1991/JHProgressHUD) - An easy and lightweight Swift library to show HUD in IOS applications. :large_orange_diamond: - * [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. :large_orange_diamond: - * [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. :large_orange_diamond: - * [FFCircularProgressView](https://github.com/elbryan/FFCircularProgressView) - FFCircularProgressView - An iOS 7-inspired blue circular progress view - * [MRProgress](https://github.com/mrackwitz/MRProgress) - Collection of iOS drop-in components to visualize progress - * [BigBrother](https://github.com/marcelofabri/BigBrother) - Automatically sets the network activity indicator for any performed request. :large_orange_diamond: - * [AlamofireNetworkActivityIndicator](https://github.com/Alamofire/AlamofireNetworkActivityIndicator) - Controls the visibility of the network activity indicator on iOS using Alamofire. :large_orange_diamond: - * [KDCircularProgress](https://github.com/kaandedeoglu/KDCircularProgress) - A circular progress view with gradients written in Swift :large_orange_diamond: - * [DACircularProgress](https://github.com/danielamitay/DACircularProgress) - DACircularProgress is a UIView subclass with circular UIProgressView properties. - * [KYNavigationProgress](https://github.com/ykyouhei/KYNavigationProgress) - Simple extension of UINavigationController to display progress on the UINavigationBar. :large_orange_diamond:[e] - * [GearRefreshControl](https://github.com/andreamazz/GearRefreshControl) - A custom animation for the UIRefreshControl :large_orange_diamond: - * [NJKWebViewProgress](https://github.com/ninjinkun/NJKWebViewProgress) - A progress interface library for UIWebView. You can implement progress bar for your in-app browser using this module. - * [MKRingProgressView](https://github.com/maxkonovalov/MKRingProgressView) - A beautiful ring/circular progress view similar to Activity app on Apple Watch, written in Swift. 🔶 - * [Hexacon](https://github.com/gautier-gdx/Hexacon) - A new way to display content in your app like the Apple Watch SpringBoard, written in Swift. 🔶 - * [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list :large_orange_diamond: - * [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. :large_orange_diamond: - * [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - Circular progress UIView subclass with UIProgressView properties :large_orange_diamond: - * [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. - * [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beauful hud view for iPhone & iPad +* [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. :large_orange_diamond: +* [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift :large_orange_diamond: +* [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations by using Swift CALayer :large_orange_diamond: +* [LiquidLoader](https://github.com/yoavlt/LiquidLoader) - Spinner loader components with liquid animation :large_orange_diamond: +* [iOS-CircleProgressView](https://github.com/CardinalNow/iOS-CircleProgressView) - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view. :large_orange_diamond: +* [iOS Circle Progress Bar](https://github.com/Eclair/CircleProgressBar) - iOS Circle Progress Bar +* [LinearProgressBar](https://github.com/PhilippeBoisney/LinearProgressBar) - Linear Progress Bar (inspired by Google Material Design) for iOS written in Swift 2.0. :large_orange_diamond: +* [STLoadingGroup](https://github.com/saitjr/STLoadingGroup) - loading views :large_orange_diamond: +* [ALThreeCircleSpinner](https://github.com/AlexLittlejohn/ALThreeCircleSpinner) - A pulsing spinner view written in swift :large_orange_diamond: +* [MHRadialProgressView](https://github.com/mehfuzh/MHRadialProgressView) - iOS 7 radial animated progress view. +* [Loader](https://github.com/Ekhoo/Loader) - Amazing animated switch activity indicator written in swift +* [MBProgressHUD](https://github.com/jdg/MBProgressHUD) - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. +* [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD) - A clean and lightweight progress HUD for your iOS app. +* [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - ProgressHUD is a lightweight and easy-to-use HUD. +* [M13ProgressSuite](https://github.com/Marxon13/M13ProgressSuite) - A suite containing many tools to display progress information on iOS. +* [JHProgressHUD](https://github.com/harikrishnant1991/JHProgressHUD) - An easy and lightweight Swift library to show HUD in IOS applications. :large_orange_diamond: +* [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. :large_orange_diamond: +* [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. :large_orange_diamond: +* [FFCircularProgressView](https://github.com/elbryan/FFCircularProgressView) - FFCircularProgressView - An iOS 7-inspired blue circular progress view +* [MRProgress](https://github.com/mrackwitz/MRProgress) - Collection of iOS drop-in components to visualize progress +* [BigBrother](https://github.com/marcelofabri/BigBrother) - Automatically sets the network activity indicator for any performed request. :large_orange_diamond: +* [AlamofireNetworkActivityIndicator](https://github.com/Alamofire/AlamofireNetworkActivityIndicator) - Controls the visibility of the network activity indicator on iOS using Alamofire. :large_orange_diamond: +* [KDCircularProgress](https://github.com/kaandedeoglu/KDCircularProgress) - A circular progress view with gradients written in Swift :large_orange_diamond: +* [DACircularProgress](https://github.com/danielamitay/DACircularProgress) - DACircularProgress is a UIView subclass with circular UIProgressView properties. +* [KYNavigationProgress](https://github.com/ykyouhei/KYNavigationProgress) - Simple extension of UINavigationController to display progress on the UINavigationBar. :large_orange_diamond:[e] +* [GearRefreshControl](https://github.com/andreamazz/GearRefreshControl) - A custom animation for the UIRefreshControl :large_orange_diamond: +* [NJKWebViewProgress](https://github.com/ninjinkun/NJKWebViewProgress) - A progress interface library for UIWebView. You can implement progress bar for your in-app browser using this module. +* [MKRingProgressView](https://github.com/maxkonovalov/MKRingProgressView) - A beautiful ring/circular progress view similar to Activity app on Apple Watch, written in Swift. 🔶 +* [Hexacon](https://github.com/gautier-gdx/Hexacon) - A new way to display content in your app like the Apple Watch SpringBoard, written in Swift. 🔶 +* [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list :large_orange_diamond: +* [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. :large_orange_diamond: +* [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - Circular progress UIView subclass with UIProgressView properties :large_orange_diamond: +* [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. +* [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beauful hud view for iPhone & iPad ##### Alerts - * [NZAlertView](https://github.com/NZN/NZAlertView) - Simple and intuitive alert view. Similar to push notification effect. - * [AMSmoothAlert](https://github.com/mtonio91/AMSmoothAlert) - A cool AlertView. - * [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. :large_orange_diamond: - * [NYAlertViewController](https://github.com/nealyoung/NYAlertViewController) - Highly configurable iOS Alert Views with custom content views. - * [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. :large_orange_diamond: - * [TTGSnackbar](https://github.com/zekunyan/TTGSnackbar) - Show simple message and action button on the bottom of the screen with multi kinds of animation. :large_orange_diamond: - * [TSMessages](https://github.com/KrauseFx/TSMessages) - Show notification views on top of screen such as success, error, warning or messages for iOS. - * [PJAlertView](https://github.com/PrajeetShrestha/PJAlertView) - Apple has deprecated beloved alert view but this library will add revamped alert view with far more customization possibility. - * [Swift-Prompts](https://github.com/GabrielAlva/Swift-Prompts) - A Swift library to design custom prompts with a great scope of options to choose from. :large_orange_diamond: - * [BRYXBanner](https://github.com/bryx-inc/BRYXBanner) - A lightweight dropdown notification for iOS 7+, in Swift. :large_orange_diamond: - * [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - A Swift library that displays an UIDatePicker within an UIAlertView :large_orange_diamond: - * [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages :large_orange_diamond: - * [HDNotificationView](https://github.com/nhdang103/HDNotificationView) - Emulates the native Notification Banner UI for any alert. - * [JDStatusBarNotification](https://github.com/jaydee3/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. - * [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. :large_orange_diamond: - * [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController :large_orange_diamond: - * [SnowGlobeFramework](https://github.com/stringcode86/SnowGlobeFramework) - Delightful / slightly cheese easter egg for christmas season. Turns your awesome app into a snow globe, when user shake the device. :large_orange_diamond: - * [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. :large_orange_diamond: - * [OEANotification](https://github.com/OEASLAN/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. :large_orange_diamond: - * [GSAlert](https://github.com/wxxsw/GSAlert) - If you want to use UIAlertController, but still need to support iOS 7 this project is for you. :large_orange_diamond: - * [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. - * [RKDropdownAlert](https://github.com/cwRichardKim/RKDropdownAlert) - Extremely simple UIAlertView alternative. - * [TKSwarmAlert](https://github.com/entotsu/TKSwarmAlert) - Animated alert library like Swarm app. :large_orange_diamond: - * [Whisper](https://github.com/hyperoslo/Whisper) - Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside :large_orange_diamond: - * [SimpleAlert](https://github.com/KyoheiG3/SimpleAlert) - Customizable simple Alert and simple ActionSheet for Swift :large_orange_diamond: - * [Hokusai](https://github.com/ytakzk/Hokusai) - A Swift library to provide a bouncy action sheet :large_orange_diamond: - * [SwiftNotice](https://github.com/johnlui/SwiftNotice) - SwiftNotice is a GUI library for displaying various popups (HUD) written in pure Swift, fits any scrollview. :large_orange_diamond: - * [SwiftOverlays](https://github.com/peterprokop/SwiftOverlays) - SwiftOverlays is a Swift GUI library for displaying various popups and notifications :large_orange_diamond: - * [SwiftyDrop](https://github.com/morizotter/SwiftyDrop) - SwiftyDrop is a lightweight pure Swift simple and beautiful dropdown message. :large_orange_diamond: - * [LKAlertController](https://github.com/Lightningkite/LKAlertController) - An easy to use UIAlertController builder for swift. :large_orange_diamond: - * [DOAlertController](https://github.com/okmr-d/DOAlertController) - Simple Alert View written in Swift, which can be used as a UIAlertController. (AlertController/AlertView/ActionSheet) :large_orange_diamond: - * [CustomizableActionSheet](https://github.com/beryu/CustomizableActionSheet) - Action sheet allows including your custom views and buttons. :large_orange_diamond: - * [Toast-Swift](https://github.com/scalessec/Toast-Swift) - A Swift extension that adds toast notifications to the UIView object class. :large_orange_diamond: - * [PMAlertController](https://github.com/Codeido/PMAlertController) - PMAlertController is a great and customizable substitute to UIAlertController. 🔶 - * [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. 🔶 - * [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. 🔶 +* [NZAlertView](https://github.com/NZN/NZAlertView) - Simple and intuitive alert view. Similar to push notification effect. +* [AMSmoothAlert](https://github.com/mtonio91/AMSmoothAlert) - A cool AlertView. +* [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. :large_orange_diamond: +* [NYAlertViewController](https://github.com/nealyoung/NYAlertViewController) - Highly configurable iOS Alert Views with custom content views. +* [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. :large_orange_diamond: +* [TTGSnackbar](https://github.com/zekunyan/TTGSnackbar) - Show simple message and action button on the bottom of the screen with multi kinds of animation. :large_orange_diamond: +* [TSMessages](https://github.com/KrauseFx/TSMessages) - Show notification views on top of screen such as success, error, warning or messages for iOS. +* [PJAlertView](https://github.com/PrajeetShrestha/PJAlertView) - Apple has deprecated beloved alert view but this library will add revamped alert view with far more customization possibility. +* [Swift-Prompts](https://github.com/GabrielAlva/Swift-Prompts) - A Swift library to design custom prompts with a great scope of options to choose from. :large_orange_diamond: +* [BRYXBanner](https://github.com/bryx-inc/BRYXBanner) - A lightweight dropdown notification for iOS 7+, in Swift. :large_orange_diamond: +* [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - A Swift library that displays an UIDatePicker within an UIAlertView :large_orange_diamond: +* [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages :large_orange_diamond: +* [HDNotificationView](https://github.com/nhdang103/HDNotificationView) - Emulates the native Notification Banner UI for any alert. +* [JDStatusBarNotification](https://github.com/jaydee3/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. +* [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. :large_orange_diamond: +* [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController :large_orange_diamond: +* [SnowGlobeFramework](https://github.com/stringcode86/SnowGlobeFramework) - Delightful / slightly cheese easter egg for christmas season. Turns your awesome app into a snow globe, when user shake the device. :large_orange_diamond: +* [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. :large_orange_diamond: +* [OEANotification](https://github.com/OEASLAN/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. :large_orange_diamond: +* [GSAlert](https://github.com/wxxsw/GSAlert) - If you want to use UIAlertController, but still need to support iOS 7 this project is for you. :large_orange_diamond: +* [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. +* [RKDropdownAlert](https://github.com/cwRichardKim/RKDropdownAlert) - Extremely simple UIAlertView alternative. +* [TKSwarmAlert](https://github.com/entotsu/TKSwarmAlert) - Animated alert library like Swarm app. :large_orange_diamond: +* [Whisper](https://github.com/hyperoslo/Whisper) - Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside :large_orange_diamond: +* [SimpleAlert](https://github.com/KyoheiG3/SimpleAlert) - Customizable simple Alert and simple ActionSheet for Swift :large_orange_diamond: +* [Hokusai](https://github.com/ytakzk/Hokusai) - A Swift library to provide a bouncy action sheet :large_orange_diamond: +* [SwiftNotice](https://github.com/johnlui/SwiftNotice) - SwiftNotice is a GUI library for displaying various popups (HUD) written in pure Swift, fits any scrollview. :large_orange_diamond: +* [SwiftOverlays](https://github.com/peterprokop/SwiftOverlays) - SwiftOverlays is a Swift GUI library for displaying various popups and notifications :large_orange_diamond: +* [SwiftyDrop](https://github.com/morizotter/SwiftyDrop) - SwiftyDrop is a lightweight pure Swift simple and beautiful dropdown message. :large_orange_diamond: +* [LKAlertController](https://github.com/Lightningkite/LKAlertController) - An easy to use UIAlertController builder for swift. :large_orange_diamond: +* [DOAlertController](https://github.com/okmr-d/DOAlertController) - Simple Alert View written in Swift, which can be used as a UIAlertController. (AlertController/AlertView/ActionSheet) :large_orange_diamond: +* [CustomizableActionSheet](https://github.com/beryu/CustomizableActionSheet) - Action sheet allows including your custom views and buttons. :large_orange_diamond: +* [Toast-Swift](https://github.com/scalessec/Toast-Swift) - A Swift extension that adds toast notifications to the UIView object class. :large_orange_diamond: +* [PMAlertController](https://github.com/Codeido/PMAlertController) - PMAlertController is a great and customizable substitute to UIAlertController. 🔶 +* [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. 🔶 +* [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. 🔶 ##### Button - * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. - * [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. :large_orange_diamond: - * [SDevBootstrapButton](https://github.com/0x73/SDevBootstrapButton) - Twitter Bootstrap buttons for Swift :large_orange_diamond: - * [SDevCircleButton](https://github.com/0x73/SDevCircleButton) - Circle Button for Swift :large_orange_diamond: - * [VBFPopFlatButton](https://github.com/victorBaro/VBFPopFlatButton) - Flat button with 9 different states animated using Facebook POP. - * [HTPressableButton](https://github.com/herinkc/HTPressableButton) - Flat design pressable button. - * [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state - * [JTFadingInfoView](https://github.com/JunichiT/JTFadingInfoView) - An UIButton-based view with fade in/out animation features. - * [KCFloatingActionButton](https://github.com/kciter/KCFloatingActionButton) - Simple Floating Action Button for iOS :large_orange_diamond: - * [Hamburger-Menu-Button](https://github.com/toannt/Hamburger-Menu-Button) - A hamburger menu button with full customization. :large_orange_diamond: - * [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). :large_orange_diamond: - * [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift :large_orange_diamond: - * [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. :large_orange_diamond: - * [VCFloatingActionButton](https://github.com/gizmoboy7/VCFloatingActionButton) - A Floating Action Button just like Google inbox for iOS - * [FlowBarButtonItem](https://github.com/noppefoxwolf/FlowBarButtonItem) - Bar Button Item that can be moved anywhere in the screen, like Android's stickers button. :large_orange_diamond: - * [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - UIButton Inspired by Apple’s download progress buttons in the app store - * [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design :large_orange_diamond: - * [ProgressButton](https://github.com/sprint84/ProgressButton) - Custom button class that displays a progress bar around it to gauge :large_orange_diamond: - * [JOEmojiableBtn](https://github.com/lojals/JOEmojiableBtn) - Custom button that opens a popover with more buttons, similar to the new 'Like' button of Facebook :large_orange_diamond: - * [EMEmojiableBtn](https://github.com/Eke/EMEmojiableBtn) - Custom button that opens a popover with more buttons, similar to the new 'Like' button of Facebook - * [WYMaterialButton](https://github.com/Yu-w/WYMaterialButton) - Animated button with material design effect using Facebook's POP, working well for both flat and image button :large_orange_diamond: - * [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift :large_orange_diamond: - * [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash :large_orange_diamond: +* [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. +* [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. :large_orange_diamond: +* [SDevBootstrapButton](https://github.com/0x73/SDevBootstrapButton) - Twitter Bootstrap buttons for Swift :large_orange_diamond: +* [SDevCircleButton](https://github.com/0x73/SDevCircleButton) - Circle Button for Swift :large_orange_diamond: +* [VBFPopFlatButton](https://github.com/victorBaro/VBFPopFlatButton) - Flat button with 9 different states animated using Facebook POP. +* [HTPressableButton](https://github.com/herinkc/HTPressableButton) - Flat design pressable button. +* [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state +* [JTFadingInfoView](https://github.com/JunichiT/JTFadingInfoView) - An UIButton-based view with fade in/out animation features. +* [KCFloatingActionButton](https://github.com/kciter/KCFloatingActionButton) - Simple Floating Action Button for iOS :large_orange_diamond: +* [Hamburger-Menu-Button](https://github.com/toannt/Hamburger-Menu-Button) - A hamburger menu button with full customization. :large_orange_diamond: +* [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). :large_orange_diamond: +* [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift :large_orange_diamond: +* [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. :large_orange_diamond: +* [VCFloatingActionButton](https://github.com/gizmoboy7/VCFloatingActionButton) - A Floating Action Button just like Google inbox for iOS +* [FlowBarButtonItem](https://github.com/noppefoxwolf/FlowBarButtonItem) - Bar Button Item that can be moved anywhere in the screen, like Android's stickers button. :large_orange_diamond: +* [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - UIButton Inspired by Apple’s download progress buttons in the app store +* [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design :large_orange_diamond: +* [ProgressButton](https://github.com/sprint84/ProgressButton) - Custom button class that displays a progress bar around it to gauge :large_orange_diamond: +* [JOEmojiableBtn](https://github.com/lojals/JOEmojiableBtn) - Custom button that opens a popover with more buttons, similar to the new 'Like' button of Facebook :large_orange_diamond: +* [EMEmojiableBtn](https://github.com/Eke/EMEmojiableBtn) - Custom button that opens a popover with more buttons, similar to the new 'Like' button of Facebook +* [WYMaterialButton](https://github.com/Yu-w/WYMaterialButton) - Animated button with material design effect using Facebook's POP, working well for both flat and image button :large_orange_diamond: +* [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift :large_orange_diamond: +* [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash :large_orange_diamond: ##### Calendar - * [CVCalendar](https://github.com/Mozharovsky/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: - * [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. - * [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS :large_orange_diamond: - * [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A superiorly awesome iOS7+ calendar control, compatible with both Objective-c and Swift2 :large_orange_diamond: - * [GLCalendarView](https://github.com/Glow-Inc/GLCalendarView) - A fully customizable calendar view acting as a date range picker - * [JTCalendar](https://github.com/jonathantribouharet/JTCalendar) - A customizable calendar view for iOS. - * [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The final iOS calendar control you'll ever try. :large_orange_diamond: - * [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. +* [CVCalendar](https://github.com/Mozharovsky/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: +* [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. +* [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS :large_orange_diamond: +* [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A superiorly awesome iOS7+ calendar control, compatible with both Objective-c and Swift2 :large_orange_diamond: +* [GLCalendarView](https://github.com/Glow-Inc/GLCalendarView) - A fully customizable calendar view acting as a date range picker +* [JTCalendar](https://github.com/jonathantribouharet/JTCalendar) - A customizable calendar view for iOS. +* [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The final iOS calendar control you'll ever try. :large_orange_diamond: +* [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. ##### Form - * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS - * [XLForm](https://github.com/xmartlabs/XLForm) - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C. - * [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. :large_orange_diamond: - * [YALField](https://github.com/Yalantis/YALField) - Custom Field component with validation for creating easier form-like UI from interface builder. - * [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. :large_orange_diamond: - * [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. :large_orange_diamond: - * [APValidators](https://github.com/Alterplay/APValidators) - Codeless solution for form validation in iOS! - * [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS :large_orange_diamond: - * [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - Framework for creating forms with validation rules :large_orange_diamond: +* [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS +* [XLForm](https://github.com/xmartlabs/XLForm) - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C. +* [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. :large_orange_diamond: +* [YALField](https://github.com/Yalantis/YALField) - Custom Field component with validation for creating easier form-like UI from interface builder. +* [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. :large_orange_diamond: +* [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. :large_orange_diamond: +* [APValidators](https://github.com/Alterplay/APValidators) - Codeless solution for form validation in iOS! +* [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS :large_orange_diamond: +* [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - Framework for creating forms with validation rules :large_orange_diamond: ##### Keyboard - * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. - * [RFKeyboardToolbar](https://github.com/ruddfawcett/RFKeyboardToolbar) - This is a flexible UIView and UIButton subclass to add customized buttons and toolbars to your UITextFields/UITextViews. - * [IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager) - Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. - * [NgKeyboardTracker](https://github.com/meiwin/NgKeyboardTracker) - Objective-C library for tracking keyboard in iOS apps. - * [MMNumberKeyboard](https://github.com/matmartinez/MMNumberKeyboard) - A simple keyboard to use with numbers and, optionally, a decimal point. - * [KeyboardObserver](https://github.com/morizotter/KeyboardObserver) - For less complicated keyboard event handling. :large_orange_diamond: - * [TPKeyboardAvoiding](https://github.com/michaeltyson/TPKeyboardAvoiding) - A drop-in universal solution for moving text fields out of the way of the keyboard in iOS - * [YYKeyboardManager](https://github.com/ibireme/YYKeyboardManager) - iOS utility class allows you to access keyboard view and track keyboard animation. - * [KeyboardMan](https://github.com/nixzhu/KeyboardMan) - KeyboardMan helps you make keyboard animation. :large_orange_diamond: +* [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. +* [RFKeyboardToolbar](https://github.com/ruddfawcett/RFKeyboardToolbar) - This is a flexible UIView and UIButton subclass to add customized buttons and toolbars to your UITextFields/UITextViews. +* [IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager) - Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. +* [NgKeyboardTracker](https://github.com/meiwin/NgKeyboardTracker) - Objective-C library for tracking keyboard in iOS apps. +* [MMNumberKeyboard](https://github.com/matmartinez/MMNumberKeyboard) - A simple keyboard to use with numbers and, optionally, a decimal point. +* [KeyboardObserver](https://github.com/morizotter/KeyboardObserver) - For less complicated keyboard event handling. :large_orange_diamond: +* [TPKeyboardAvoiding](https://github.com/michaeltyson/TPKeyboardAvoiding) - A drop-in universal solution for moving text fields out of the way of the keyboard in iOS +* [YYKeyboardManager](https://github.com/ibireme/YYKeyboardManager) - iOS utility class allows you to access keyboard view and track keyboard animation. +* [KeyboardMan](https://github.com/nixzhu/KeyboardMan) - KeyboardMan helps you make keyboard animation. :large_orange_diamond: ##### Label - * [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. :large_orange_diamond: - * [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) :large_orange_diamond: - * [MZTimerLabel](https://github.com/mineschan/MZTimerLabel) - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App. - * [CountdownLabel](https://github.com/suzuki-0000/CountdownLabel) - Simple countdown UILabel with morphing animation, and some useful function. :large_orange_diamond: - * [IncrementableLabel](https://github.com/recisio/IncrementableLabel) - Incrementable label for iOS, OS X, and tvOS. :large_orange_diamond: - * [TTTAttributedLabel](https://github.com/TTTAttributedLabel/TTTAttributedLabel) - A drop-in replacement for UILabel that supports attributes, data detectors, links, and more - * [NumberMorphView](https://github.com/me-abhinav/NumberMorphView) - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. :large_orange_diamond: - * [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. :large_orange_diamond: - * [TOMSMorphingLabel](https://github.com/tomknig/TOMSMorphingLabel) - Configurable morphing transitions between text values of a label. - * [THLabel](https://github.com/tobihagemann/THLabel) - UILabel subclass, which additionally allows shadow blur, inner shadow, stroke text and fill gradient. - * [RQShineLabel](https://github.com/zipme/RQShineLabel) - Secret app like text animation +* [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. :large_orange_diamond: +* [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) :large_orange_diamond: +* [MZTimerLabel](https://github.com/mineschan/MZTimerLabel) - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App. +* [CountdownLabel](https://github.com/suzuki-0000/CountdownLabel) - Simple countdown UILabel with morphing animation, and some useful function. :large_orange_diamond: +* [IncrementableLabel](https://github.com/recisio/IncrementableLabel) - Incrementable label for iOS, OS X, and tvOS. :large_orange_diamond: +* [TTTAttributedLabel](https://github.com/TTTAttributedLabel/TTTAttributedLabel) - A drop-in replacement for UILabel that supports attributes, data detectors, links, and more +* [NumberMorphView](https://github.com/me-abhinav/NumberMorphView) - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. :large_orange_diamond: +* [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. :large_orange_diamond: +* [TOMSMorphingLabel](https://github.com/tomknig/TOMSMorphingLabel) - Configurable morphing transitions between text values of a label. +* [THLabel](https://github.com/tobihagemann/THLabel) - UILabel subclass, which additionally allows shadow blur, inner shadow, stroke text and fill gradient. +* [RQShineLabel](https://github.com/zipme/RQShineLabel) - Secret app like text animation ##### Menu - * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: - * [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. - * [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. :large_orange_diamond: - * [PagingMenuController](https://github.com/kitasuke/PagingMenuController) - Paging view controller with customizable menu in Swift. :large_orange_diamond: - * [RadialMenu](https://github.com/bradjasper/radialmenu) - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP :large_orange_diamond: - * [cariocamenu](https://github.com/arn00s/cariocamenu) - The fastest zero-tap iOS menu. :large_orange_diamond: - * [VLDContextSheet](https://github.com/vangelov/VLDContextSheet) - Context menu similar to the one in the Pinterest iOS app - * [GuillotineMenu](https://github.com/Yalantis/GuillotineMenu) - Guillotine (Drop down) transitioning animation menu :large_orange_diamond: - * [MediumMenu](https://github.com/pixyzehn/MediumMenu) - A menu based on Medium iOS app. :large_orange_diamond: - * [SwiftySideMenu](https://github.com/hossamghareeb/SwiftySideMenu) - a lightweight, fully customizable side menu for iOS inspired from [TimeLine app](https://itunes.apple.com/us/app/timeline-news-in-context/id948867534?mt=8&ign-mpt=uo%3D4). Built with spring animations using Facebook Pop. - * [LLSlideMenu](https://github.com/lilei644/LLSlideMenu) - This is a spring slide menu for iOS apps - * [Swift-Slide-Menu](https://github.com/PhilippeBoisney/Swift-Slide-Menu) - A Slide Menu, written in Swift, inspired by Slide Menu Material Design. :large_orange_diamond: - * [MenuItemKit](https://github.com/cxa/MenuItemKit) - UIMenuItem with image and block(closure) :large_orange_diamond: - * [BTNavigationDropdownMenu](https://github.com/PhamBaTho/BTNavigationDropdownMenu) - The elegant dropdown menu, written in Swift, appears underneath navigation bar to display a list of related items when a user click on the navigation title. :large_orange_diamond: - * [ALRadialMenu](https://github.com/AlexLittlejohn/ALRadialMenu) - A radial/circular menu featuring spring animations. Written in swift :large_orange_diamond: - * [AZDropdownMenu](https://github.com/Azuritul/AZDropdownMenu) - An easy to use dropdown menu that supports images. :large_orange_diamond: - * [CircleMenu](https://github.com/Ramotion/circle-menu) - An animated, multi-option menu button. :large_orange_diamond: - * [SlideMenuControllerSwift](https://github.com/dekatotoro/SlideMenuControllerSwift) - iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure Swift. :large_orange_diamond: - * [SideMenu](https://github.com/jonkykong/SideMenu) - Simple side menu control in Swift inspired by Facebook. Right and Left sides. Lots of customization and animation options. Can be implemented in Storyboard with no code. :large_orange_diamond: - * [CategorySliderView](https://github.com/cemolcay/CategorySliderView) - slider view for choosing categories. add any UIView type as category item view. Fully customisable - * [MKDropdownMenu](https://github.com/maxkonovalov/MKDropdownMenu) - A Dropdown Menu for iOS with many customizable parameters to suit any needs. - * [ExpandingMenu](https://github.com/monoqlo/ExpandingMenu) - ExpandingMenu is menu button for iOS written in Swift. :large_orange_diamond: - * [PageMenu](https://github.com/HighBay/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) :large_orange_diamond: - * [XXXRoundMenuButton](https://github.com/zsy78191/XXXRoundMenuButton) - A simple circle style menu. - * [IGCMenu](https://github.com/sunilsharma08/IGCMenu) - Grid and Circular menu with animation.Easy to customise. - * [EEJSelectMenu](https://github.com/eejahromi/EEJSelectMenu) - Single selection menu with cool animations, responsive with all screen sizes. - * [IGLDropDownMenu](https://github.com/bestwnh/IGLDropDownMenu) - An iOS drop down menu with pretty animation and easy to customize. - * [Side-Menu.iOS](https://github.com/Yalantis/Side-Menu.iOS) - Animated side menu with customizable UI :large_orange_diamond: - * [PopMenu](https://github.com/xhzengAIB/PopMenu) - PopMenu is pop animation menu inspired by Sina weibo / NetEase app. - * [FlowingMenu](https://github.com/yannickl/FlowingMenu) - Interactive view transition to display menus with flowing and bouncing effects in Swift :large_orange_diamond: - * [Persei](https://github.com/Yalantis/Persei) - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift :large_orange_diamond: - * [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS :large_orange_diamond: - * [KYGooeyMenu](https://github.com/KittenYang/KYGooeyMenu) - A not bad gooey effects menu. - * [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift :large_orange_diamond: +* [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: +* [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. +* [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. :large_orange_diamond: +* [PagingMenuController](https://github.com/kitasuke/PagingMenuController) - Paging view controller with customizable menu in Swift. :large_orange_diamond: +* [RadialMenu](https://github.com/bradjasper/radialmenu) - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP :large_orange_diamond: +* [cariocamenu](https://github.com/arn00s/cariocamenu) - The fastest zero-tap iOS menu. :large_orange_diamond: +* [VLDContextSheet](https://github.com/vangelov/VLDContextSheet) - Context menu similar to the one in the Pinterest iOS app +* [GuillotineMenu](https://github.com/Yalantis/GuillotineMenu) - Guillotine (Drop down) transitioning animation menu :large_orange_diamond: +* [MediumMenu](https://github.com/pixyzehn/MediumMenu) - A menu based on Medium iOS app. :large_orange_diamond: +* [SwiftySideMenu](https://github.com/hossamghareeb/SwiftySideMenu) - a lightweight, fully customizable side menu for iOS inspired from [TimeLine app](https://itunes.apple.com/us/app/timeline-news-in-context/id948867534?mt=8&ign-mpt=uo%3D4). Built with spring animations using Facebook Pop. +* [LLSlideMenu](https://github.com/lilei644/LLSlideMenu) - This is a spring slide menu for iOS apps +* [Swift-Slide-Menu](https://github.com/PhilippeBoisney/Swift-Slide-Menu) - A Slide Menu, written in Swift, inspired by Slide Menu Material Design. :large_orange_diamond: +* [MenuItemKit](https://github.com/cxa/MenuItemKit) - UIMenuItem with image and block(closure) :large_orange_diamond: +* [BTNavigationDropdownMenu](https://github.com/PhamBaTho/BTNavigationDropdownMenu) - The elegant dropdown menu, written in Swift, appears underneath navigation bar to display a list of related items when a user click on the navigation title. :large_orange_diamond: +* [ALRadialMenu](https://github.com/AlexLittlejohn/ALRadialMenu) - A radial/circular menu featuring spring animations. Written in swift :large_orange_diamond: +* [AZDropdownMenu](https://github.com/Azuritul/AZDropdownMenu) - An easy to use dropdown menu that supports images. :large_orange_diamond: +* [CircleMenu](https://github.com/Ramotion/circle-menu) - An animated, multi-option menu button. :large_orange_diamond: +* [SlideMenuControllerSwift](https://github.com/dekatotoro/SlideMenuControllerSwift) - iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure Swift. :large_orange_diamond: +* [SideMenu](https://github.com/jonkykong/SideMenu) - Simple side menu control in Swift inspired by Facebook. Right and Left sides. Lots of customization and animation options. Can be implemented in Storyboard with no code. :large_orange_diamond: +* [CategorySliderView](https://github.com/cemolcay/CategorySliderView) - slider view for choosing categories. add any UIView type as category item view. Fully customisable +* [MKDropdownMenu](https://github.com/maxkonovalov/MKDropdownMenu) - A Dropdown Menu for iOS with many customizable parameters to suit any needs. +* [ExpandingMenu](https://github.com/monoqlo/ExpandingMenu) - ExpandingMenu is menu button for iOS written in Swift. :large_orange_diamond: +* [PageMenu](https://github.com/HighBay/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) :large_orange_diamond: +* [XXXRoundMenuButton](https://github.com/zsy78191/XXXRoundMenuButton) - A simple circle style menu. +* [IGCMenu](https://github.com/sunilsharma08/IGCMenu) - Grid and Circular menu with animation.Easy to customise. +* [EEJSelectMenu](https://github.com/eejahromi/EEJSelectMenu) - Single selection menu with cool animations, responsive with all screen sizes. +* [IGLDropDownMenu](https://github.com/bestwnh/IGLDropDownMenu) - An iOS drop down menu with pretty animation and easy to customize. +* [Side-Menu.iOS](https://github.com/Yalantis/Side-Menu.iOS) - Animated side menu with customizable UI :large_orange_diamond: +* [PopMenu](https://github.com/xhzengAIB/PopMenu) - PopMenu is pop animation menu inspired by Sina weibo / NetEase app. +* [FlowingMenu](https://github.com/yannickl/FlowingMenu) - Interactive view transition to display menus with flowing and bouncing effects in Swift :large_orange_diamond: +* [Persei](https://github.com/Yalantis/Persei) - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift :large_orange_diamond: +* [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS :large_orange_diamond: +* [KYGooeyMenu](https://github.com/KittenYang/KYGooeyMenu) - A not bad gooey effects menu. +* [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift :large_orange_diamond: ##### Modal Transition - * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. - * [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. :large_orange_diamond: - * [BubbleTransition](https://github.com/andreamazz/BubbleTransition) - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. :large_orange_diamond: - * [RPModalGestureTransition](https://github.com/naoyashiga/RPModalGestureTransition) - You can dismiss modal by using gesture :point_up_2: :iphone: :large_orange_diamond: - * [RMPZoomTransitionAnimator](https://github.com/recruit-mp/RMPZoomTransitionAnimator) - A custom zooming transition animation for UIViewController - * [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. :large_orange_diamond: - * [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao - * [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller - * [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. :large_orange_diamond: +* [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. +* [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. :large_orange_diamond: +* [BubbleTransition](https://github.com/andreamazz/BubbleTransition) - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. :large_orange_diamond: +* [RPModalGestureTransition](https://github.com/naoyashiga/RPModalGestureTransition) - You can dismiss modal by using gesture :point_up_2: :iphone: :large_orange_diamond: +* [RMPZoomTransitionAnimator](https://github.com/recruit-mp/RMPZoomTransitionAnimator) - A custom zooming transition animation for UIViewController +* [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. :large_orange_diamond: +* [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao +* [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller +* [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. :large_orange_diamond: ##### Navigation Bar - * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: - * [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! - * [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. +* [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: +* [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! +* [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. ##### Popup - * [KLCPopup](https://github.com/jmascia/KLCPopup) - A simple and flexible class for presenting custom views as a popup in iOS. - * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. - * [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. - * [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. :large_orange_diamond: - * [CNPPopupController](https://github.com/carsonperrotti/CNPPopupController) - Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. - * [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. - * [SubscriptionPrompt](https://github.com/Binur/SubscriptionPrompt) - Subscription View Controller like the Tinder uses :large_orange_diamond: - * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: +* [KLCPopup](https://github.com/jmascia/KLCPopup) - A simple and flexible class for presenting custom views as a popup in iOS. +* [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. +* [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. +* [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. :large_orange_diamond: +* [CNPPopupController](https://github.com/carsonperrotti/CNPPopupController) - Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. +* [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. +* [SubscriptionPrompt](https://github.com/Binur/SubscriptionPrompt) - Subscription View Controller like the Tinder uses :large_orange_diamond: +* [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: ##### Pull to Refresh - * [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: - * [PullToBounce](https://github.com/entotsu/PullToBounce) - Animated "Pull To Refresh" Library for UIScrollView. :large_orange_diamond: - * [SVPullToRefresh](https://github.com/samvermette/SVPullToRefresh) - Give pull-to-refresh & infinite scrolling to any UIScrollView with 1 line of code. http://samvermette.com/314 - * [UzysAnimatedGifPullToRefresh](https://github.com/uzysjung/UzysAnimatedGifPullToRefresh) - Add PullToRefresh using animated GIF to any scrollView with just simple code - * [PullToRefreshCoreText](https://github.com/cemolcay/PullToRefreshCoreText) - PullToRefresh extension for all UIScrollView type classes with animated text drawing style - * [BOZPongRefreshControl](https://github.com/boztalay/BOZPongRefreshControl) - A pull-down-to-refresh control for iOS that plays pong, originally created for the MHacks III iOS app - * [CBStoreHouseRefreshControl](https://github.com/coolbeet/CBStoreHouseRefreshControl) - Fully customizable pull-to-refresh control inspired by Storehouse iOS app - * [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift :large_orange_diamond: - * [mntpulltoreact](https://github.com/mentionapp/mntpulltoreact) - One gesture, many actions. An evolution of Pull to Refresh. - * [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. - * [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. :large_orange_diamond: +* [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: +* [PullToBounce](https://github.com/entotsu/PullToBounce) - Animated "Pull To Refresh" Library for UIScrollView. :large_orange_diamond: +* [SVPullToRefresh](https://github.com/samvermette/SVPullToRefresh) - Give pull-to-refresh & infinite scrolling to any UIScrollView with 1 line of code. http://samvermette.com/314 +* [UzysAnimatedGifPullToRefresh](https://github.com/uzysjung/UzysAnimatedGifPullToRefresh) - Add PullToRefresh using animated GIF to any scrollView with just simple code +* [PullToRefreshCoreText](https://github.com/cemolcay/PullToRefreshCoreText) - PullToRefresh extension for all UIScrollView type classes with animated text drawing style +* [BOZPongRefreshControl](https://github.com/boztalay/BOZPongRefreshControl) - A pull-down-to-refresh control for iOS that plays pong, originally created for the MHacks III iOS app +* [CBStoreHouseRefreshControl](https://github.com/coolbeet/CBStoreHouseRefreshControl) - Fully customizable pull-to-refresh control inspired by Storehouse iOS app +* [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift :large_orange_diamond: +* [mntpulltoreact](https://github.com/mentionapp/mntpulltoreact) - One gesture, many actions. An evolution of Pull to Refresh. +* [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. +* [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. :large_orange_diamond: ##### Rating Stars - * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: - * [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. :large_orange_diamond: - * [StarryStars](https://github.com/peterprokop/StarryStars) - iOS GUI library for displaying and editing ratings - * [Cosmos](https://github.com/marketplacer/Cosmos) - A star rating control for iOS / Swift :large_orange_diamond: - * [HCSStarRatingView](https://github.com/hsousa/HCSStarRatingView) - Simple star rating view for iOS written in Objective-C - * [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift :large_orange_diamond: +* [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: +* [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. :large_orange_diamond: +* [StarryStars](https://github.com/peterprokop/StarryStars) - iOS GUI library for displaying and editing ratings +* [Cosmos](https://github.com/marketplacer/Cosmos) - A star rating control for iOS / Swift :large_orange_diamond: +* [HCSStarRatingView](https://github.com/hsousa/HCSStarRatingView) - Simple star rating view for iOS written in Objective-C +* [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift :large_orange_diamond: ##### Slider - * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. - * [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management - * [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. :large_orange_diamond: - * [RangeSlider](https://github.com/warchimede/RangeSlider) - A simple range slider made in Swift :large_orange_diamond: - * [CircleSlider](https://github.com/shushutochako/CircleSlider) - CircleSlider is a Circular slider library. written in pure Swift. :large_orange_diamond: - * [MARKRangeSlider](https://github.com/vadymmarkov/MARKRangeSlider) - A custom reusable slider control with 2 thumbs (range slider). - * [ASValueTrackingSlider](https://github.com/alskipp/ASValueTrackingSlider) - A UISlider subclass that displays the slider value in a popup view - * [TTRangeSlider](https://github.com/TomThorpe/TTRangeSlider) - A slider, similar in style to UISlider, but which allows you to pick a minimum and maximum range. - * [MMSegmentSlider](https://github.com/MedvedevMax/MMSegmentSlider) - An easy-to-use customizable animated segment slider for iOS - * [StepSlider](https://github.com/spromicky/StepSlider) - StepSlider its custom implementation of slider such as UISlider for preset integer values. +* [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. +* [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management +* [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. :large_orange_diamond: +* [RangeSlider](https://github.com/warchimede/RangeSlider) - A simple range slider made in Swift :large_orange_diamond: +* [CircleSlider](https://github.com/shushutochako/CircleSlider) - CircleSlider is a Circular slider library. written in pure Swift. :large_orange_diamond: +* [MARKRangeSlider](https://github.com/vadymmarkov/MARKRangeSlider) - A custom reusable slider control with 2 thumbs (range slider). +* [ASValueTrackingSlider](https://github.com/alskipp/ASValueTrackingSlider) - A UISlider subclass that displays the slider value in a popup view +* [TTRangeSlider](https://github.com/TomThorpe/TTRangeSlider) - A slider, similar in style to UISlider, but which allows you to pick a minimum and maximum range. +* [MMSegmentSlider](https://github.com/MedvedevMax/MMSegmentSlider) - An easy-to-use customizable animated segment slider for iOS +* [StepSlider](https://github.com/spromicky/StepSlider) - StepSlider its custom implementation of slider such as UISlider for preset integer values. ##### Stepper - * [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! :large_orange_diamond: - * [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. :large_orange_diamond: - * [GMStepper](https://github.com/gmertk/GMStepper) - A stepper with a sliding label in the middle. :large_orange_diamond: - * [barceloneta](https://github.com/arn00s/barceloneta) - The right way to increment/decrement values with a simple gesture on iOS. :large_orange_diamond: - * [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift :large_orange_diamond: +* [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! :large_orange_diamond: +* [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. :large_orange_diamond: +* [GMStepper](https://github.com/gmertk/GMStepper) - A stepper with a sliding label in the middle. :large_orange_diamond: +* [barceloneta](https://github.com/arn00s/barceloneta) - The right way to increment/decrement values with a simple gesture on iOS. :large_orange_diamond: +* [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift :large_orange_diamond: ##### Switch - * [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. :large_orange_diamond: - * [ViralSwitch](https://github.com/andreamazz/ViralSwitch) - A UISwitch that infects its superview with its tint color. - * [JTMaterialSwitch](https://github.com/JunichiT/JTMaterialSwitch) - A customizable switch UI with ripple effect and bounce animations, inspired from Google's Material Design. - * [TKSwitcherCollection](https://github.com/TBXark/TKSwitcherCollection) - An animate switch collection :large_orange_diamond: - * [SevenSwitch](https://github.com/bvogelzang/SevenSwitch) - iOS7 style drop in replacement for UISwitch. :large_orange_diamond: - * [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) :large_orange_diamond: - * [PMZSwitch](https://github.com/kovpas/PMZSwitch) - Yet another animated toggle :large_orange_diamond: - * [Switcher](https://github.com/knn90/Switcher) - Custom UISwitcher with animation :large_orange_diamond: - * [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. :large_orange_diamond: - * [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. :large_orange_diamond: - * [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: - * [LUNSegmentedControl](https://github.com/LunApps/LUNSegmentedControl) - Customizable segmented control with interactive animation. +* [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. :large_orange_diamond: +* [ViralSwitch](https://github.com/andreamazz/ViralSwitch) - A UISwitch that infects its superview with its tint color. +* [JTMaterialSwitch](https://github.com/JunichiT/JTMaterialSwitch) - A customizable switch UI with ripple effect and bounce animations, inspired from Google's Material Design. +* [TKSwitcherCollection](https://github.com/TBXark/TKSwitcherCollection) - An animate switch collection :large_orange_diamond: +* [SevenSwitch](https://github.com/bvogelzang/SevenSwitch) - iOS7 style drop in replacement for UISwitch. :large_orange_diamond: +* [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) :large_orange_diamond: +* [PMZSwitch](https://github.com/kovpas/PMZSwitch) - Yet another animated toggle :large_orange_diamond: +* [Switcher](https://github.com/knn90/Switcher) - Custom UISwitcher with animation :large_orange_diamond: +* [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. :large_orange_diamond: +* [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. :large_orange_diamond: +* [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: +* [LUNSegmentedControl](https://github.com/LunApps/LUNSegmentedControl) - Customizable segmented control with interactive animation. ##### Tab Bar - * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. - * [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) -A gooey effect tabbar :large_orange_diamond: - * [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. :large_orange_diamond: - * [FoldingTabBar.iOS](https://github.com/Yalantis/FoldingTabBar.iOS) - Folding Tab Bar and Tab Bar Controller - * [GGTabBar](https://github.com/Goles/GGTabBar) - Another UITabBar & UITabBarController (iOS Tab Bar) replacement, but uses Auto Layout for arranging it's views hierarchy. - * [adaptive-tab-bar](https://github.com/Ramotion/adaptive-tab-bar) - AdaptiveController is a 'Progressive Reduction' Swift module for adding custom states to Native or Custom iOS UI elements - * [Pager](https://github.com/lucoceano/Pager) - Easily create sliding tabs with Pager :large_orange_diamond: - * [XLPagerTabStrip](https://github.com/xmartlabs/XLPagerTabStrip) - Android PagerTabStrip for iOS. :large_orange_diamond: - * [TabPageViewController](https://github.com/EndouMari/TabPageViewController) - Paging view controller and scroll tab view. 🔶 - * [TabDrawer](https://github.com/winslowdibona/TabDrawer) - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift 🔶 - * [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers :large_orange_diamond: +* [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. +* [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) -A gooey effect tabbar :large_orange_diamond: +* [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. :large_orange_diamond: +* [FoldingTabBar.iOS](https://github.com/Yalantis/FoldingTabBar.iOS) - Folding Tab Bar and Tab Bar Controller +* [GGTabBar](https://github.com/Goles/GGTabBar) - Another UITabBar & UITabBarController (iOS Tab Bar) replacement, but uses Auto Layout for arranging it's views hierarchy. +* [adaptive-tab-bar](https://github.com/Ramotion/adaptive-tab-bar) - AdaptiveController is a 'Progressive Reduction' Swift module for adding custom states to Native or Custom iOS UI elements +* [Pager](https://github.com/lucoceano/Pager) - Easily create sliding tabs with Pager :large_orange_diamond: +* [XLPagerTabStrip](https://github.com/xmartlabs/XLPagerTabStrip) - Android PagerTabStrip for iOS. :large_orange_diamond: +* [TabPageViewController](https://github.com/EndouMari/TabPageViewController) - Paging view controller and scroll tab view. 🔶 +* [TabDrawer](https://github.com/winslowdibona/TabDrawer) - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift 🔶 +* [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers :large_orange_diamond: ##### Table View / Collection View - * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. - * [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. - * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. - * [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. - * [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ :large_orange_diamond: - * [CSStickyHeaderFlowLayout](https://github.com/jamztang/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. :large_orange_diamond: - * [folding-cell](https://github.com/Ramotion/folding-cell) - TableViewCell replacement with parallax detail view for Swift :large_orange_diamond: - * [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. - * [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. :large_orange_diamond: - * [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. - * [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. - * [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews :large_orange_diamond: - * [Dwifft](https://github.com/jflinter/Dwifft) - Automatic updates of UITableView with animations in Swift :large_orange_diamond: - * [CollapsableTableKit](https://github.com/rob-nash/CollapsableTableKit) - A kit for building tableviews with a collapsable animation, for each section. - * [InfiniteScrollKit](https://github.com/rob-nash/InfiniteScrollKit) - A kit for building tableviews with a paging animation. - * [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). :large_orange_diamond: - * [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) - * [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView :large_orange_diamond: - * [BWSwipeRevealCell](https://github.com/bitwit/BWSwipeRevealCell) - A Swift library for swipeable table cells :large_orange_diamond: - * [preview-transition](https://github.com/Ramotion/preview-transition) - PreviewTransition is a simple preview gallery controller :large_orange_diamond: - * [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A quick way to create settings tableview with switches, tap buttons, icons and more :large_orange_diamond: - * [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views :large_orange_diamond: - * [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView :large_orange_diamond: - * [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu - * [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts :large_orange_diamond: - * [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. - * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. - * [TRMosaicLayout](https://github.com/vinnyoodles/TRMosaicLayout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift 🔶 - * [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells :large_orange_diamond: - * [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. +* [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. +* [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. +* [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. +* [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. +* [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ :large_orange_diamond: +* [CSStickyHeaderFlowLayout](https://github.com/jamztang/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. :large_orange_diamond: +* [folding-cell](https://github.com/Ramotion/folding-cell) - TableViewCell replacement with parallax detail view for Swift :large_orange_diamond: +* [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. +* [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. :large_orange_diamond: +* [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. +* [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. +* [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews :large_orange_diamond: +* [Dwifft](https://github.com/jflinter/Dwifft) - Automatic updates of UITableView with animations in Swift :large_orange_diamond: +* [CollapsableTableKit](https://github.com/rob-nash/CollapsableTableKit) - A kit for building tableviews with a collapsable animation, for each section. +* [InfiniteScrollKit](https://github.com/rob-nash/InfiniteScrollKit) - A kit for building tableviews with a paging animation. +* [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). :large_orange_diamond: +* [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) +* [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView :large_orange_diamond: +* [BWSwipeRevealCell](https://github.com/bitwit/BWSwipeRevealCell) - A Swift library for swipeable table cells :large_orange_diamond: +* [preview-transition](https://github.com/Ramotion/preview-transition) - PreviewTransition is a simple preview gallery controller :large_orange_diamond: +* [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A quick way to create settings tableview with switches, tap buttons, icons and more :large_orange_diamond: +* [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views :large_orange_diamond: +* [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView :large_orange_diamond: +* [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu +* [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts :large_orange_diamond: +* [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. +* [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. +* [TRMosaicLayout](https://github.com/vinnyoodles/TRMosaicLayout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift 🔶 +* [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells :large_orange_diamond: +* [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. ##### Tag - * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. - * [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. - * [TagCellLayout](https://github.com/riteshhgupta/TagCellLayout) - UICollectionView layout for Tags with Left, Center & Right alignments. :large_orange_diamond: - * [TTGTagCollectionView](https://github.com/zekunyan/TTGTagCollectionView) - Show simple text tags or custom tag views in a vertical scrollable view. - * [TagListView](https://github.com/xhacker/TagListView) - Simple and highly customizable iOS tag list view, in Swift. :large_orange_diamond: - * [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. - * [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags :large_orange_diamond: +* [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. +* [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. +* [TagCellLayout](https://github.com/riteshhgupta/TagCellLayout) - UICollectionView layout for Tags with Left, Center & Right alignments. :large_orange_diamond: +* [TTGTagCollectionView](https://github.com/zekunyan/TTGTagCollectionView) - Show simple text tags or custom tag views in a vertical scrollable view. +* [TagListView](https://github.com/xhacker/TagListView) - Simple and highly customizable iOS tag list view, in Swift. :large_orange_diamond: +* [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. +* [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags :large_orange_diamond: ##### TextField & TextView - * [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. - * [ARAutocompleteTextView](https://github.com/alexruperez/ARAutocompleteTextView) - subclass of UITextView that automatically displays text suggestions in real-time. Perfect for email Textviews. - * [IQDropDownTextField](https://github.com/hackiftekhar/IQDropDownTextField) - TextField with DropDown support using UIPickerView - * [UITextField-Shake](https://github.com/andreamazz/UITextField-Shake) - UITextField category that adds shake animation. [Also with Swift version](https://github.com/King-Wizard/UITextField-Shake-Swift) :large_orange_diamond: - * [HTYTextField](https://github.com/hanton/HTYTextField) - A UITextField with bouncy placeholder. :large_orange_diamond: - * [MVAutocompletePlaceSearchTextField](https://github.com/mrugrajsinh/MVAutocompletePlaceSearchTextField) - A drop-in Autocompletion control for Place Search like Google Places, Uber, etc. - * [AutocompleteField](https://github.com/filipstefansson/AutocompleteField) - Add word completion to your UITextFields. :large_orange_diamond: - * [RSKGrowingTextView](https://github.com/ruslanskorb/RSKGrowingTextView) - A light-weight UITextView subclass that automatically grows and shrinks. :large_orange_diamond: - * [RSKPlaceholderTextView](https://github.com/ruslanskorb/RSKPlaceholderTextView) - A light-weight UITextView subclass that adds support for placeholder. :large_orange_diamond: - * [StatefulViewController](https://github.com/aschuch/StatefulViewController) - Placeholder views based on content, loading, error or empty states :large_orange_diamond: - * [MBAutoGrowingTextView](https://github.com/MatejBalantic/MBAutoGrowingTextView) - An auto-layout base UITextView subclass which automatically grows with user input and can be constrained by maximal and minimal height - all without a single line of code - * [TextFieldEffects](https://github.com/raulriera/TextFieldEffects) - Custom UITextFields effects inspired by Codrops, built using Swift :large_orange_diamond: - * [Reel Search](https://github.com/Ramotion/reel-search) - RAMReel is a controller that allows you to choose options from a list. :large_orange_diamond: - * [MLPAutoCompleteTextField](https://github.com/EddyBorja/MLPAutoCompleteTextField) - a subclass of UITextField that behaves like a typical UITextField with one notable exception: it manages a drop down table of autocomplete suggestions that update as the user types. - * [SkyFloatingLabelTextField](https://github.com/Skyscanner/SkyFloatingLabelTextField) - A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift.:large_orange_diamond: - * [VMaskTextField](https://github.com/viniciusmo/VMaskTextField) - VMaskTextField is a library which create an input mask for iOS. - * [TJTextField](https://github.com/tejas-ardeshna/TJTextField) - UITextField with underline and left image :large_orange_diamond: - * [NextGrowingTextView](https://github.com/muukii/NextGrowingTextView) - The next in the generations of 'growing textviews' optimized for iOS 7 and above. - * [RPFloatingPlaceholders](https://github.com/iwasrobbed/RPFloatingPlaceholders) - UITextField and UITextView subclasses with placeholders that change into floating labels when the fields are populated with text. - * [SRKControls](https://github.com/sag333ar/SRKControls) - A Custom control which turns UITextfield to item-picker & date-picker. :large_orange_diamond: - * [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. :large_orange_diamond: - * [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.🔶[e] - * [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield :large_orange_diamond: +* [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. +* [ARAutocompleteTextView](https://github.com/alexruperez/ARAutocompleteTextView) - subclass of UITextView that automatically displays text suggestions in real-time. Perfect for email Textviews. +* [IQDropDownTextField](https://github.com/hackiftekhar/IQDropDownTextField) - TextField with DropDown support using UIPickerView +* [UITextField-Shake](https://github.com/andreamazz/UITextField-Shake) - UITextField category that adds shake animation. [Also with Swift version](https://github.com/King-Wizard/UITextField-Shake-Swift) :large_orange_diamond: +* [HTYTextField](https://github.com/hanton/HTYTextField) - A UITextField with bouncy placeholder. :large_orange_diamond: +* [MVAutocompletePlaceSearchTextField](https://github.com/mrugrajsinh/MVAutocompletePlaceSearchTextField) - A drop-in Autocompletion control for Place Search like Google Places, Uber, etc. +* [AutocompleteField](https://github.com/filipstefansson/AutocompleteField) - Add word completion to your UITextFields. :large_orange_diamond: +* [RSKGrowingTextView](https://github.com/ruslanskorb/RSKGrowingTextView) - A light-weight UITextView subclass that automatically grows and shrinks. :large_orange_diamond: +* [RSKPlaceholderTextView](https://github.com/ruslanskorb/RSKPlaceholderTextView) - A light-weight UITextView subclass that adds support for placeholder. :large_orange_diamond: +* [StatefulViewController](https://github.com/aschuch/StatefulViewController) - Placeholder views based on content, loading, error or empty states :large_orange_diamond: +* [MBAutoGrowingTextView](https://github.com/MatejBalantic/MBAutoGrowingTextView) - An auto-layout base UITextView subclass which automatically grows with user input and can be constrained by maximal and minimal height - all without a single line of code +* [TextFieldEffects](https://github.com/raulriera/TextFieldEffects) - Custom UITextFields effects inspired by Codrops, built using Swift :large_orange_diamond: +* [Reel Search](https://github.com/Ramotion/reel-search) - RAMReel is a controller that allows you to choose options from a list. :large_orange_diamond: +* [MLPAutoCompleteTextField](https://github.com/EddyBorja/MLPAutoCompleteTextField) - a subclass of UITextField that behaves like a typical UITextField with one notable exception: it manages a drop down table of autocomplete suggestions that update as the user types. +* [SkyFloatingLabelTextField](https://github.com/Skyscanner/SkyFloatingLabelTextField) - A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift.:large_orange_diamond: +* [VMaskTextField](https://github.com/viniciusmo/VMaskTextField) - VMaskTextField is a library which create an input mask for iOS. +* [TJTextField](https://github.com/tejas-ardeshna/TJTextField) - UITextField with underline and left image :large_orange_diamond: +* [NextGrowingTextView](https://github.com/muukii/NextGrowingTextView) - The next in the generations of 'growing textviews' optimized for iOS 7 and above. +* [RPFloatingPlaceholders](https://github.com/iwasrobbed/RPFloatingPlaceholders) - UITextField and UITextView subclasses with placeholders that change into floating labels when the fields are populated with text. +* [SRKControls](https://github.com/sag333ar/SRKControls) - A Custom control which turns UITextfield to item-picker & date-picker. :large_orange_diamond: +* [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. :large_orange_diamond: +* [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.🔶[e] +* [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield :large_orange_diamond: ### Utility - * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. - * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. - * [XExtensionItem](https://github.com/tumblr/XExtensionItem) - Easier sharing of structured data between iOS applications and share extensions. - * [ReflectableEnum](https://github.com/fastred/ReflectableEnum) - Reflection for enumerations in Objective-C. - * [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. - * [ObjectiveSugar](https://github.com/supermarin/ObjectiveSugar) - ObjectiveC additions for humans. Ruby style. - * [GroundControl](https://github.com/mattt/GroundControl) - Remote configuration for iOS. - * [OpinionatedC](https://github.com/leoschweizer/OpinionatedC) - Because Objective-C should have inherited more from Smalltalk. - * [SwiftRandom](https://github.com/thellimist/SwiftRandom) - Generator for random data. :large_orange_diamond: - * [RandomKit](https://github.com/nvzqz/RandomKit/) - Random data generation in Swift. :large_orange_diamond: - * [YOLOKit](https://github.com/mxcl/YOLOKit) - Getting square objects down round holes. - * [EZSwiftExtensions](https://github.com/goktugyil/EZSwiftExtensions) - :smirk: How Swift standard types and classes were supposed to work. :large_orange_diamond:[e] - * [Pantry](https://github.com/nickoneill/Pantry) - The missing light persistence layer for Swift :large_orange_diamond: - * [SwiftParsec](https://github.com/davedufresne/SwiftParsec) - A parser combinator library written in the Swift programming language. :large_orange_diamond: - * [OrderedSet](https://github.com/Weebly/OrderedSet) - A Swift collection of unique, ordered objects :large_orange_diamond: - * [Datez](https://github.com/SwiftKitz/Datez) - Swift library for dealing with `NSDate`, `NSCalendar`, and `NSDateComponents`. :large_orange_diamond: - * [BFKit](https://github.com/FabrizioBrancati/BFKit) - An Objective-C collection of useful classes to develop Apps faster. - * [BFKit-Swift](https://github.com/FabrizioBrancati/BFKit-Swift) - A Swift collection of useful classes to develop Apps faster. :large_orange_diamond: - * [Scale](https://github.com/onmyway133/scale) - Unit converter in Swift (available via CocoaPods) :large_orange_diamond: - * [Standard Template Protocols](https://github.com/cconeil/Standard-Template-Protocols) - Protocols for your every day iOS needs :large_orange_diamond: - * [TimeLord](https://github.com/JonFir/TimeLord) - Easy DateTime (`NSDate`, `NSCalendar`, `NSDateComponents`, `NSDateFormatter`) management :large_orange_diamond: - * [AppVersionMonitor](https://github.com/eure/AppVersionMonitor) - Monitor iOS app version easily. - * [Sugar](https://github.com/hyperoslo/Sugar) - Something sweet that goes great with your Cocoa. :large_orange_diamond:[e] - * [Then](https://github.com/devxoul/Then) - ✨ Super sweet syntactic sugar for Swift initializers. :large_orange_diamond:[e] - * [Kvitto](https://github.com/Cocoanetics/Kvitto) - App Store Receipt Validation :large_orange_diamond: - * [Notificationz](https://github.com/SwiftKitz/Notificationz) - Helping you own NSNotificationCenter in Swift :large_orange_diamond: - * [SwiftFoundation](https://github.com/PureSwift/SwiftFoundation) - Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux) :large_orange_diamond:[e] - * [libextobjc](https://github.com/jspahrsummers/libextobjc) - A Cocoa library to extend the Objective-C programming language. - * [VersionTrackerSwift](https://github.com/tbaranes/VersionTrackerSwift) - Track which versions of your app a user has previously installed. :large_orange_diamond: - * [DeviceGuru](https://github.com/InderKumarRathore/DeviceGuru/) - DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s. :large_orange_diamond: - * [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! :large_orange_diamond: - * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight iOS App Version Tracking written in Swift :large_orange_diamond: - * [BlocksKit](https://github.com/zwaldowski/BlocksKit) - The Objective-C block utilities you always wish you had. - * [SwiftyUtils](https://github.com/tbaranes/swiftyutils) - All the reusable code that we need in each project. :large_orange_diamond:[e] - * [RateLimit](https://github.com/soffes/RateLimit) - Simple utility for only executing code every so often. :large_orange_diamond: - * [Outlets](https://github.com/phatblat/Outlets) - Utility functions for validating IBOutlet and IBAction connections :large_orange_diamond: - * [EasyAbout](https://github.com/JARMourato/EasyAbout) - A way to easily add Cocoapod licenses and App Version to your iOS App using the Settings Bundle - * [Validated](https://github.com/Ben-G/Validated) - A Swift μ-Library for Somewhat Dependent Types :large_orange_diamond: - * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes :large_orange_diamond:[e] - * [AssistantKit](https://github.com/anatoliyv/AssistantKit) - Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift. :large_orange_diamond: - * [SwiftLinkPreview](https://github.com/LeonardoCardoso/SwiftLinkPreview) - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. 🔶 - * [BundleInfos](https://github.com/singcodes/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. 🔶 - * [YAML.framework](https://github.com/mirek/YAML.framework) - Proper YAML support for Objective-C based on `LibYAML`. - * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. 🔶 - * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, OSX) :large_orange_diamond: - * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! :large_orange_diamond: + * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. + * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. + * [XExtensionItem](https://github.com/tumblr/XExtensionItem) - Easier sharing of structured data between iOS applications and share extensions. + * [ReflectableEnum](https://github.com/fastred/ReflectableEnum) - Reflection for enumerations in Objective-C. + * [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. + * [ObjectiveSugar](https://github.com/supermarin/ObjectiveSugar) - ObjectiveC additions for humans. Ruby style. + * [GroundControl](https://github.com/mattt/GroundControl) - Remote configuration for iOS. + * [OpinionatedC](https://github.com/leoschweizer/OpinionatedC) - Because Objective-C should have inherited more from Smalltalk. + * [SwiftRandom](https://github.com/thellimist/SwiftRandom) - Generator for random data. :large_orange_diamond: + * [RandomKit](https://github.com/nvzqz/RandomKit/) - Random data generation in Swift. :large_orange_diamond: + * [YOLOKit](https://github.com/mxcl/YOLOKit) - Getting square objects down round holes. + * [EZSwiftExtensions](https://github.com/goktugyil/EZSwiftExtensions) - :smirk: How Swift standard types and classes were supposed to work. :large_orange_diamond:[e] + * [Pantry](https://github.com/nickoneill/Pantry) - The missing light persistence layer for Swift :large_orange_diamond: + * [SwiftParsec](https://github.com/davedufresne/SwiftParsec) - A parser combinator library written in the Swift programming language. :large_orange_diamond: + * [OrderedSet](https://github.com/Weebly/OrderedSet) - A Swift collection of unique, ordered objects :large_orange_diamond: + * [Datez](https://github.com/SwiftKitz/Datez) - Swift library for dealing with `NSDate`, `NSCalendar`, and `NSDateComponents`. :large_orange_diamond: + * [BFKit](https://github.com/FabrizioBrancati/BFKit) - An Objective-C collection of useful classes to develop Apps faster. + * [BFKit-Swift](https://github.com/FabrizioBrancati/BFKit-Swift) - A Swift collection of useful classes to develop Apps faster. :large_orange_diamond: + * [Scale](https://github.com/onmyway133/scale) - Unit converter in Swift (available via CocoaPods) :large_orange_diamond: + * [Standard Template Protocols](https://github.com/cconeil/Standard-Template-Protocols) - Protocols for your every day iOS needs :large_orange_diamond: + * [TimeLord](https://github.com/JonFir/TimeLord) - Easy DateTime (`NSDate`, `NSCalendar`, `NSDateComponents`, `NSDateFormatter`) management :large_orange_diamond: + * [AppVersionMonitor](https://github.com/eure/AppVersionMonitor) - Monitor iOS app version easily. + * [Sugar](https://github.com/hyperoslo/Sugar) - Something sweet that goes great with your Cocoa. :large_orange_diamond:[e] + * [Then](https://github.com/devxoul/Then) - ✨ Super sweet syntactic sugar for Swift initializers. :large_orange_diamond:[e] + * [Kvitto](https://github.com/Cocoanetics/Kvitto) - App Store Receipt Validation :large_orange_diamond: + * [Notificationz](https://github.com/SwiftKitz/Notificationz) - Helping you own NSNotificationCenter in Swift :large_orange_diamond: + * [SwiftFoundation](https://github.com/PureSwift/SwiftFoundation) - Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux) :large_orange_diamond:[e] + * [libextobjc](https://github.com/jspahrsummers/libextobjc) - A Cocoa library to extend the Objective-C programming language. + * [VersionTrackerSwift](https://github.com/tbaranes/VersionTrackerSwift) - Track which versions of your app a user has previously installed. :large_orange_diamond: + * [DeviceGuru](https://github.com/InderKumarRathore/DeviceGuru/) - DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s. :large_orange_diamond: + * [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! :large_orange_diamond: + * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight iOS App Version Tracking written in Swift :large_orange_diamond: + * [BlocksKit](https://github.com/zwaldowski/BlocksKit) - The Objective-C block utilities you always wish you had. + * [SwiftyUtils](https://github.com/tbaranes/swiftyutils) - All the reusable code that we need in each project. :large_orange_diamond:[e] + * [RateLimit](https://github.com/soffes/RateLimit) - Simple utility for only executing code every so often. :large_orange_diamond: + * [Outlets](https://github.com/phatblat/Outlets) - Utility functions for validating IBOutlet and IBAction connections :large_orange_diamond: + * [EasyAbout](https://github.com/JARMourato/EasyAbout) - A way to easily add Cocoapod licenses and App Version to your iOS App using the Settings Bundle + * [Validated](https://github.com/Ben-G/Validated) - A Swift μ-Library for Somewhat Dependent Types :large_orange_diamond: + * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes :large_orange_diamond:[e] + * [AssistantKit](https://github.com/anatoliyv/AssistantKit) - Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift. :large_orange_diamond: + * [SwiftLinkPreview](https://github.com/LeonardoCardoso/SwiftLinkPreview) - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. 🔶 + * [BundleInfos](https://github.com/singcodes/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. 🔶 + * [YAML.framework](https://github.com/mirek/YAML.framework) - Proper YAML support for Objective-C based on `LibYAML`. + * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. 🔶 + * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, OSX) :large_orange_diamond: + * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! :large_orange_diamond: ### VR - * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: - * [360 VR Player](https://github.com/hanton/HTY360Player) - A open source, ad-free, native and universal 360 degree panorama video player for iOS. - * [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. :large_orange_diamond: +* [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: +* [360 VR Player](https://github.com/hanton/HTY360Player) - A open source, ad-free, native and universal 360 degree panorama video player for iOS. +* [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. :large_orange_diamond: ### Walkthrough / Intro / Tutorial - * [Onboard](https://github.com/mamaral/Onboard) - Easily create a beautiful and engaging onboarding experience with only a few lines of code. - * [EAIntroView](https://github.com/ealeksandrov/EAIntroView) - Highly customizable drop-in solution for introduction views. - * [MYBlurIntroductionView](https://github.com/MatthewYork/MYBlurIntroductionView) - A super-charged version of MYIntroductionView for building custom app introductions and tutorials. - * [BWWalkthrough](https://github.com/ariok/BWWalkthrough) - A class to build custom walkthroughs for your iOS App. :large_orange_diamond: - * [GHWalkThrough](https://github.com/GnosisHub/GHWalkThrough) - A UICollectionView backed drop-in component for introduction views. - * [ICETutorial](https://github.com/icepat/ICETutorial) - A nice tutorial like the one introduced in the Path 3.X App. - * [JazzHands](https://github.com/IFTTT/JazzHands) - Jazz Hands is a simple keyframe-based animation framework for UIKit. Animations can be controlled via gestures, scroll views, KVO, or ReactiveCocoa. - * [RazzleDazzle](https://github.com/IFTTT/RazzleDazzle) - A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros. :large_orange_diamond: - * [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. :large_orange_diamond: - * [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. :large_orange_diamond: - * [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. :large_orange_diamond: - * [VideoSplashKit](https://github.com/movielala/VideoSplashKit) - Video based UIViewController :large_orange_diamond: - * [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. :large_orange_diamond: - * [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. - * [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. :large_orange_diamond: - * [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. :large_orange_diamond: - * [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider :large_orange_diamond: - * [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. :large_orange_diamond: +* [Onboard](https://github.com/mamaral/Onboard) - Easily create a beautiful and engaging onboarding experience with only a few lines of code. +* [EAIntroView](https://github.com/ealeksandrov/EAIntroView) - Highly customizable drop-in solution for introduction views. +* [MYBlurIntroductionView](https://github.com/MatthewYork/MYBlurIntroductionView) - A super-charged version of MYIntroductionView for building custom app introductions and tutorials. +* [BWWalkthrough](https://github.com/ariok/BWWalkthrough) - A class to build custom walkthroughs for your iOS App. :large_orange_diamond: +* [GHWalkThrough](https://github.com/GnosisHub/GHWalkThrough) - A UICollectionView backed drop-in component for introduction views. +* [ICETutorial](https://github.com/icepat/ICETutorial) - A nice tutorial like the one introduced in the Path 3.X App. +* [JazzHands](https://github.com/IFTTT/JazzHands) - Jazz Hands is a simple keyframe-based animation framework for UIKit. Animations can be controlled via gestures, scroll views, KVO, or ReactiveCocoa. +* [RazzleDazzle](https://github.com/IFTTT/RazzleDazzle) - A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros. :large_orange_diamond: +* [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. :large_orange_diamond: +* [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. :large_orange_diamond: +* [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. :large_orange_diamond: +* [VideoSplashKit](https://github.com/movielala/VideoSplashKit) - Video based UIViewController :large_orange_diamond: +* [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. :large_orange_diamond: +* [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. +* [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. :large_orange_diamond: +* [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. :large_orange_diamond: +* [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider :large_orange_diamond: +* [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. :large_orange_diamond: ### WebSocket - * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. - * [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/OS X. :large_orange_diamond: - * [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and OSX. :large_orange_diamond: - * [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and OSX :large_orange_diamond: - * [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. :large_orange_diamond: - * [Socks](https://github.com/czechboy0/Socks) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: - * [SwifterSockets](https://github.com/Swiftrien/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iO :large_orange_diamond: - * [SecretSocks](https://github.com/czechboy0/SecretSocks) - Secure Sockets for Socks :large_orange_diamond: +* [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. +* [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/OS X. :large_orange_diamond: +* [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and OSX. :large_orange_diamond: +* [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and OSX :large_orange_diamond: +* [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. :large_orange_diamond: +* [Socks](https://github.com/czechboy0/Socks) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: +* [SwifterSockets](https://github.com/Swiftrien/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iO :large_orange_diamond: +* [SecretSocks](https://github.com/czechboy0/SecretSocks) - Secure Sockets for Socks :large_orange_diamond: #### GCD - * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. :large_orange_diamond: - * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch :large_orange_diamond: - * [SwiftSafe](https://github.com/czechboy0/SwiftSafe) - Thread synchronization made easy :large_orange_diamond: - * [YYDispatchQueuePool](https://github.com/ibireme/YYDispatchQueuePool) - iOS utility class to manage global dispatch queue. - * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. :large_orange_diamond: - * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) :large_orange_diamond: - * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. - * [Dispatch](https://github.com/Swiftification/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: + * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. :large_orange_diamond: + * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch :large_orange_diamond: + * [SwiftSafe](https://github.com/czechboy0/SwiftSafe) - Thread synchronization made easy :large_orange_diamond: + * [YYDispatchQueuePool](https://github.com/ibireme/YYDispatchQueuePool) - iOS utility class to manage global dispatch queue. + * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. :large_orange_diamond: + * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) :large_orange_diamond: + * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. + * [Dispatch](https://github.com/Swiftification/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: ### XML / HTML / CSV - * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: - * [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. :large_orange_diamond: - * [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & OS X - * [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects :large_orange_diamond: - * [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support :large_orange_diamond: - * [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for MacOSX/iOS. :large_orange_diamond: - * [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 :large_orange_diamond: - * [SwiftCSV](https://github.com/naoty/SwiftCSV) - CSV parser for Swift :large_orange_diamond: - * [SwiftyXMLParer](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: - * [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: - * [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: [e] - * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. +* [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: +* [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. :large_orange_diamond: +* [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & OS X +* [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects :large_orange_diamond: +* [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support :large_orange_diamond: +* [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for MacOSX/iOS. :large_orange_diamond: +* [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 :large_orange_diamond: +* [SwiftCSV](https://github.com/naoty/SwiftCSV) - CSV parser for Swift :large_orange_diamond: +* [SwiftyXMLParer](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: +* [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: +* [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: [e] +* [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. # Project setup - * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. - * [liftoff](https://github.com/thoughtbot/liftoff) - Another CLI for creating iOS projects. - * [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. - * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents +* [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. +* [liftoff](https://github.com/thoughtbot/liftoff) - Another CLI for creating iOS projects. +* [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. +* [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents # Server - * [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. :large_orange_diamond: - * [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. :large_orange_diamond: - * [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for Mac OS X or iOS applications. - * [Curassow](https://github.com/kylef/Curassow) - Swift HTTP server using the pre-fork worker model. :large_orange_diamond: - * [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux :large_orange_diamond: - * [Vapor](https://github.com/qutheory/vapor) - Elegant web framework for Swift that works on iOS, OS X, and Ubuntu. :large_orange_diamond: - * [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift :large_orange_diamond: - * [blackfish](https://github.com/elliottminns/blackfish) - A fast HTTP web server based on Node.js and Express written in Swift :large_orange_diamond: - * [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and Mac OS X :large_orange_diamond: - * [Trevi](https://github.com/Yoseob/Trevi) - A powerful Swift Web Application Server Framework Project :large_orange_diamond: - * [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift :large_orange_diamond: - * [Aeon](https://github.com/paulofaria/Aeon) - Aeon is a GCD based HTTP server for Swift 2. :large_orange_diamond: - * [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift :large_orange_diamond: - * [Frank](https://github.com/nestproject/Frank) - Frank is a DSL for quickly writing web applications in Swift :large_orange_diamond: - * [Kitura](https://github.com/IBM-Swift/Kitura) - Web framework and HTTP server for Swift by IBM :large_orange_diamond: - * [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: - * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: - * [Redbird](https://github.com/czechboy0/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: - * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: +* [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. :large_orange_diamond: +* [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. :large_orange_diamond: +* [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for Mac OS X or iOS applications. +* [Curassow](https://github.com/kylef/Curassow) - Swift HTTP server using the pre-fork worker model. :large_orange_diamond: +* [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux :large_orange_diamond: +* [Vapor](https://github.com/qutheory/vapor) - Elegant web framework for Swift that works on iOS, OS X, and Ubuntu. :large_orange_diamond: +* [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift :large_orange_diamond: +* [blackfish](https://github.com/elliottminns/blackfish) - A fast HTTP web server based on Node.js and Express written in Swift :large_orange_diamond: +* [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and Mac OS X :large_orange_diamond: +* [Trevi](https://github.com/Yoseob/Trevi) - A powerful Swift Web Application Server Framework Project :large_orange_diamond: +* [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift :large_orange_diamond: +* [Aeon](https://github.com/paulofaria/Aeon) - Aeon is a GCD based HTTP server for Swift 2. :large_orange_diamond: +* [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift :large_orange_diamond: +* [Frank](https://github.com/nestproject/Frank) - Frank is a DSL for quickly writing web applications in Swift :large_orange_diamond: +* [Kitura](https://github.com/IBM-Swift/Kitura) - Web framework and HTTP server for Swift by IBM :large_orange_diamond: +* [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: +* [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: +* [Redbird](https://github.com/czechboy0/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: +* [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: # Dependency / Package Manager - * [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. - * [Xcode Maven](http://sap-production.github.io/xcode-maven-plugin/site/) - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle. - * [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. :large_orange_diamond: - * [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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. :large_orange_diamond: - * [Alcatraz](http://alcatraz.io/) - The package manager for Xcode. - * [CocoaSeeds](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. - * [Podage](https://github.com/jensmeder/Podage) - A simple tool to bundle any Cocoapod and its dependencies into frameworks. - * [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language, by Apple :large_orange_diamond: +* [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. +* [Xcode Maven](http://sap-production.github.io/xcode-maven-plugin/site/) - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle. +* [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. :large_orange_diamond: +* [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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. :large_orange_diamond: +* [Alcatraz](http://alcatraz.io/) - The package manager for Xcode. +* [CocoaSeeds](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. +* [Podage](https://github.com/jensmeder/Podage) - A simple tool to bundle any Cocoapod and its dependencies into frameworks. +* [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language, by Apple :large_orange_diamond: # Testing ### TDD / BDD - * [Kiwi](https://github.com/kiwi-bdd/Kiwi) - A behavior-driven development library for iOS development. - * [Specta](https://github.com/specta/specta) - A light-weight TDD / BDD framework for Objective-C & Cocoa. - * [Quick](https://github.com/Quick/Quick) - A behavior-driven development framework for Swift and Objective-C. - * [XcodeCoverage](https://github.com/jonreid/XcodeCoverage) - Code coverage for Xcode projects. - * [OHHTTPStubs](https://github.com/AliSoftware/OHHTTPStubs) - Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers! - * [Dixie](https://github.com/Skyscanner/Dixie) - Dixie is an open source Objective-C testing framework for altering object behaviours. - * [gh-unit](https://github.com/gh-unit/gh-unit) - Test Framework for Objective-C. - * [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C :large_orange_diamond: +* [Kiwi](https://github.com/kiwi-bdd/Kiwi) - A behavior-driven development library for iOS development. +* [Specta](https://github.com/specta/specta) - A light-weight TDD / BDD framework for Objective-C & Cocoa. +* [Quick](https://github.com/Quick/Quick) - A behavior-driven development framework for Swift and Objective-C. +* [XcodeCoverage](https://github.com/jonreid/XcodeCoverage) - Code coverage for Xcode projects. +* [OHHTTPStubs](https://github.com/AliSoftware/OHHTTPStubs) - Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers! +* [Dixie](https://github.com/Skyscanner/Dixie) - Dixie is an open source Objective-C testing framework for altering object behaviours. +* [gh-unit](https://github.com/gh-unit/gh-unit) - Test Framework for Objective-C. +* [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C :large_orange_diamond: ### A/B Testing - * [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. - * [SkyLab](https://github.com/mattt/SkyLab) - Multivariate & A/B Testing for iOS and Mac - * [MSActiveConfig](https://github.com/mindsnacks/MSActiveConfig) - Remote configuration and A/B Testing framework for iOS - * [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS :large_orange_diamond: +* [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. +* [SkyLab](https://github.com/mattt/SkyLab) - Multivariate & A/B Testing for iOS and Mac +* [MSActiveConfig](https://github.com/mindsnacks/MSActiveConfig) - Remote configuration and A/B Testing framework for iOS +* [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS :large_orange_diamond: ### UI Testing - * [CrashMonkey](https://github.com/mokemokechicken/CrashMonkey) - Monkey Test Tool For iOS. - * [appium](http://appium.io/) - Appium is an open source test automation framework for use with native and hybrid mobile apps. - * [robotframework-appiumlibrary](https://github.com/jollychang/robotframework-appiumlibrary) - AppiumLibrary is an appium testing library for RobotFramework. - * [Cucumber](https://cucumber.io/) - Behavior driver development for iOS. - * [Kif](https://github.com/kif-framework/KIF) - An iOS Functional Testing Framework. - * [Subliminal](https://github.com/inkling/Subliminal) - An understated approach to iOS integration testing. - * [UIAutomation](https://developer.apple.com/library/ios/documentation/DeveloperTools/Reference/UIAutomationRef/) - JavaScript library to write test scripts that exercise your app’s user interface elements while the app runs on a connected device. - * [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any IOS native, hybrid, or mobile web application using Selenium / WebDriver. - * [Zucchini](https://github.com/zucchini-src/zucchini) - A visual iOS testing framework that loves your apps. - * [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. - * [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations :large_orange_diamond: - * [EarlGrey](https://github.com/google/EarlGrey) - iOS UI Automation Test Framework by Google - * [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? :large_orange_diamond: - * [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo :large_orange_diamond: +* [CrashMonkey](https://github.com/mokemokechicken/CrashMonkey) - Monkey Test Tool For iOS. +* [appium](http://appium.io/) - Appium is an open source test automation framework for use with native and hybrid mobile apps. +* [robotframework-appiumlibrary](https://github.com/jollychang/robotframework-appiumlibrary) - AppiumLibrary is an appium testing library for RobotFramework. +* [Cucumber](https://cucumber.io/) - Behavior driver development for iOS. +* [Kif](https://github.com/kif-framework/KIF) - An iOS Functional Testing Framework. +* [Subliminal](https://github.com/inkling/Subliminal) - An understated approach to iOS integration testing. +* [UIAutomation](https://developer.apple.com/library/ios/documentation/DeveloperTools/Reference/UIAutomationRef/) - JavaScript library to write test scripts that exercise your app’s user interface elements while the app runs on a connected device. +* [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any IOS native, hybrid, or mobile web application using Selenium / WebDriver. +* [Zucchini](https://github.com/zucchini-src/zucchini) - A visual iOS testing framework that loves your apps. +* [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. +* [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations :large_orange_diamond: +* [EarlGrey](https://github.com/google/EarlGrey) - iOS UI Automation Test Framework by Google +* [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? :large_orange_diamond: +* [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo :large_orange_diamond: ### Other Testing - * [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. - * [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools - * [ios-snapshot-test-case](https://github.com/facebook/ios-snapshot-test-case) - Snapshot view unit tests for iOS. - * [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. :large_orange_diamond: - * [DVR](https://github.com/venmo/DVR) - Network testing for Swift :large_orange_diamond: - * [Cuckoo](https://github.com/SwiftKit/Cuckoo) - First boilerplate-free mocking framework for Swift :large_orange_diamond: - * [Parallel iOS Tests](https://github.com/plu/parallel_ios_tests) - Run iOS tests on multiple simulators in parallel at the same time :large_orange_diamond: - * [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift :large_orange_diamond: - * [Fetcher](https://github.com/rob-nash/Fetcher) - Mock paging data with a variable fetch time interval. - * [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java :large_orange_diamond: - * [Bugfender Live](https://github.com/bugfender/BugfenderLive-iOS) - Stream the screen of an iOS device for live debugging. +* [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. +* [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools +* [ios-snapshot-test-case](https://github.com/facebook/ios-snapshot-test-case) - Snapshot view unit tests for iOS. +* [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. :large_orange_diamond: +* [DVR](https://github.com/venmo/DVR) - Network testing for Swift :large_orange_diamond: +* [Cuckoo](https://github.com/SwiftKit/Cuckoo) - First boilerplate-free mocking framework for Swift :large_orange_diamond: +* [Parallel iOS Tests](https://github.com/plu/parallel_ios_tests) - Run iOS tests on multiple simulators in parallel at the same time :large_orange_diamond: +* [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift :large_orange_diamond: +* [Fetcher](https://github.com/rob-nash/Fetcher) - Mock paging data with a variable fetch time interval. +* [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java :large_orange_diamond: +* [Bugfender Live](https://github.com/bugfender/BugfenderLive-iOS) - Stream the screen of an iOS device for live debugging. # Tools - * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: - * [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. :large_orange_diamond: - * [SwiftGen](https://github.com/AliSoftware/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). :large_orange_diamond: - * [Blade](https://github.com/jondot/blade) - Generate Xcode image catalogs for iOS / OSX app icons, universal images, and more. - * [Retini](https://github.com/terwanerik/Retini) - A super simple retina (2x, 3x) image converter. - * [Provisioning](https://github.com/chockenberry/Provisioning) - A Quick Look plug-in to preview .mobileprovision files. - * [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. :large_orange_diamond: - * [appledoc](https://github.com/tomaz/appledoc) - ObjectiveC code Apple style documentation set generator. - * [Azkaban](https://github.com/neonichu/Azkaban) - A CLI to Alcatraz, the Xcode package manager. :large_orange_diamond: - * [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! :large_orange_diamond: - * [Chocolat](https://github.com/neonichu/Chocolat) - :chocolate_bar: Generate podspecs from Swift packages. :large_orange_diamond: - * [StoryboardMerge](https://github.com/marcinolawski/StoryboardMerge) - Xcode storyboards diff and merge tool. - * [ai2app](https://github.com/metasmile/ai2app) - Creating AppIcon sets from Adobe Illustrator (all supported formats). - * [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. :large_orange_diamond: - * [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or OS X application. :large_orange_diamond: - * [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. :large_orange_diamond: - * [ThisCouldBeUsButYouPlaying](https://github.com/neonichu/ThisCouldBeUsButYouPlaying) - :black_joker: Generate Swift Playgrounds for any library. :large_orange_diamond: - * [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. :large_orange_diamond:[e] - * [git-xcp](https://github.com/metasmile/git-xcp) - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. - * [WatchdogInspector](https://github.com/tapwork/WatchdogInspector) - Shows your current framerate (fps) in the status bar of your iOS app - * [Cichlid](https://github.com/dealforest/Cichlid) - automatically delete the current project's DerivedData directories :large_orange_diamond: - * [Delta](https://github.com/thoughtbot/Delta) - Managing state is hard. Delta aims to make it simple. :large_orange_diamond: - * [SwiftLintXcode](https://github.com/ypresto/SwiftLintXcode) - An Xcode plug-in to format your code using SwiftLint. :large_orange_diamond: - * [XCSwiftr](https://github.com/dzenbot/XCSwiftr) - An Xcode Plugin to convert Objective-C to Swift :large_orange_diamond: - * [SwiftKitten](https://github.com/johncsnyder/SwiftKitten) - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework :large_orange_diamond: - * [Kin](https://github.com/Karumi/Kin) - Have you ever found yourself undoing a merge due to a broken Xcode build? Then Kin is your tool. It will parse your project configuration file and detect errors. :large_orange_diamond: - * [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click - * [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. :large_orange_diamond: - * [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. :large_orange_diamond: - * [Localizations](https://github.com/athiercelin/localizations) - OS X app that manages localizations of Xcode projects. :large_orange_diamond: - * [xcbuild](https://github.com/facebook/xcbuild) - Xcode-compatible build tool. - * [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. :large_orange_diamond: - * [SwiftCompilationPerformanceReporter](https://github.com/tumblr/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets :large_orange_diamond: - * [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift :large_orange_diamond: - * [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations :large_orange_diamond: - * [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. :large_orange_diamond: - * [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your OS X file system with their metadata to your iOS simulator (Swift 2.0) :large_orange_diamond: - * [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a Mac OS X utility to open and modify realm database files. - * [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. - * [fastlane-plugin-appicon](https://github.com/neonichu/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. - * [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. +* [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: +* [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. :large_orange_diamond: +* [SwiftGen](https://github.com/AliSoftware/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). :large_orange_diamond: +* [Blade](https://github.com/jondot/blade) - Generate Xcode image catalogs for iOS / OSX app icons, universal images, and more. +* [Retini](https://github.com/terwanerik/Retini) - A super simple retina (2x, 3x) image converter. +* [Provisioning](https://github.com/chockenberry/Provisioning) - A Quick Look plug-in to preview .mobileprovision files. +* [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. :large_orange_diamond: +* [appledoc](https://github.com/tomaz/appledoc) - ObjectiveC code Apple style documentation set generator. +* [Azkaban](https://github.com/neonichu/Azkaban) - A CLI to Alcatraz, the Xcode package manager. :large_orange_diamond: +* [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! :large_orange_diamond: +* [Chocolat](https://github.com/neonichu/Chocolat) - :chocolate_bar: Generate podspecs from Swift packages. :large_orange_diamond: +* [StoryboardMerge](https://github.com/marcinolawski/StoryboardMerge) - Xcode storyboards diff and merge tool. +* [ai2app](https://github.com/metasmile/ai2app) - Creating AppIcon sets from Adobe Illustrator (all supported formats). +* [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. :large_orange_diamond: +* [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or OS X application. :large_orange_diamond: +* [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. :large_orange_diamond: +* [ThisCouldBeUsButYouPlaying](https://github.com/neonichu/ThisCouldBeUsButYouPlaying) - :black_joker: Generate Swift Playgrounds for any library. :large_orange_diamond: +* [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. :large_orange_diamond:[e] +* [git-xcp](https://github.com/metasmile/git-xcp) - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. +* [WatchdogInspector](https://github.com/tapwork/WatchdogInspector) - Shows your current framerate (fps) in the status bar of your iOS app +* [Cichlid](https://github.com/dealforest/Cichlid) - automatically delete the current project's DerivedData directories :large_orange_diamond: +* [Delta](https://github.com/thoughtbot/Delta) - Managing state is hard. Delta aims to make it simple. :large_orange_diamond: +* [SwiftLintXcode](https://github.com/ypresto/SwiftLintXcode) - An Xcode plug-in to format your code using SwiftLint. :large_orange_diamond: +* [XCSwiftr](https://github.com/dzenbot/XCSwiftr) - An Xcode Plugin to convert Objective-C to Swift :large_orange_diamond: +* [SwiftKitten](https://github.com/johncsnyder/SwiftKitten) - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework :large_orange_diamond: +* [Kin](https://github.com/Karumi/Kin) - Have you ever found yourself undoing a merge due to a broken Xcode build? Then Kin is your tool. It will parse your project configuration file and detect errors. :large_orange_diamond: +* [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click +* [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. :large_orange_diamond: +* [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. :large_orange_diamond: +* [Localizations](https://github.com/athiercelin/localizations) - OS X app that manages localizations of Xcode projects. :large_orange_diamond: +* [xcbuild](https://github.com/facebook/xcbuild) - Xcode-compatible build tool. +* [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. :large_orange_diamond: +* [SwiftCompilationPerformanceReporter](https://github.com/tumblr/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets :large_orange_diamond: +* [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift :large_orange_diamond: +* [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations :large_orange_diamond: +* [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. :large_orange_diamond: +* [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your OS X file system with their metadata to your iOS simulator (Swift 2.0) :large_orange_diamond: +* [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a Mac OS X utility to open and modify realm database files. +* [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. +* [fastlane-plugin-appicon](https://github.com/neonichu/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. +* [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. # Rapid Development - * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. - * [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. - * [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. +* [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. +* [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. +* [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. ## Injection * [dyci](https://github.com/DyCI/dyci-main) - Code injection tool. @@ -1681,140 +1681,140 @@ Most of these are paid services, some have free tiers. * [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. :large_orange_diamond: # Deployment / Distribution - * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. - * [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) - Upload screenshots, metadata and your app to the App Store using a single command. - * [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) Automate taking localized screenshots of your iOS app on every device. - * [buddybuild](buddybuild.com) - A mobile iteration platform - build, deploy, and collaborate. - * [Bitrise](https://www.bitrise.io) Mobile Continuous Integration & Delivery with dozens of integrations to build, test, deploy and collaborate. - * [watchbuild](https://github.com/fastlane/fastlane/tree/master/watchbuild) - Get a notification once your iTunes Connect build is finished processing. - * [Crashlytics](https://try.crashlytics.com/) - A crash reporting and beta testing service. - * [TestFlight Beta Testing](https://developer.apple.com/testflight/) - The beta testing service hosted on iTunes Connect (requires iOS 8 or later). - * [HockeyApp](https://www.hockeyapp.net) - With HockeyApp, you can distribute beta versions of your app, collect live crash reports, get feedback from users, and analyze test coverage. - * [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. - * [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. - * [Boombox.io](https://boombox.io/) - Sign up TestFlight beta testers on your website. Embeddable and hosted TestFlight beta sign-up forms +* [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. +* [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) - Upload screenshots, metadata and your app to the App Store using a single command. +* [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) Automate taking localized screenshots of your iOS app on every device. +* [buddybuild](buddybuild.com) - A mobile iteration platform - build, deploy, and collaborate. +* [Bitrise](https://www.bitrise.io) Mobile Continuous Integration & Delivery with dozens of integrations to build, test, deploy and collaborate. +* [watchbuild](https://github.com/fastlane/fastlane/tree/master/watchbuild) - Get a notification once your iTunes Connect build is finished processing. +* [Crashlytics](https://try.crashlytics.com/) - A crash reporting and beta testing service. +* [TestFlight Beta Testing](https://developer.apple.com/testflight/) - The beta testing service hosted on iTunes Connect (requires iOS 8 or later). +* [HockeyApp](https://www.hockeyapp.net) - With HockeyApp, you can distribute beta versions of your app, collect live crash reports, get feedback from users, and analyze test coverage. +* [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. +* [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. +* [Boombox.io](https://boombox.io/) - Sign up TestFlight beta testers on your website. Embeddable and hosted TestFlight beta sign-up forms # App Store - * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. - * [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/rejections/) Highlighted some of the most common issues that cause apps to get rejected. - * [Free App Store Optimization Tool](https://www.mobileaction.co) Lets you track your App Store visibility in terms of keywords and competitors. - * [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. - * [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. - * [iRate](https://github.com/nicklockwood/iRate) - A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while. Similar to Appirater, but with a simpler, cleaner interface and automatic support for iOS fast application switching. +* [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. +* [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/rejections/) Highlighted some of the most common issues that cause apps to get rejected. +* [Free App Store Optimization Tool](https://www.mobileaction.co) Lets you track your App Store visibility in terms of keywords and competitors. +* [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. +* [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. +* [iRate](https://github.com/nicklockwood/iRate) - A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while. Similar to Appirater, but with a simpler, cleaner interface and automatic support for iOS fast application switching. # SDK ## Official - * [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. - * [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. - * [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS - * [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. - * [Pocket](https://github.com/Pocket/Pocket-ObjC-SDK) SDK for saving stuff to Pocket. - * [Tumblr](https://github.com/tumblr/TMTumblrSDK) Library for easily integrating Tumblr data into your iOS or OS X application. - * [Evernote](https://github.com/evernote/evernote-cloud-sdk-ios) Evernote SDK for iOS. - * [Box](https://github.com/box/box-ios-sdk) iOS + OS X SDK for the Box API. - * [OneDrive](https://github.com/OneDrive/onedrive-sdk-ios) Live SDK for iOS. - * [Stripe](https://github.com/stripe/stripe-ios) Stripe bindings for iOS and OS X. - * [Venmo](#payments) - * [AWS](https://github.com/aws/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. - * [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. - * [Adobe Creative SDK](https://creativesdk.adobe.com/) Adobe creative tools and Creative Cloud SDK. - * [Dropbox](https://www.dropbox.com/developers) SDKs for Drop-ins and Dropbox Core API. - * [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. - * [Liquid Analytics](https://github.com/lqd-io/liquid-sdk-ios) Identify behaviours through Analytics and react with real-time Personalization. - * [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. - * [PacketZoom](https://packetzoom.com) PacketZoom SDK for iOS. - * [Primer](https://www.goprimer.com) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. - * [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device - * [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps - * [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple :large_orange_diamond: - * [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. +* [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. +* [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. +* [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS +* [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. +* [Pocket](https://github.com/Pocket/Pocket-ObjC-SDK) SDK for saving stuff to Pocket. +* [Tumblr](https://github.com/tumblr/TMTumblrSDK) Library for easily integrating Tumblr data into your iOS or OS X application. +* [Evernote](https://github.com/evernote/evernote-cloud-sdk-ios) Evernote SDK for iOS. +* [Box](https://github.com/box/box-ios-sdk) iOS + OS X SDK for the Box API. +* [OneDrive](https://github.com/OneDrive/onedrive-sdk-ios) Live SDK for iOS. +* [Stripe](https://github.com/stripe/stripe-ios) Stripe bindings for iOS and OS X. +* [Venmo](#payments) +* [AWS](https://github.com/aws/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. +* [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. +* [Adobe Creative SDK](https://creativesdk.adobe.com/) Adobe creative tools and Creative Cloud SDK. +* [Dropbox](https://www.dropbox.com/developers) SDKs for Drop-ins and Dropbox Core API. +* [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. +* [Liquid Analytics](https://github.com/lqd-io/liquid-sdk-ios) Identify behaviours through Analytics and react with real-time Personalization. +* [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. +* [PacketZoom](https://packetzoom.com) PacketZoom SDK for iOS. +* [Primer](https://www.goprimer.com) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. +* [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device +* [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps +* [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple :large_orange_diamond: +* [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. ## Unofficial - * [STTwitter](https://github.com/nst/STTwitter) A stable, mature and comprehensive Objective-C library for Twitter REST API 1.1 - * [FHSTwitterEngine](https://github.com/fhsjaagshs/FHSTwitterEngine) Twitter API for Cocoa developers. - * [Giphy](https://github.com/heyalexchoi/Giphy-iOS) Giphy API client for iOS in Objective-C. - * [UberKit](https://github.com/sachinkesiraju/UberKit) - A simple, easy-to-use Objective-C wrapper for the Uber API. - * [InstagramKit](https://github.com/shyambhat/InstagramKit) - Instagram iOS SDK. - * [DribbbleSDK](https://github.com/agilie/dribbble-ios-sdk) - Dribbble iOS SDK. - * [objectiveflickr](https://github.com/lukhnos/objectiveflickr) - ObjectiveFlickr, a Flickr API framework for Objective-C. - * [Easy Social](https://github.com/pjebs/EasySocial) - Twitter & Facebook Integration. - * [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and OSX. :large_orange_diamond: - * [SocialLib](https://github.com/darkcl/SocialLib) - SocialLib handles sharing message to multiple social media. - * [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift :large_orange_diamond: - * [TJDropbox](https://github.com/timonus/TJDropbox) - A Dropbox v2 client library written in Objective-C - * [Lyft](https://github.com/genadyo/Lyft) - Some pink mustache company forgot to build that SDK. :large_orange_diamond: - * [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift :large_orange_diamond: - * [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. - * [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project :large_orange_diamond: +* [STTwitter](https://github.com/nst/STTwitter) A stable, mature and comprehensive Objective-C library for Twitter REST API 1.1 +* [FHSTwitterEngine](https://github.com/fhsjaagshs/FHSTwitterEngine) Twitter API for Cocoa developers. +* [Giphy](https://github.com/heyalexchoi/Giphy-iOS) Giphy API client for iOS in Objective-C. +* [UberKit](https://github.com/sachinkesiraju/UberKit) - A simple, easy-to-use Objective-C wrapper for the Uber API. +* [InstagramKit](https://github.com/shyambhat/InstagramKit) - Instagram iOS SDK. +* [DribbbleSDK](https://github.com/agilie/dribbble-ios-sdk) - Dribbble iOS SDK. +* [objectiveflickr](https://github.com/lukhnos/objectiveflickr) - ObjectiveFlickr, a Flickr API framework for Objective-C. +* [Easy Social](https://github.com/pjebs/EasySocial) - Twitter & Facebook Integration. +* [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and OSX. :large_orange_diamond: +* [SocialLib](https://github.com/darkcl/SocialLib) - SocialLib handles sharing message to multiple social media. +* [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift :large_orange_diamond: +* [TJDropbox](https://github.com/timonus/TJDropbox) - A Dropbox v2 client library written in Objective-C +* [Lyft](https://github.com/genadyo/Lyft) - Some pink mustache company forgot to build that SDK. :large_orange_diamond: +* [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift :large_orange_diamond: +* [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. +* [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project :large_orange_diamond: # Xcode ### Plugins - * [FuzzyAutocompletePlugin](https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin) - A Xcode 5+ plugin that adds more flexible autocompletion rather than just prefix-matching. - * [SCXcodeMiniMap](https://github.com/stefanceriu/SCXcodeMiniMap) - SCXcodeMiniMap is a plugin that adds a source editor MiniMap to Xcode. - * [Show in Github](https://github.com/larsxschneider/ShowInGitHub) - Xcode plugin to open the GitHub page of the commit of the currently selected line in the editor window. - * [BBUFullIssueNavigator](https://github.com/neonichu/BBUFullIssueNavigator) - Xcode plugin for showing all issue content in the issue navigator. - * [BBUDebuggerTuckAway](https://github.com/neonichu/BBUDebuggerTuckAway) - Xcode plugin for auto-hiding the debugger once you start typing in the source code editor. - * [SCXcodeSwitchExpander](https://github.com/stefanceriu/SCXcodeSwitchExpander) - SCXcodeSwitchExpander is a small Xcode plugin that expands switch statements by inserting missing cases. - * [VVDocumenter-Xcode](https://github.com/onevcat/VVDocumenter-Xcode) - Xcode plug-in which helps you write Javadoc style documents easier. - * [XAlign](https://github.com/qfish/XAlign) - An amazing Xcode plugin to align regular code. It can align anything by using custom alignment patterns. - * [CocoaPods Xcode Plugin](https://github.com/kattrali/cocoapods-xcode-plugin) - Dependency management helper for your CocoaPods, right in Xcode. - * [KSImageNamed-Xcode](https://github.com/ksuther/KSImageNamed-Xcode) - Xcode plug-in that provides autocomplete for imageNamed: calls. - * [ColorSense-for-Xcode](https://github.com/omz/ColorSense-for-Xcode) - Plugin for Xcode to make working with colors more visual. - * [Backlight-for-XCode](https://github.com/limejelly/Backlight-for-XCode) - Highlights the current editing line in Xcode - * [KPRunEverywhereXcodePlugin](https://github.com/kitschpatrol/KPRunEverywhereXcodePlugin) - An Xcode plugin to build and run an app across multiple iOS devices with one click. - * [RevealPlugin](https://github.com/shjborage/Reveal-Plugin-for-Xcode) - Plugin for Xcode to integrate the Reveal App to your project automatic. - * [RealmPlugin](https://realm.io/docs/objc/0.81.0/#xcode-plugin)- Xcode plugin to generate new Realm models. - * [AdjustFontSize](https://github.com/zats/AdjustFontSize-Xcode-Plugin) - Instant font size adjustment with `⌘ +` / `⌘ -`. - * [Rephrase](https://www.rephrase.io) - Localise from Xcode. - * [XCActionBar](https://github.com/pdcgomes/XCActionBar) - "Alfred for Xcode" plugin. - * [QuickJump](https://github.com/wiruzx/QuickJump) - Quick code navigation for Xcode. - * [CATweaker](https://github.com/keefo/CATweaker) - Plugin for creating beautiful CAMediaTimingFunction curve. - * [XcodeWay](https://github.com/onmyway133/XcodeWay) - An Xcode plugin that makes navigating to many places easier (available via Alcatraz). - * [GitDiff](https://github.com/johnno1962/GitDiff) - Highlights deltas against git repo in Xcode. - * [MCLog](https://github.com/yuhua-chen/MCLog) - Xcode plugin for filtering the console area. - * [XToDo](https://github.com/trawor/XToDo) - Dialog with list of all TODO, FIXME, ??? and !!! in the project. - * [CopyIssue](https://github.com/hanton/CopyIssue-Xcode-Plugin) - Makes Copy Xcode Issue Description Easy. - * [RTImageAssets](https://github.com/rickytan/RTImageAssets) - A Xcode plugin to automatically generate all the App icons needed. - * [BBUncrustifyPlugin-Xcode](https://github.com/benoitsan/BBUncrustifyPlugin-Xcode) - Xcode plugin to format source code using ClangFormat or Uncrustify. - * [Aviator](https://github.com/marksands/Aviator) - Xcode plugin that brings ⇧⌘T (source/test toggle) from AppCode over to Xcode. - * [JumpMarks](https://github.com/merrickp/JumpMarks) - Navigate your code files with numbered bookmarks. - * [XCSnippetr](https://github.com/dzenbot/XCSnippetr) - An Xcode Plugin to upload code snippets directly into Slack and Gist. - * [Peckham](https://github.com/markohlebar/Peckham) - Add #import-s from anywhere in the code. - * [MLAutoReplace](https://github.com/molon/MLAutoReplace) - Xcode plugin, Re-Intent, make you write code more quickly. - * [AutoHighlightSymbol](https://github.com/chiahsien/AutoHighlightSymbol) - A Xcode plugin to add highlight to the instances of selected symbol. - * [Reveal-In-GitHub](https://github.com/lzwjava/Reveal-In-Github) - Xcode plugin to let you jump to GitHub History, Blame, PRs, Issues, Notifications of any GitHub repo with one shortcut. - * [CleanHeaders-Xcode](https://github.com/insanoid/CleanHeaders-Xcode) - A simple iSort like header sorting and duplicate removal plugin for Xcode, makes your headers look more organized. - * [Luft](https://github.com/k0nserv/luft) - The Xcode Plugin that helps you write lighter view controllers - * [You-Can-Do-It](https://github.com/orta/You-Can-Do-It) - Is learning a new language getting you down? Worry not, this Xcode plugin will keep you motivated. - * [PreciseCoverage](https://github.com/zats/PreciseCoverage) - Make Xcode code coverage more informative - * [AutoIndentWithSave](https://github.com/ThilinaHewagama/AutoIndentWithSave) Xcode plugin which indent the source code when save - * [Refactorator](https://github.com/johnno1962/Refactorator) - SourceKit Xcode Plugin that Refactors Swift :large_orange_diamond: - * [VWInstantRun](https://github.com/wangshengjia/VWInstantRun) - An Xcode plugin let you build & run your selected lines of code in Xcode without running the whole project, you'll have the output instantly in your Xcode console. :large_orange_diamond: - * [TTPasteHistory](https://github.com/tutumagi/TTPasteHistory) - A Xcode plugin. Recording you copy-and-paste history easily to write the code - * [xSendIssue](https://github.com/hungri-yeti/xSendIssue) - Plugin for Xcode to submit github issues directly from within Xcode. - * [Swimat](https://github.com/Jintin/Swimat) - An Xcode formatter plug-in to format your swift code. - * [Fastlane-Plugin](https://github.com/RishabhTayal/Fastlane-Plugin) - The awesome Fastlane tools brought into your Xcode. - * [Gradle Xcode plugin](https://openbakery.org/gradle.html) - Build iOS or Mac OS X Projects using Gradle. - * [SYXcodeIconVersion](https://github.com/dvkch/SYXcodeIconVersion) - This Xcode plugin shows Xcode app version in the Dock and App Switcher icon :large_orange_diamond: - * [Gradle](https://github.com/openbakery/gradle-xcodePlugin) - makes it easier to build Xcode projects by specifying the build settings in a single configuration file :large_orange_diamond: - * [HOStringSense-for-Xcode](https://github.com/holtwick/HOStringSense-for-Xcode) - Plugin for Xcode to make perfect editing regular expressions, multi line texts, inline HTML and many more use cases. Also provides quick feedback on string length. - * [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. :large_orange_diamond: - * [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode 8 Source Editor Extension Toolset +* [FuzzyAutocompletePlugin](https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin) - A Xcode 5+ plugin that adds more flexible autocompletion rather than just prefix-matching. +* [SCXcodeMiniMap](https://github.com/stefanceriu/SCXcodeMiniMap) - SCXcodeMiniMap is a plugin that adds a source editor MiniMap to Xcode. +* [Show in Github](https://github.com/larsxschneider/ShowInGitHub) - Xcode plugin to open the GitHub page of the commit of the currently selected line in the editor window. +* [BBUFullIssueNavigator](https://github.com/neonichu/BBUFullIssueNavigator) - Xcode plugin for showing all issue content in the issue navigator. +* [BBUDebuggerTuckAway](https://github.com/neonichu/BBUDebuggerTuckAway) - Xcode plugin for auto-hiding the debugger once you start typing in the source code editor. +* [SCXcodeSwitchExpander](https://github.com/stefanceriu/SCXcodeSwitchExpander) - SCXcodeSwitchExpander is a small Xcode plugin that expands switch statements by inserting missing cases. +* [VVDocumenter-Xcode](https://github.com/onevcat/VVDocumenter-Xcode) - Xcode plug-in which helps you write Javadoc style documents easier. +* [XAlign](https://github.com/qfish/XAlign) - An amazing Xcode plugin to align regular code. It can align anything by using custom alignment patterns. +* [CocoaPods Xcode Plugin](https://github.com/kattrali/cocoapods-xcode-plugin) - Dependency management helper for your CocoaPods, right in Xcode. +* [KSImageNamed-Xcode](https://github.com/ksuther/KSImageNamed-Xcode) - Xcode plug-in that provides autocomplete for imageNamed: calls. +* [ColorSense-for-Xcode](https://github.com/omz/ColorSense-for-Xcode) - Plugin for Xcode to make working with colors more visual. +* [Backlight-for-XCode](https://github.com/limejelly/Backlight-for-XCode) - Highlights the current editing line in Xcode +* [KPRunEverywhereXcodePlugin](https://github.com/kitschpatrol/KPRunEverywhereXcodePlugin) - An Xcode plugin to build and run an app across multiple iOS devices with one click. +* [RevealPlugin](https://github.com/shjborage/Reveal-Plugin-for-Xcode) - Plugin for Xcode to integrate the Reveal App to your project automatic. +* [RealmPlugin](https://realm.io/docs/objc/0.81.0/#xcode-plugin)- Xcode plugin to generate new Realm models. +* [AdjustFontSize](https://github.com/zats/AdjustFontSize-Xcode-Plugin) - Instant font size adjustment with `⌘ +` / `⌘ -`. +* [Rephrase](https://www.rephrase.io) - Localise from Xcode. +* [XCActionBar](https://github.com/pdcgomes/XCActionBar) - "Alfred for Xcode" plugin. +* [QuickJump](https://github.com/wiruzx/QuickJump) - Quick code navigation for Xcode. +* [CATweaker](https://github.com/keefo/CATweaker) - Plugin for creating beautiful CAMediaTimingFunction curve. +* [XcodeWay](https://github.com/onmyway133/XcodeWay) - An Xcode plugin that makes navigating to many places easier (available via Alcatraz). +* [GitDiff](https://github.com/johnno1962/GitDiff) - Highlights deltas against git repo in Xcode. +* [MCLog](https://github.com/yuhua-chen/MCLog) - Xcode plugin for filtering the console area. +* [XToDo](https://github.com/trawor/XToDo) - Dialog with list of all TODO, FIXME, ??? and !!! in the project. +* [CopyIssue](https://github.com/hanton/CopyIssue-Xcode-Plugin) - Makes Copy Xcode Issue Description Easy. +* [RTImageAssets](https://github.com/rickytan/RTImageAssets) - A Xcode plugin to automatically generate all the App icons needed. +* [BBUncrustifyPlugin-Xcode](https://github.com/benoitsan/BBUncrustifyPlugin-Xcode) - Xcode plugin to format source code using ClangFormat or Uncrustify. +* [Aviator](https://github.com/marksands/Aviator) - Xcode plugin that brings ⇧⌘T (source/test toggle) from AppCode over to Xcode. +* [JumpMarks](https://github.com/merrickp/JumpMarks) - Navigate your code files with numbered bookmarks. +* [XCSnippetr](https://github.com/dzenbot/XCSnippetr) - An Xcode Plugin to upload code snippets directly into Slack and Gist. +* [Peckham](https://github.com/markohlebar/Peckham) - Add #import-s from anywhere in the code. +* [MLAutoReplace](https://github.com/molon/MLAutoReplace) - Xcode plugin, Re-Intent, make you write code more quickly. +* [AutoHighlightSymbol](https://github.com/chiahsien/AutoHighlightSymbol) - A Xcode plugin to add highlight to the instances of selected symbol. +* [Reveal-In-GitHub](https://github.com/lzwjava/Reveal-In-Github) - Xcode plugin to let you jump to GitHub History, Blame, PRs, Issues, Notifications of any GitHub repo with one shortcut. +* [CleanHeaders-Xcode](https://github.com/insanoid/CleanHeaders-Xcode) - A simple iSort like header sorting and duplicate removal plugin for Xcode, makes your headers look more organized. +* [Luft](https://github.com/k0nserv/luft) - The Xcode Plugin that helps you write lighter view controllers +* [You-Can-Do-It](https://github.com/orta/You-Can-Do-It) - Is learning a new language getting you down? Worry not, this Xcode plugin will keep you motivated. +* [PreciseCoverage](https://github.com/zats/PreciseCoverage) - Make Xcode code coverage more informative +* [AutoIndentWithSave](https://github.com/ThilinaHewagama/AutoIndentWithSave) Xcode plugin which indent the source code when save +* [Refactorator](https://github.com/johnno1962/Refactorator) - SourceKit Xcode Plugin that Refactors Swift :large_orange_diamond: +* [VWInstantRun](https://github.com/wangshengjia/VWInstantRun) - An Xcode plugin let you build & run your selected lines of code in Xcode without running the whole project, you'll have the output instantly in your Xcode console. :large_orange_diamond: +* [TTPasteHistory](https://github.com/tutumagi/TTPasteHistory) - A Xcode plugin. Recording you copy-and-paste history easily to write the code +* [xSendIssue](https://github.com/hungri-yeti/xSendIssue) - Plugin for Xcode to submit github issues directly from within Xcode. +* [Swimat](https://github.com/Jintin/Swimat) - An Xcode formatter plug-in to format your swift code. +* [Fastlane-Plugin](https://github.com/RishabhTayal/Fastlane-Plugin) - The awesome Fastlane tools brought into your Xcode. +* [Gradle Xcode plugin](https://openbakery.org/gradle.html) - Build iOS or Mac OS X Projects using Gradle. +* [SYXcodeIconVersion](https://github.com/dvkch/SYXcodeIconVersion) - This Xcode plugin shows Xcode app version in the Dock and App Switcher icon :large_orange_diamond: +* [Gradle](https://github.com/openbakery/gradle-xcodePlugin) - makes it easier to build Xcode projects by specifying the build settings in a single configuration file :large_orange_diamond: +* [HOStringSense-for-Xcode](https://github.com/holtwick/HOStringSense-for-Xcode) - Plugin for Xcode to make perfect editing regular expressions, multi line texts, inline HTML and many more use cases. Also provides quick feedback on string length. +* [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. :large_orange_diamond: +* [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode 8 Source Editor Extension Toolset ### Themes - * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. - * [Xcode themes list](https://github.com/hdoria/xcode-themes) - Color themes for Xcode. - * [Solarized-Dark-for-Xcode](https://github.com/ArtSabintsev/Solarized-Dark-for-Xcode/) - Solarized Dark Theme for Xcode 5. - * [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. +* [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. +* [Xcode themes list](https://github.com/hdoria/xcode-themes) - Color themes for Xcode. +* [Solarized-Dark-for-Xcode](https://github.com/ArtSabintsev/Solarized-Dark-for-Xcode/) - Solarized Dark Theme for Xcode 5. +* [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. ### Other Xcode - * [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. - * [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) - * [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator +* [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. +* [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) +* [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator # Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: @@ -1838,138 +1838,138 @@ Most of these are paid services, some have free tiers. # Good Websites ### News, Blogs and more - * [BGR](http://bgr.com/ios-7/) - * [iMore](http://www.imore.com/) - * [Lifehacker](http://lifehacker.com/tag/ios) - * [NSHipster](http://nshipster.com) - * [Objc.io](https://www.objc.io/) - * [ASCIIwwdc](http://asciiwwdc.com) - * [Natasha The Robot](https://www.natashatherobot.com/) - * [Apple's Swift Blog](https://developer.apple.com/swift/blog/) :large_orange_diamond: - * [iOS Programming Subreddit](https://www.reddit.com/r/iosprogramming) - * [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) :large_orange_diamond: - * [iOScreator](http://www.ioscreator.com/) :large_orange_diamond: - * [Mathew Sanders](http://mathewsanders.com/) :large_orange_diamond: - * [Little Bites of Cocoa](https://littlebitesofcocoa.com/) :large_orange_diamond: - * [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) :large_orange_diamond: - * [This Week in Swift](http://swiftnews.curated.co) :large_orange_diamond: - * [iOS Developer and Designer interview](https://github.com/CameronBanga/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. - * [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) :large_orange_diamond: - * [Code Facebook](https://code.facebook.com/ios/) - * [iOS Cookies](http://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift :large_orange_diamond: +* [BGR](http://bgr.com/ios-7/) +* [iMore](http://www.imore.com/) +* [Lifehacker](http://lifehacker.com/tag/ios) +* [NSHipster](http://nshipster.com) +* [Objc.io](https://www.objc.io/) +* [ASCIIwwdc](http://asciiwwdc.com) +* [Natasha The Robot](https://www.natashatherobot.com/) +* [Apple's Swift Blog](https://developer.apple.com/swift/blog/) :large_orange_diamond: +* [iOS Programming Subreddit](https://www.reddit.com/r/iosprogramming) +* [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) :large_orange_diamond: +* [iOScreator](http://www.ioscreator.com/) :large_orange_diamond: +* [Mathew Sanders](http://mathewsanders.com/) :large_orange_diamond: +* [Little Bites of Cocoa](https://littlebitesofcocoa.com/) :large_orange_diamond: +* [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) :large_orange_diamond: +* [This Week in Swift](http://swiftnews.curated.co) :large_orange_diamond: +* [iOS Developer and Designer interview](https://github.com/CameronBanga/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. +* [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) :large_orange_diamond: +* [Code Facebook](https://code.facebook.com/ios/) +* [iOS Cookies](http://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift :large_orange_diamond: ### UIKit references - * [iOS Fonts](http://iosfonts.com/) - * [UIAppearance list](https://gist.github.com/mattt/5135521) +* [iOS Fonts](http://iosfonts.com/) +* [UIAppearance list](https://gist.github.com/mattt/5135521) ### Forums and discuss lists - * [iPhone Dev SDK Forum](http://iphonedevsdk.com/) - * ["iOS" on Stackoverflow](http://stackoverflow.com/questions/tagged/ios) +* [iPhone Dev SDK Forum](http://iphonedevsdk.com/) +* ["iOS" on Stackoverflow](http://stackoverflow.com/questions/tagged/ios) ### Tutorials and Keynotes - * [AppCoda](http://www.appcoda.com) - * [Tutorials Point](http://www.tutorialspoint.com/ios/) - * [Code with Chris](http://codewithchris.com/) - * [Cocoa with Love](http://www.cocoawithlove.com/) - * [Cocoa is my Girlfriend](http://www.cimgf.com/) - * [Code School - Try Objective-C](http://tryobjectivec.codeschool.com/) - * [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. :large_orange_diamond: - * [RAYWENDERLICH](https://www.raywenderlich.com/tutorials) - Tutorials for developers and gamers - * [Ry’s Objective-C Tutorial](http://rypress.com/tutorials/objective-c/index) - * [Mike Ash](https://www.mikeash.com/pyblog/) - * [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) :large_orange_diamond: - * [Tuts+](http://code.tutsplus.com/categories/ios-sdk) :large_orange_diamond: - * [iOS-Blog](http://www.ios-blog.co.uk/) :large_orange_diamond: - * [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) :large_orange_diamond: - * [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. :large_orange_diamond: - * [Cocoa Dev Central](http://cocoadevcentral.com) - * [Use Your Loaf](http://useyourloaf.com) - * [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) :large_orange_diamond: - * [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - :fire: All of the resources for Learning About Swift :large_orange_diamond: - * [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - A List of Awesome Swift Playgrounds! :large_orange_diamond: - * [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. :large_orange_diamond: - * [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. - * [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. :large_orange_diamond: +* [AppCoda](http://www.appcoda.com) +* [Tutorials Point](http://www.tutorialspoint.com/ios/) +* [Code with Chris](http://codewithchris.com/) +* [Cocoa with Love](http://www.cocoawithlove.com/) +* [Cocoa is my Girlfriend](http://www.cimgf.com/) +* [Code School - Try Objective-C](http://tryobjectivec.codeschool.com/) +* [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. :large_orange_diamond: +* [RAYWENDERLICH](https://www.raywenderlich.com/tutorials) - Tutorials for developers and gamers +* [Ry’s Objective-C Tutorial](http://rypress.com/tutorials/objective-c/index) +* [Mike Ash](https://www.mikeash.com/pyblog/) +* [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) :large_orange_diamond: +* [Tuts+](http://code.tutsplus.com/categories/ios-sdk) :large_orange_diamond: +* [iOS-Blog](http://www.ios-blog.co.uk/) :large_orange_diamond: +* [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) :large_orange_diamond: +* [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. :large_orange_diamond: +* [Cocoa Dev Central](http://cocoadevcentral.com) +* [Use Your Loaf](http://useyourloaf.com) +* [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) :large_orange_diamond: +* [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - :fire: All of the resources for Learning About Swift :large_orange_diamond: +* [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - A List of Awesome Swift Playgrounds! :large_orange_diamond: +* [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. :large_orange_diamond: +* [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. +* [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. :large_orange_diamond: ### iOS UI Template - * [App Icon Template](https://appicontemplate.com/ios8/) - * [iOS 8 GUI PSD Template](http://www.teehanlax.com/tools/iphone/) - * [iOS UI Design Kit](https://www.invisionapp.com/tethr) - * [iOS Design Guidelines](http://ivomynttinen.com/blog/ios-design-guidelines) +* [App Icon Template](https://appicontemplate.com/ios8/) +* [iOS 8 GUI PSD Template](http://www.teehanlax.com/tools/iphone/) +* [iOS UI Design Kit](https://www.invisionapp.com/tethr) +* [iOS Design Guidelines](http://ivomynttinen.com/blog/ios-design-guidelines) ### Prototyping - * [FluidUI](https://www.fluidui.com) - * [Proto.io](https://proto.io/) - * [Framer](http://framerjs.com/) - * [Pixate](http://www.pixate.com/) - * [Principle](http://principleformac.com) +* [FluidUI](https://www.fluidui.com) +* [Proto.io](https://proto.io/) +* [Framer](http://framerjs.com/) +* [Pixate](http://www.pixate.com/) +* [Principle](http://principleformac.com) ### Newsletters - * [iOS Goodies](http://ios-goodies.com) - Weekly iOS newsletter - * [This Week in Swift](https://swiftnews.curated.co) - I'm @NatashaTheRobot and I'm programmed to love #Swift! Every week, I put together a list of the best Swift resources for you. Happy Learning! - * [The iOS Times](http://theiostimes.com) - A weekly publication with news and trending projects in the open source iOS ecosystem. - * [Swift Sandbox](http://swiftsandbox.io) - Swift developer newsletter, curated collection of Swift open source news, projects & resources. :large_orange_diamond: - * [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week - * [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. - * [iOS Trivia Weekly](http://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday - * [Indie iOS Focus Weekly](https://indieiosfocus.curated.co) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. - * [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. +* [iOS Goodies](http://ios-goodies.com) - Weekly iOS newsletter +* [This Week in Swift](https://swiftnews.curated.co) - I'm @NatashaTheRobot and I'm programmed to love #Swift! Every week, I put together a list of the best Swift resources for you. Happy Learning! +* [The iOS Times](http://theiostimes.com) - A weekly publication with news and trending projects in the open source iOS ecosystem. +* [Swift Sandbox](http://swiftsandbox.io) - Swift developer newsletter, curated collection of Swift open source news, projects & resources. :large_orange_diamond: +* [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week +* [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. +* [iOS Trivia Weekly](http://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday +* [Indie iOS Focus Weekly](https://indieiosfocus.curated.co) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. +* [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. ### Medium - * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone - * [Swift Programming](https://medium.com/swift-programming) - The Swift Programming Language +* [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone +* [Swift Programming](https://medium.com/swift-programming) - The Swift Programming Language # Twitter - * [@objcio](https://twitter.com/objcio) - * [@nshipster](https://twitter.com/NSHipster) - * [@CocoaPods](https://twitter.com/CocoaPods) - * [@CocoaPodsFeed](https://twitter.com/CocoaPodsFeed) - * [@RubyMotion](https://twitter.com/RubyMotion) - * [@SwiftSandbox](https://twitter.com/SwiftSandbox) - Swift open source news, projects and resources. +* [@objcio](https://twitter.com/objcio) +* [@nshipster](https://twitter.com/NSHipster) +* [@CocoaPods](https://twitter.com/CocoaPods) +* [@CocoaPodsFeed](https://twitter.com/CocoaPodsFeed) +* [@RubyMotion](https://twitter.com/RubyMotion) +* [@SwiftSandbox](https://twitter.com/SwiftSandbox) - Swift open source news, projects and resources. # Facebook Groups - * [HH iOS](https://www.facebook.com/groups/hhios/) - * [Sketch - Official group](https://www.facebook.com/groups/sketchformac/) - * [Design-Code](https://www.facebook.com/groups/designcode/) - * [Sketch-Design.io](https://www.facebook.com/groups/sketchdesignio) - * [Origami Community](https://www.facebook.com/groups/origami.community/) - * [Framer JS](https://www.facebook.com/groups/framerjs/) +* [HH iOS](https://www.facebook.com/groups/hhios/) +* [Sketch - Official group](https://www.facebook.com/groups/sketchformac/) +* [Design-Code](https://www.facebook.com/groups/designcode/) +* [Sketch-Design.io](https://www.facebook.com/groups/sketchdesignio) +* [Origami Community](https://www.facebook.com/groups/origami.community/) +* [Framer JS](https://www.facebook.com/groups/framerjs/) # Podcasts - * [The Ray Wenderlich Podcast](https://www.raywenderlich.com/rwpodcast) - * [Debug](http://www.imore.com/debug) - * [iDeveloper](http://blog.ideveloper.co/) - * [App Story](http://www.appstorypodcast.com) - * [Mobile Couch](http://mobilecouch.co/) - * [iOS Bytes](https://iosbytes.codeschool.com/) - * [iPhreaks](https://devchat.tv/iphreaks) +* [The Ray Wenderlich Podcast](https://www.raywenderlich.com/rwpodcast) +* [Debug](http://www.imore.com/debug) +* [iDeveloper](http://blog.ideveloper.co/) +* [App Story](http://www.appstorypodcast.com) +* [Mobile Couch](http://mobilecouch.co/) +* [iOS Bytes](https://iosbytes.codeschool.com/) +* [iPhreaks](https://devchat.tv/iphreaks) # Books - * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: - * [Using Swift with Cocoa and Objective C by Apple](https://itunes.apple.com/us/book/using-swift-cocoa-objective/id888894773?mt=11) :large_orange_diamond: - * [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/we-write/ios-programming/) - * [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) - * [Your First iOS App by Ash Furrow](https://leanpub.com/your-first-ios-app) - * [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) - * [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) - * [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) +* [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: +* [Using Swift with Cocoa and Objective C by Apple](https://itunes.apple.com/us/book/using-swift-cocoa-objective/id888894773?mt=11) :large_orange_diamond: +* [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/we-write/ios-programming/) +* [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) +* [Your First iOS App by Ash Furrow](https://leanpub.com/your-first-ios-app) +* [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) +* [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) +* [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) # Other Awesome Lists Other amazingly awesome lists can be found in the - * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. - * [Open Source apps](https://github.com/dkhamsing/open-source-ios-apps) list of open source ios apps - * Awesome-swift - * [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. - * [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. - * [Education](https://github.com/hsavit1/Awesome-Swift-Education) - All the resources you need to learn Swift - * [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. :watch: - * [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprenehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. - * [awesome-ios-animation](https://github.com/sxyx2008/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. - * [awesome-ios-chart](https://github.com/sxyx2008/awesome-ios-chart) - A curated list of awesome iOS chart libraries, including Objective-C and Swift. - * [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). - * [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. - * [Awesome Reactive Programming in Swift](https://github.com/SideEffects-xyz/Awesome-Reactive-Programming-Swift) - A collection of frameworks, talks and resources about reactive programming in Swift. +* [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. +* [Open Source apps](https://github.com/dkhamsing/open-source-ios-apps) list of open source ios apps +* Awesome-swift + * [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. + * [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. + * [Education](https://github.com/hsavit1/Awesome-Swift-Education) - All the resources you need to learn Swift +* [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. :watch: +* [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprenehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. +* [awesome-ios-animation](https://github.com/sxyx2008/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. +* [awesome-ios-chart](https://github.com/sxyx2008/awesome-ios-chart) - A curated list of awesome iOS chart libraries, including Objective-C and Swift. +* [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). +* [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. +* [Awesome Reactive Programming in Swift](https://github.com/SideEffects-xyz/Awesome-Reactive-Programming-Swift) - A collection of frameworks, talks and resources about reactive programming in Swift. # Contributing [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 7577014f90677a11287246154387e5779076149f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 20 Jul 2016 10:43:46 -0300 Subject: [PATCH 0093/2606] Updated MessageKit's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f8aef246c..8d0837567 100644 --- a/README.md +++ b/README.md @@ -742,7 +742,7 @@ Also see [push notifications](#push-notifications) * [JSQMessagesViewController](https://github.com/jessesquires/JSQMessagesViewController) - An elegant messages UI library for iOS. * [Smooch](https://smooch.io) - Simple, lightweight SDKs and interfaces that enable customer messaging inside your apps and websites. * [SlackTextViewController](https://github.com/slackhq/SlackTextViewController) - A drop-in UIViewController subclass with a growing text input view and other useful messaging features. -* [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController :large_orange_diamond: +* [MessageKit](https://github.com/MessageKit/MessageKit-iOS) - Eventually, a Swift re-write of JSQMessagesViewController :large_orange_diamond: * [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. :large_orange_diamond: ### Machine Learning From 2f3b59e41de74f7f31b4d748c95d329fa882f1e9 Mon Sep 17 00:00:00 2001 From: Maxim Date: Wed, 20 Jul 2016 21:22:20 +0400 Subject: [PATCH 0094/2606] Add Feeds for iOS Developer (#959) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8d0837567..cf8edfb89 100644 --- a/README.md +++ b/README.md @@ -1857,6 +1857,7 @@ Most of these are paid services, some have free tiers. * [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) :large_orange_diamond: * [Code Facebook](https://code.facebook.com/ios/) * [iOS Cookies](http://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift :large_orange_diamond: +* [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. ### UIKit references * [iOS Fonts](http://iosfonts.com/) From 95bb1889e2c1b59fc3dfc4f9bdd19b6335c2dc33 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 20 Jul 2016 16:46:20 -0300 Subject: [PATCH 0095/2606] Added Result by @antitypical Fixes #540 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf8edfb89..33289745c 100644 --- a/README.md +++ b/README.md @@ -381,6 +381,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Algorithm](https://github.com/CosmicMind/Algorithm) - A toolset for writing algorithms and probability models in Swift :large_orange_diamond: * [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. :large_orange_diamond: * [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript http://www.dollarswift.org. :large_orange_diamond: +* [Result](https://github.com/antitypical/Result) - Swift type modelling the success/failure of arbitrary operations. :large_orange_diamond: ### Date & Time From da98d83857514ce6f848b12449855110a96d6744 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 20 Jul 2016 17:11:01 -0300 Subject: [PATCH 0096/2606] Updated Heimdallr.swift's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 33289745c..dba3eb32c 100644 --- a/README.md +++ b/README.md @@ -212,7 +212,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. :large_orange_diamond: ### Authentication -* [Heimdallr.swift](https://github.com/rheinfabrik/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: +* [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: * [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. :large_orange_diamond: * [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. :large_orange_diamond: * [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for OS X and iOS, written in Swift. :large_orange_diamond: From 61b06d7eda6131c5901923afc5c0fc2ce09944c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Thu, 21 Jul 2016 11:40:46 -0300 Subject: [PATCH 0097/2606] Add FSInteractiveMap to Charts section (#963) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dba3eb32c..44df460f4 100644 --- a/README.md +++ b/README.md @@ -323,6 +323,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Scrollable-GraphView](https://github.com/philackm/Scrollable-GraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: * [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. * [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generater for iOS. :large_orange_diamond: +* [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS!. ### Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From bd9b435c610323334172e9ae0ece154de9dc4359 Mon Sep 17 00:00:00 2001 From: Josef Date: Fri, 22 Jul 2016 00:39:38 +0200 Subject: [PATCH 0098/2606] Added UnsupportedOSVersionAlert to Utility Forked the wrong file beforehand. Closed the old pull request and opened this new one. Hope it fits. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 44df460f4..9d9b20a30 100644 --- a/README.md +++ b/README.md @@ -1482,6 +1482,7 @@ Most of these are paid services, some have free tiers. * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. 🔶 * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, OSX) :large_orange_diamond: * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! :large_orange_diamond: + * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) :large_orange_diamond: ### VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From afc599141da1c406eea15aa804e17d675026dbee Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 21 Jul 2016 21:47:53 -0300 Subject: [PATCH 0099/2606] Added Facebook Swift to SDK --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 44df460f4..30a0628c9 100644 --- a/README.md +++ b/README.md @@ -1710,6 +1710,7 @@ Most of these are paid services, some have free tiers. * [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. * [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. +* [Facebook Swift](https://github.com/facebook/facebook-sdk-swift) Integrate your iOS apps in Swift with Facebook Platform. * [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS * [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. * [Pocket](https://github.com/Pocket/Pocket-ObjC-SDK) SDK for saving stuff to Pocket. From cf5f10bb9b2c66e313030c6f222fbb85fbbdc698 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 22 Jul 2016 00:52:41 -0300 Subject: [PATCH 0100/2606] Added FDStackView by @forkingdog --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 30a0628c9..a6a86f34e 100644 --- a/README.md +++ b/README.md @@ -1093,6 +1093,7 @@ Most of these are paid services, some have free tiers. * [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects :large_orange_diamond: * [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ :large_orange_diamond: * [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. :large_orange_diamond: +* [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ ##### Activity Indicator From 221112fa44717b4301791a98caf8c560df3f6be4 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 22 Jul 2016 00:57:18 -0300 Subject: [PATCH 0101/2606] Added Popover by @corin8823 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a6a86f34e..1c6d6acc5 100644 --- a/README.md +++ b/README.md @@ -1094,6 +1094,7 @@ Most of these are paid services, some have free tiers. * [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ :large_orange_diamond: * [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. :large_orange_diamond: * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ +* [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app :large_orange_diamond: ##### Activity Indicator From 975ef1ddf1029c3469144cddcb50d494c6adcb2a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 22 Jul 2016 00:58:21 -0300 Subject: [PATCH 0102/2606] Added FastStub-Xcode by @music4kid --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1c6d6acc5..c253c7b51 100644 --- a/README.md +++ b/README.md @@ -1806,9 +1806,10 @@ Most of these are paid services, some have free tiers. * [Gradle Xcode plugin](https://openbakery.org/gradle.html) - Build iOS or Mac OS X Projects using Gradle. * [SYXcodeIconVersion](https://github.com/dvkch/SYXcodeIconVersion) - This Xcode plugin shows Xcode app version in the Dock and App Switcher icon :large_orange_diamond: * [Gradle](https://github.com/openbakery/gradle-xcodePlugin) - makes it easier to build Xcode projects by specifying the build settings in a single configuration file :large_orange_diamond: -* [HOStringSense-for-Xcode](https://github.com/holtwick/HOStringSense-for-Xcode) - Plugin for Xcode to make perfect editing regular expressions, multi line texts, inline HTML and many more use cases. Also provides quick feedback on string length. +* [HOStringSense-for-Xcode](https://github.com/holtwick/HOStringSense-for-Xcode) - Plugin for Xcode to make perfect editing regular expressions, multi line texts, inline HTML and many more use cases. Also provides quick feedback on string length. * [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. :large_orange_diamond: * [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode 8 Source Editor Extension Toolset +* [FastStub-Xcode](https://github.com/music4kid/FastStub-Xcode) - Xcode Plugin helps you find missing methods in your class header, protocols, and super class, also makes fast inserting. ### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From 913617041b4b9a82fa15b7afc7bc65eda87e51b5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 22 Jul 2016 00:59:59 -0300 Subject: [PATCH 0103/2606] Added JSPatchX by @bang590 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c253c7b51..aeb65a931 100644 --- a/README.md +++ b/README.md @@ -1810,6 +1810,7 @@ Most of these are paid services, some have free tiers. * [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. :large_orange_diamond: * [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode 8 Source Editor Extension Toolset * [FastStub-Xcode](https://github.com/music4kid/FastStub-Xcode) - Xcode Plugin helps you find missing methods in your class header, protocols, and super class, also makes fast inserting. +* [JSPatchX](https://github.com/bang590/JSPatchX) - A XCode plugin that provides autocompletion for JSPatch ### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From 1bebf6527782e1ac7bf7c0ddc74f8966aea28fa1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 22 Jul 2016 01:04:03 -0300 Subject: [PATCH 0104/2606] Added Cribble by @maxsokolov --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aeb65a931..6b63f7254 100644 --- a/README.md +++ b/README.md @@ -1627,6 +1627,7 @@ Most of these are paid services, some have free tiers. * [Fetcher](https://github.com/rob-nash/Fetcher) - Mock paging data with a variable fetch time interval. * [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java :large_orange_diamond: * [Bugfender Live](https://github.com/bugfender/BugfenderLive-iOS) - Stream the screen of an iOS device for live debugging. +* [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps :large_orange_diamond: # Tools * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: From c737c42f61c4844bebb2897e74f39790fb8e94f1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 22 Jul 2016 01:04:57 -0300 Subject: [PATCH 0105/2606] Added DBMetaballLoading by @dabing1022 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6b63f7254..39361a7d1 100644 --- a/README.md +++ b/README.md @@ -1132,6 +1132,7 @@ Most of these are paid services, some have free tiers. * [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - Circular progress UIView subclass with UIProgressView properties :large_orange_diamond: * [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. * [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beauful hud view for iPhone & iPad +* [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. :large_orange_diamond: ##### Alerts From e857284a2bce60b9c6a9ba2022683ac23ce1b2b7 Mon Sep 17 00:00:00 2001 From: Aashish Tamsya Date: Fri, 22 Jul 2016 10:10:45 +0530 Subject: [PATCH 0106/2606] Plugin added - Dash & Lin --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 39361a7d1..310ea0154 100644 --- a/README.md +++ b/README.md @@ -1813,6 +1813,8 @@ Most of these are paid services, some have free tiers. * [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode 8 Source Editor Extension Toolset * [FastStub-Xcode](https://github.com/music4kid/FastStub-Xcode) - Xcode Plugin helps you find missing methods in your class header, protocols, and super class, also makes fast inserting. * [JSPatchX](https://github.com/bang590/JSPatchX) - A XCode plugin that provides autocompletion for JSPatch +* [Lin](https://github.com/questbeat/Lin) - Xcode plugin that provides auto-completion for NSLocalizedString. +* [Dash](https://kapeli.com/dash) - Dash is a great documentation browser which integrates closely into Xcode with its plugin. ### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From daf1900ba03bb4a85f9fabc1bb5ff45ce21175b6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 22 Jul 2016 18:31:42 -0300 Subject: [PATCH 0107/2606] Removed Lin Dupe --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 310ea0154..983225a01 100644 --- a/README.md +++ b/README.md @@ -1813,7 +1813,6 @@ Most of these are paid services, some have free tiers. * [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode 8 Source Editor Extension Toolset * [FastStub-Xcode](https://github.com/music4kid/FastStub-Xcode) - Xcode Plugin helps you find missing methods in your class header, protocols, and super class, also makes fast inserting. * [JSPatchX](https://github.com/bang590/JSPatchX) - A XCode plugin that provides autocompletion for JSPatch -* [Lin](https://github.com/questbeat/Lin) - Xcode plugin that provides auto-completion for NSLocalizedString. * [Dash](https://kapeli.com/dash) - Dash is a great documentation browser which integrates closely into Xcode with its plugin. ### Themes From 739d7f2222afc2ce540864c7a598262c333431be Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 23 Jul 2016 19:15:46 -0300 Subject: [PATCH 0108/2606] Added RocketData by @linkedin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 94128fce4..8c4cfe756 100644 --- a/README.md +++ b/README.md @@ -250,6 +250,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SPTPersistentCache](https://github.com/spotify/SPTPersistentCache) - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify * [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. :large_orange_diamond: * [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cache that cures scroll-lags on a cell instantiating +* [RocketData](https://github.com/linkedin/RocketData) - A caching and consistency solution for immutable models. :large_orange_diamond: ### Code Quality * [KZBootstrap](https://github.com/krzysztofzablocki/KZBootstrap) - iOS project bootstrap aimed at high quality coding. From 696a53f75410aaf2acfe89675135cc9da92e700d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 24 Jul 2016 11:07:44 -0300 Subject: [PATCH 0109/2606] Added EmojiTextView by @fastred --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8c4cfe756..b36ed8561 100644 --- a/README.md +++ b/README.md @@ -1438,6 +1438,7 @@ Most of these are paid services, some have free tiers. * [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. :large_orange_diamond: * [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.🔶[e] * [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield :large_orange_diamond: +* [EmojiTextView](https://github.com/fastred/EmojiTextView) - Tap to swap out words with emojis. Inspired by Messages.app on iOS 10. :large_orange_diamond: ### Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. From db3a72ccd89a1ac1564a3caed848a485c5ef0c3a Mon Sep 17 00:00:00 2001 From: mrhyh Date: Mon, 25 Jul 2016 11:26:26 +0800 Subject: [PATCH 0110/2606] An easy way to use pull-to-refresh. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b36ed8561..d74829aeb 100644 --- a/README.md +++ b/README.md @@ -1317,6 +1317,7 @@ Most of these are paid services, some have free tiers. * [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift :large_orange_diamond: * [mntpulltoreact](https://github.com/mentionapp/mntpulltoreact) - One gesture, many actions. An evolution of Pull to Refresh. * [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. +* [MJRefresh](https://github.com/CoderMJLee/MJRefresh) An easy way to use pull-to-refresh. * [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. :large_orange_diamond: ##### Rating Stars From 759125afa867a61969921292b009723d45b6e087 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 25 Jul 2016 00:29:59 -0300 Subject: [PATCH 0111/2606] Moved MJRefresh to end of list --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d74829aeb..28eda9f46 100644 --- a/README.md +++ b/README.md @@ -1317,8 +1317,8 @@ Most of these are paid services, some have free tiers. * [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift :large_orange_diamond: * [mntpulltoreact](https://github.com/mentionapp/mntpulltoreact) - One gesture, many actions. An evolution of Pull to Refresh. * [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. -* [MJRefresh](https://github.com/CoderMJLee/MJRefresh) An easy way to use pull-to-refresh. * [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. :large_orange_diamond: +* [MJRefresh](https://github.com/CoderMJLee/MJRefresh) An easy way to use pull-to-refresh. ##### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From 9c18c4b9be052752e62e97a89ca232ba4e899e6d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 25 Jul 2016 00:33:59 -0300 Subject: [PATCH 0112/2606] Added PopupDialog by @Orderella --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 28eda9f46..c71d9b5c7 100644 --- a/README.md +++ b/README.md @@ -1305,6 +1305,7 @@ Most of these are paid services, some have free tiers. * [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. * [SubscriptionPrompt](https://github.com/Binur/SubscriptionPrompt) - Subscription View Controller like the Tinder uses :large_orange_diamond: * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: +* [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. :large_orange_diamond: ##### Pull to Refresh * [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: From 504350b077f95f3166807e9b13f120743576ee1e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 25 Jul 2016 02:39:57 -0300 Subject: [PATCH 0113/2606] Added Parsing category fixes #944 --- README.md | 115 +++++++++++++++++++++++++++++------------------------- 1 file changed, 62 insertions(+), 53 deletions(-) diff --git a/README.md b/README.md index c71d9b5c7..9eb653dee 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [iBeacon](#ibeacon) - [Location](#location) - [Other Hardware](#other-hardware) - - [JSON](#json) - [Layout](#layout) - [Localization](#localization) - [Logging](#logging) @@ -70,6 +69,11 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Networking](#networking) - [Push Notifications](#push-notifications) - [Push Notification Providers](#push-notification-providers) + - [Parsing] + - [CSV](#csv) + - [JSON](#json) + - [XML & HTML](#xml--html) + - [Other Parsing](#other-parsing) - [Passbook](#passbook) - [Permissions](#permissions) - [Payments](#payments) @@ -107,7 +111,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [VR](#vr) - [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) - [Websocket](#websocket) - - [XML / HTML / CSV](#xml--html--csv) - [Project setup](#project-setup) - [Server](#server) - [Dependency / Package Manager](#dependency--package-manager) @@ -495,43 +498,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. * [DarkLightning](https://github.com/jensmeder/DarkLightning) -Simply the fastest way to transmit data between iOS and OSX * [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 - -### JSON -* [JSONKit](https://github.com/johnezang/JSONKit) - Objective-C JSON. -* [TouchJSON](https://github.com/TouchCode/TouchJSON) - A humane JSON Objective-C un-framework. -* [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. -* [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. -* [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. -* [KZPropertyMapper](https://github.com/krzysztofzablocki/KZPropertyMapper) - Data mapping and validation with minimal amount of code. -* [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modelling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. -* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. :large_orange_diamond: -* [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. -* [OCMapper](https://github.com/aryaxt/OCMapper) - Objective-C & Swift library to easily map NSDictionary to model objects. :large_orange_diamond: -* [ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. :large_orange_diamond: -* [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. :large_orange_diamond: -* [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. :large_orange_diamond: -* [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization :large_orange_diamond: -* [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift model files from JSON using either SwiftyJSON or ObjectMapper. Supports NSCoding and provides method for JSON string representation of the model. :large_orange_diamond: -* [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift :large_orange_diamond: -* [Coolie](https://github.com/nixzhu/Coolie) - Coolie helps you to create models (& their constructors) from JSON file. :large_orange_diamond: -* [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. :large_orange_diamond: -* [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. :large_orange_diamond: -* [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. :large_orange_diamond: -* [mapper](https://github.com/lyft/mapper) - Another JSON deserialization library for Swift :large_orange_diamond: -* [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection :large_orange_diamond: -* [Jay](https://github.com/czechboy0/Jay) - Pure-Swift JSON parser & formatter. Linux & OS X ready. :large_orange_diamond: -* [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/OSX. -* [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON :large_orange_diamond: -* [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder :large_orange_diamond: -* [Arrow 🏹](https://github.com/s4cha/Arrow) - Elegant JSON Parsing in Swift. :large_orange_diamond: -* [Decodable](https://github.com/Anviking/Decodable) - Swift 2 JSON parsing done (more) right :large_orange_diamond: -* [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 2.0 (Supports Linux) :large_orange_diamond: -* [Tyro](https://github.com/typelift/Tyro) - Functional JSON parsing and encoding :large_orange_diamond: -* [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder :large_orange_diamond: -* [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. :large_orange_diamond: -* [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects :large_orange_diamond: -* [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. :large_orange_diamond: -* [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. :large_orange_diamond: ### Layout * [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift :large_orange_diamond: @@ -828,6 +794,63 @@ Most of these are paid services, some have free tiers. * [Pushwoosh](https://www.pushwoosh.com) * [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. +### Parsing + +##### CSV +* [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 :large_orange_diamond: +* [SwiftCSV](https://github.com/naoty/SwiftCSV) - CSV parser for Swift :large_orange_diamond: + +##### JSON +* [JSONKit](https://github.com/johnezang/JSONKit) - Objective-C JSON. +* [TouchJSON](https://github.com/TouchCode/TouchJSON) - A humane JSON Objective-C un-framework. +* [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. +* [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. +* [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. +* [KZPropertyMapper](https://github.com/krzysztofzablocki/KZPropertyMapper) - Data mapping and validation with minimal amount of code. +* [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modelling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. +* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. :large_orange_diamond: +* [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. +* [OCMapper](https://github.com/aryaxt/OCMapper) - Objective-C & Swift library to easily map NSDictionary to model objects. :large_orange_diamond: +* [ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. :large_orange_diamond: +* [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. :large_orange_diamond: +* [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. :large_orange_diamond: +* [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization :large_orange_diamond: +* [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift model files from JSON using either SwiftyJSON or ObjectMapper. Supports NSCoding and provides method for JSON string representation of the model. :large_orange_diamond: +* [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift :large_orange_diamond: +* [Coolie](https://github.com/nixzhu/Coolie) - Coolie helps you to create models (& their constructors) from JSON file. :large_orange_diamond: +* [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. :large_orange_diamond: +* [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. :large_orange_diamond: +* [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. :large_orange_diamond: +* [mapper](https://github.com/lyft/mapper) - Another JSON deserialization library for Swift :large_orange_diamond: +* [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection :large_orange_diamond: +* [Jay](https://github.com/czechboy0/Jay) - Pure-Swift JSON parser & formatter. Linux & OS X ready. :large_orange_diamond: +* [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/OSX. +* [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON :large_orange_diamond: +* [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder :large_orange_diamond: +* [Arrow 🏹](https://github.com/s4cha/Arrow) - Elegant JSON Parsing in Swift. :large_orange_diamond: +* [Decodable](https://github.com/Anviking/Decodable) - Swift 2 JSON parsing done (more) right :large_orange_diamond: +* [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 2.0 (Supports Linux) :large_orange_diamond: +* [Tyro](https://github.com/typelift/Tyro) - Functional JSON parsing and encoding :large_orange_diamond: +* [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder :large_orange_diamond: +* [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. :large_orange_diamond: +* [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects :large_orange_diamond: +* [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. :large_orange_diamond: +* [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. :large_orange_diamond: + +##### XML & HTML +* [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: +* [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. :large_orange_diamond: +* [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & OS X +* [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects :large_orange_diamond: +* [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support :large_orange_diamond: +* [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for MacOSX/iOS. :large_orange_diamond: +* [SwiftyXMLParer](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: +* [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. + +##### Other Parsing +* [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: +* [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: [e] + ### Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. * [Dubai](https://github.com/nomad/dubai) - Generate and Preview Passbook Passes. @@ -1536,20 +1559,6 @@ Most of these are paid services, some have free tiers. * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. * [Dispatch](https://github.com/Swiftification/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: -### XML / HTML / CSV -* [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: -* [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. :large_orange_diamond: -* [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & OS X -* [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects :large_orange_diamond: -* [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support :large_orange_diamond: -* [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for MacOSX/iOS. :large_orange_diamond: -* [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 :large_orange_diamond: -* [SwiftCSV](https://github.com/naoty/SwiftCSV) - CSV parser for Swift :large_orange_diamond: -* [SwiftyXMLParer](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: -* [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: -* [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: [e] -* [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. - # Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. * [liftoff](https://github.com/thoughtbot/liftoff) - Another CLI for creating iOS projects. From f8a245c7fe802262e9d98ae3435440a45c371e69 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 25 Jul 2016 02:43:57 -0300 Subject: [PATCH 0114/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9eb653dee..a0a28182e 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Networking](#networking) - [Push Notifications](#push-notifications) - [Push Notification Providers](#push-notification-providers) - - [Parsing] + - [Parsing](#parsing) - [CSV](#csv) - [JSON](#json) - [XML & HTML](#xml--html) From 5577f16120eb9392cf8e6788246e5e2ffbe1de31 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 25 Jul 2016 11:48:30 -0300 Subject: [PATCH 0115/2606] Added Keychain category fixes #948 --- README.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index a0a28182e..f762808d8 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Regex](#regex) - [Security](#security) - [Encryption](#encryption) + - [Keychain](#keychain) - [Text](#text) - [Font](#font) - [URL Scheme](#url-scheme) @@ -917,17 +918,10 @@ Most of these are paid services, some have free tiers. * [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift :large_orange_diamond: ### Security -* [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. -* [Valet](https://github.com/square/Valet) - Securely store data in the iOS or OS X Keychain without knowing a thing about how the Keychain works. -* [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. :large_orange_diamond: * [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. -* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and OS X :large_orange_diamond:[e] -* [Keychain](https://github.com/hyperoslo/Keychain) - Because you should care... about the security... of your shit. :large_orange_diamond: * [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. :large_orange_diamond: -* [SSKeychain](https://github.com/soffes/sskeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. * [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. -* [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. ##### Encryption @@ -946,6 +940,15 @@ Most of these are paid services, some have free tiers. * [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: +##### Keychain +* [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. +* [Valet](https://github.com/square/Valet) - Securely store data in the iOS or OS X Keychain without knowing a thing about how the Keychain works. +* [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. :large_orange_diamond: +* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and OS X :large_orange_diamond:[e] +* [Keychain](https://github.com/hyperoslo/Keychain) - Because you should care... about the security... of your shit. :large_orange_diamond: +* [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. +* [SSKeychain](https://github.com/soffes/sskeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. + ### Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. * [Nimbus](https://github.com/jverkoey/nimbus) - Nimbus is a toolkit for experienced iOS software designers. From 78440782044a1dbf825bbae79a2b5063acdd77c8 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 25 Jul 2016 11:51:09 -0300 Subject: [PATCH 0116/2606] Added second_curtain by @ashfurrow --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f762808d8..68d639eda 100644 --- a/README.md +++ b/README.md @@ -1646,6 +1646,7 @@ Most of these are paid services, some have free tiers. * [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java :large_orange_diamond: * [Bugfender Live](https://github.com/bugfender/BugfenderLive-iOS) - Stream the screen of an iOS device for live debugging. * [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps :large_orange_diamond: +* [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 # Tools * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: From 39f0ce561b150e814016dff3a5c62f7ad1e7f485 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 25 Jul 2016 14:59:35 -0700 Subject: [PATCH 0117/2606] Use Danger (#975) [ci skip] --- .travis.yml | 2 ++ Dangerfile | 10 ++++++++++ 2 files changed, 12 insertions(+) create mode 100644 Dangerfile diff --git a/.travis.yml b/.travis.yml index c5714e3bf..21fef5416 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,8 @@ rvm: - 2.2 before_script: - gem install awesome_bot + - gem install danger + - danger script: - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer - allowed_redirects=growthpush,awesomelinkcounter diff --git a/Dangerfile b/Dangerfile new file mode 100644 index 000000000..26e325472 --- /dev/null +++ b/Dangerfile @@ -0,0 +1,10 @@ +# Ensure there is a summary for a pull request +fail "Please provide a summary in the Pull Request description" if github.pr_body.length < 5 + +# Warn when there are merge commits in the diff +if git.commits.any? { |c| c.message =~ /^Merge branch 'master'/ } + warn 'Please rebase to get rid of the merge commits in this Pull Request' +end + +# Only one library per pull request +fail "Please only add one library per Pull Request" if git.lines_of_code > 1 From dcb63456e2df0ef83d9984ef65c03de6aefdd072 Mon Sep 17 00:00:00 2001 From: Howard Huang Date: Tue, 26 Jul 2016 18:15:30 +0800 Subject: [PATCH 0118/2606] Add YangMingShan to UI category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68d639eda..59f832263 100644 --- a/README.md +++ b/README.md @@ -1122,6 +1122,7 @@ Most of these are paid services, some have free tiers. * [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. :large_orange_diamond: * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ * [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app :large_orange_diamond: +* [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. ##### Activity Indicator From f81e8916a00ceaa1dfd1bc274b8ef1d4460eb920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Tue, 26 Jul 2016 09:49:41 -0300 Subject: [PATCH 0119/2606] Add JYRadarChart to Charts section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59f832263..8ad8051a2 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. * [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generater for iOS. :large_orange_diamond: * [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS!. +* [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. ### Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From 39259c86c409f10ea59d370cde47420514a66762 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 26 Jul 2016 10:26:30 -0300 Subject: [PATCH 0120/2606] Updated libraries' links --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8ad8051a2..f3e871907 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. :large_orange_diamond: * [Animo](https://github.com/eure/Animo) - SpriteKit-like animation builders for CALayers. :large_orange_diamond: * [CurryFire](https://github.com/devinross/curry-fire) - A framework for creating unique animations. -* [IBAnimatable](https://github.com/JakeLin/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. :large_orange_diamond: +* [IBAnimatable](https://github.com/IBAnimatable/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. :large_orange_diamond: * [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView :large_orange_diamond: * [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining :large_orange_diamond: * [SYBlinkAnimationKit](https://github.com/shoheiyokoyama/SYBlinkAnimationKit) - A blink effect animation framework for iOS, written in Swift. :large_orange_diamond: @@ -948,7 +948,7 @@ Most of these are paid services, some have free tiers. * [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and OS X :large_orange_diamond:[e] * [Keychain](https://github.com/hyperoslo/Keychain) - Because you should care... about the security... of your shit. :large_orange_diamond: * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. -* [SSKeychain](https://github.com/soffes/sskeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. +* [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. ### Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From eaeb9518ed3fe057c41480714a6c1bd8ec500761 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 26 Jul 2016 23:38:03 -0300 Subject: [PATCH 0121/2606] Added ASCalendar by @scamps88 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f3e871907..50ba1a7fe 100644 --- a/README.md +++ b/README.md @@ -1236,6 +1236,7 @@ Most of these are paid services, some have free tiers. * [JTCalendar](https://github.com/jonathantribouharet/JTCalendar) - A customizable calendar view for iOS. * [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The final iOS calendar control you'll ever try. :large_orange_diamond: * [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. +* [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern :large_orange_diamond: ##### Form * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From ed9d3bee109056a72ca2440893f739c7ecd0132d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 27 Jul 2016 00:04:28 -0300 Subject: [PATCH 0122/2606] Added PlayNow by @marcboquet --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 50ba1a7fe..f09a129bb 100644 --- a/README.md +++ b/README.md @@ -1693,6 +1693,7 @@ Most of these are paid services, some have free tiers. * [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. * [fastlane-plugin-appicon](https://github.com/neonichu/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. * [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. +* [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 3468923b02989f8d555d4e9b7b0e7907bf54d7f0 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 27 Jul 2016 12:35:15 -0700 Subject: [PATCH 0123/2606] [danger] add pull request title warning [ci skip] --- Dangerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Dangerfile b/Dangerfile index 26e325472..1d323b21a 100644 --- a/Dangerfile +++ b/Dangerfile @@ -8,3 +8,6 @@ end # Only one library per pull request fail "Please only add one library per Pull Request" if git.lines_of_code > 1 + +# Pull request title warning +warn 'Please update the Pull Request title' if github.pr_title.include? 'Update README.md' From d3cbe901c73eca6c1a95c1a1f5ceb4d39eacecae Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 27 Jul 2016 12:36:40 -0700 Subject: [PATCH 0124/2606] [danger] cleanup [ci skip] --- Dangerfile | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Dangerfile b/Dangerfile index 1d323b21a..62069787b 100644 --- a/Dangerfile +++ b/Dangerfile @@ -1,13 +1,11 @@ # Ensure there is a summary for a pull request -fail "Please provide a summary in the Pull Request description" if github.pr_body.length < 5 +fail 'Please provide a summary in the Pull Request description' if github.pr_body.length < 5 # Warn when there are merge commits in the diff -if git.commits.any? { |c| c.message =~ /^Merge branch 'master'/ } - warn 'Please rebase to get rid of the merge commits in this Pull Request' -end +warn 'Please rebase to get rid of the merge commits in this Pull Request' if git.commits.any? { |c| c.message =~ /^Merge branch 'master'/ } # Only one library per pull request -fail "Please only add one library per Pull Request" if git.lines_of_code > 1 +fail Please only add one library per Pull Request' if git.lines_of_code > 1 -# Pull request title warning +# Warn if pull request is not updated warn 'Please update the Pull Request title' if github.pr_title.include? 'Update README.md' From be7f81e9ad65f4daf3861761f4ae62916e0b126b Mon Sep 17 00:00:00 2001 From: Aashish Tamsya Date: Thu, 28 Jul 2016 11:59:44 +0530 Subject: [PATCH 0125/2606] Added Useful Xcode Scripts --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index f09a129bb..4005c57c2 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Xcode](#xcode) - [Plugins](#plugins) - [Themes](#themes) + - [Xcode Scripts](#xcode-scripts) - [Other Xcode](#other-xcode) - [Reference](#reference) - [Style Guides](#style-guides) @@ -1843,6 +1844,10 @@ Most of these are paid services, some have free tiers. * [Solarized-Dark-for-Xcode](https://github.com/ArtSabintsev/Solarized-Dark-for-Xcode/) - Solarized Dark Theme for Xcode 5. * [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. +### Xcode Scripts +* [Awesome Xcode Scripts]() - A curated list of useful xcode scripts 📝. + + ### Other Xcode * [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. * [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) From e8fd766ebbc5b8afebd30b1006f6a08af9cda7d4 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 28 Jul 2016 05:59:18 -0700 Subject: [PATCH 0126/2606] [danger] fix typo [ci skip] --- Dangerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dangerfile b/Dangerfile index 62069787b..f2ce730e7 100644 --- a/Dangerfile +++ b/Dangerfile @@ -5,7 +5,7 @@ fail 'Please provide a summary in the Pull Request description' if github.pr_bod warn 'Please rebase to get rid of the merge commits in this Pull Request' if git.commits.any? { |c| c.message =~ /^Merge branch 'master'/ } # Only one library per pull request -fail Please only add one library per Pull Request' if git.lines_of_code > 1 +fail 'Please only add one library per Pull Request' if git.lines_of_code > 1 # Warn if pull request is not updated warn 'Please update the Pull Request title' if github.pr_title.include? 'Update README.md' From 6552365a0ff980284867d0350f57d27b54a768c6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 28 Jul 2016 15:23:44 -0300 Subject: [PATCH 0127/2606] Added Context-Menu.iOS by @Yalantis --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f09a129bb..09839e485 100644 --- a/README.md +++ b/README.md @@ -1308,6 +1308,7 @@ Most of these are paid services, some have free tiers. * [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS :large_orange_diamond: * [KYGooeyMenu](https://github.com/KittenYang/KYGooeyMenu) - A not bad gooey effects menu. * [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift :large_orange_diamond: +* [Context-Menu.iOS](https://github.com/Yalantis/Context-Menu.iOS) - You can easily add awesome animated context menu to your app. ##### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From f53de1c09a55d925f718e831ea0f06ca2d7fe9a9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 28 Jul 2016 15:33:35 -0300 Subject: [PATCH 0128/2606] Updated Arcane's name and url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 09839e485..cb1cc4fb4 100644 --- a/README.md +++ b/README.md @@ -928,7 +928,7 @@ Most of these are paid services, some have free tiers. ##### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. * [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. :large_orange_diamond: -* [CommonCrypto.swift](https://github.com/onmyway133/CommonCrypto.swift) - :floppy_disk: Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: +* [Arcane](https://github.com/onmyway133/Arcane) - 🔱 Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: * [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: * [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: * [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms :large_orange_diamond: From 937c28012e3fba43319ad8ac984d897b67ae6680 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 28 Jul 2016 15:34:40 -0300 Subject: [PATCH 0129/2606] Updated Urban Airship's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cb1cc4fb4..99a9cbe77 100644 --- a/README.md +++ b/README.md @@ -783,7 +783,7 @@ Also see [push notifications](#push-notifications) Most of these are paid services, some have free tiers. -* [Urban Airship](https://www.urbanairship.com/products/engage#push-messages) +* [Urban Airship](http://www.urbanairship.com/products/mobile-engagement/engage) * [Growth Push](https://growthpush.com) - Popular in Japan. * [Appboy](https://www.appboy.com) * [Batch](https://batch.com) From 13c2f58fc1a962694dffbf07b29018e7d0a59899 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 28 Jul 2016 15:39:08 -0300 Subject: [PATCH 0130/2606] Updated Urban Airship's url to https --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 99a9cbe77..92da17e71 100644 --- a/README.md +++ b/README.md @@ -783,7 +783,7 @@ Also see [push notifications](#push-notifications) Most of these are paid services, some have free tiers. -* [Urban Airship](http://www.urbanairship.com/products/mobile-engagement/engage) +* [Urban Airship](https://www.urbanairship.com/products/mobile-engagement/engage) * [Growth Push](https://growthpush.com) - Popular in Japan. * [Appboy](https://www.appboy.com) * [Batch](https://batch.com) From 9601859ddf820fba93728c07931e4efdaad18799 Mon Sep 17 00:00:00 2001 From: Robin Frielingsdorf Date: Thu, 28 Jul 2016 22:19:31 +0200 Subject: [PATCH 0131/2606] Ubergang A tweening engine for iOS written in Swift. https://github.com/RobinFalko/Ubergang --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 92da17e71..c8f6b8baf 100644 --- a/README.md +++ b/README.md @@ -207,6 +207,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes :large_orange_diamond: * [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax :large_orange_diamond: * [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. :large_orange_diamond: +* [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. :large_orange_diamond: ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 68153a3eb44fb2b797f862f0e5415940b3c8c0ef Mon Sep 17 00:00:00 2001 From: Aashish Tamsya Date: Fri, 29 Jul 2016 11:27:34 +0530 Subject: [PATCH 0132/2606] Xcode Scripts Added --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 2d2f09491..394eb3da9 100644 --- a/README.md +++ b/README.md @@ -1847,8 +1847,7 @@ Most of these are paid services, some have free tiers. * [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. ### Xcode Scripts -* [Awesome Xcode Scripts]() - A curated list of useful xcode scripts 📝. - +* [Awesome Xcode Scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts 📝. ### Other Xcode * [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. From 186c2b3b961d20044d59b4eff916215be7b3f54f Mon Sep 17 00:00:00 2001 From: Aashish Tamsya Date: Fri, 29 Jul 2016 15:09:16 +0530 Subject: [PATCH 0133/2606] Added Useful Xcode Srcipts --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 394eb3da9..a5556c308 100644 --- a/README.md +++ b/README.md @@ -131,7 +131,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Xcode](#xcode) - [Plugins](#plugins) - [Themes](#themes) - - [Xcode Scripts](#xcode-scripts) - [Other Xcode](#other-xcode) - [Reference](#reference) - [Style Guides](#style-guides) @@ -1846,10 +1845,9 @@ Most of these are paid services, some have free tiers. * [Solarized-Dark-for-Xcode](https://github.com/ArtSabintsev/Solarized-Dark-for-Xcode/) - Solarized Dark Theme for Xcode 5. * [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. -### Xcode Scripts -* [Awesome Xcode Scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts 📝. - ### Other Xcode + +* [awesome-xcode-scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts 📝. * [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. * [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) * [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator @@ -2014,4 +2012,4 @@ Other amazingly awesome lists can be found in the [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) # License -Distributed under the MIT license. See LICENSE for more information. +Distributed under the MIT license. See LICENSE for more information. \ No newline at end of file From c1f60dd86f8e33458d5268a665ab60196c5bc1bc Mon Sep 17 00:00:00 2001 From: Aashish Tamsya Date: Fri, 29 Jul 2016 18:23:56 +0530 Subject: [PATCH 0134/2606] Add Useful Xcode Scripts (#981) --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c8f6b8baf..a5556c308 100644 --- a/README.md +++ b/README.md @@ -1846,6 +1846,8 @@ Most of these are paid services, some have free tiers. * [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. ### Other Xcode + +* [awesome-xcode-scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts 📝. * [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. * [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) * [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator @@ -2010,4 +2012,4 @@ Other amazingly awesome lists can be found in the [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) # License -Distributed under the MIT license. See LICENSE for more information. +Distributed under the MIT license. See LICENSE for more information. \ No newline at end of file From b8fe0302d9c3f17628024865c79f9e32eb80cff4 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 29 Jul 2016 06:10:12 -0700 Subject: [PATCH 0135/2606] [danger] change fail to warn for rule 3 [ci skip] --- Dangerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dangerfile b/Dangerfile index f2ce730e7..02f4b13bf 100644 --- a/Dangerfile +++ b/Dangerfile @@ -5,7 +5,7 @@ fail 'Please provide a summary in the Pull Request description' if github.pr_bod warn 'Please rebase to get rid of the merge commits in this Pull Request' if git.commits.any? { |c| c.message =~ /^Merge branch 'master'/ } # Only one library per pull request -fail 'Please only add one library per Pull Request' if git.lines_of_code > 1 +warn 'Please only add one library per Pull Request' if git.lines_of_code > 1 # Warn if pull request is not updated warn 'Please update the Pull Request title' if github.pr_title.include? 'Update README.md' From b20eba58bcf6adf7fc5a1b9ff072f9f87710cbea Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 29 Jul 2016 10:38:39 -0300 Subject: [PATCH 0136/2606] Added FeedKit by @nmdias --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a5556c308..32003c961 100644 --- a/README.md +++ b/README.md @@ -853,6 +853,7 @@ Most of these are paid services, some have free tiers. ##### Other Parsing * [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: * [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: [e] +* [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift :large_orange_diamond: ### Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. @@ -2012,4 +2013,4 @@ Other amazingly awesome lists can be found in the [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) # License -Distributed under the MIT license. See LICENSE for more information. \ No newline at end of file +Distributed under the MIT license. See LICENSE for more information. From 6cb3ff6bad6f4feebf657a7284977f33a2924699 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 30 Jul 2016 12:54:35 -0300 Subject: [PATCH 0137/2606] Added LFLiveKit by @LaiFengiOS --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 32003c961..9d0fe0c29 100644 --- a/README.md +++ b/README.md @@ -693,6 +693,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. * [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] * [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] +* [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate ##### PDF * [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. From 7bd453f3df7d6daab1da134def3ef1099e2894fc Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Sun, 31 Jul 2016 14:18:16 -0700 Subject: [PATCH 0138/2606] Add HorizonSDK-iOS [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9d0fe0c29..c9f6f2158 100644 --- a/README.md +++ b/README.md @@ -477,6 +477,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. :large_orange_diamond: * [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. :large_orange_diamond: * [JVTImageFilePicker](https://github.com/mcmatan/JVTImageFilePicker) - Easy and beautiful way for a user to pick content, files or images. Written in Objective C. +* [HorizonSDK-iOS](https://github.com/HorizonCamera/HorizonSDK-iOS) - State of the art real-time video recording / photo shooting iOS library. ##### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: From bd8d5899212deb52e5e5bb57a4b8d901e095f2c1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 31 Jul 2016 23:02:12 -0300 Subject: [PATCH 0139/2606] Added AspectFillFaceAware by @BeauNouvelle --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c9f6f2158..f990ed751 100644 --- a/README.md +++ b/README.md @@ -676,6 +676,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond:[e] * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: * [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter :large_orange_diamond: +* [AspectFillFaceAware](https://github.com/BeauNouvelle/AspectFillFaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. :large_orange_diamond: ##### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 3acd209e60d0f41a190eaa6f4b0ea43133b6705e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 1 Aug 2016 12:19:30 -0300 Subject: [PATCH 0140/2606] Added PLCurrencyTextField by @nonameplum --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f990ed751..22e195dac 100644 --- a/README.md +++ b/README.md @@ -1476,6 +1476,7 @@ Most of these are paid services, some have free tiers. * [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.🔶[e] * [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield :large_orange_diamond: * [EmojiTextView](https://github.com/fastred/EmojiTextView) - Tap to swap out words with emojis. Inspired by Messages.app on iOS 10. :large_orange_diamond: +* [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. :large_orange_diamond: ### Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. From 30b976d1d7dc3bb5c2ee38bc4fef42ea16039261 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 1 Aug 2016 15:29:04 -0700 Subject: [PATCH 0141/2606] Integrate checking links with danger [ci skip] (#986) --- .travis.yml | 2 +- Dangerfile | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 21fef5416..0ea63cecf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,8 +4,8 @@ rvm: before_script: - gem install awesome_bot - gem install danger - - danger script: - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer - allowed_redirects=growthpush,awesomelinkcounter - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects + - danger diff --git a/Dangerfile b/Dangerfile index 02f4b13bf..e207c32f7 100644 --- a/Dangerfile +++ b/Dangerfile @@ -9,3 +9,32 @@ warn 'Please only add one library per Pull Request' if git.lines_of_code > 1 # Warn if pull request is not updated warn 'Please update the Pull Request title' if github.pr_title.include? 'Update README.md' + +# Check links +require 'json' +results = File.read 'ab-results-README.md-filtered.json' +j = JSON.parse results +unless j.count==0 + fail 'Found links issues' + message = "#### Link issues by [`awesome_bot`](https://github.com/dkhamsing/awesome_bot)\n\n" + message << "Line | Status | Link\n" + message << "| ---: | :---: | --- |\n" + + j.sort_by { |h| h['loc'] }.each do |i| + error = i['error'] + loc = i['loc'] + link = i['link'] + s = i['status'] + + if error=='Dupe' + message << "#{loc} | Dupe | #{link}" + else + message << "#{loc} | [#{s}](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/#{s}) | #{link}" + message << "
#{error}" unless error =='' + message << " redirects to
#{i['redirect']}" unless i['redirect']=='' + end + message << "\n" + end + + markdown message +end From ca67f98ead225e1fa2e45b64e8b89a8078d1e650 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 1 Aug 2016 15:32:34 -0700 Subject: [PATCH 0142/2606] [danger] use httpstatuses.com [ci skip] --- Dangerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dangerfile b/Dangerfile index e207c32f7..d2e5554f1 100644 --- a/Dangerfile +++ b/Dangerfile @@ -29,7 +29,7 @@ unless j.count==0 if error=='Dupe' message << "#{loc} | Dupe | #{link}" else - message << "#{loc} | [#{s}](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/#{s}) | #{link}" + message << "#{loc} | [#{s}](https://httpstatuses.com/#{s}) | #{link}" message << "
#{error}" unless error =='' message << " redirects to
#{i['redirect']}" unless i['redirect']=='' end From df8d6ba2dc666271bc95b1ad2e63de769001458d Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 1 Aug 2016 19:22:22 -0700 Subject: [PATCH 0143/2606] [danger] cleanup [ci skip] --- Dangerfile | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Dangerfile b/Dangerfile index d2e5554f1..86379315e 100644 --- a/Dangerfile +++ b/Dangerfile @@ -14,24 +14,25 @@ warn 'Please update the Pull Request title' if github.pr_title.include? 'Update require 'json' results = File.read 'ab-results-README.md-filtered.json' j = JSON.parse results -unless j.count==0 +if j.count>0 fail 'Found links issues' message = "#### Link issues by [`awesome_bot`](https://github.com/dkhamsing/awesome_bot)\n\n" - message << "Line | Status | Link\n" - message << "| ---: | :---: | --- |\n" + message << " Line | Status | Link\n" + message << "| ---: | :----: | --- |\n" j.sort_by { |h| h['loc'] }.each do |i| error = i['error'] loc = i['loc'] link = i['link'] s = i['status'] + r = i['redirect'] if error=='Dupe' - message << "#{loc} | Dupe | #{link}" + message << "#{loc} | Dupe | #{link} " else - message << "#{loc} | [#{s}](https://httpstatuses.com/#{s}) | #{link}" + message << "#{loc} | [#{s}](https://httpstatuses.com/#{s}) | #{link} " message << "
#{error}" unless error =='' - message << " redirects to
#{i['redirect']}" unless i['redirect']=='' + message << "redirects to
#{r}" unless r=='' end message << "\n" end From eb1a9833923eb8e5b64eca35fac293e63f3de5ac Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 00:04:49 -0300 Subject: [PATCH 0144/2606] Added TOActionSheet by @TimOliver --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 22e195dac..08482349e 100644 --- a/README.md +++ b/README.md @@ -1129,6 +1129,7 @@ Most of these are paid services, some have free tiers. * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ * [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app :large_orange_diamond: * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. +* [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS ##### Activity Indicator From e8e4b7d54402ebb08facdb052b7459b01e110d39 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 00:07:12 -0300 Subject: [PATCH 0145/2606] Added CoreDataStack by @bignerdranch --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 08482349e..795509276 100644 --- a/README.md +++ b/README.md @@ -351,6 +351,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Sync](https://github.com/hyperoslo/Sync) - Modern JSON synchronization to Core Data :large_orange_diamond: * [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. :large_orange_diamond: * [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. :large_orange_diamond: +* [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack :large_orange_diamond: ### Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. From 6e4560f5aba9da941874b2a4f94ff1d489cfaafc Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 00:09:56 -0300 Subject: [PATCH 0146/2606] Added LxDBAnything by @DeveloperLx --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 795509276..ecf70839f 100644 --- a/README.md +++ b/README.md @@ -570,6 +570,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations :large_orange_diamond: * [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. :large_orange_diamond: * [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. +* [LxDBAnything](https://github.com/DeveloperLx/LxDBAnything) - Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! ### Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From 3d84e298b25e30649e4f49ad61f9c3131996a4b8 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 00:12:37 -0300 Subject: [PATCH 0147/2606] Added FastttCamera by @IFTTT --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ecf70839f..acd48ebf6 100644 --- a/README.md +++ b/README.md @@ -479,6 +479,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. :large_orange_diamond: * [JVTImageFilePicker](https://github.com/mcmatan/JVTImageFilePicker) - Easy and beautiful way for a user to pick content, files or images. Written in Objective C. * [HorizonSDK-iOS](https://github.com/HorizonCamera/HorizonSDK-iOS) - State of the art real-time video recording / photo shooting iOS library. +* [FastttCamera](https://github.com/IFTTT/FastttCamera) - Fasttt and easy camera framework for iOS with customizable filters ##### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: From 30743d3649616932c791602987b7d5131e06a6a1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 00:15:17 -0300 Subject: [PATCH 0148/2606] Added XLTestLog by @xareelee [ci-skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index acd48ebf6..397ec90e2 100644 --- a/README.md +++ b/README.md @@ -572,6 +572,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. :large_orange_diamond: * [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. * [LxDBAnything](https://github.com/DeveloperLx/LxDBAnything) - Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! +* [XLTestLog](https://github.com/xareelee/XLTestLog) - Styling and coloring your XCTest logs on Xcode Console ### Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From e6f7093da8dff7aee826fe56beef443a25914c5e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 00:16:45 -0300 Subject: [PATCH 0149/2606] Added ZCAnimatedLabel by @overboming [ci-skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 397ec90e2..d7516bc0d 100644 --- a/README.md +++ b/README.md @@ -1282,6 +1282,7 @@ Most of these are paid services, some have free tiers. * [TOMSMorphingLabel](https://github.com/tomknig/TOMSMorphingLabel) - Configurable morphing transitions between text values of a label. * [THLabel](https://github.com/tobihagemann/THLabel) - UILabel subclass, which additionally allows shadow blur, inner shadow, stroke text and fill gradient. * [RQShineLabel](https://github.com/zipme/RQShineLabel) - Secret app like text animation +* [ZCAnimatedLabel](https://github.com/overboming/ZCAnimatedLabel) - UILabel replacement with fine-grain appear/disappear animation ##### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: From a249cd000b009e95859fac66cbc1ffa43c9e9466 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 00:17:43 -0300 Subject: [PATCH 0150/2606] Added ZOZolaZoomTransition by @NewAmsterdamLabs [ci-skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d7516bc0d..150f9971b 100644 --- a/README.md +++ b/README.md @@ -1331,6 +1331,7 @@ Most of these are paid services, some have free tiers. * [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao * [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller * [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. :large_orange_diamond: +* [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view heirarchy. Used extensively in the Zola iOS application. ##### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 9eb1f071a5a584cdbfbfeec9da9d91cd2d10e7f5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 00:18:34 -0300 Subject: [PATCH 0151/2606] Added MakemojiSDK by @makemoji [ci-skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 150f9971b..d6d943bfd 100644 --- a/README.md +++ b/README.md @@ -1269,6 +1269,7 @@ Most of these are paid services, some have free tiers. * [TPKeyboardAvoiding](https://github.com/michaeltyson/TPKeyboardAvoiding) - A drop-in universal solution for moving text fields out of the way of the keyboard in iOS * [YYKeyboardManager](https://github.com/ibireme/YYKeyboardManager) - iOS utility class allows you to access keyboard view and track keyboard animation. * [KeyboardMan](https://github.com/nixzhu/KeyboardMan) - KeyboardMan helps you make keyboard animation. :large_orange_diamond: +* [MakemojiSDK](https://github.com/makemoji/MakemojiSDK) - Emoji Keyboard SDK (iOS) ##### Label * [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. :large_orange_diamond: From 6123f9edcdf5361de66e93c9fb1a01e97519100f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 00:20:25 -0300 Subject: [PATCH 0152/2606] Added LFLoginController by @awesome-labs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d6d943bfd..b6ba1352c 100644 --- a/README.md +++ b/README.md @@ -1134,6 +1134,7 @@ Most of these are paid services, some have free tiers. * [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app :large_orange_diamond: * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. * [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS +* [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift :large_orange_diamond: ##### Activity Indicator From db5addbd8a2dd4cc8bf1db6c9f20cd6e55169d9c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 11:55:35 -0300 Subject: [PATCH 0153/2606] Added trainer by @KrauseFx --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b6ba1352c..c286158ab 100644 --- a/README.md +++ b/README.md @@ -1666,6 +1666,7 @@ Most of these are paid services, some have free tiers. * [Bugfender Live](https://github.com/bugfender/BugfenderLive-iOS) - Stream the screen of an iOS device for live debugging. * [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps :large_orange_diamond: * [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 +* [trainer](https://github.com/KrauseFx/trainer) - Convert xcodebuild plist files to JUnit reports # Tools * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: From 1aaf815d98105f3248641070faa0e146fca4d739 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 11:57:36 -0300 Subject: [PATCH 0154/2606] Added NXDrawKit by @Nicejinux --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c286158ab..11c53d258 100644 --- a/README.md +++ b/README.md @@ -453,6 +453,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). :large_orange_diamond: * [InkKit](https://github.com/shaps80/InkKit) - Drawing and Geometry made easy for iOS -- Now in Swift! :large_orange_diamond: * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. +* [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone :large_orange_diamond: ### Hardware ##### Bluetooth From d8cb48f3d4a07b05b6594cf1f8436f6a18bea864 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 12:12:33 -0300 Subject: [PATCH 0155/2606] Added TheAmazingAudioEngine2 by @TheAmazingAudioEngine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 11c53d258..5a5b25f4f 100644 --- a/README.md +++ b/README.md @@ -615,6 +615,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/OSX DSP for audio (with Novocaine) * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. * [IQAudioRecorderController](https://github.com/hackiftekhar/IQAudioRecorderController) - A drop-in universal library allows to record audio within the app with a nice User Interface. +* [TheAmazingAudioEngine2](https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine2) - The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to. ##### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. From a0c2deb355618ced777752f60fc6cdd22d236391 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 12:13:40 -0300 Subject: [PATCH 0156/2606] Added JHChainableAnimations by @jhurray --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a5b25f4f..53d0a1f26 100644 --- a/README.md +++ b/README.md @@ -208,6 +208,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax :large_orange_diamond: * [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. :large_orange_diamond: * [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. :large_orange_diamond: +* [JHChainableAnimations](https://github.com/jhurray/JHChainableAnimations) - Easy to read and write chainable animations in Objective-C ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 5e7c39e7dbe556c09f4eacbf44c211a9c678759f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 12:15:58 -0300 Subject: [PATCH 0157/2606] Added YTKNetwork by @yuantiku --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 53d0a1f26..977039dc9 100644 --- a/README.md +++ b/README.md @@ -777,6 +777,7 @@ Also see [push notifications](#push-notifications) * [SOAPEngine](https://github.com/priore/SOAPEngine) - This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app * [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working) :large_orange_diamond: * [Malibu](https://github.com/hyperoslo/Malibu) - Networking library built on promises :large_orange_diamond: +* [YTKNetwork](https://github.com/yuantiku/YTKNetwork) - YTKNetwork is a high level request util based on AFNetworking. #### Email From 4a7525f961a12ff259a46a1538a4ac8b6541bdc6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 12:22:25 -0300 Subject: [PATCH 0158/2606] Added LTNavigationBar by @ltebean --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 977039dc9..ef5b9b891 100644 --- a/README.md +++ b/README.md @@ -1343,6 +1343,7 @@ Most of these are paid services, some have free tiers. * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: * [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! * [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. +* [LTNavigationBar](https://github.com/ltebean/LTNavigationBar) - UINavigationBar Category which allows you to change its appearance dynamically ##### Popup * [KLCPopup](https://github.com/jmascia/KLCPopup) - A simple and flexible class for presenting custom views as a popup in iOS. From 03a14eb9c90b210f170199892bc657e41f89edb6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 13:48:04 -0300 Subject: [PATCH 0159/2606] Added FXForms by @nicklockwood --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef5b9b891..ffc3202af 100644 --- a/README.md +++ b/README.md @@ -1263,6 +1263,7 @@ Most of these are paid services, some have free tiers. * [APValidators](https://github.com/Alterplay/APValidators) - Codeless solution for form validation in iOS! * [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS :large_orange_diamond: * [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - Framework for creating forms with validation rules :large_orange_diamond: +* [FXForms](https://github.com/nicklockwood/FXForms) - FXForms is an Objective-C library for easily creating table-based forms on iOS. It is ideal for settings pages, or user data entry tasks. ##### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From 94b5f838e3db4bcdd8c3c9133faef5fef639fc99 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 13:50:42 -0300 Subject: [PATCH 0160/2606] Added MCSwipeTableViewCell by @alikaragoz --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ffc3202af..bbb17e945 100644 --- a/README.md +++ b/README.md @@ -1456,6 +1456,7 @@ Most of these are paid services, some have free tiers. * [TRMosaicLayout](https://github.com/vinnyoodles/TRMosaicLayout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift 🔶 * [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells :large_orange_diamond: * [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. +* [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 696097c76c6802b09e4e72f0c032a8be5304412d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 13:54:23 -0300 Subject: [PATCH 0161/2606] Updated Little Bites of Cocoa's link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bbb17e945..4054e731e 100644 --- a/README.md +++ b/README.md @@ -1908,7 +1908,7 @@ Most of these are paid services, some have free tiers. * [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) :large_orange_diamond: * [iOScreator](http://www.ioscreator.com/) :large_orange_diamond: * [Mathew Sanders](http://mathewsanders.com/) :large_orange_diamond: -* [Little Bites of Cocoa](https://littlebitesofcocoa.com/) :large_orange_diamond: +* [Little Bites of Cocoa](http://littlebitesofcocoa.com/) :large_orange_diamond: * [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) :large_orange_diamond: * [This Week in Swift](http://swiftnews.curated.co) :large_orange_diamond: * [iOS Developer and Designer interview](https://github.com/CameronBanga/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. From e18e349804ca9055b1634eb73af10ad653a931dd Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 13:59:10 -0300 Subject: [PATCH 0162/2606] Added AKASegmentedControl by @alikaragoz --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4054e731e..74800b4e1 100644 --- a/README.md +++ b/README.md @@ -1411,6 +1411,7 @@ Most of these are paid services, some have free tiers. * [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. :large_orange_diamond: * [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: * [LUNSegmentedControl](https://github.com/LunApps/LUNSegmentedControl) - Customizable segmented control with interactive animation. +* [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS ##### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From d335a5d24556ffe4b1f682227dc01b310048e3ea Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 14:11:51 -0300 Subject: [PATCH 0163/2606] Added CRToast by @cruffenach --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 74800b4e1..aa92e9a7b 100644 --- a/README.md +++ b/README.md @@ -1216,6 +1216,7 @@ Most of these are paid services, some have free tiers. * [PMAlertController](https://github.com/Codeido/PMAlertController) - PMAlertController is a great and customizable substitute to UIAlertController. 🔶 * [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. 🔶 * [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. 🔶 +* [CRToast](https://github.com/cruffenach/CRToast) - A modern iOS toast view that can fit your notification needs ##### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. From 84396cce6a5b88c53eda49bbc2443cc141d885d9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 14:12:25 -0300 Subject: [PATCH 0164/2606] Moved JLToast to Alerts --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa92e9a7b..293328f99 100644 --- a/README.md +++ b/README.md @@ -1023,7 +1023,6 @@ Most of these are paid services, some have free tiers. * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. * [BetweenKit](https://github.com/ice3-software/between-kit) - A robust drag-and-drop framework for iOS. * [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! -* [JLToast](https://github.com/devxoul/JLToast) - Toast for iOS with very simple interface. :large_orange_diamond: * [BLKFlexibleHeightBar](https://github.com/bryankeller/BLKFlexibleHeightBar) - Create condensing header bars like those seen in the Facebook, Square Cash, and Safari iOS apps. * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. * [AsyncDisplayKit](https://github.com/facebook/AsyncDisplayKit/) - AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. @@ -1217,6 +1216,7 @@ Most of these are paid services, some have free tiers. * [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. 🔶 * [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. 🔶 * [CRToast](https://github.com/cruffenach/CRToast) - A modern iOS toast view that can fit your notification needs +* [JLToast](https://github.com/devxoul/JLToast) - Toast for iOS with very simple interface. :large_orange_diamond: ##### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. From 393db19c4bcd65588ee2af5dc88896a9c3142a36 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 14:15:03 -0300 Subject: [PATCH 0165/2606] Added nui by @tombenner --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 293328f99..99b9d29fb 100644 --- a/README.md +++ b/README.md @@ -1138,6 +1138,7 @@ Most of these are paid services, some have free tiers. * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. * [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS * [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift :large_orange_diamond: +* [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS ##### Activity Indicator From ed9e2caf15c91d134402ccc6cc057ba60b7fed22 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 14:16:22 -0300 Subject: [PATCH 0166/2606] Changed Little Bites of Cocoa (again) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 99b9d29fb..07e1f2ff7 100644 --- a/README.md +++ b/README.md @@ -1911,7 +1911,7 @@ Most of these are paid services, some have free tiers. * [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) :large_orange_diamond: * [iOScreator](http://www.ioscreator.com/) :large_orange_diamond: * [Mathew Sanders](http://mathewsanders.com/) :large_orange_diamond: -* [Little Bites of Cocoa](http://littlebitesofcocoa.com/) :large_orange_diamond: +* [Little Bites of Cocoa](https://littlebitesofcocoa.com/) :large_orange_diamond: * [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) :large_orange_diamond: * [This Week in Swift](http://swiftnews.curated.co) :large_orange_diamond: * [iOS Developer and Designer interview](https://github.com/CameronBanga/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. From ed18ec72cec8a2cb6db5435abefa1f6b435491d1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 14:19:25 -0300 Subject: [PATCH 0167/2606] Added FormatterKit by @mattt --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 07e1f2ff7..fe42205b4 100644 --- a/README.md +++ b/README.md @@ -996,6 +996,7 @@ Most of these are paid services, some have free tiers. * [Smile](https://github.com/onmyway133/Smile) 😄 Emoji in Swift * [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift 🔶[e] * [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. :large_orange_diamond: +* [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set ##### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: From 02bed0deaf8f1b8c53567b5f17beae45dfbe389a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 14:26:18 -0300 Subject: [PATCH 0168/2606] Added MJExtension by @CoderMJLee --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fe42205b4..3aca5b290 100644 --- a/README.md +++ b/README.md @@ -850,6 +850,7 @@ Most of these are paid services, some have free tiers. * [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects :large_orange_diamond: * [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. :large_orange_diamond: * [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. :large_orange_diamond: +* [MJExtension](https://github.com/CoderMJLee/MJExtension) - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file. ##### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From 7d60f25c60f9ac741b2f5d695591f5749b05cdec Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 14:29:22 -0300 Subject: [PATCH 0169/2606] Added ViewDeck by @ViewDeck --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3aca5b290..678762fbc 100644 --- a/README.md +++ b/README.md @@ -1331,6 +1331,7 @@ Most of these are paid services, some have free tiers. * [KYGooeyMenu](https://github.com/KittenYang/KYGooeyMenu) - A not bad gooey effects menu. * [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift :large_orange_diamond: * [Context-Menu.iOS](https://github.com/Yalantis/Context-Menu.iOS) - You can easily add awesome animated context menu to your app. +* [ViewDeck](https://github.com/ViewDeck/ViewDeck) - An implementation of the sliding functionality found in the Path 2.0 or Facebook iOS apps. ##### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From a660f31c8ab6edbb18fb2eccacf8328952e79c2f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 14:32:27 -0300 Subject: [PATCH 0170/2606] Added EasyIAPs by @alvinvarghese --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 678762fbc..6c87bb755 100644 --- a/README.md +++ b/README.md @@ -894,6 +894,7 @@ Most of these are paid services, some have free tiers. * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS :large_orange_diamond: * [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework :large_orange_diamond: * [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions +* [EasyIAPs](https://github.com/alvinvarghese/EasyIAPs) - An easy way to manage In App Purchases ### Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. From 04633cce73d1606f7f1073a914ee4b617d5e4e80 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 14:36:06 -0300 Subject: [PATCH 0171/2606] Added RedBeard by @getredbeard --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6c87bb755..6edfaf00c 100644 --- a/README.md +++ b/README.md @@ -1142,6 +1142,7 @@ Most of these are paid services, some have free tiers. * [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS * [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift :large_orange_diamond: * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS +* [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. ##### Activity Indicator From 8a4a85a3a20fe5bfcb15d4d3801240e7ee816d61 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 2 Aug 2016 14:37:17 -0300 Subject: [PATCH 0172/2606] Added iso-8601-date-formatter by @boredzo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6edfaf00c..9b96b37a8 100644 --- a/README.md +++ b/README.md @@ -404,6 +404,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond:[e] * [AFDateHelper](https://github.com/melvitax/AFDateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond:[e] * [Tempo](https://github.com/remirobert/Tempo) - Date and time manager for iOS/OSX written in Swift :large_orange_diamond: +* [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. ### EventBus * [Caravel](https://github.com/coshx/caravel) - A Swift event bus for UIWebView and JS :large_orange_diamond: From dd9b39c0cf5e13fa4b553c4a7edc6f61a797b9f1 Mon Sep 17 00:00:00 2001 From: Hoang Tran Date: Wed, 3 Aug 2016 15:32:18 +0700 Subject: [PATCH 0173/2606] Add HTPullToRefresh --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9b96b37a8..4864364a9 100644 --- a/README.md +++ b/README.md @@ -1378,6 +1378,7 @@ Most of these are paid services, some have free tiers. * [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. * [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. :large_orange_diamond: * [MJRefresh](https://github.com/CoderMJLee/MJRefresh) An easy way to use pull-to-refresh. +* [HTPullToRefresh](https://github.com/hoang-tran/HTPullToRefresh) - Easily add vertical and horizontal pull to refresh to any UIScrollView. Can also add multiple pull-to-refesh views at once. ##### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From 9f2485db76cf2cf5b0f62efdd30e32a04dc32161 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 3 Aug 2016 08:05:42 -0300 Subject: [PATCH 0174/2606] Added jot by @IFTTT --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4864364a9..783a8ce5f 100644 --- a/README.md +++ b/README.md @@ -456,6 +456,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [InkKit](https://github.com/shaps80/InkKit) - Drawing and Geometry made easy for iOS -- Now in Swift! :large_orange_diamond: * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. * [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone :large_orange_diamond: +* [jot](https://github.com/IFTTT/jot) - An iOS framework for easily adding drawings and text to images. ### Hardware ##### Bluetooth From 6fd3e53b58805292591e21a96137b4d18488697a Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 3 Aug 2016 08:21:47 -0700 Subject: [PATCH 0175/2606] [template] minor edit [ci skip] --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index edc087997..1c365513d 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -11,7 +11,7 @@ - [ ] Only one project is in this pull request - [ ] Addition in chronological order (bottom of category) -- [ ] `Travis CI` pass - [ ] Supports iOS 7 or later - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English +- [ ] `Travis CI` pass From 5e05ca60d0dc6dee43f2895681df4eb2eb73eab3 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 3 Aug 2016 09:46:44 -0700 Subject: [PATCH 0176/2606] Move OCLint to Linter, remove SwiftLint dupe [ci skip] --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 783a8ce5f..ef2aa4dc5 100644 --- a/README.md +++ b/README.md @@ -264,9 +264,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PSPDFUIKitMainThreadGuard](https://gist.github.com/steipete/5664345) - Simple snippet generating assertions when UIKit is used on background threads. * [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. * [chisel](https://github.com/facebook/chisel) - Collection of LLDB commands to assist debugging iOS apps. -* [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. * [ocstyle](https://github.com/Cue/ocstyle) - Objective-C style checker. -* [SwiftLint](https://github.com/realm/SwiftLint) - An experimental tool to enforce Swift style and conventions. :large_orange_diamond: * [spacecommander](https://github.com/square/spacecommander) - Commit fully-formatted Objective-C code as a team without even trying. * [DWURecyclingAlert](https://github.com/diwu/DWURecyclingAlert) - Optimizing UITableViewCell For Fast Scrolling. * [Tailor](https://github.com/sleekbyte/tailor) - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs. @@ -279,8 +277,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Buglife](https://github.com/Buglife/Buglife-iOS) - Awesome bug reporting for iOS apps ##### Linter +* [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. :large_orange_diamond: -* [Swiftlint](https://github.com/realm/swiftlint) - A tool to enforce Swift style and conventions. :large_orange_diamond: +* [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. :large_orange_diamond: ### Color * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: From 6f87379eeec1c402945d596a8fcaeca5af5b1945 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 3 Aug 2016 11:01:47 -0700 Subject: [PATCH 0177/2606] Update Dangerfile [ci skip] --- Dangerfile | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/Dangerfile b/Dangerfile index 86379315e..26cd52bfe 100644 --- a/Dangerfile +++ b/Dangerfile @@ -12,30 +12,9 @@ warn 'Please update the Pull Request title' if github.pr_title.include? 'Update # Check links require 'json' -results = File.read 'ab-results-README.md-filtered.json' +results = File.read 'ab-results-README.md-markdown-table.json' j = JSON.parse results -if j.count>0 - fail 'Found links issues' - message = "#### Link issues by [`awesome_bot`](https://github.com/dkhamsing/awesome_bot)\n\n" - message << " Line | Status | Link\n" - message << "| ---: | :----: | --- |\n" - - j.sort_by { |h| h['loc'] }.each do |i| - error = i['error'] - loc = i['loc'] - link = i['link'] - s = i['status'] - r = i['redirect'] - - if error=='Dupe' - message << "#{loc} | Dupe | #{link} " - else - message << "#{loc} | [#{s}](https://httpstatuses.com/#{s}) | #{link} " - message << "
#{error}" unless error =='' - message << "redirects to
#{r}" unless r=='' - end - message << "\n" - end - - markdown message +if j['error']==true + fail j['title'] + markdown j['message'] end From c6c1337c8a3def91e4669d494cbf0094191c253a Mon Sep 17 00:00:00 2001 From: Giovannini Barbosa Date: Wed, 3 Aug 2016 18:00:08 -0300 Subject: [PATCH 0178/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef2aa4dc5..ec0ce2add 100644 --- a/README.md +++ b/README.md @@ -1144,6 +1144,7 @@ Most of these are paid services, some have free tiers. * [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift :large_orange_diamond: * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS * [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. +* [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. :large_orange_diamond: ##### Activity Indicator From b43b574518b78fcc593ab3bce1a2bf70aed57a17 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 3 Aug 2016 18:09:25 -0300 Subject: [PATCH 0179/2606] Updated vapor's urls --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ec0ce2add..b7b14dc54 100644 --- a/README.md +++ b/README.md @@ -369,7 +369,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. :large_orange_diamond: * [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift :large_orange_diamond: * [SwiftData](https://github.com/ryanfowler/SwiftData) - Simple and Effective SQLite Handling in Swift :large_orange_diamond: -* [Fluent](https://github.com/qutheory/fluent) - Simple ActiveRecord implementation for working with your database in Swift. :large_orange_diamond: +* [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. :large_orange_diamond: * [RealmIncrementalStore](https://github.com/eure/RealmIncrementalStore) - Realm-powered Core Data persistent store. :large_orange_diamond: * [Palau](https://github.com/symentis/Palau) - NSUserDefaults with Wings! Custom Validation, Swift Generics. :large_orange_diamond: * [ParseAlternatives](https://github.com/relatedcode/ParseAlternatives) - A collaborative list of Parse alternative backend service providers. @@ -1611,7 +1611,7 @@ Most of these are paid services, some have free tiers. * [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for Mac OS X or iOS applications. * [Curassow](https://github.com/kylef/Curassow) - Swift HTTP server using the pre-fork worker model. :large_orange_diamond: * [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux :large_orange_diamond: -* [Vapor](https://github.com/qutheory/vapor) - Elegant web framework for Swift that works on iOS, OS X, and Ubuntu. :large_orange_diamond: +* [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, OS X, and Ubuntu. :large_orange_diamond: * [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift :large_orange_diamond: * [blackfish](https://github.com/elliottminns/blackfish) - A fast HTTP web server based on Node.js and Express written in Swift :large_orange_diamond: * [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and Mac OS X :large_orange_diamond: From 6c6f249f0a4607306ca07aec33c029431eb81237 Mon Sep 17 00:00:00 2001 From: Bowen Yuan Date: Thu, 4 Aug 2016 11:06:08 +0800 Subject: [PATCH 0180/2606] Add Postal --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b7b14dc54..bbf495289 100644 --- a/README.md +++ b/README.md @@ -783,6 +783,7 @@ Also see [push notifications](#push-notifications) #### Email * [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. +* [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. :large_orange_diamond: ### Push Notifications * [Orbiter](https://github.com/mattt/Orbiter) - Push Notification Registration for iOS. From 75683c54aaa109ac352791e307648312d2d73d6c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 4 Aug 2016 16:32:52 -0300 Subject: [PATCH 0181/2606] Added Sapporo by @nghialv --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bbf495289..24143889a 100644 --- a/README.md +++ b/README.md @@ -1469,6 +1469,7 @@ Most of these are paid services, some have free tiers. * [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells :large_orange_diamond: * [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. * [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). +* [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager :large_orange_diamond: ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 6b13bf92b8b62d1621e0353ac8681b7a92d63bb9 Mon Sep 17 00:00:00 2001 From: Bowen Yuan Date: Fri, 5 Aug 2016 10:11:10 +0800 Subject: [PATCH 0182/2606] Add ColorMatchTabs by @Yalantis --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 24143889a..56ae024e4 100644 --- a/README.md +++ b/README.md @@ -1436,6 +1436,7 @@ Most of these are paid services, some have free tiers. * [TabPageViewController](https://github.com/EndouMari/TabPageViewController) - Paging view controller and scroll tab view. 🔶 * [TabDrawer](https://github.com/winslowdibona/TabDrawer) - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift 🔶 * [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers :large_orange_diamond: +* [ColorMatchTabs](https://github.com/Yalantis/ColorMatchTabs) - Interesting way to display tabs :large_orange_diamond: ##### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From 600e6891d76bea1b2887939a4b881ce26d49bd22 Mon Sep 17 00:00:00 2001 From: Felix Krause Date: Thu, 4 Aug 2016 22:16:06 -0700 Subject: [PATCH 0183/2606] Update Dangerfile to provide a better error message (#1008) --- Dangerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dangerfile b/Dangerfile index 26cd52bfe..288f41d5a 100644 --- a/Dangerfile +++ b/Dangerfile @@ -8,7 +8,7 @@ warn 'Please rebase to get rid of the merge commits in this Pull Request' if git warn 'Please only add one library per Pull Request' if git.lines_of_code > 1 # Warn if pull request is not updated -warn 'Please update the Pull Request title' if github.pr_title.include? 'Update README.md' +warn 'Please update the Pull Request title to contain the library name' if github.pr_title.include? 'Update README.md' # Check links require 'json' From e3beecc1f9fd27c882ea1603a1ceaf69b38f2969 Mon Sep 17 00:00:00 2001 From: Serhii Butenko Date: Fri, 5 Aug 2016 13:35:39 +0300 Subject: [PATCH 0184/2606] Add UnboxedAlamofire --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 24143889a..0f6d80411 100644 --- a/README.md +++ b/README.md @@ -779,6 +779,7 @@ Also see [push notifications](#push-notifications) * [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working) :large_orange_diamond: * [Malibu](https://github.com/hyperoslo/Malibu) - Networking library built on promises :large_orange_diamond: * [YTKNetwork](https://github.com/yuantiku/YTKNetwork) - YTKNetwork is a high level request util based on AFNetworking. +* [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. :large_orange_diamond: #### Email From 92948536aabc791dd8b019c620afbd791f40b6fb Mon Sep 17 00:00:00 2001 From: Florian Wartner Date: Fri, 5 Aug 2016 13:19:09 +0200 Subject: [PATCH 0185/2606] Added pusher.com Pusher now allows users to set up push-notifications. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 24143889a..49fc2bcf8 100644 --- a/README.md +++ b/README.md @@ -808,7 +808,8 @@ Most of these are paid services, some have free tiers. * [OneSignal](https://www.onesignal.com) - Free. * [PushBots](https://pushbots.com/) * [Pushwoosh](https://www.pushwoosh.com) -* [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. +* [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. +* [Pusher](https://pusher.com) ### Parsing From 9f306f0fb85b4f7925cff009976eb9619a92d9b9 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 5 Aug 2016 06:34:50 -0700 Subject: [PATCH 0186/2606] [danger] Improve one library error message #1008 [ci skip] --- Dangerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dangerfile b/Dangerfile index 288f41d5a..faaa64d6b 100644 --- a/Dangerfile +++ b/Dangerfile @@ -5,7 +5,7 @@ fail 'Please provide a summary in the Pull Request description' if github.pr_bod warn 'Please rebase to get rid of the merge commits in this Pull Request' if git.commits.any? { |c| c.message =~ /^Merge branch 'master'/ } # Only one library per pull request -warn 'Please only add one library per Pull Request' if git.lines_of_code > 1 +warn 'Too many changes (when adding, please keep it to one project per Pull Request)' if git.lines_of_code > 1 # Warn if pull request is not updated warn 'Please update the Pull Request title to contain the library name' if github.pr_title.include? 'Update README.md' From c3b34572f491a95791fdc8c9465bd492ed206366 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 5 Aug 2016 08:21:26 -0700 Subject: [PATCH 0187/2606] [template] remove travis [ci skip] this is redundant considering ci status on pulls --- .github/PULL_REQUEST_TEMPLATE.md | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1c365513d..539c7dad6 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -14,4 +14,3 @@ - [ ] Supports iOS 7 or later - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English -- [ ] `Travis CI` pass From a597a010a7141580fdaaedae78987e8b4910a676 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 5 Aug 2016 08:21:41 -0700 Subject: [PATCH 0188/2606] [template] improve [ci skip] --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 539c7dad6..deeda4339 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -9,7 +9,7 @@ ## Checklist -- [ ] Only one project is in this pull request +- [ ] Only one project/change is in this pull request - [ ] Addition in chronological order (bottom of category) - [ ] Supports iOS 7 or later - [ ] Has a commit from less than 2 years ago From 0b5247c4c9bb3746362102e0ec6e3c87736e36b5 Mon Sep 17 00:00:00 2001 From: Aashish Tamsya Date: Sat, 6 Aug 2016 12:19:32 +0530 Subject: [PATCH 0189/2606] Added Gitignore Templates Repo Under Other Xcode Resources --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d9b5fe2e1..877317c04 100644 --- a/README.md +++ b/README.md @@ -1882,6 +1882,7 @@ Most of these are paid services, some have free tiers. ### Other Xcode +* [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. * [awesome-xcode-scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts 📝. * [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. * [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) From b515b04ac27b1700b76f45b2e773f340cf2759f4 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 6 Aug 2016 19:55:43 -0300 Subject: [PATCH 0190/2606] Added Blurable by @FlexMonkey --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e5a2256ba..2895ef554 100644 --- a/README.md +++ b/README.md @@ -1148,6 +1148,7 @@ Most of these are paid services, some have free tiers. * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS * [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. * [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. :large_orange_diamond: +* [Blurable](https://github.com/FlexMonkey/Blurable) - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions :large_orange_diamond: ##### Activity Indicator From ee96d6264703f4593f4f7e018b2e7d80a97a068c Mon Sep 17 00:00:00 2001 From: Mukesh Thawani Date: Sun, 7 Aug 2016 12:51:06 +0530 Subject: [PATCH 0191/2606] Add trilabelview --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2895ef554..7fb9ab762 100644 --- a/README.md +++ b/README.md @@ -1302,6 +1302,7 @@ Most of these are paid services, some have free tiers. * [THLabel](https://github.com/tobihagemann/THLabel) - UILabel subclass, which additionally allows shadow blur, inner shadow, stroke text and fill gradient. * [RQShineLabel](https://github.com/zipme/RQShineLabel) - Secret app like text animation * [ZCAnimatedLabel](https://github.com/overboming/ZCAnimatedLabel) - UILabel replacement with fine-grain appear/disappear animation +* [TriLabelView](https://github.com/mukeshthawani/TriLabelView) - A triangle shaped corner label view for iOS written in Swift. :large_orange_diamond: ##### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: From dc5bfb0a9cd1d282426ef2142c6104f68e1ae1ff Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 7 Aug 2016 08:24:34 -0700 Subject: [PATCH 0192/2606] Add PSPDFKit (#1016) Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. https://pspdfkit.com --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2895ef554..329223871 100644 --- a/README.md +++ b/README.md @@ -712,6 +712,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PDFGenerator](https://github.com/sgr-ksmt/PDFGenerator) - A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s). :large_orange_diamond: * [SimplePDF](https://github.com/nRewik/SimplePDF) - Create a simple PDF effortlessly. :large_orange_diamond: * [SwiftPDFGenerator](https://github.com/kayoslab/SwiftPDFGenerator) - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'. :large_orange_diamond: +* [PSPDFKit](https://pspdfkit.com/) - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. ### Messaging From 3790938734b5a24ab51b5c3336fcbfb5e35fdff6 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Sun, 7 Aug 2016 09:05:13 -0700 Subject: [PATCH 0193/2606] Update README URLs based on HTTP redirects (#1017) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 329223871..0b35da1c9 100644 --- a/README.md +++ b/README.md @@ -412,7 +412,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Bolts](https://github.com/BoltsFramework/Bolts-ObjC) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links). * [SwiftTask](https://github.com/ReactKit/SwiftTask) - Promise + progress + pause + cancel + retry for Swift. :large_orange_diamond: * [When](https://github.com/vadymmarkov/When) - A lightweight implementation of Promises in Swift. :large_orange_diamond: -* [then🎬](https://github.com/s4cha/then) - Elegant Async code in Swift. :large_orange_diamond: +* [then🎬](https://github.com/freshOS/then) - Elegant Async code in Swift. :large_orange_diamond: * [Bolts-Swift](https://github.com/BoltsFramework/Bolts-Swift) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier. :large_orange_diamond: * [RWPromiseKit](https://github.com/deput/RWPromiseKit) - A light-weighted Promise library for Objective-C * [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. :large_orange_diamond: @@ -772,7 +772,7 @@ Also see [push notifications](#push-notifications) * [MonkeyKing](https://github.com/nixzhu/MonkeyKing) - MonkeyKing helps you post messages to Chinese Social Networks. :large_orange_diamond: * [NetworkKit](https://github.com/imex94/NetworkKit) - Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS. :large_orange_diamond: * [APIKit](https://github.com/ishkawa/APIKit) - A networking library for building type safe web API client in Swift. :large_orange_diamond: -* [ws ☁️](https://github.com/s4cha/ws) - Elegant JSON WebService in Swift.:large_orange_diamond: +* [ws ☁️](https://github.com/freshOS/ws) - Elegant JSON WebService in Swift.:large_orange_diamond: * [SPTDataLoader](https://github.com/spotify/SPTDataLoader) - The HTTP library used by the Spotify iOS client :large_orange_diamond: * [SWNetworking](https://github.com/skywite/SWNetworking) - Powerful high-level iOS, OS X and tvOS networking library. * [Networking](https://github.com/3lvis/Networking) - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support :large_orange_diamond: @@ -846,7 +846,7 @@ Most of these are paid services, some have free tiers. * [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/OSX. * [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON :large_orange_diamond: * [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder :large_orange_diamond: -* [Arrow 🏹](https://github.com/s4cha/Arrow) - Elegant JSON Parsing in Swift. :large_orange_diamond: +* [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. :large_orange_diamond: * [Decodable](https://github.com/Anviking/Decodable) - Swift 2 JSON parsing done (more) right :large_orange_diamond: * [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 2.0 (Supports Linux) :large_orange_diamond: * [Tyro](https://github.com/typelift/Tyro) - Functional JSON parsing and encoding :large_orange_diamond: From 11e8319566819b18000f7b3ab27b1e0fc773bb4b Mon Sep 17 00:00:00 2001 From: Aashish Tamsya Date: Sun, 7 Aug 2016 23:34:55 +0530 Subject: [PATCH 0194/2606] Added Gitignore Templates --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f6f885d0c..0ac4c64c3 100644 --- a/README.md +++ b/README.md @@ -1887,11 +1887,11 @@ Most of these are paid services, some have free tiers. ### Other Xcode -* [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. * [awesome-xcode-scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts 📝. * [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. * [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) * [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator +* [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. # Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: From b999319073b684cf30167f3425eb2838c6077bf4 Mon Sep 17 00:00:00 2001 From: Aashish Tamsya Date: Sun, 7 Aug 2016 23:36:24 +0530 Subject: [PATCH 0195/2606] Added Gitignore Templates Under Other Xcode Section (#1012) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0b35da1c9..0ac4c64c3 100644 --- a/README.md +++ b/README.md @@ -1891,6 +1891,7 @@ Most of these are paid services, some have free tiers. * [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. * [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) * [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator +* [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. # Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: @@ -2052,4 +2053,4 @@ Other amazingly awesome lists can be found in the [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) # License -Distributed under the MIT license. See LICENSE for more information. +Distributed under the MIT license. See LICENSE for more information. \ No newline at end of file From 286654834fd1f981328e1e67dab77b4c29be4bbf Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 7 Aug 2016 15:37:17 -0300 Subject: [PATCH 0196/2606] Added BusyNavigationBar by @gmertk --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b3388e100..691b93e85 100644 --- a/README.md +++ b/README.md @@ -1360,6 +1360,7 @@ Most of these are paid services, some have free tiers. * [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! * [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. * [LTNavigationBar](https://github.com/ltebean/LTNavigationBar) - UINavigationBar Category which allows you to change its appearance dynamically +* [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects :large_orange_diamond: ##### Popup * [KLCPopup](https://github.com/jmascia/KLCPopup) - A simple and flexible class for presenting custom views as a popup in iOS. @@ -2054,4 +2055,4 @@ Other amazingly awesome lists can be found in the [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) # License -Distributed under the MIT license. See LICENSE for more information. \ No newline at end of file +Distributed under the MIT license. See LICENSE for more information. From 1fb2dc5cf939ab4df6925f2999fce08d4c706c37 Mon Sep 17 00:00:00 2001 From: jayios Date: Mon, 8 Aug 2016 10:55:27 +0900 Subject: [PATCH 0197/2606] add CuckooAlert --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 691b93e85..9c286e7a1 100644 --- a/README.md +++ b/README.md @@ -1229,6 +1229,7 @@ Most of these are paid services, some have free tiers. * [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. 🔶 * [CRToast](https://github.com/cruffenach/CRToast) - A modern iOS toast view that can fit your notification needs * [JLToast](https://github.com/devxoul/JLToast) - Toast for iOS with very simple interface. :large_orange_diamond: +* [CuckooAlert](https://github.com/singcodes/CuckooAlert) - Multiple use of presentViewController for UIAlertController. 🔶 ##### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. From 6fc417434fb7418c7ca742db851f7032e0c05fe4 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 8 Aug 2016 09:04:57 -0300 Subject: [PATCH 0198/2606] Added AIFlatSwitch by @cocoatoucher --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9c286e7a1..276d39c03 100644 --- a/README.md +++ b/README.md @@ -1430,6 +1430,7 @@ Most of these are paid services, some have free tiers. * [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: * [LUNSegmentedControl](https://github.com/LunApps/LUNSegmentedControl) - Customizable segmented control with interactive animation. * [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS +* [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS :large_orange_diamond: ##### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From 860faedec6e594c318beb5dc761f72c9d42574e4 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 9 Aug 2016 23:59:41 -0300 Subject: [PATCH 0199/2606] Added AlamofireObjectMapper by @tristanhimmelman --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 276d39c03..7a6243eb9 100644 --- a/README.md +++ b/README.md @@ -856,6 +856,7 @@ Most of these are paid services, some have free tiers. * [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. :large_orange_diamond: * [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. :large_orange_diamond: * [MJExtension](https://github.com/CoderMJLee/MJExtension) - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file. +* [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper :large_orange_diamond: ##### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From 82992f5466c1f088f5cd98a014853420c450ec21 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 10 Aug 2016 11:43:48 -0300 Subject: [PATCH 0200/2606] Added Paypal to Payments --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7a6243eb9..baa3a4f9a 100644 --- a/README.md +++ b/README.md @@ -901,6 +901,7 @@ Most of these are paid services, some have free tiers. * [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework :large_orange_diamond: * [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions * [EasyIAPs](https://github.com/alvinvarghese/EasyIAPs) - An easy way to manage In App Purchases +* [PayPal](https://github.com/paypal/PayPal-iOS-SDK) - Accept payments in your iOS app via PayPal. ### Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. From 381cc3db7ce8cc7bb1fc52c7825d87d274da6840 Mon Sep 17 00:00:00 2001 From: Antonio Zaitoun Date: Thu, 11 Aug 2016 12:39:44 +0300 Subject: [PATCH 0201/2606] Added EasyNotificationBadge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index baa3a4f9a..be13bc89f 100644 --- a/README.md +++ b/README.md @@ -1094,6 +1094,7 @@ Most of these are paid services, some have free tiers. * [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. :large_orange_diamond: * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: +* [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: * [SCNavigationControlCenter](https://github.com/SergioChan/SCNavigationControlCenter) - This is an advanced navigation control center on iOS that can allow you to navigate to whichever view controller you want * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. From 06842731fd22919508cc09671b040824dc8727b2 Mon Sep 17 00:00:00 2001 From: Antonio Zaitoun Date: Thu, 11 Aug 2016 20:26:27 +0300 Subject: [PATCH 0202/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index be13bc89f..71963ca79 100644 --- a/README.md +++ b/README.md @@ -1094,7 +1094,6 @@ Most of these are paid services, some have free tiers. * [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. :large_orange_diamond: * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: -* [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: * [SCNavigationControlCenter](https://github.com/SergioChan/SCNavigationControlCenter) - This is an advanced navigation control center on iOS that can allow you to navigate to whichever view controller you want * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. @@ -1153,6 +1152,7 @@ Most of these are paid services, some have free tiers. * [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. * [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. :large_orange_diamond: * [Blurable](https://github.com/FlexMonkey/Blurable) - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions :large_orange_diamond: +* [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] ##### Activity Indicator From 526172070b1e748610abca52a91bf937e3c8f8de Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 11 Aug 2016 10:28:16 -0700 Subject: [PATCH 0203/2606] Added PayPal-iOS-SDK to allowed dupes on travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 0ea63cecf..bb883ed95 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ before_script: - gem install awesome_bot - gem install danger script: - - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer + - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK - allowed_redirects=growthpush,awesomelinkcounter - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger From b3707a913774aae3189b4175bd9caeadbf798f9a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 11 Aug 2016 11:17:56 -0700 Subject: [PATCH 0204/2606] Added SwiftyAvatar by @dkalaitzidis fixes #1019 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 71963ca79..151f161d5 100644 --- a/README.md +++ b/README.md @@ -685,6 +685,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: * [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter :large_orange_diamond: * [AspectFillFaceAware](https://github.com/BeauNouvelle/AspectFillFaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. :large_orange_diamond: +* [SwiftyAvatar](https://github.com/dkalaitzidis/SwiftyAvatar) - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard ##### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From e4cdc4d065353c8b0926be8ed3199125640965ea Mon Sep 17 00:00:00 2001 From: Oleg Date: Fri, 12 Aug 2016 11:48:25 +0300 Subject: [PATCH 0205/2606] Add OHMySQL ## Project URL https://github.com/oleghnidets/OHMySQL ## Description An Objective-C wrapper of MySQL C API. ## Checklist - [x] Only one project/change is in this pull request - [x] Addition in chronological order (bottom of category) - [x] Supports iOS 8 or later - [x] Has a commit from less than 2 years ago - [x] Has a **clear** README in English --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 151f161d5..6480a8d95 100644 --- a/README.md +++ b/README.md @@ -379,6 +379,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RealmGeoQueries](https://github.com/mhergon/RealmGeoQueries) - RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do proximity search. :large_orange_diamond:[e] * [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift :large_orange_diamond: * [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. +* [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. ### Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: From e0c503110eb324ac20698a2eb2d3062320b10356 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 12 Aug 2016 01:49:36 -0700 Subject: [PATCH 0206/2606] Added WebViewJavascriptBridge fixes #998 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 151f161d5..eae748b7b 100644 --- a/README.md +++ b/README.md @@ -244,6 +244,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ### Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac, all using the Ruby language. * [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. +* [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/OSX bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews ### Cache * [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache :large_orange_diamond: From e74efce870682a05469251ff3ea05e4638293dbb Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 12 Aug 2016 02:31:53 -0700 Subject: [PATCH 0207/2606] Added Buildasaur by @czechboy0 fixes #988 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eae748b7b..bbab390fd 100644 --- a/README.md +++ b/README.md @@ -1701,6 +1701,7 @@ Most of these are paid services, some have free tiers. * [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps :large_orange_diamond: * [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 * [trainer](https://github.com/KrauseFx/trainer) - Convert xcodebuild plist files to JUnit reports +* [Buildasaur](https://github.com/czechboy0/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur :large_orange_diamond: # Tools * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: From 7d7628cfd3cd27a8d4a35caa1fd6854f7f62f2a6 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 12 Aug 2016 08:50:00 -0700 Subject: [PATCH 0208/2606] [danger] look at insertions in "too many changes" warning #1021 [ci skip] --- Dangerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dangerfile b/Dangerfile index faaa64d6b..7dd607a00 100644 --- a/Dangerfile +++ b/Dangerfile @@ -5,7 +5,7 @@ fail 'Please provide a summary in the Pull Request description' if github.pr_bod warn 'Please rebase to get rid of the merge commits in this Pull Request' if git.commits.any? { |c| c.message =~ /^Merge branch 'master'/ } # Only one library per pull request -warn 'Too many changes (when adding, please keep it to one project per Pull Request)' if git.lines_of_code > 1 +warn 'Too many changes (when adding, please keep it to one project per Pull Request)' if git.insertions > 1 # Warn if pull request is not updated warn 'Please update the Pull Request title to contain the library name' if github.pr_title.include? 'Update README.md' From b6da5fca333e28da4671da20fbb13ec7709af1f0 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 12 Aug 2016 13:04:00 -0700 Subject: [PATCH 0209/2606] Updated SwiftySideMenu description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a3988d28..a37244ad2 100644 --- a/README.md +++ b/README.md @@ -1322,7 +1322,7 @@ Most of these are paid services, some have free tiers. * [VLDContextSheet](https://github.com/vangelov/VLDContextSheet) - Context menu similar to the one in the Pinterest iOS app * [GuillotineMenu](https://github.com/Yalantis/GuillotineMenu) - Guillotine (Drop down) transitioning animation menu :large_orange_diamond: * [MediumMenu](https://github.com/pixyzehn/MediumMenu) - A menu based on Medium iOS app. :large_orange_diamond: -* [SwiftySideMenu](https://github.com/hossamghareeb/SwiftySideMenu) - a lightweight, fully customizable side menu for iOS inspired from [TimeLine app](https://itunes.apple.com/us/app/timeline-news-in-context/id948867534?mt=8&ign-mpt=uo%3D4). Built with spring animations using Facebook Pop. +* [SwiftySideMenu](https://github.com/hossamghareeb/SwiftySideMenu) - SwiftySideMenu is a lightweight and easy to use side menu controller to add left menu and center view controllers with scale animation based on Pop framework. * [LLSlideMenu](https://github.com/lilei644/LLSlideMenu) - This is a spring slide menu for iOS apps * [Swift-Slide-Menu](https://github.com/PhilippeBoisney/Swift-Slide-Menu) - A Slide Menu, written in Swift, inspired by Slide Menu Material Design. :large_orange_diamond: * [MenuItemKit](https://github.com/cxa/MenuItemKit) - UIMenuItem with image and block(closure) :large_orange_diamond: From 8f39c267246e4e6c79f4372a8602cae6145b0b97 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 12 Aug 2016 16:18:02 -0700 Subject: [PATCH 0210/2606] Added faunadb-swift by @faunadb --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a37244ad2..49c80bec9 100644 --- a/README.md +++ b/README.md @@ -381,6 +381,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift :large_orange_diamond: * [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. * [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. +* [faunadb-swift](https://github.com/faunadb/faunadb-swift) - Swift client for FaunaDB :large_orange_diamond: ### Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: From 2c8ed9643c8ea8bcea719e7ad05a3ed6b7cca5ec Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 12 Aug 2016 16:23:50 -0700 Subject: [PATCH 0211/2606] Added EZYGradientView by @shashankpali --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 49c80bec9..6e7eb448b 100644 --- a/README.md +++ b/README.md @@ -1157,6 +1157,7 @@ Most of these are paid services, some have free tiers. * [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. :large_orange_diamond: * [Blurable](https://github.com/FlexMonkey/Blurable) - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions :large_orange_diamond: * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] +* [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code :large_orange_diamond: ##### Activity Indicator From 83889b3a35752fe761cbc736006647d632063dd8 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 12 Aug 2016 16:26:19 -0700 Subject: [PATCH 0212/2606] Added IBLocalizable by @PiXeL16 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6e7eb448b..2cec7c095 100644 --- a/README.md +++ b/README.md @@ -549,6 +549,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. * [lokalise](https://lokalise.co/en ) - Translation platform for software developers. Free for open source projects * [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. +* [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable :large_orange_diamond: ### Logging * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: From a999434e0dc08ff0d0a4ac2df146cccb8604ee97 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 12 Aug 2016 16:28:21 -0700 Subject: [PATCH 0213/2606] Added Kakapo by @devlucky --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2cec7c095..2edfa76bb 100644 --- a/README.md +++ b/README.md @@ -1706,6 +1706,7 @@ Most of these are paid services, some have free tiers. * [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 * [trainer](https://github.com/KrauseFx/trainer) - Convert xcodebuild plist files to JUnit reports * [Buildasaur](https://github.com/czechboy0/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur :large_orange_diamond: +* [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift :large_orange_diamond: # Tools * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: From 6577ecf6aea906e672c171acf0a08dd6c2b58279 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 12 Aug 2016 16:30:46 -0700 Subject: [PATCH 0214/2606] Added SwiftKeychainWrapper by @jrendel --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2edfa76bb..1c0d85451 100644 --- a/README.md +++ b/README.md @@ -976,6 +976,7 @@ Most of these are paid services, some have free tiers. * [Keychain](https://github.com/hyperoslo/Keychain) - Because you should care... about the security... of your shit. :large_orange_diamond: * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. * [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. +* [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. Written in Swift. :large_orange_diamond: ### Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From a253fa0bfb78971246eb7648a2516a198536ce6a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 12 Aug 2016 16:36:12 -0700 Subject: [PATCH 0215/2606] Added Regex by @brynbellomy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1c0d85451..15af27511 100644 --- a/README.md +++ b/README.md @@ -944,6 +944,7 @@ Most of these are paid services, some have free tiers. * [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like regex =~ operator for Swift :large_orange_diamond: * [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way :large_orange_diamond: * [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift :large_orange_diamond: +* [Regex](https://github.com/brynbellomy/Regex) - Regex class for Swift. Wraps NSRegularExpression. :large_orange_diamond: ### Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From b01c583c61caaf9c3311f606104df3e81e397cc7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 12 Aug 2016 16:37:48 -0700 Subject: [PATCH 0216/2606] Added PasswordTextField by @PiXeL16 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 15af27511..38ba6ce5b 100644 --- a/README.md +++ b/README.md @@ -1526,6 +1526,7 @@ Most of these are paid services, some have free tiers. * [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield :large_orange_diamond: * [EmojiTextView](https://github.com/fastred/EmojiTextView) - Tap to swap out words with emojis. Inspired by Messages.app on iOS 10. :large_orange_diamond: * [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. :large_orange_diamond: +* [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies :large_orange_diamond: ### Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. From a8389adad5b482856b70b5e12c0dbc28561314a2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 08:48:18 -0700 Subject: [PATCH 0217/2606] Added KRAlertController by @krimpedance --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 38ba6ce5b..97137711c 100644 --- a/README.md +++ b/README.md @@ -1241,6 +1241,7 @@ Most of these are paid services, some have free tiers. * [CRToast](https://github.com/cruffenach/CRToast) - A modern iOS toast view that can fit your notification needs * [JLToast](https://github.com/devxoul/JLToast) - Toast for iOS with very simple interface. :large_orange_diamond: * [CuckooAlert](https://github.com/singcodes/CuckooAlert) - Multiple use of presentViewController for UIAlertController. 🔶 +* [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. :large_orange_diamond: ##### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. From 54faf54ed483b37e039f4ea79a98e98d73438cda Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 08:50:05 -0700 Subject: [PATCH 0218/2606] Added TKRadarChart by @TBXark --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 97137711c..b90464374 100644 --- a/README.md +++ b/README.md @@ -332,6 +332,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generater for iOS. :large_orange_diamond: * [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS!. * [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. +* [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift :large_orange_diamond: ### Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From 10c0ee5af79bb3a386ddb0e54a029662f3734924 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 08:52:00 -0700 Subject: [PATCH 0219/2606] Added PullToRefreshSwift by @dekatotoro --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b90464374..e6aafe617 100644 --- a/README.md +++ b/README.md @@ -1401,6 +1401,7 @@ Most of these are paid services, some have free tiers. * [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. :large_orange_diamond: * [MJRefresh](https://github.com/CoderMJLee/MJRefresh) An easy way to use pull-to-refresh. * [HTPullToRefresh](https://github.com/hoang-tran/HTPullToRefresh) - Easily add vertical and horizontal pull to refresh to any UIScrollView. Can also add multiple pull-to-refesh views at once. +* [PullToRefreshSwift](https://github.com/dekatotoro/PullToRefreshSwift) - iOS Simple Cool PullToRefresh Library. It is written in pure swift. :large_orange_diamond: ##### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From 4ed8b8e791311b10ad3ea37012504a7252c6015e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 17:59:18 -0700 Subject: [PATCH 0220/2606] Added Under the Radar podcast --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e6aafe617..03e41ddac 100644 --- a/README.md +++ b/README.md @@ -2043,6 +2043,7 @@ Most of these are paid services, some have free tiers. * [Mobile Couch](http://mobilecouch.co/) * [iOS Bytes](https://iosbytes.codeschool.com/) * [iPhreaks](https://devchat.tv/iphreaks) +* [Under the Radar](https://www.relay.fm/radar) # Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: From 1c604f710c36b5333c2640f5610f3b712cb62c46 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 18:00:21 -0700 Subject: [PATCH 0221/2606] Added Erik by @phimage --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 03e41ddac..e07a246f1 100644 --- a/README.md +++ b/README.md @@ -878,6 +878,7 @@ Most of these are paid services, some have free tiers. * [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: * [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: [e] * [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift :large_orange_diamond: +* [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. :large_orange_diamond: ### Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. From 504b971ac313f61c717882f43a996f2e0a04f5ae Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 18:01:13 -0700 Subject: [PATCH 0222/2606] Added JSQCoreDataKit by @jessesquires --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e07a246f1..9db70d143 100644 --- a/README.md +++ b/README.md @@ -354,6 +354,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. :large_orange_diamond: * [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. :large_orange_diamond: * [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack :large_orange_diamond: +* [JSQCoreDataKit](https://github.com/jessesquires/JSQCoreDataKit) - A swifter Core Data stack :large_orange_diamond: ### Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. From b99715e733fac63f50a07a9f22000f28132ca50c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 18:02:46 -0700 Subject: [PATCH 0223/2606] Added XLFacility by @swisspol --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9db70d143..3d2c750ff 100644 --- a/README.md +++ b/README.md @@ -582,6 +582,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. * [LxDBAnything](https://github.com/DeveloperLx/LxDBAnything) - Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! * [XLTestLog](https://github.com/xareelee/XLTestLog) - Styling and coloring your XCTest logs on Xcode Console +* [XLFacility](https://github.com/swisspol/XLFacility) - Elegant and extensive logging facility for OS X & iOS (includes database, Telnet and HTTP servers) ### Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From 6f0927c35728b4490a81fbbe537968c93a2edd36 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 18:18:55 -0700 Subject: [PATCH 0224/2606] Added BATabBarController by @antiguab --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3d2c750ff..715a2cdab 100644 --- a/README.md +++ b/README.md @@ -1496,6 +1496,7 @@ Most of these are paid services, some have free tiers. * [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. * [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). * [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager :large_orange_diamond: +* [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 5f833b98eac8e4c35ebc0849ccf8fa9f71354565 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 18:22:19 -0700 Subject: [PATCH 0225/2606] Added SWXMLHash by @drmohundro --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 715a2cdab..f92f4fb16 100644 --- a/README.md +++ b/README.md @@ -875,6 +875,7 @@ Most of these are paid services, some have free tiers. * [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for MacOSX/iOS. :large_orange_diamond: * [SwiftyXMLParer](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. +* [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift :large_orange_diamond: ##### Other Parsing * [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: From f7dfc24b3d64a6812497432f92020013a4c68aff Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 18:47:47 -0700 Subject: [PATCH 0226/2606] Added JTMaterialTransition by @jonathantribouharet --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f92f4fb16..26c21334d 100644 --- a/README.md +++ b/README.md @@ -1372,6 +1372,7 @@ Most of these are paid services, some have free tiers. * [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller * [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. :large_orange_diamond: * [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view heirarchy. Used extensively in the Zola iOS application. +* [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. ##### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From afd9a57e38bd44ea188648649e38c585360e7928 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 19:26:41 -0700 Subject: [PATCH 0227/2606] Added FrostedSidebar by @edekhayser --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 26c21334d..1837cd7e3 100644 --- a/README.md +++ b/README.md @@ -1360,6 +1360,7 @@ Most of these are paid services, some have free tiers. * [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift :large_orange_diamond: * [Context-Menu.iOS](https://github.com/Yalantis/Context-Menu.iOS) - You can easily add awesome animated context menu to your app. * [ViewDeck](https://github.com/ViewDeck/ViewDeck) - An implementation of the sliding functionality found in the Path 2.0 or Facebook iOS apps. +* [FrostedSidebar](https://github.com/edekhayser/FrostedSidebar) - Hamburger Menu using Swift and iOS 8 API's :large_orange_diamond: ##### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 3260cc99be44d94c8da81c84bcbd10529f8f3d67 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 19:43:16 -0700 Subject: [PATCH 0228/2606] Added DKNightVersion by @Draveness --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1837cd7e3..0d80ffd22 100644 --- a/README.md +++ b/README.md @@ -297,6 +297,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. :large_orange_diamond: * [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) :large_orange_diamond: * [XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) - :balloon: An Xcode plugin that makes working with color easier :large_orange_diamond:[e] +* [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes ### Command Line * [Swiftline](https://github.com/oarrabi/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: From 9c34b6e5d79f9739f4dd234f6cacf5e2de2fc3d8 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 19:44:18 -0700 Subject: [PATCH 0229/2606] Added BonMot by @Raizlabs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0d80ffd22..0102a4793 100644 --- a/README.md +++ b/README.md @@ -1019,6 +1019,7 @@ Most of these are paid services, some have free tiers. * [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift 🔶[e] * [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. :large_orange_diamond: * [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set +* [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings for iOS ##### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: From 55a57bd2fca3fe1ad6d9e81909e2817f3813beec Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 19:48:26 -0700 Subject: [PATCH 0230/2606] Added Calendar by @jumartin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0102a4793..fbf4a5b4c 100644 --- a/README.md +++ b/README.md @@ -1285,6 +1285,7 @@ Most of these are paid services, some have free tiers. * [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The final iOS calendar control you'll ever try. :large_orange_diamond: * [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. * [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern :large_orange_diamond: +* [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS ##### Form * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From 6823b32c60c23e2b977301f6d25c6aa7786a0fd8 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 19:50:20 -0700 Subject: [PATCH 0231/2606] Added ZFPlayer by @renzifeng --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fbf4a5b4c..62e958649 100644 --- a/README.md +++ b/README.md @@ -713,6 +713,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] * [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] * [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate +* [ZFPlayer](https://github.com/renzifeng/ZFPlayer) - Based on AVPlayer, support for the horizontal screen, vertical screen (full screen playback can also lock the screen direction), the upper and lower slide to adjust the volume, the screen brightness, or so slide to adjust the playback progress. ##### PDF * [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. From cc517555b46b8933c13a5ca0271b5e790fdc1fec Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 19:51:49 -0700 Subject: [PATCH 0232/2606] Added ShinpuruImage by @FlexMonkey --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 62e958649..ad3ef3b67 100644 --- a/README.md +++ b/README.md @@ -694,6 +694,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter :large_orange_diamond: * [AspectFillFaceAware](https://github.com/BeauNouvelle/AspectFillFaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. :large_orange_diamond: * [SwiftyAvatar](https://github.com/dkalaitzidis/SwiftyAvatar) - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard +* [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters :large_orange_diamond: ##### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 486b78288dca2cae2a90d6c9a31f510fcc709b92 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 20:07:36 -0700 Subject: [PATCH 0233/2606] Added FillableLoaders by @poolqf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ad3ef3b67..d40d7e9a4 100644 --- a/README.md +++ b/README.md @@ -1208,6 +1208,7 @@ Most of these are paid services, some have free tiers. * [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. * [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beauful hud view for iPhone & iPad * [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. :large_orange_diamond: +* [FillableLoaders](https://github.com/poolqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: ##### Alerts From 9687176a82ce7f9c35e0e394176cd48c594280da Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 20:10:11 -0700 Subject: [PATCH 0234/2606] Added SwiftStore by @hemantasapkota --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d40d7e9a4..51e8b84f7 100644 --- a/README.md +++ b/README.md @@ -385,6 +385,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. * [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. * [faunadb-swift](https://github.com/faunadb/faunadb-swift) - Swift client for FaunaDB :large_orange_diamond: +* [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB :large_orange_diamond: ### Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: From 7f4c2fd4c354b50570ad00d7c43796e1413c2f5e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 20:18:51 -0700 Subject: [PATCH 0235/2606] Added SFJumpToLine by @sferrini --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 51e8b84f7..588770e02 100644 --- a/README.md +++ b/README.md @@ -1913,6 +1913,7 @@ Most of these are paid services, some have free tiers. * [FastStub-Xcode](https://github.com/music4kid/FastStub-Xcode) - Xcode Plugin helps you find missing methods in your class header, protocols, and super class, also makes fast inserting. * [JSPatchX](https://github.com/bang590/JSPatchX) - A XCode plugin that provides autocompletion for JSPatch * [Dash](https://kapeli.com/dash) - Dash is a great documentation browser which integrates closely into Xcode with its plugin. +* [SFJumpToLine](https://github.com/sferrini/SFJumpToLine) - Xcode plugin that moves the instruction pointer to the selected line ### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From 3d6d594d2c9a0502c430f316dc7d16de80194c0f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 13 Aug 2016 20:25:12 -0700 Subject: [PATCH 0236/2606] Added SwiftRouter by @skyline75489 fixes #1025 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 588770e02..3c340ae87 100644 --- a/README.md +++ b/README.md @@ -1593,6 +1593,7 @@ Most of these are paid services, some have free tiers. * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, OSX) :large_orange_diamond: * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! :large_orange_diamond: * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) :large_orange_diamond: + * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 2.2 :large_orange_diamond: ### VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From c0f8fd994977e9b794871e93b7f0dd723e063024 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Mon, 15 Aug 2016 18:13:27 -0300 Subject: [PATCH 0237/2606] Add Typhoon to Injection (#1032) [ci skip] --- README.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 3c340ae87..73cd8c48f 100644 --- a/README.md +++ b/README.md @@ -514,7 +514,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. * [DarkLightning](https://github.com/jensmeder/DarkLightning) -Simply the fastest way to transmit data between iOS and OSX * [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 - + ### Layout * [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift :large_orange_diamond: * [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. @@ -692,7 +692,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition :large_orange_diamond: * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond:[e] * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: -* [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter :large_orange_diamond: +* [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter :large_orange_diamond: * [AspectFillFaceAware](https://github.com/BeauNouvelle/AspectFillFaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. :large_orange_diamond: * [SwiftyAvatar](https://github.com/dkalaitzidis/SwiftyAvatar) - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard * [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters :large_orange_diamond: @@ -822,7 +822,7 @@ Most of these are paid services, some have free tiers. * [OneSignal](https://www.onesignal.com) - Free. * [PushBots](https://pushbots.com/) * [Pushwoosh](https://www.pushwoosh.com) -* [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. +* [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. * [Pusher](https://pusher.com) ### Parsing @@ -1407,7 +1407,7 @@ Most of these are paid services, some have free tiers. * [UzysAnimatedGifPullToRefresh](https://github.com/uzysjung/UzysAnimatedGifPullToRefresh) - Add PullToRefresh using animated GIF to any scrollView with just simple code * [PullToRefreshCoreText](https://github.com/cemolcay/PullToRefreshCoreText) - PullToRefresh extension for all UIScrollView type classes with animated text drawing style * [BOZPongRefreshControl](https://github.com/boztalay/BOZPongRefreshControl) - A pull-down-to-refresh control for iOS that plays pong, originally created for the MHacks III iOS app -* [CBStoreHouseRefreshControl](https://github.com/coolbeet/CBStoreHouseRefreshControl) - Fully customizable pull-to-refresh control inspired by Storehouse iOS app +* [CBStoreHouseRefreshControl](https://github.com/coolbeet/CBStoreHouseRefreshControl) - Fully customizable pull-to-refresh control inspired by Storehouse iOS app * [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift :large_orange_diamond: * [mntpulltoreact](https://github.com/mentionapp/mntpulltoreact) - One gesture, many actions. An evolution of Pull to Refresh. * [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. @@ -1454,7 +1454,7 @@ Most of these are paid services, some have free tiers. * [Switcher](https://github.com/knn90/Switcher) - Custom UISwitcher with animation :large_orange_diamond: * [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. :large_orange_diamond: * [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. :large_orange_diamond: -* [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: +* [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: * [LUNSegmentedControl](https://github.com/LunApps/LUNSegmentedControl) - Customizable segmented control with interactive animation. * [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS * [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS :large_orange_diamond: @@ -1785,6 +1785,7 @@ Most of these are paid services, some have free tiers. * [Reliant](https://github.com/appfoundry/Reliant) - Nonintrusive Objective-C dependency injection. * [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. * [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. :large_orange_diamond: +* [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. @@ -1836,7 +1837,7 @@ Most of these are paid services, some have free tiers. * [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device * [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps * [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple :large_orange_diamond: -* [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. +* [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. ## Unofficial @@ -1908,7 +1909,7 @@ Most of these are paid services, some have free tiers. * [Gradle Xcode plugin](https://openbakery.org/gradle.html) - Build iOS or Mac OS X Projects using Gradle. * [SYXcodeIconVersion](https://github.com/dvkch/SYXcodeIconVersion) - This Xcode plugin shows Xcode app version in the Dock and App Switcher icon :large_orange_diamond: * [Gradle](https://github.com/openbakery/gradle-xcodePlugin) - makes it easier to build Xcode projects by specifying the build settings in a single configuration file :large_orange_diamond: -* [HOStringSense-for-Xcode](https://github.com/holtwick/HOStringSense-for-Xcode) - Plugin for Xcode to make perfect editing regular expressions, multi line texts, inline HTML and many more use cases. Also provides quick feedback on string length. +* [HOStringSense-for-Xcode](https://github.com/holtwick/HOStringSense-for-Xcode) - Plugin for Xcode to make perfect editing regular expressions, multi line texts, inline HTML and many more use cases. Also provides quick feedback on string length. * [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. :large_orange_diamond: * [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode 8 Source Editor Extension Toolset * [FastStub-Xcode](https://github.com/music4kid/FastStub-Xcode) - Xcode Plugin helps you find missing methods in your class header, protocols, and super class, also makes fast inserting. From 172dad15efe190c5a8727ab3f9117319ea5e5604 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 15 Aug 2016 18:00:02 -0700 Subject: [PATCH 0238/2606] Added SwiftValidator by @jpotts18 fixes #1026 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73cd8c48f..f58e37446 100644 --- a/README.md +++ b/README.md @@ -1302,6 +1302,7 @@ Most of these are paid services, some have free tiers. * [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS :large_orange_diamond: * [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - Framework for creating forms with validation rules :large_orange_diamond: * [FXForms](https://github.com/nicklockwood/FXForms) - FXForms is an Objective-C library for easily creating table-based forms on iOS. It is ideal for settings pages, or user data entry tasks. +* [SwiftValidator](https://github.com/jpotts18/SwiftValidator) - A rule-based validation library for Swift :large_orange_diamond: ##### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From bb252bac03f97902abe97263a3d7f1b2cc10e137 Mon Sep 17 00:00:00 2001 From: Josh Arnold Date: Tue, 16 Aug 2016 13:34:15 +1200 Subject: [PATCH 0239/2606] Added LilithProgressHUD I added another Progress HUD under "Activity Indicators" --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f58e37446..df658e7b6 100644 --- a/README.md +++ b/README.md @@ -1210,6 +1210,7 @@ Most of these are paid services, some have free tiers. * [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beauful hud view for iPhone & iPad * [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. :large_orange_diamond: * [FillableLoaders](https://github.com/poolqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: +* [LilithProgressHUD] (https://github.com/Liquicit/LilithProgressHUD) - A elegant and simple progress hud, written in Swift. 🔶 ##### Alerts From c085045ea83e1e8f1ab603816c3bf855c684c42b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 15 Aug 2016 20:51:40 -0700 Subject: [PATCH 0240/2606] Added PageControls by @popwarsweet --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index df658e7b6..d41c5a2f3 100644 --- a/README.md +++ b/README.md @@ -1211,6 +1211,7 @@ Most of these are paid services, some have free tiers. * [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. :large_orange_diamond: * [FillableLoaders](https://github.com/poolqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: * [LilithProgressHUD] (https://github.com/Liquicit/LilithProgressHUD) - A elegant and simple progress hud, written in Swift. 🔶 +* [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: ##### Alerts From 95a79b6d92e6c3c0005826329d3824ac1469112c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 15 Aug 2016 20:56:15 -0700 Subject: [PATCH 0241/2606] Added PINCache by @pinterest --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d41c5a2f3..056503185 100644 --- a/README.md +++ b/README.md @@ -258,6 +258,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. :large_orange_diamond: * [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cache that cures scroll-lags on a cell instantiating * [RocketData](https://github.com/linkedin/RocketData) - A caching and consistency solution for immutable models. :large_orange_diamond: +* [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and OS X ### Code Quality * [KZBootstrap](https://github.com/krzysztofzablocki/KZBootstrap) - iOS project bootstrap aimed at high quality coding. From d3ac8580fcef2acf45c33e09c41961f385a9c45f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 15 Aug 2016 20:58:38 -0700 Subject: [PATCH 0242/2606] Added Dodo by @marketplacer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 056503185..4fabcef98 100644 --- a/README.md +++ b/README.md @@ -1256,6 +1256,7 @@ Most of these are paid services, some have free tiers. * [JLToast](https://github.com/devxoul/JLToast) - Toast for iOS with very simple interface. :large_orange_diamond: * [CuckooAlert](https://github.com/singcodes/CuckooAlert) - Multiple use of presentViewController for UIAlertController. 🔶 * [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. :large_orange_diamond: +* [Dodo](https://github.com/marketplacer/Dodo) - A message bar for iOS written in Swift. :large_orange_diamond: ##### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. From e2c3eb91077e8c3523f931bf966885754627d2df Mon Sep 17 00:00:00 2001 From: Maksym Shcheglov Date: Tue, 16 Aug 2016 08:52:29 +0200 Subject: [PATCH 0243/2606] Add SCrypto. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c340ae87..4561a2d4a 100644 --- a/README.md +++ b/README.md @@ -977,6 +977,7 @@ Most of these are paid services, some have free tiers. * [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - String Obfuscation for app's executable file * [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: +* [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines :large_orange_diamond: ##### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. From 7664f3c57fa8797600a5295fe8846b0ac8abdf78 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 20:21:23 -0700 Subject: [PATCH 0244/2606] Updated Redirects --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4fabcef98..8f2fbf9ae 100644 --- a/README.md +++ b/README.md @@ -526,7 +526,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :large_orange_diamond: * [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. :large_orange_diamond: * [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. :large_orange_diamond: -* [MisterFusion](https://github.com/szk-atmosphere/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. :large_orange_diamond: +* [MisterFusion](https://github.com/marty-suzuki/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. :large_orange_diamond: * [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. :large_orange_diamond: * [ManualLayout](https://github.com/isair/ManualLayout) - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit. :large_orange_diamond:[e] * [Stevia](https://github.com/s4cha/Stevia) - Elegant view layout for iOS. :large_orange_diamond: @@ -656,7 +656,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TOCropViewController](https://github.com/TimOliver/TOCropViewController) - A view controller that allows users to crop UIImage objects. * [YXTMotionView](https://github.com/hanton/YXTMotionView) - A custom image view that implements device motion scrolling. * [PINRemoteImage](https://github.com/pinterest/PINRemoteImage) - A thread safe, performant, feature rich image fetcher. -* [SABlurImageView](https://github.com/szk-atmosphere/SABlurImageView) - Easily Adding Animated Blur/Unblur Effects To An Image. :large_orange_diamond: +* [SABlurImageView](https://github.com/marty-suzuki/SABlurImageView) - Easily Adding Animated Blur/Unblur Effects To An Image. :large_orange_diamond: * [FastImageCache](https://github.com/path/FastImageCache) - iOS library for quickly displaying images while scrolling. * [BKAsciiImage](https://github.com/bkoc/BKAsciiImage) - A library to render UIImage as ASCII art * [AlamofireImage](https://github.com/Alamofire/AlamofireImage) - An image component library for Alamofire. :large_orange_diamond: @@ -1061,8 +1061,8 @@ Most of these are paid services, some have free tiers. * [MVMaterialView](https://github.com/mrugrajsinh/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. * [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: -* [SAHistoryNavigationViewController](https://github.com/szk-atmosphere/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: -* [SAInboxViewController](https://github.com/szk-atmosphere/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: +* [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: +* [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: * [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. @@ -1135,7 +1135,7 @@ Most of these are paid services, some have free tiers. * [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. 🔶 * [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift :large_orange_diamond: * [CoreDragon](https://github.com/nevyn/CoreDragon) - [iOS] Stop using context menus. Drag and drop instead, even between apps! -* [URLEmbeddedView](https://github.com/szk-atmosphere/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: +* [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: * [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. :large_orange_diamond: * [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face :large_orange_diamond: * [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. :large_orange_diamond: From 93aebdc465eefd8d6a3e3c2341e9dd890afc2480 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 20:41:02 -0700 Subject: [PATCH 0245/2606] Updated onesignal's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8f2fbf9ae..f7dc00fe0 100644 --- a/README.md +++ b/README.md @@ -820,7 +820,7 @@ Most of these are paid services, some have free tiers. * [Carnival](http://www.carnival.io) * [Catapush](https://www.catapush.com) * [Netmera](http://www.netmera.com) -* [OneSignal](https://www.onesignal.com) - Free. +* [OneSignal](https://onesignal.com) - Free. * [PushBots](https://pushbots.com/) * [Pushwoosh](https://www.pushwoosh.com) * [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. From b59f5b21f57070b232e96d1fdabe0f1b80432b77 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 20:55:49 -0700 Subject: [PATCH 0246/2606] Added Warnings-xcconfig by @boredzo fixes #999 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 189aef6ce..2e60b3dc6 100644 --- a/README.md +++ b/README.md @@ -277,6 +277,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FBMemoryProfiler](https://github.com/facebook/FBMemoryProfiler) - iOS tool that helps with profiling iOS Memory usage. * [FBRetainCycleDetector](https://github.com/facebook/FBRetainCycleDetector) - iOS library to help detecting retain cycles in runtime. * [Buglife](https://github.com/Buglife/Buglife-iOS) - Awesome bug reporting for iOS apps +* [Warnings-xcconfig](https://github.com/boredzo/Warnings-xcconfig) - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets. ##### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From c2006dfae1a3434e6b6ef724c4d3b04312beeaa3 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 21:09:05 -0700 Subject: [PATCH 0247/2606] Added MarkupKit by @gk-brown fixes #1024 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e60b3dc6..b573a7b44 100644 --- a/README.md +++ b/README.md @@ -543,6 +543,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! :large_orange_diamond: * [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. :large_orange_diamond: * [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS :large_orange_diamond: +* [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications ### Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From c832078ad9f962eaf524db4b5531c169be455ff6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 21:14:43 -0700 Subject: [PATCH 0248/2606] Added KZFileWatchers by @krzysztofzablocki fixes #1022 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b573a7b44..63bb97569 100644 --- a/README.md +++ b/README.md @@ -433,6 +433,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: * [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: * [FileProvider](https://github.com/amosavian/FileProvider) - NSFileManager replacement for local and remote (WebDAV/Dropbox/SMB2) files on iOS and macOS. :large_orange_diamond: +* [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. :large_orange_diamond: ### Functional Programming * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: From 28e49b6f4178e6bea351d9beccaad4a046bc7430 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 22:31:25 -0700 Subject: [PATCH 0249/2606] Added Preloader.Ophiuchus by @Yalantis --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 63bb97569..5e0249082 100644 --- a/README.md +++ b/README.md @@ -1338,6 +1338,7 @@ Most of these are paid services, some have free tiers. * [RQShineLabel](https://github.com/zipme/RQShineLabel) - Secret app like text animation * [ZCAnimatedLabel](https://github.com/overboming/ZCAnimatedLabel) - UILabel replacement with fine-grain appear/disappear animation * [TriLabelView](https://github.com/mukeshthawani/TriLabelView) - A triangle shaped corner label view for iOS written in Swift. :large_orange_diamond: +* [Preloader.Ophiuchus](https://github.com/Yalantis/Preloader.Ophiuchus) - Custom Label to apply animations on whole text or letters. ##### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: From 891d3a544e396c02f48dedcff48cdf451b9239b7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 22:33:47 -0700 Subject: [PATCH 0250/2606] Added Swifter by @mattdonnelly --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5e0249082..73fcae671 100644 --- a/README.md +++ b/README.md @@ -1867,6 +1867,7 @@ Most of these are paid services, some have free tiers. * [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift :large_orange_diamond: * [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. * [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project :large_orange_diamond: +* [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & OS X written in Swift :large_orange_diamond: # Xcode From a2180c1e082c339175446537212c1d306c55d2d6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 22:37:07 -0700 Subject: [PATCH 0251/2606] Added Popsicle by @DavdRoman fixes #1034 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73fcae671..94d1a256d 100644 --- a/README.md +++ b/README.md @@ -209,6 +209,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. :large_orange_diamond: * [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. :large_orange_diamond: * [JHChainableAnimations](https://github.com/jhurray/JHChainableAnimations) - Easy to read and write chainable animations in Objective-C +* [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework :large_orange_diamond: ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From c613760413c4ee60804aa2852e1a9a81a889a521 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 22:39:55 -0700 Subject: [PATCH 0252/2606] Added @danielpunkass' Core Intuition's Podcast --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 94d1a256d..04fd2ecbf 100644 --- a/README.md +++ b/README.md @@ -2073,6 +2073,7 @@ Most of these are paid services, some have free tiers. * [iOS Bytes](https://iosbytes.codeschool.com/) * [iPhreaks](https://devchat.tv/iphreaks) * [Under the Radar](https://www.relay.fm/radar) +* [Core Intuition](http://www.coreint.org/) # Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: From ace547c23759ced891685a466be1b2eda02eaefd Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 22:55:36 -0700 Subject: [PATCH 0253/2606] Added MYTableViewIndex by @mindz-eye --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 04fd2ecbf..32d254fc6 100644 --- a/README.md +++ b/README.md @@ -1518,6 +1518,7 @@ Most of these are paid services, some have free tiers. * [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). * [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager :large_orange_diamond: * [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection +* [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift :large_orange_diamond: ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 0a5fde6346f7467e841fae234daca74c9d0411d4 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 22:56:15 -0700 Subject: [PATCH 0254/2606] Moved BATabBarController to Tab Bar section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 32d254fc6..b69ffb194 100644 --- a/README.md +++ b/README.md @@ -1483,6 +1483,7 @@ Most of these are paid services, some have free tiers. * [TabDrawer](https://github.com/winslowdibona/TabDrawer) - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift 🔶 * [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers :large_orange_diamond: * [ColorMatchTabs](https://github.com/Yalantis/ColorMatchTabs) - Interesting way to display tabs :large_orange_diamond: +* [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection ##### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. @@ -1517,7 +1518,6 @@ Most of these are paid services, some have free tiers. * [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. * [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). * [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager :large_orange_diamond: -* [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection * [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift :large_orange_diamond: ##### Tag From 9cc6749d0795d1fddd674fbd4c919064e3713439 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 16 Aug 2016 22:59:45 -0700 Subject: [PATCH 0255/2606] Added appirater by @arashpayan --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b69ffb194..444662137 100644 --- a/README.md +++ b/README.md @@ -1820,6 +1820,7 @@ Most of these are paid services, some have free tiers. * [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. * [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. * [iRate](https://github.com/nicklockwood/iRate) - A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while. Similar to Appirater, but with a simpler, cleaner interface and automatic support for iOS fast application switching. +* [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. # SDK From d66cf2086c79fa68d347e669d7c80d92dd70acaf Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 17 Aug 2016 08:13:17 -0700 Subject: [PATCH 0256/2606] Moved EKAlgorithms fixes #1036 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 444662137..3b86c5c2d 100644 --- a/README.md +++ b/README.md @@ -401,6 +401,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. :large_orange_diamond: * [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript http://www.dollarswift.org. :large_orange_diamond: * [Result](https://github.com/antitypical/Result) - Swift type modelling the success/failure of arbitrary operations. :large_orange_diamond: +* [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. ### Date & Time @@ -1562,7 +1563,6 @@ Most of these are paid services, some have free tiers. * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. * [XExtensionItem](https://github.com/tumblr/XExtensionItem) - Easier sharing of structured data between iOS applications and share extensions. * [ReflectableEnum](https://github.com/fastred/ReflectableEnum) - Reflection for enumerations in Objective-C. - * [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. * [ObjectiveSugar](https://github.com/supermarin/ObjectiveSugar) - ObjectiveC additions for humans. Ruby style. * [GroundControl](https://github.com/mattt/GroundControl) - Remote configuration for iOS. * [OpinionatedC](https://github.com/leoschweizer/OpinionatedC) - Because Objective-C should have inherited more from Smalltalk. From 92df7079338e9f519e1c790c72d3295d147e9b14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Quentin=20Mathe=CC=81?= Date: Wed, 17 Aug 2016 18:44:20 +0200 Subject: [PATCH 0257/2606] Add DistancePicker --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b86c5c2d..0922ba6ac 100644 --- a/README.md +++ b/README.md @@ -1178,6 +1178,7 @@ Most of these are paid services, some have free tiers. * [Blurable](https://github.com/FlexMonkey/Blurable) - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions :large_orange_diamond: * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] * [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code :large_orange_diamond: +* [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. :large_orange_diamond: ##### Activity Indicator From 84c50b0872b199a97da298334f1e72450f3bedc1 Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Wed, 17 Aug 2016 12:02:27 -0700 Subject: [PATCH 0258/2606] adding GoogleMaterialDesignIcons to Fonts section (#1038) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b86c5c2d..8710bf7e1 100644 --- a/README.md +++ b/README.md @@ -1041,6 +1041,7 @@ Most of these are paid services, some have free tiers. :large_orange_diamond: * [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. * [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS :large_orange_diamond: +* [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. :large_orange_diamond: ### URL Scheme * [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! From 97736860911256722e1dd506dc157804eebfe374 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 17 Aug 2016 21:59:08 -0700 Subject: [PATCH 0259/2606] Updated PageMenu's link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 786bb4f0c..a3712a475 100644 --- a/README.md +++ b/README.md @@ -1367,7 +1367,7 @@ Most of these are paid services, some have free tiers. * [CategorySliderView](https://github.com/cemolcay/CategorySliderView) - slider view for choosing categories. add any UIView type as category item view. Fully customisable * [MKDropdownMenu](https://github.com/maxkonovalov/MKDropdownMenu) - A Dropdown Menu for iOS with many customizable parameters to suit any needs. * [ExpandingMenu](https://github.com/monoqlo/ExpandingMenu) - ExpandingMenu is menu button for iOS written in Swift. :large_orange_diamond: -* [PageMenu](https://github.com/HighBay/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) :large_orange_diamond: +* [PageMenu](https://github.com/uacaps/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) :large_orange_diamond: * [XXXRoundMenuButton](https://github.com/zsy78191/XXXRoundMenuButton) - A simple circle style menu. * [IGCMenu](https://github.com/sunilsharma08/IGCMenu) - Grid and Circular menu with animation.Easy to customise. * [EEJSelectMenu](https://github.com/eejahromi/EEJSelectMenu) - Single selection menu with cool animations, responsive with all screen sizes. From ac782f027166b798709415b189fc166999dcd9e2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 17 Aug 2016 22:13:22 -0700 Subject: [PATCH 0260/2606] Removed Aeon [DEPRECATED] --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a3712a475..6090f2127 100644 --- a/README.md +++ b/README.md @@ -1672,7 +1672,6 @@ Most of these are paid services, some have free tiers. * [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and Mac OS X :large_orange_diamond: * [Trevi](https://github.com/Yoseob/Trevi) - A powerful Swift Web Application Server Framework Project :large_orange_diamond: * [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift :large_orange_diamond: -* [Aeon](https://github.com/paulofaria/Aeon) - Aeon is a GCD based HTTP server for Swift 2. :large_orange_diamond: * [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift :large_orange_diamond: * [Frank](https://github.com/nestproject/Frank) - Frank is a DSL for quickly writing web applications in Swift :large_orange_diamond: * [Kitura](https://github.com/IBM-Swift/Kitura) - Web framework and HTTP server for Swift by IBM :large_orange_diamond: From 69575dee6e533b6ce6f4419b52fd754bf21f8d37 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 17 Aug 2016 22:16:07 -0700 Subject: [PATCH 0261/2606] Added Xtrace by @johnno1962 fixes #1030 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6090f2127..51dbc99d5 100644 --- a/README.md +++ b/README.md @@ -1785,6 +1785,7 @@ Most of these are paid services, some have free tiers. * [fastlane-plugin-appicon](https://github.com/neonichu/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. * [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. * [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. :large_orange_diamond: +* [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From e1ef03f963e9dc3e5941202facc7f891ef8358df Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 17 Aug 2016 22:36:59 -0700 Subject: [PATCH 0262/2606] Added NMessenger by @eBay --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 51dbc99d5..1b2225c1d 100644 --- a/README.md +++ b/README.md @@ -746,6 +746,7 @@ Also see [push notifications](#push-notifications) * [SlackTextViewController](https://github.com/slackhq/SlackTextViewController) - A drop-in UIViewController subclass with a growing text input view and other useful messaging features. * [MessageKit](https://github.com/MessageKit/MessageKit-iOS) - Eventually, a Swift re-write of JSQMessagesViewController :large_orange_diamond: * [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. :large_orange_diamond: +* [NMessenger](https://github.com/eBay/NMessenger) - A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift :large_orange_diamond: ### Machine Learning * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: From 874b5d49f37d7a2ca11eec45ab32358ad4cc39ee Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 17 Aug 2016 22:38:09 -0700 Subject: [PATCH 0263/2606] Added GIFRefreshControl by @delannoyk --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b2225c1d..1b064123f 100644 --- a/README.md +++ b/README.md @@ -1430,6 +1430,7 @@ Most of these are paid services, some have free tiers. * [MJRefresh](https://github.com/CoderMJLee/MJRefresh) An easy way to use pull-to-refresh. * [HTPullToRefresh](https://github.com/hoang-tran/HTPullToRefresh) - Easily add vertical and horizontal pull to refresh to any UIScrollView. Can also add multiple pull-to-refesh views at once. * [PullToRefreshSwift](https://github.com/dekatotoro/PullToRefreshSwift) - iOS Simple Cool PullToRefresh Library. It is written in pure swift. :large_orange_diamond: +* [GIFRefreshControl](https://github.com/delannoyk/GIFRefreshControl) - GIFRefreshControl is a pull to refresh that supports GIF images as track animations. :large_orange_diamond: ##### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From b20fe83ef6bf160e889e2ffed92d9a4a49f51f8c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 17 Aug 2016 23:05:30 -0700 Subject: [PATCH 0264/2606] Added Pinterest sdk by @pinterest --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b064123f..ee05682c8 100644 --- a/README.md +++ b/README.md @@ -1855,6 +1855,7 @@ Most of these are paid services, some have free tiers. * [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps * [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple :large_orange_diamond: * [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. +* [Pinterest](https://github.com/pinterest/ios-pdk) - Pinterest iOS SDK ## Unofficial From 5853796d5decb14dc46f02a707a4a2a12c7115b0 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 17 Aug 2016 23:38:39 -0700 Subject: [PATCH 0265/2606] Added PXGoogleDirections by @poulpix --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ee05682c8..f3c50a314 100644 --- a/README.md +++ b/README.md @@ -598,6 +598,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Mapbox GL](https://github.com/mapbox/mapbox-gl-native) - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS. * [CMMapLauncher](https://github.com/citymapper/CMMapLauncher) - iOS library that makes it quick and easy to show directions in various mapping applications. * [GEOSwift](https://github.com/andreacremaschi/GEOSwift) - The Swift Geographic Engine. :large_orange_diamond: +* [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift :large_orange_diamond: ### Math * [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation :large_orange_diamond: From 8abf787a46c6f707939f1f4ba211d5cb5cc90ddc Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 17 Aug 2016 23:41:48 -0700 Subject: [PATCH 0266/2606] Added card.io-iOS-SDK by @card-io --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f3c50a314..8c04312c4 100644 --- a/README.md +++ b/README.md @@ -924,6 +924,7 @@ Most of these are paid services, some have free tiers. * [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions * [EasyIAPs](https://github.com/alvinvarghese/EasyIAPs) - An easy way to manage In App Purchases * [PayPal](https://github.com/paypal/PayPal-iOS-SDK) - Accept payments in your iOS app via PayPal. +* [card.io-iOS-SDK](https://github.com/card-io/card.io-iOS-SDK) - card.io provides fast, easy credit card scanning in mobile apps ### Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. From a157188a8708fe57640fe3459a763fe7325912bc Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 18 Aug 2016 01:36:39 -0700 Subject: [PATCH 0267/2606] Added PredicateEditor by @arvindhsukumar fixes #1040 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8c04312c4..4807de81b 100644 --- a/README.md +++ b/README.md @@ -389,6 +389,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. * [faunadb-swift](https://github.com/faunadb/faunadb-swift) - Swift client for FaunaDB :large_orange_diamond: * [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB :large_orange_diamond: +* [PredicateEditor](https://github.com/arvindhsukumar/PredicateEditor) - A visual editor for dynamically creating NSPredicates to query data in your iOS app. :large_orange_diamond: ### Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: From 34080cf2e49fef999b5dc5ab5239d0df0e3f8a9b Mon Sep 17 00:00:00 2001 From: WelkinXie Date: Fri, 19 Aug 2016 01:13:23 +0800 Subject: [PATCH 0268/2606] Add wave view --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4807de81b..e00892007 100644 --- a/README.md +++ b/README.md @@ -210,6 +210,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. :large_orange_diamond: * [JHChainableAnimations](https://github.com/jhurray/JHChainableAnimations) - Easy to read and write chainable animations in Objective-C * [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework :large_orange_diamond: +* [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From c693e996829bc865c8233b2310d1d0397f41e2d2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 18 Aug 2016 10:22:42 -0700 Subject: [PATCH 0269/2606] Updated Framer's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e00892007..8b78b8e3a 100644 --- a/README.md +++ b/README.md @@ -2039,7 +2039,7 @@ Most of these are paid services, some have free tiers. ### Prototyping * [FluidUI](https://www.fluidui.com) * [Proto.io](https://proto.io/) -* [Framer](http://framerjs.com/) +* [Framer](https://framerjs.com/) * [Pixate](http://www.pixate.com/) * [Principle](http://principleformac.com) From 01471d0a70db3b98f52a3b10b18543f808e92099 Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Thu, 18 Aug 2016 14:40:52 -0700 Subject: [PATCH 0270/2606] Add PrettyColors to Colors section (#1043) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8b78b8e3a..345197136 100644 --- a/README.md +++ b/README.md @@ -302,6 +302,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) :large_orange_diamond: * [XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) - :balloon: An Xcode plugin that makes working with color easier :large_orange_diamond:[e] * [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes +* [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/publications/standards/Ecma-048.htm). :large_orange_diamond: ### Command Line * [Swiftline](https://github.com/oarrabi/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: From f94a3d437b6dd52c1c2f5b1847cbaec148ca7906 Mon Sep 17 00:00:00 2001 From: Michael Mavris Date: Fri, 19 Aug 2016 02:54:38 +0300 Subject: [PATCH 0271/2606] Added MMLanScan library --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 345197136..263a3eb81 100644 --- a/README.md +++ b/README.md @@ -804,7 +804,7 @@ Also see [push notifications](#push-notifications) * [Malibu](https://github.com/hyperoslo/Malibu) - Networking library built on promises :large_orange_diamond: * [YTKNetwork](https://github.com/yuantiku/YTKNetwork) - YTKNetwork is a high level request util based on AFNetworking. * [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. :large_orange_diamond: - +* [MMLanScan](https://github.com/mavris/MMLanScan) - An iOS LAN Network Scanner library #### Email * [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. From b6e372fdab0c15494767a42324e9d5a4695a1d9e Mon Sep 17 00:00:00 2001 From: Michael Mavris Date: Fri, 19 Aug 2016 11:00:37 +0300 Subject: [PATCH 0272/2606] Added MMLanScan --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 263a3eb81..dc85114eb 100644 --- a/README.md +++ b/README.md @@ -804,7 +804,8 @@ Also see [push notifications](#push-notifications) * [Malibu](https://github.com/hyperoslo/Malibu) - Networking library built on promises :large_orange_diamond: * [YTKNetwork](https://github.com/yuantiku/YTKNetwork) - YTKNetwork is a high level request util based on AFNetworking. * [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. :large_orange_diamond: -* [MMLanScan](https://github.com/mavris/MMLanScan) - An iOS LAN Network Scanner library +* [MMLanScan](https://github.com/mavris/MMLanScan) - An iOS LAN Network Scanner library + #### Email * [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. From c35dcd88dc2d580ca96b7929cebba12a9f0df214 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:18:54 -0700 Subject: [PATCH 0273/2606] Updated Urban Airship's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dc85114eb..6852b6f13 100644 --- a/README.md +++ b/README.md @@ -823,7 +823,7 @@ Also see [push notifications](#push-notifications) Most of these are paid services, some have free tiers. -* [Urban Airship](https://www.urbanairship.com/products/mobile-engagement/engage) +* [Urban Airship](http://www.urbanairship.com/products/mobile-app-engagement) * [Growth Push](https://growthpush.com) - Popular in Japan. * [Appboy](https://www.appboy.com) * [Batch](https://batch.com) From 190fcbd4ba927e7cbd004f4011b7d5214b9b8a33 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:22:40 -0700 Subject: [PATCH 0274/2606] Updated Urban Airship's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6852b6f13..4e60cbd21 100644 --- a/README.md +++ b/README.md @@ -823,7 +823,7 @@ Also see [push notifications](#push-notifications) Most of these are paid services, some have free tiers. -* [Urban Airship](http://www.urbanairship.com/products/mobile-app-engagement) +* [Urban Airship](https://www.urbanairship.com/products/mobile-app-engagement ) * [Growth Push](https://growthpush.com) - Popular in Japan. * [Appboy](https://www.appboy.com) * [Batch](https://batch.com) From 0e0c8332339629020130122f4d4df5e8fef4f988 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:23:35 -0700 Subject: [PATCH 0275/2606] Added Twinkle by @piemonte --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4e60cbd21..2576d3ead 100644 --- a/README.md +++ b/README.md @@ -211,6 +211,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JHChainableAnimations](https://github.com/jhurray/JHChainableAnimations) - Easy to read and write chainable animations in Objective-C * [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework :large_orange_diamond: * [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. +* [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle :large_orange_diamond: ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From a0c2612b05a0fb691d5ab627b6e607f305a9a92f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:31:42 -0700 Subject: [PATCH 0276/2606] Added Swift Playhouse by @swiftplayhouse --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2576d3ead..0f5c803fe 100644 --- a/README.md +++ b/README.md @@ -2088,6 +2088,7 @@ Most of these are paid services, some have free tiers. * [iPhreaks](https://devchat.tv/iphreaks) * [Under the Radar](https://www.relay.fm/radar) * [Core Intuition](http://www.coreint.org/) +* [Swift Playhouse](http://www.swiftplayhouse.com/) # Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: From b62bd747649d00b4ae1df0c89d0c40dd8adbe685 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:33:38 -0700 Subject: [PATCH 0277/2606] Updated permission's description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f5c803fe..294ae144d 100644 --- a/README.md +++ b/README.md @@ -913,7 +913,7 @@ Most of these are paid services, some have free tiers. * [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. * [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. * [ClusterPrePermissions](https://github.com/clusterinc/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. -* [Permission](https://github.com/delba/Permission) - Ask for iOS permissions through a single, uniform interface. :large_orange_diamond: +* [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS :large_orange_diamond: * [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: ### Payments From 822750b2b11cb8b9bda2e18a08135d2e3464d3db Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:40:57 -0700 Subject: [PATCH 0278/2606] Moved MotionBlur to Animation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 294ae144d..c993fa3b9 100644 --- a/README.md +++ b/README.md @@ -212,6 +212,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework :large_orange_diamond: * [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. * [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle :large_orange_diamond: +* [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. @@ -1069,7 +1070,6 @@ Most of these are paid services, some have free tiers. * [BLKFlexibleHeightBar](https://github.com/bryankeller/BLKFlexibleHeightBar) - Create condensing header bars like those seen in the Facebook, Square Cash, and Safari iOS apps. * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. * [AsyncDisplayKit](https://github.com/facebook/AsyncDisplayKit/) - AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. -* [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. * [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. :large_orange_diamond: * [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. * [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A Swift implementation of SVWebViewController - a drop-in inline browser for your iOS app. :large_orange_diamond: From a24d05e68fbaf1242d299428186629fed016c37f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:43:58 -0700 Subject: [PATCH 0279/2606] Moved Atlas to Messaging --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c993fa3b9..137541102 100644 --- a/README.md +++ b/README.md @@ -753,6 +753,7 @@ Also see [push notifications](#push-notifications) * [MessageKit](https://github.com/MessageKit/MessageKit-iOS) - Eventually, a Swift re-write of JSQMessagesViewController :large_orange_diamond: * [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. :large_orange_diamond: * [NMessenger](https://github.com/eBay/NMessenger) - A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift :large_orange_diamond: +* [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. ### Machine Learning * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: @@ -1074,7 +1075,6 @@ Most of these are paid services, some have free tiers. * [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. * [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A Swift implementation of SVWebViewController - a drop-in inline browser for your iOS app. :large_orange_diamond: * [MVMaterialView](https://github.com/mrugrajsinh/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. -* [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: From e41c16ded7f64b8548184b548c334c06205c82ad Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:45:10 -0700 Subject: [PATCH 0280/2606] Moved MZFormSheetPresentationController to Form --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 137541102..54f4e6c1b 100644 --- a/README.md +++ b/README.md @@ -1078,7 +1078,6 @@ Most of these are paid services, some have free tiers. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: -* [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and OS X. @@ -1323,6 +1322,7 @@ Most of these are paid services, some have free tiers. * [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - Framework for creating forms with validation rules :large_orange_diamond: * [FXForms](https://github.com/nicklockwood/FXForms) - FXForms is an Objective-C library for easily creating table-based forms on iOS. It is ideal for settings pages, or user data entry tasks. * [SwiftValidator](https://github.com/jpotts18/SwiftValidator) - A rule-based validation library for Swift :large_orange_diamond: +* [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. ##### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From 66c809f10fd94048ffed5065bcaa5b659be96770 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:46:18 -0700 Subject: [PATCH 0281/2606] Moved AnimatedTransitionGallery to Modal Transition --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 54f4e6c1b..8b4dca327 100644 --- a/README.md +++ b/README.md @@ -1078,7 +1078,6 @@ Most of these are paid services, some have free tiers. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: -* [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and OS X. * [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout whitch can move item with drag and drop. @@ -1403,6 +1402,7 @@ Most of these are paid services, some have free tiers. * [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. :large_orange_diamond: * [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view heirarchy. Used extensively in the Zola iOS application. * [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. +* [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. ##### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 0e0217a1556f30d195fc0123f4d87936b9ede29f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:47:35 -0700 Subject: [PATCH 0282/2606] Moved ScrollPager to Tab Bar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8b4dca327..27ed18168 100644 --- a/README.md +++ b/README.md @@ -1084,7 +1084,6 @@ Most of these are paid services, some have free tiers. * [HoneycombView](https://github.com/suzuki-0000/HoneycombView) - HoneycombView is the iOS UIView for displaying like Honyecomb layout written by swift. :large_orange_diamond: * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. * [KCHorizontalDial](https://github.com/kciter/KCHorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: -* [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager similar to the one in Flipboard :large_orange_diamond: * [ComponentKit](http://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [WobbleView](https://github.com/inFullMobile/WobbleView) - WobbleView is an implementation of a recently popular wobble effect for any view in your app. It can be used to easily add dynamics to user interactions and transitions. :large_orange_diamond: @@ -1496,6 +1495,7 @@ Most of these are paid services, some have free tiers. * [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers :large_orange_diamond: * [ColorMatchTabs](https://github.com/Yalantis/ColorMatchTabs) - Interesting way to display tabs :large_orange_diamond: * [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection +* [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager similar to the one in Flipboard :large_orange_diamond: ##### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From 9d7e6ca7b63003d396aefbd5d87be168df480bcf Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:48:47 -0700 Subject: [PATCH 0283/2606] Moved RAReorderableLayout to Table&CollectionView --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 27ed18168..140cf4388 100644 --- a/README.md +++ b/README.md @@ -1080,7 +1080,6 @@ Most of these are paid services, some have free tiers. * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and OS X. -* [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout whitch can move item with drag and drop. * [HoneycombView](https://github.com/suzuki-0000/HoneycombView) - HoneycombView is the iOS UIView for displaying like Honyecomb layout written by swift. :large_orange_diamond: * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. * [KCHorizontalDial](https://github.com/kciter/KCHorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: @@ -1531,6 +1530,7 @@ Most of these are paid services, some have free tiers. * [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). * [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager :large_orange_diamond: * [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift :large_orange_diamond: +* [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout whitch can move item with drag and drop. ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 55e2bec1bf3bb26c2f855584341a493a844872f8 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:50:23 -0700 Subject: [PATCH 0284/2606] moved CollapsableOptions to tableview --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 140cf4388..957695c21 100644 --- a/README.md +++ b/README.md @@ -1089,7 +1089,6 @@ Most of these are paid services, some have free tiers. * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit -* [CollapsableOptions](https://github.com/rob-nash/CollapsableOptions) - Collapsable table view sections with custom section header views. :large_orange_diamond: * [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. :large_orange_diamond: * [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view :large_orange_diamond: * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift :large_orange_diamond: @@ -1531,6 +1530,7 @@ Most of these are paid services, some have free tiers. * [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager :large_orange_diamond: * [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift :large_orange_diamond: * [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout whitch can move item with drag and drop. +* [CollapsableOptions](https://github.com/rob-nash/CollapsableOptions) - Collapsable table view sections with custom section header views. :large_orange_diamond: ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 85b30c1bab375f4e4ad74cfc991adf5b9f93b48b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:51:22 -0700 Subject: [PATCH 0285/2606] Moved InteractivePlayerView to Audio --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 957695c21..416b3f000 100644 --- a/README.md +++ b/README.md @@ -639,6 +639,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. * [IQAudioRecorderController](https://github.com/hackiftekhar/IQAudioRecorderController) - A drop-in universal library allows to record audio within the app with a nice User Interface. * [TheAmazingAudioEngine2](https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine2) - The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to. +* [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view :large_orange_diamond: ##### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. @@ -1090,7 +1091,6 @@ Most of these are paid services, some have free tiers. * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit * [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. :large_orange_diamond: -* [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view :large_orange_diamond: * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift :large_orange_diamond: * [DLWBouncyView](https://github.com/cute/DLWBouncyView) - BouncyView is an implementation of a recently popular bouncy effect for any view. * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. From c92d34654ea1f95a211ceda21e68f4b0c71847aa Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 01:52:56 -0700 Subject: [PATCH 0286/2606] Moved KCSelectionDialog to Popup --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 416b3f000..76a7fc6ee 100644 --- a/README.md +++ b/README.md @@ -1094,7 +1094,6 @@ Most of these are paid services, some have free tiers. * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift :large_orange_diamond: * [DLWBouncyView](https://github.com/cute/DLWBouncyView) - BouncyView is an implementation of a recently popular bouncy effect for any view. * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. -* [KCSelectionDialog](https://github.com/kciter/KCSelectionDialog) - Simple selection dialog. :large_orange_diamond: * [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. * [CardAnimation](https://github.com/seedante/CardAnimation) - Card flipping-style animation :large_orange_diamond: * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) @@ -1418,6 +1417,7 @@ Most of these are paid services, some have free tiers. * [SubscriptionPrompt](https://github.com/Binur/SubscriptionPrompt) - Subscription View Controller like the Tinder uses :large_orange_diamond: * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: * [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. :large_orange_diamond: +* [KCSelectionDialog](https://github.com/kciter/KCSelectionDialog) - Simple selection dialog. :large_orange_diamond: ##### Pull to Refresh * [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: From ecaed694004a7f872b7b365c65e1b02c73bf116e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 02:01:10 -0700 Subject: [PATCH 0287/2606] Moved FooterPull to Tableview --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 76a7fc6ee..bdc39ab98 100644 --- a/README.md +++ b/README.md @@ -1106,7 +1106,6 @@ Most of these are paid services, some have free tiers. * [SWRevealViewController](https://github.com/John-Lluch/SWRevealViewController) - A UIViewController subclass for presenting side view controllers inspired on the FaceBook and Wunderlist apps, done right. * [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. :large_orange_diamond: * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. :large_orange_diamond: -* [FooterPull](https://github.com/rob-nash/FooterPull) - Add paging to your table views with a cool animation. * [StackPageView](https://github.com/noppefoxwolf/StackPageView) - Vertical page view with UIViewControllers stacked on the top of each other :large_orange_diamond: * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. :large_orange_diamond: * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. @@ -1531,6 +1530,7 @@ Most of these are paid services, some have free tiers. * [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift :large_orange_diamond: * [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout whitch can move item with drag and drop. * [CollapsableOptions](https://github.com/rob-nash/CollapsableOptions) - Collapsable table view sections with custom section header views. :large_orange_diamond: +* [FooterPull](https://github.com/rob-nash/FooterPull) - Add paging to your table views with a cool animation. ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From ad9a06ced5198512dae95b9a034299fc81ea313b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 02:03:22 -0700 Subject: [PATCH 0288/2606] Moved TransitionTreasury to Modal Transition --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bdc39ab98..4a3619f0e 100644 --- a/README.md +++ b/README.md @@ -1117,7 +1117,6 @@ Most of these are paid services, some have free tiers. * [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. :large_orange_diamond: * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers -* [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. :large_orange_diamond: * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: @@ -1398,6 +1397,7 @@ Most of these are paid services, some have free tiers. * [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view heirarchy. Used extensively in the Zola iOS application. * [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. +* [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: ##### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From df15e8c7ef87329b1f0db1b3f6fe2bb03a507cdf Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 02:05:00 -0700 Subject: [PATCH 0289/2606] Moved StickyCollectionView to tableview --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4a3619f0e..d08908632 100644 --- a/README.md +++ b/README.md @@ -1119,7 +1119,6 @@ Most of these are paid services, some have free tiers. * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. :large_orange_diamond: * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: -* [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: * [SCNavigationControlCenter](https://github.com/SergioChan/SCNavigationControlCenter) - This is an advanced navigation control center on iOS that can allow you to navigate to whichever view controller you want * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. * [FXBlurView](https://github.com/nicklockwood/FXBlurView) - UIView subclass that replicates the iOS 7 realtime background blur effect, but works on iOS 5 and above. @@ -1531,6 +1530,7 @@ Most of these are paid services, some have free tiers. * [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout whitch can move item with drag and drop. * [CollapsableOptions](https://github.com/rob-nash/CollapsableOptions) - Collapsable table view sections with custom section header views. :large_orange_diamond: * [FooterPull](https://github.com/rob-nash/FooterPull) - Add paging to your table views with a cool animation. +* [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From caf102d4c4b346685e3d8bb1f79296691f6e746b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 02:07:16 -0700 Subject: [PATCH 0290/2606] Moved JDSlider to slider --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d08908632..fc5851fa5 100644 --- a/README.md +++ b/README.md @@ -1127,7 +1127,6 @@ Most of these are paid services, some have free tiers. * [CRParticleEffect](https://github.com/Cleveroad/CRParticleEffect) - A CocoaPod that simplifies creation of the particle effects * [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. :large_orange_diamond: * [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book -* [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. :large_orange_diamond: * [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. :large_orange_diamond: * [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS * [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library :large_orange_diamond: @@ -1453,6 +1452,7 @@ Most of these are paid services, some have free tiers. * [TTRangeSlider](https://github.com/TomThorpe/TTRangeSlider) - A slider, similar in style to UISlider, but which allows you to pick a minimum and maximum range. * [MMSegmentSlider](https://github.com/MedvedevMax/MMSegmentSlider) - An easy-to-use customizable animated segment slider for iOS * [StepSlider](https://github.com/spromicky/StepSlider) - StepSlider its custom implementation of slider such as UISlider for preset integer values. +* [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. :large_orange_diamond: ##### Stepper * [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! :large_orange_diamond: From c17222b093639f4e253b1d816ba0c3d1624ec4e0 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 02:08:46 -0700 Subject: [PATCH 0291/2606] Moved SnappingSlider to Slider --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fc5851fa5..3195d7e03 100644 --- a/README.md +++ b/README.md @@ -1134,7 +1134,6 @@ Most of these are paid services, some have free tiers. * [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView :large_orange_diamond: * [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. :large_orange_diamond: * [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities :large_orange_diamond: -* [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: * [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: * [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. * [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. 🔶 @@ -1453,6 +1452,7 @@ Most of these are paid services, some have free tiers. * [MMSegmentSlider](https://github.com/MedvedevMax/MMSegmentSlider) - An easy-to-use customizable animated segment slider for iOS * [StepSlider](https://github.com/spromicky/StepSlider) - StepSlider its custom implementation of slider such as UISlider for preset integer values. * [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. :large_orange_diamond: +* [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: ##### Stepper * [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! :large_orange_diamond: From f7e50c4d79c20e6b30a054953ece15c63a878351 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 02:10:21 -0700 Subject: [PATCH 0292/2606] Moved ReplaceAnimation to Pull to Refresh --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3195d7e03..a1e2be352 100644 --- a/README.md +++ b/README.md @@ -1134,7 +1134,6 @@ Most of these are paid services, some have free tiers. * [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView :large_orange_diamond: * [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. :large_orange_diamond: * [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities :large_orange_diamond: -* [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: * [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. * [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. 🔶 * [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift :large_orange_diamond: @@ -1431,6 +1430,7 @@ Most of these are paid services, some have free tiers. * [HTPullToRefresh](https://github.com/hoang-tran/HTPullToRefresh) - Easily add vertical and horizontal pull to refresh to any UIScrollView. Can also add multiple pull-to-refesh views at once. * [PullToRefreshSwift](https://github.com/dekatotoro/PullToRefreshSwift) - iOS Simple Cool PullToRefresh Library. It is written in pure swift. :large_orange_diamond: * [GIFRefreshControl](https://github.com/delannoyk/GIFRefreshControl) - GIFRefreshControl is a pull to refresh that supports GIF images as track animations. :large_orange_diamond: +* [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: ##### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From 2711eb178893350f6bbc4007cc41b749e9ec3e72 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 02:11:47 -0700 Subject: [PATCH 0293/2606] Moved URLEmbeddedView to Other Parsing --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a1e2be352..dfabeb015 100644 --- a/README.md +++ b/README.md @@ -902,6 +902,7 @@ Most of these are paid services, some have free tiers. * [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: [e] * [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift :large_orange_diamond: * [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. :large_orange_diamond: +* [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: ### Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. @@ -1138,7 +1139,6 @@ Most of these are paid services, some have free tiers. * [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. 🔶 * [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift :large_orange_diamond: * [CoreDragon](https://github.com/nevyn/CoreDragon) - [iOS] Stop using context menus. Drag and drop instead, even between apps! -* [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: * [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. :large_orange_diamond: * [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face :large_orange_diamond: * [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. :large_orange_diamond: From 28cfd1bba11936640df77dc01c5a1713b07d9be5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 19 Aug 2016 02:13:49 -0700 Subject: [PATCH 0294/2606] Moved MTCircularSlider to slider --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dfabeb015..5fb52f27d 100644 --- a/README.md +++ b/README.md @@ -1150,7 +1150,6 @@ Most of these are paid services, some have free tiers. * [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). :large_orange_diamond: * [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller :large_orange_diamond: * [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) :large_orange_diamond: -* [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. :large_orange_diamond: * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift :large_orange_diamond: * [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. :large_orange_diamond: * [JDFlipNumberView](https://github.com/jaydee3/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. @@ -1453,6 +1452,7 @@ Most of these are paid services, some have free tiers. * [StepSlider](https://github.com/spromicky/StepSlider) - StepSlider its custom implementation of slider such as UISlider for preset integer values. * [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. :large_orange_diamond: * [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: +* [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. :large_orange_diamond: ##### Stepper * [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! :large_orange_diamond: From 365ba31c2be0f053b7ee78f1244d09e8007126d7 Mon Sep 17 00:00:00 2001 From: Chucky Date: Fri, 19 Aug 2016 12:43:18 -0700 Subject: [PATCH 0295/2606] added OAStackView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5fb52f27d..458b5f9b7 100644 --- a/README.md +++ b/README.md @@ -1175,6 +1175,7 @@ Most of these are paid services, some have free tiers. * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] * [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code :large_orange_diamond: * [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. :large_orange_diamond: +* [OAStackView](https://github.com/oarrabi/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. ##### Activity Indicator From 08b8b88aae0a67405ee798b470a846ea9f8b3965 Mon Sep 17 00:00:00 2001 From: Thanh-Nhon NGUYEN Date: Sun, 21 Aug 2016 01:41:28 +0200 Subject: [PATCH 0296/2606] Add MaterialActionSheetController --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 458b5f9b7..eb284115a 100644 --- a/README.md +++ b/README.md @@ -1261,6 +1261,7 @@ Most of these are paid services, some have free tiers. * [CuckooAlert](https://github.com/singcodes/CuckooAlert) - Multiple use of presentViewController for UIAlertController. 🔶 * [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. :large_orange_diamond: * [Dodo](https://github.com/marketplacer/Dodo) - A message bar for iOS written in Swift. :large_orange_diamond: +* [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. :large_orange_diamond: ##### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. From 2d09dddbe523f143dd5aa959447723b36be9dcca Mon Sep 17 00:00:00 2001 From: Chucky Date: Sat, 20 Aug 2016 18:37:31 -0700 Subject: [PATCH 0297/2606] added ios-dragable-table-cells --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 458b5f9b7..b94cd9ea7 100644 --- a/README.md +++ b/README.md @@ -1532,6 +1532,7 @@ Most of these are paid services, some have free tiers. * [CollapsableOptions](https://github.com/rob-nash/CollapsableOptions) - Collapsable table view sections with custom section header views. :large_orange_diamond: * [FooterPull](https://github.com/rob-nash/FooterPull) - Add paging to your table views with a cool animation. * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: +* [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 2d31b26afeaa195b89432833abaf5d66177ca006 Mon Sep 17 00:00:00 2001 From: Charles Kang Date: Sat, 20 Aug 2016 23:52:50 -0400 Subject: [PATCH 0298/2606] Removed '.' from end of FSInteractiveMap entry --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 458b5f9b7..81dcae7ea 100644 --- a/README.md +++ b/README.md @@ -338,7 +338,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Scrollable-GraphView](https://github.com/philackm/Scrollable-GraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: * [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. * [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generater for iOS. :large_orange_diamond: -* [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS!. +* [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS! * [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. * [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift :large_orange_diamond: From 89b5100455294f3e3a8112fe12255995228e55fc Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 20 Aug 2016 23:07:37 -0700 Subject: [PATCH 0299/2606] Updated HTPressableButton's link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fcb354a3b..f9ac5d5a3 100644 --- a/README.md +++ b/README.md @@ -1269,7 +1269,7 @@ Most of these are paid services, some have free tiers. * [SDevBootstrapButton](https://github.com/0x73/SDevBootstrapButton) - Twitter Bootstrap buttons for Swift :large_orange_diamond: * [SDevCircleButton](https://github.com/0x73/SDevCircleButton) - Circle Button for Swift :large_orange_diamond: * [VBFPopFlatButton](https://github.com/victorBaro/VBFPopFlatButton) - Flat button with 9 different states animated using Facebook POP. -* [HTPressableButton](https://github.com/herinkc/HTPressableButton) - Flat design pressable button. +* [HTPressableButton](https://github.com/Famolus/HTPressableButton) - Flat design pressable button. * [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state * [JTFadingInfoView](https://github.com/JunichiT/JTFadingInfoView) - An UIButton-based view with fade in/out animation features. * [KCFloatingActionButton](https://github.com/kciter/KCFloatingActionButton) - Simple Floating Action Button for iOS :large_orange_diamond: From 3c4519d149192f0bce429bfc2a4fcd33a4504f51 Mon Sep 17 00:00:00 2001 From: Weiping Huang <2584541288@qq.com> Date: Mon, 22 Aug 2016 01:21:58 +0800 Subject: [PATCH 0300/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f9ac5d5a3..1deb0ae07 100644 --- a/README.md +++ b/README.md @@ -213,6 +213,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. * [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle :large_orange_diamond: * [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. +* [VHBoomMenuButton](https://github.com/Nightonke/VHBoomMenuButton) - A menu which can ... BOOM! ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From d9cd9db35fae57c182606b1aa518c34751e004d5 Mon Sep 17 00:00:00 2001 From: Weiping Huang <2584541288@qq.com> Date: Mon, 22 Aug 2016 08:02:00 +0800 Subject: [PATCH 0301/2606] Add VHBoomMenuButton --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1deb0ae07..8db5c69dc 100644 --- a/README.md +++ b/README.md @@ -1381,6 +1381,7 @@ Most of these are paid services, some have free tiers. * [Context-Menu.iOS](https://github.com/Yalantis/Context-Menu.iOS) - You can easily add awesome animated context menu to your app. * [ViewDeck](https://github.com/ViewDeck/ViewDeck) - An implementation of the sliding functionality found in the Path 2.0 or Facebook iOS apps. * [FrostedSidebar](https://github.com/edekhayser/FrostedSidebar) - Hamburger Menu using Swift and iOS 8 API's :large_orange_diamond: +* [VHBoomMenuButton](https://github.com/Nightonke/VHBoomMenuButton) - A menu which can ... BOOM! ##### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 0fcb98cf5338b1dde7075a3da8557789afd15f77 Mon Sep 17 00:00:00 2001 From: Weiping Huang <2584541288@qq.com> Date: Mon, 22 Aug 2016 08:03:39 +0800 Subject: [PATCH 0302/2606] Add VHBoomMenuButton --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 8db5c69dc..669b43926 100644 --- a/README.md +++ b/README.md @@ -213,7 +213,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. * [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle :large_orange_diamond: * [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. -* [VHBoomMenuButton](https://github.com/Nightonke/VHBoomMenuButton) - A menu which can ... BOOM! ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 30039daa66ad935566cc211f228a0fbad99c40f1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 21 Aug 2016 18:37:05 -0700 Subject: [PATCH 0303/2606] Added Siren by @ArtSabintsev fixes #1046 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 669b43926..04c4de584 100644 --- a/README.md +++ b/README.md @@ -1836,6 +1836,7 @@ Most of these are paid services, some have free tiers. * [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. * [iRate](https://github.com/nicklockwood/iRate) - A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while. Similar to Appirater, but with a simpler, cleaner interface and automatic support for iOS fast application switching. * [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. +* [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. :large_orange_diamond: # SDK From 27af6cac3407e80ed4ef3a38647b027ef1480ac9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 21 Aug 2016 19:24:26 -0700 Subject: [PATCH 0304/2606] Added Relayout by @stevestreza --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 04c4de584..95a2604e8 100644 --- a/README.md +++ b/README.md @@ -552,6 +552,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. :large_orange_diamond: * [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS :large_orange_diamond: * [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications +* [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally :large_orange_diamond: ### Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From 00a1f98dbd9116b51334ab8f02b07e3746469028 Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Sun, 21 Aug 2016 20:36:34 -0700 Subject: [PATCH 0305/2606] Add StyleKit (#1058) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 95a2604e8..b5b689ae1 100644 --- a/README.md +++ b/README.md @@ -1177,6 +1177,7 @@ Most of these are paid services, some have free tiers. * [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code :large_orange_diamond: * [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. :large_orange_diamond: * [OAStackView](https://github.com/oarrabi/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. +* [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: ##### Activity Indicator From 5050efe7dabb4716bdf7dde23f352f8eb9ccd850 Mon Sep 17 00:00:00 2001 From: Timothy Moose Date: Mon, 22 Aug 2016 12:17:05 -0500 Subject: [PATCH 0306/2606] Add SwiftMessages --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b5b689ae1..c552c2e18 100644 --- a/README.md +++ b/README.md @@ -1264,6 +1264,7 @@ Most of these are paid services, some have free tiers. * [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. :large_orange_diamond: * [Dodo](https://github.com/marketplacer/Dodo) - A message bar for iOS written in Swift. :large_orange_diamond: * [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. :large_orange_diamond: +* [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: ##### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. From 02a42b07cfa915eb3d3d331f16f9fa8406c2c938 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 22 Aug 2016 12:34:23 -0700 Subject: [PATCH 0307/2606] Updated LGBluetooth's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c552c2e18..0f8241283 100644 --- a/README.md +++ b/README.md @@ -477,7 +477,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ### Hardware ##### Bluetooth * [Discovery](https://github.com/omergul123/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). -* [LGBluetooth](https://github.com/l0gg3r/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. +* [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. * [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. :large_orange_diamond: * [simple-share](https://github.com/lauraskelton/simple-share) - Easy Proximity-based Bluetooth LE Sharing for iOS. * [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/OSX devices using BLE. :large_orange_diamond: From 036f5d5f79dac17d2f9344b94ab56678738ac54a Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Mon, 22 Aug 2016 12:57:34 -0700 Subject: [PATCH 0308/2606] Add TLLayoutTransitioning (#1059) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0f8241283..93877184e 100644 --- a/README.md +++ b/README.md @@ -1538,6 +1538,7 @@ Most of these are paid services, some have free tiers. * [FooterPull](https://github.com/rob-nash/FooterPull) - Add paging to your table views with a cool animation. * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: * [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. +* [TLLayoutTransitioning](https://github.com/wtmoose/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 9d4c56d8ac282846cfbeb06bbef44e637238d7b1 Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Mon, 22 Aug 2016 14:36:59 -0700 Subject: [PATCH 0309/2606] Add Sheriff by @gemr to UI section (#1061) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 93877184e..83a4cda50 100644 --- a/README.md +++ b/README.md @@ -1178,6 +1178,7 @@ Most of these are paid services, some have free tiers. * [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. :large_orange_diamond: * [OAStackView](https://github.com/oarrabi/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: +* [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. ##### Activity Indicator From b63174339b54cc63182ed658bacb55a9fe9c26ae Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 23 Aug 2016 11:05:07 -0700 Subject: [PATCH 0310/2606] Add iOS GUI by Facebook Design Resources to iOS UI Template [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 83a4cda50..b72648902 100644 --- a/README.md +++ b/README.md @@ -2048,6 +2048,7 @@ Most of these are paid services, some have free tiers. * [iOS 8 GUI PSD Template](http://www.teehanlax.com/tools/iphone/) * [iOS UI Design Kit](https://www.invisionapp.com/tethr) * [iOS Design Guidelines](http://ivomynttinen.com/blog/ios-design-guidelines) +* [iOS GUI by Facebook Design Resources](http://facebook.design/) ### Prototyping * [FluidUI](https://www.fluidui.com) From 7d9def41cdcab669c35b777b22efbb3fc351364f Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Tue, 23 Aug 2016 11:06:05 -0700 Subject: [PATCH 0311/2606] Add Bohr by @DavdRoman to Table View / Collection View section (#1063) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b72648902..8be9a7f69 100644 --- a/README.md +++ b/README.md @@ -1540,6 +1540,7 @@ Most of these are paid services, some have free tiers. * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: * [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. * [TLLayoutTransitioning](https://github.com/wtmoose/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. +* [Bohr](https://github.com/DavdRoman/Bohr) - Bohr allows you to set up a settings screen for your app with three principles in mind: ease, customization and extensibility. ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 63872de6e0d5fb4b344996bb91acb3aa5588d72b Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 23 Aug 2016 19:11:09 -0700 Subject: [PATCH 0312/2606] Remove App Icon Template (#1064) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 8be9a7f69..a481f79bb 100644 --- a/README.md +++ b/README.md @@ -2045,7 +2045,6 @@ Most of these are paid services, some have free tiers. * [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. :large_orange_diamond: ### iOS UI Template -* [App Icon Template](https://appicontemplate.com/ios8/) * [iOS 8 GUI PSD Template](http://www.teehanlax.com/tools/iphone/) * [iOS UI Design Kit](https://www.invisionapp.com/tethr) * [iOS Design Guidelines](http://ivomynttinen.com/blog/ios-design-guidelines) From 1ca156ce2464f1f9b0b2196ad544d1a3429457ec Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 23 Aug 2016 21:57:14 -0700 Subject: [PATCH 0313/2606] Added Skopelos by @albertodebortoli --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a481f79bb..19b1f73da 100644 --- a/README.md +++ b/README.md @@ -363,6 +363,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. :large_orange_diamond: * [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack :large_orange_diamond: * [JSQCoreDataKit](https://github.com/jessesquires/JSQCoreDataKit) - A swifter Core Data stack :large_orange_diamond: +* [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. :large_orange_diamond: ### Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. From 5e096a06d8d4b9ebf3f646c79eb6b6ba8df6c82e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 23 Aug 2016 23:18:11 -0700 Subject: [PATCH 0314/2606] Added Release Notes podcast by @DazeEnd and @jcieplinski --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 19b1f73da..7df3a2c10 100644 --- a/README.md +++ b/README.md @@ -2101,6 +2101,7 @@ Most of these are paid services, some have free tiers. * [Under the Radar](https://www.relay.fm/radar) * [Core Intuition](http://www.coreint.org/) * [Swift Playhouse](http://www.swiftplayhouse.com/) +* [Release Notes](https://releasenotes.tv/) # Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: From ce9181ece0f103f663e09c877a1a335348ff9feb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Quentin=20Mathe=CC=81?= Date: Wed, 24 Aug 2016 18:28:25 +0200 Subject: [PATCH 0315/2606] Add DropDownMenuKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7df3a2c10..e406f2dec 100644 --- a/README.md +++ b/README.md @@ -1386,6 +1386,7 @@ Most of these are paid services, some have free tiers. * [ViewDeck](https://github.com/ViewDeck/ViewDeck) - An implementation of the sliding functionality found in the Path 2.0 or Facebook iOS apps. * [FrostedSidebar](https://github.com/edekhayser/FrostedSidebar) - Hamburger Menu using Swift and iOS 8 API's :large_orange_diamond: * [VHBoomMenuButton](https://github.com/Nightonke/VHBoomMenuButton) - A menu which can ... BOOM! +* [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. :large_orange_diamond: ##### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 0095ad33127b4d7d964eaa48a3317de963695962 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 24 Aug 2016 13:05:31 -0700 Subject: [PATCH 0316/2606] Updated SugarRecord's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e406f2dec..4a194d226 100644 --- a/README.md +++ b/README.md @@ -377,7 +377,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). :large_orange_diamond: * [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. :large_orange_diamond: * [swiftydb](https://github.com/Oyvindkg/swiftydb) - Making SQLite databases a blast :large_orange_diamond: -* [SugarRecord](https://github.com/pepibumur/SugarRecord) - Data persistence management library written in Swift 2.0 :large_orange_diamond: +* [SugarRecord](https://github.com/SugarRecord/SugarRecord) - Data persistence management library written in Swift 2.0 :large_orange_diamond: * [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. :large_orange_diamond: * [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift :large_orange_diamond: * [SwiftData](https://github.com/ryanfowler/SwiftData) - Simple and Effective SQLite Handling in Swift :large_orange_diamond: From 15fa6dcdaf88702879d801f8afa807e1452b28ad Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 24 Aug 2016 21:51:13 -0700 Subject: [PATCH 0317/2606] Added Swift Weekly Brief by @jesse_squires --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4a194d226..a4bcd2460 100644 --- a/README.md +++ b/README.md @@ -2069,6 +2069,7 @@ Most of these are paid services, some have free tiers. * [iOS Trivia Weekly](http://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday * [Indie iOS Focus Weekly](https://indieiosfocus.curated.co) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. * [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. +* [Swift Weekly Brief](http://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday ### Medium * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone From 94824fe0705a439c30c36c59cda1ef0c70f41f5c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 24 Aug 2016 22:02:14 -0700 Subject: [PATCH 0318/2606] Changed Form section to Form & Settings fixes #1065 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a4bcd2460..36a7b2eab 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Alert View](#alerts) - [Button](#button) - [Calendar](#calendar) - - [Form](#form) + - [Form & Settings](#form--settings) - [Keyboard](#keyboard) - [Label](#label) - [Menu](#menu) @@ -1305,7 +1305,7 @@ Most of these are paid services, some have free tiers. * [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern :large_orange_diamond: * [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS -##### Form +##### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS * [XLForm](https://github.com/xmartlabs/XLForm) - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C. * [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. :large_orange_diamond: From 1a1fe52e2c74bb62f37e9d4cc6c9f77a0c63bf02 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 24 Aug 2016 23:58:52 -0700 Subject: [PATCH 0319/2606] Added RxAutomaton by @inamiy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 36a7b2eab..6816c1d00 100644 --- a/README.md +++ b/README.md @@ -960,6 +960,7 @@ Most of these are paid services, some have free tiers. * [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. :large_orange_diamond: * [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data :large_orange_diamond: * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: +* [RxAutomaton](https://github.com/inamiy/RxAutomaton) - RxSwift + State Machine, inspired by Redux and Elm. :large_orange_diamond: ### Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 0ed46712e10116111ecd546de72e95b854f2a841 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 24 Aug 2016 23:59:50 -0700 Subject: [PATCH 0320/2606] Updated JTAppleCalendar's description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6816c1d00..827ea7a8d 100644 --- a/README.md +++ b/README.md @@ -1301,7 +1301,7 @@ Most of these are paid services, some have free tiers. * [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A superiorly awesome iOS7+ calendar control, compatible with both Objective-c and Swift2 :large_orange_diamond: * [GLCalendarView](https://github.com/Glow-Inc/GLCalendarView) - A fully customizable calendar view acting as a date range picker * [JTCalendar](https://github.com/jonathantribouharet/JTCalendar) - A customizable calendar view for iOS. -* [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The final iOS calendar control you'll ever try. :large_orange_diamond: +* [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The Unofficial Swift Apple Calendar Library. View. Control. for iOS & tvOS :large_orange_diamond: * [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. * [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern :large_orange_diamond: * [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS From 730cef2f1f6a6f4a05ec3b52ba016c184385c243 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 25 Aug 2016 00:01:36 -0700 Subject: [PATCH 0321/2606] Added ESTMusicIndicator by @Aufree --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 827ea7a8d..d7774038f 100644 --- a/README.md +++ b/README.md @@ -642,6 +642,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [IQAudioRecorderController](https://github.com/hackiftekhar/IQAudioRecorderController) - A drop-in universal library allows to record audio within the app with a nice User Interface. * [TheAmazingAudioEngine2](https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine2) - The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to. * [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view :large_orange_diamond: +* [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift :large_orange_diamond: ##### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. From 959c8d8a681b4e0e1947194fd96ad5337c9a0b0f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 25 Aug 2016 00:03:12 -0700 Subject: [PATCH 0322/2606] Added MAIKit by @MichaelBuckley --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d7774038f..d83f27c57 100644 --- a/README.md +++ b/README.md @@ -249,6 +249,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac, all using the Ruby language. * [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. * [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/OSX bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews +* [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and OS X ### Cache * [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache :large_orange_diamond: From 60af51bedd375b6aa9a3ca32baef7eb6b93ec017 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 25 Aug 2016 00:06:21 -0700 Subject: [PATCH 0323/2606] Added Boombox.io --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d83f27c57..d6a229ba2 100644 --- a/README.md +++ b/README.md @@ -1838,6 +1838,7 @@ Most of these are paid services, some have free tiers. * [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. * [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. * [Boombox.io](https://boombox.io/) - Sign up TestFlight beta testers on your website. Embeddable and hosted TestFlight beta sign-up forms +* [Boombox.io](https://boombox.io/) - Sign up TestFlight beta testers on your website. Embeddable and hosted TestFlight beta sign-up forms # App Store * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. From 36ffca6ac35aa0bf121f9244e5ca1cc05e503ff0 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 25 Aug 2016 00:13:15 -0700 Subject: [PATCH 0324/2606] Added Segmentio by @Yalantis --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d6a229ba2..24f8a43cf 100644 --- a/README.md +++ b/README.md @@ -1504,6 +1504,7 @@ Most of these are paid services, some have free tiers. * [ColorMatchTabs](https://github.com/Yalantis/ColorMatchTabs) - Interesting way to display tabs :large_orange_diamond: * [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection * [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager similar to the one in Flipboard :large_orange_diamond: +* [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. :large_orange_diamond: ##### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From 8dfc15615e145d6ef73eb2daeb70ac0be3d65904 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 25 Aug 2016 00:15:10 -0700 Subject: [PATCH 0325/2606] Added planet by @kwallet --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 24f8a43cf..922b4aa89 100644 --- a/README.md +++ b/README.md @@ -1183,6 +1183,7 @@ Most of these are paid services, some have free tiers. * [OAStackView](https://github.com/oarrabi/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: * [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. +* [planet](https://github.com/kwallet/planet) - A country picker :large_orange_diamond: ##### Activity Indicator From ad5fe8f4d194828be3fa881a94f92f2c1958b99c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 25 Aug 2016 00:20:47 -0700 Subject: [PATCH 0326/2606] Removed Boombox.io dupe --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 922b4aa89..eba6de282 100644 --- a/README.md +++ b/README.md @@ -1840,7 +1840,6 @@ Most of these are paid services, some have free tiers. * [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. * [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. * [Boombox.io](https://boombox.io/) - Sign up TestFlight beta testers on your website. Embeddable and hosted TestFlight beta sign-up forms -* [Boombox.io](https://boombox.io/) - Sign up TestFlight beta testers on your website. Embeddable and hosted TestFlight beta sign-up forms # App Store * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. From 64ea02956b7a037d73a9c8573b939699db7cbfc3 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 25 Aug 2016 00:22:50 -0700 Subject: [PATCH 0327/2606] Added Badge category --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index eba6de282..ec9791e73 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [UI](#ui) - [Activity Indicator](#activity-indicator) - [Alert View](#alerts) + - [Badge](#badge) - [Button](#button) - [Calendar](#calendar) - [Form & Settings](#form--settings) @@ -1124,7 +1125,6 @@ Most of these are paid services, some have free tiers. * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. :large_orange_diamond: -* [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: * [SCNavigationControlCenter](https://github.com/SergioChan/SCNavigationControlCenter) - This is an advanced navigation control center on iOS that can allow you to navigate to whichever view controller you want * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. * [FXBlurView](https://github.com/nicklockwood/FXBlurView) - UIView subclass that replicates the iOS 7 realtime background blur effect, but works on iOS 5 and above. @@ -1177,12 +1177,10 @@ Most of these are paid services, some have free tiers. * [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. * [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. :large_orange_diamond: * [Blurable](https://github.com/FlexMonkey/Blurable) - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions :large_orange_diamond: -* [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] * [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code :large_orange_diamond: * [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. :large_orange_diamond: * [OAStackView](https://github.com/oarrabi/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: -* [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. * [planet](https://github.com/kwallet/planet) - A country picker :large_orange_diamond: ##### Activity Indicator @@ -1272,6 +1270,11 @@ Most of these are paid services, some have free tiers. * [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. :large_orange_diamond: * [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: +##### Badge +* [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: +* [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] +* [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. + ##### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. * [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. :large_orange_diamond: From c9744ef84315648a2237d6ded2963f6d43463ea7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 25 Aug 2016 00:29:28 -0700 Subject: [PATCH 0328/2606] Added Streaming category --- README.md | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index ec9791e73..017af221f 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Image](#image) - [Media Processing](#media-processing) - [PDF](#pdf) + - [Streaming](#streaming) - [Video](#video) - [Messaging](#messaging) - [Machine Learning](#machine-learning) @@ -629,11 +630,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/OSX audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. * [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and Mac OS X. * [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). -* [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for OSX and iOS. * [sound-fader-ios](https://github.com/evgenyneu/sound-fader-ios) - A sound fader for AVAudioPlayer written in Swift. :large_orange_diamond: * [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! :large_orange_diamond: * [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. :large_orange_diamond: -* [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. :large_orange_diamond: * [AudioPlayerSwift](https://github.com/recisio/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps :large_orange_diamond: * [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). :large_orange_diamond: * [TuningFork](https://github.com/comyarzaheri/TuningFork) - A Simple Tuner for iOS :large_orange_diamond::black_circle: @@ -720,6 +719,21 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [QR Code Scanner](http://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. * [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. :large_orange_diamond: +##### PDF +* [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. +* [UIView 2 PDF](https://github.com/RobertAPhillips/UIView_2_PDF) - PDF generator using UIViews or UIViews with an associated XIB +* [FolioReaderKit](https://github.com/FolioReader/FolioReaderKit) - A Swift ePub reader and parser framework for iOS. :large_orange_diamond: +* [PDFGenerator](https://github.com/sgr-ksmt/PDFGenerator) - A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s). :large_orange_diamond: +* [SimplePDF](https://github.com/nRewik/SimplePDF) - Create a simple PDF effortlessly. :large_orange_diamond: +* [SwiftPDFGenerator](https://github.com/kayoslab/SwiftPDFGenerator) - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'. :large_orange_diamond: +* [PSPDFKit](https://pspdfkit.com/) - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. + +##### Streaming +* [lf.swift](https://github.com/shogo4405/lf.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. :large_orange_diamond: +* [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for OSX and iOS. +* [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. :large_orange_diamond: +* [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate + ##### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. * [MobilePlayer](https://github.com/mobileplayer/mobileplayer-ios) - A powerful and completely customizable media player for iOS. @@ -732,18 +746,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. * [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] * [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] -* [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate * [ZFPlayer](https://github.com/renzifeng/ZFPlayer) - Based on AVPlayer, support for the horizontal screen, vertical screen (full screen playback can also lock the screen direction), the upper and lower slide to adjust the volume, the screen brightness, or so slide to adjust the playback progress. -##### PDF -* [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. -* [UIView 2 PDF](https://github.com/RobertAPhillips/UIView_2_PDF) - PDF generator using UIViews or UIViews with an associated XIB -* [FolioReaderKit](https://github.com/FolioReader/FolioReaderKit) - A Swift ePub reader and parser framework for iOS. :large_orange_diamond: -* [PDFGenerator](https://github.com/sgr-ksmt/PDFGenerator) - A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s). :large_orange_diamond: -* [SimplePDF](https://github.com/nRewik/SimplePDF) - Create a simple PDF effortlessly. :large_orange_diamond: -* [SwiftPDFGenerator](https://github.com/kayoslab/SwiftPDFGenerator) - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'. :large_orange_diamond: -* [PSPDFKit](https://pspdfkit.com/) - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. - ### Messaging Also see [push notifications](#push-notifications) From 962123f262db7ee71dbb4c22984a367c8e6f4a1c Mon Sep 17 00:00:00 2001 From: Philip Niedertscheider Date: Thu, 25 Aug 2016 12:00:21 +0200 Subject: [PATCH 0329/2606] [Add]: TPPDF to category Media / PDF --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 017af221f..74604f822 100644 --- a/README.md +++ b/README.md @@ -727,6 +727,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SimplePDF](https://github.com/nRewik/SimplePDF) - Create a simple PDF effortlessly. :large_orange_diamond: * [SwiftPDFGenerator](https://github.com/kayoslab/SwiftPDFGenerator) - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'. :large_orange_diamond: * [PSPDFKit](https://pspdfkit.com/) - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. +* [TPPDF](https://github.com/Techprimate/TPPDF) - Generate PDF using commands and automatic layout. :large_orange_diamond: ##### Streaming * [lf.swift](https://github.com/shogo4405/lf.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. :large_orange_diamond: From f88eab931e9483e9f740454502cb482b187c9f4f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 25 Aug 2016 15:11:44 -0700 Subject: [PATCH 0330/2606] Updated AImage's link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 74604f822..520118384 100644 --- a/README.md +++ b/README.md @@ -654,7 +654,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftGif](https://github.com/bahlo/SwiftGif) - :sparkles: A small UIImage extension with gif support :large_orange_diamond: * [APNGKit](https://github.com/onevcat/APNGKit) - High performance and delightful way to play with APNG format in iOS. :large_orange_diamond: * [YYImage](https://github.com/ibireme/YYImage) - Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more. -* [JWAnimatedImage](https://github.com/wangjwchn/JWAnimatedImage) - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case.:large_orange_diamond: +* [AImage](https://github.com/wangjwchn/AImage) - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case.:large_orange_diamond: * [NSGIF2](https://github.com/metasmile/NSGIF2) - Simplify creation of a GIF from the provided video file url. * [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine :large_orange_diamond: From 640c12ebc70af5ef434b92a488dfeb82d3910950 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 25 Aug 2016 15:21:53 -0700 Subject: [PATCH 0331/2606] Moved Aardvark to Code Quality --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 520118384..f7929f1bf 100644 --- a/README.md +++ b/README.md @@ -285,6 +285,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FBRetainCycleDetector](https://github.com/facebook/FBRetainCycleDetector) - iOS library to help detecting retain cycles in runtime. * [Buglife](https://github.com/Buglife/Buglife-iOS) - Awesome bug reporting for iOS apps * [Warnings-xcconfig](https://github.com/boredzo/Warnings-xcconfig) - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets. +* [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. ##### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. @@ -575,7 +576,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: * [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. * [NSLogger](https://github.com/fpillet/NSLogger) - a high perfomance logging utility which displays traces emitted by client applications running on Mac OS X, iOS and Android. -* [Aardvark](https://github.com/square/Aardvark/) - A performant logging framework that makes it dead simple to create actionable bug reports on iOS. * [BlockTypeDescription](https://github.com/conradev/BlockTypeDescription) - Show type signatures when logging blocks. * [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. :large_orange_diamond: * [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. :large_orange_diamond: From 7c0e782ab1a59d757323e5cd31de2db931594057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Da=20Costa=20Faro=20R=C3=A9my?= Date: Fri, 26 Aug 2016 08:17:08 +0200 Subject: [PATCH 0332/2606] Add VHUD --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f7929f1bf..d59fd1241 100644 --- a/README.md +++ b/README.md @@ -1228,6 +1228,7 @@ Most of these are paid services, some have free tiers. * [FillableLoaders](https://github.com/poolqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: * [LilithProgressHUD] (https://github.com/Liquicit/LilithProgressHUD) - A elegant and simple progress hud, written in Swift. 🔶 * [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: +* [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. :large_orange_diamond: ##### Alerts From 966bf7b89dedcaaa13ee9a4f9bfef6ac1b8d7d5e Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Fri, 26 Aug 2016 10:32:55 -0700 Subject: [PATCH 0333/2606] Add FutureKit by @FutureKit to EventBus section (#1072) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f7929f1bf..d0088a238 100644 --- a/README.md +++ b/README.md @@ -438,6 +438,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RWPromiseKit](https://github.com/deput/RWPromiseKit) - A light-weighted Promise library for Objective-C * [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. :large_orange_diamond: * [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety :large_orange_diamond: +* [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for IOS and OS X. :large_orange_diamond: ### Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: From 6a215469a22a002782c4826c94a680d37d90cc93 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Fri, 26 Aug 2016 10:37:23 -0700 Subject: [PATCH 0334/2606] Update README URLs based on HTTP redirects (#1073) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d0088a238..11dc2e522 100644 --- a/README.md +++ b/README.md @@ -636,7 +636,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. :large_orange_diamond: * [AudioPlayerSwift](https://github.com/recisio/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps :large_orange_diamond: * [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). :large_orange_diamond: -* [TuningFork](https://github.com/comyarzaheri/TuningFork) - A Simple Tuner for iOS :large_orange_diamond::black_circle: +* [TuningFork](https://github.com/comyar/TuningFork) - A Simple Tuner for iOS :large_orange_diamond::black_circle: * [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift :large_orange_diamond: * [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. :large_orange_diamond: * [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/OSX DSP for audio (with Novocaine) @@ -1774,7 +1774,7 @@ Most of these are paid services, some have free tiers. * [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps :large_orange_diamond: * [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 * [trainer](https://github.com/KrauseFx/trainer) - Convert xcodebuild plist files to JUnit reports -* [Buildasaur](https://github.com/czechboy0/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur :large_orange_diamond: +* [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur :large_orange_diamond: * [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift :large_orange_diamond: # Tools From c5775f6ebf1c6f1184cac43fe73a3d3738465b84 Mon Sep 17 00:00:00 2001 From: naru Date: Sat, 27 Aug 2016 03:46:35 +0900 Subject: [PATCH 0335/2606] Add Monaka (#1071) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 11dc2e522..5ce20e5e2 100644 --- a/README.md +++ b/README.md @@ -412,6 +412,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript http://www.dollarswift.org. :large_orange_diamond: * [Result](https://github.com/antitypical/Result) - Swift type modelling the success/failure of arbitrary operations. :large_orange_diamond: * [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. +* [Monaka](https://github.com/naru-jpn/Monaka) - Convert custom struct and fundamental values to NSData. ### Date & Time From a7cb6ee898fcee197de4afd8c38481b67d5956d2 Mon Sep 17 00:00:00 2001 From: Chucky Date: Sat, 27 Aug 2016 19:11:45 -0700 Subject: [PATCH 0336/2606] Add SwiftValidators by @gkaimakas to Text section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5ce20e5e2..ab761d98a 100644 --- a/README.md +++ b/README.md @@ -1055,6 +1055,7 @@ Most of these are paid services, some have free tiers. * [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. :large_orange_diamond: * [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set * [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings for iOS +* [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). ##### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: From 0b2c185f202d5e2e08e192edec5a23183eaaf651 Mon Sep 17 00:00:00 2001 From: Sean Stephens Date: Sat, 27 Aug 2016 23:12:21 -0400 Subject: [PATCH 0337/2606] Spelling Mistake (read: classic Swift edit) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5ce20e5e2..ba0e9fb5f 100644 --- a/README.md +++ b/README.md @@ -2139,7 +2139,7 @@ Other amazingly awesome lists can be found in the * [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. * [Education](https://github.com/hsavit1/Awesome-Swift-Education) - All the resources you need to learn Swift * [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. :watch: -* [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprenehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. +* [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. * [awesome-ios-animation](https://github.com/sxyx2008/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. * [awesome-ios-chart](https://github.com/sxyx2008/awesome-ios-chart) - A curated list of awesome iOS chart libraries, including Objective-C and Swift. * [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). From 7b2892001de634bb2b4ccb58053e0e4532d71ca7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 27 Aug 2016 22:04:13 -0700 Subject: [PATCH 0338/2606] Added AnimatedTextInput by @jobandtalent --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 247446e37..e2389c0dc 100644 --- a/README.md +++ b/README.md @@ -1596,6 +1596,7 @@ Most of these are paid services, some have free tiers. * [EmojiTextView](https://github.com/fastred/EmojiTextView) - Tap to swap out words with emojis. Inspired by Messages.app on iOS 10. :large_orange_diamond: * [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. :large_orange_diamond: * [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies :large_orange_diamond: +* [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS :large_orange_diamond: ### Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. From 53b1e5692b34110128ab4765e822baf42b6fb886 Mon Sep 17 00:00:00 2001 From: Chucky Date: Sat, 27 Aug 2016 22:05:47 -0700 Subject: [PATCH 0339/2606] Add GCDTimer by @hemantasapkota to GCD section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 247446e37..c72aaa899 100644 --- a/README.md +++ b/README.md @@ -1690,6 +1690,7 @@ Most of these are paid services, some have free tiers. * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) :large_orange_diamond: * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. * [Dispatch](https://github.com/Swiftification/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: + * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. :large_orange_diamond: # Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. From 7a9f7a51d072a501cba6900200dd77f14b325448 Mon Sep 17 00:00:00 2001 From: Chucky Date: Sat, 27 Aug 2016 22:50:25 -0700 Subject: [PATCH 0340/2606] Add SwiftSortUtils by @dsmatter to Utility section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ec76ef8a4..7e25ad876 100644 --- a/README.md +++ b/README.md @@ -1646,6 +1646,7 @@ Most of these are paid services, some have free tiers. * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! :large_orange_diamond: * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) :large_orange_diamond: * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 2.2 :large_orange_diamond: + * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. :large_orange_diamond: ### VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 384094317ce79b52d19d2f728572b06697f1b558 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 27 Aug 2016 22:51:20 -0700 Subject: [PATCH 0341/2606] Created Splash View category fixes #1049 --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ec76ef8a4..ce0680d27 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Pull to Refresh](#pull-to-refresh) - [Rating Stars](#rating-stars) - [Slider](#slider) + - [Splash View](#splash-view) - [Stepper](#stepper) - [Switch](#switch) - [Tab Bar](#tab-bar) @@ -1102,7 +1103,6 @@ Most of these are paid services, some have free tiers. * [ComponentKit](http://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [WobbleView](https://github.com/inFullMobile/WobbleView) - WobbleView is an implementation of a recently popular wobble effect for any view in your app. It can be used to easily add dynamics to user interactions and transitions. :large_orange_diamond: -* [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit * [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. :large_orange_diamond: @@ -1168,7 +1168,6 @@ Most of these are paid services, some have free tiers. * [JDFlipNumberView](https://github.com/jaydee3/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. * [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. :large_orange_diamond: * [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. :large_orange_diamond: -* [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: * [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller :large_orange_diamond: * [DCKit](https://github.com/andrew8712/DCKit) - Set of `@IBDesignable` iOS controls, which have useful `@IBInspectable` properties (border width and color, corner radius and much more) :large_orange_diamond: @@ -1478,6 +1477,11 @@ Most of these are paid services, some have free tiers. * [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: * [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. :large_orange_diamond: +##### Splash View +* [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. +* [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. +* [RevealingSplashView](https://github.com/PiXeL16/RevealingSplashView) - A Splash view that animates and reveals its content, inspired by Twitter splash :large_orange_diamond: + ##### Stepper * [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! :large_orange_diamond: * [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. :large_orange_diamond: From 7ed87190618cd72300b0d195771b6f5415f07ed5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 27 Aug 2016 23:00:06 -0700 Subject: [PATCH 0342/2606] Added Web View category fixes #1050 --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7142886af..ead435af1 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Table View / Collection View](#table-view--collection-view) - [Tag](#tag) - [TextField & TextView](#textfield--textview) + - [Web View](#web--view) - [Utility](#utility) - [VR](#vr) - [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) @@ -1089,8 +1090,6 @@ Most of these are paid services, some have free tiers. * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. * [AsyncDisplayKit](https://github.com/facebook/AsyncDisplayKit/) - AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. * [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. :large_orange_diamond: -* [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. -* [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A Swift implementation of SVWebViewController - a drop-in inline browser for your iOS app. :large_orange_diamond: * [MVMaterialView](https://github.com/mrugrajsinh/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: @@ -1602,6 +1601,11 @@ Most of these are paid services, some have free tiers. * [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies :large_orange_diamond: * [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS :large_orange_diamond: +##### Web View +* [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: +* [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. :large_orange_diamond: +* [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. + ### Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. From b233b28300900ed90393c8b03385a421e06ae59b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 27 Aug 2016 23:02:35 -0700 Subject: [PATCH 0343/2606] Added PTPopupWebView by @pjocprac --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ead435af1..7454d05d2 100644 --- a/README.md +++ b/README.md @@ -1604,7 +1604,8 @@ Most of these are paid services, some have free tiers. ##### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: * [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. :large_orange_diamond: -* [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. +* [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. +* [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. :large_orange_diamond: ### Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. From 9bb7f92b07f16025060fe485219263cc5d4729ae Mon Sep 17 00:00:00 2001 From: Chucky Date: Sat, 27 Aug 2016 23:06:52 -0700 Subject: [PATCH 0344/2606] Add KDInteractiveNavigationController by @kingiol to UI section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ead435af1..79b38d85e 100644 --- a/README.md +++ b/README.md @@ -1188,6 +1188,7 @@ Most of these are paid services, some have free tiers. * [OAStackView](https://github.com/oarrabi/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: * [planet](https://github.com/kwallet/planet) - A country picker :large_orange_diamond: +* [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. :large_orange_diamond: ##### Activity Indicator From 9b7c2aa550f218b3133e9fc35b9279976397321f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 27 Aug 2016 23:10:18 -0700 Subject: [PATCH 0345/2606] Added SwiftLuhn by @MaxKramer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7454d05d2..2ac03f22d 100644 --- a/README.md +++ b/README.md @@ -948,6 +948,7 @@ Most of these are paid services, some have free tiers. * [EasyIAPs](https://github.com/alvinvarghese/EasyIAPs) - An easy way to manage In App Purchases * [PayPal](https://github.com/paypal/PayPal-iOS-SDK) - Accept payments in your iOS app via PayPal. * [card.io-iOS-SDK](https://github.com/card-io/card.io-iOS-SDK) - card.io provides fast, easy credit card scanning in mobile apps +* [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift :large_orange_diamond: ### Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. From 421ffbe9bc76705f50785a0c597a22ecf4b6d1cb Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 27 Aug 2016 23:12:26 -0700 Subject: [PATCH 0346/2606] Added ObjectiveLuhn by @MaxKramer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2ac03f22d..b0293793f 100644 --- a/README.md +++ b/README.md @@ -949,6 +949,7 @@ Most of these are paid services, some have free tiers. * [PayPal](https://github.com/paypal/PayPal-iOS-SDK) - Accept payments in your iOS app via PayPal. * [card.io-iOS-SDK](https://github.com/card-io/card.io-iOS-SDK) - card.io provides fast, easy credit card scanning in mobile apps * [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift :large_orange_diamond: +* [ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn) - Luhn Credit Card Validation Algorithm ### Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. From b2ae80098499af8215ffe0ecb4e2dbece70a5275 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 27 Aug 2016 23:21:32 -0700 Subject: [PATCH 0347/2606] Added MTLLinkLabel by @recruit-mtl --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b0293793f..c379a65f3 100644 --- a/README.md +++ b/README.md @@ -1361,6 +1361,7 @@ Most of these are paid services, some have free tiers. * [ZCAnimatedLabel](https://github.com/overboming/ZCAnimatedLabel) - UILabel replacement with fine-grain appear/disappear animation * [TriLabelView](https://github.com/mukeshthawani/TriLabelView) - A triangle shaped corner label view for iOS written in Swift. :large_orange_diamond: * [Preloader.Ophiuchus](https://github.com/Yalantis/Preloader.Ophiuchus) - Custom Label to apply animations on whole text or letters. +* [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. :large_orange_diamond: ##### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: From 5a65914832168da16599b013386ee6da09160faa Mon Sep 17 00:00:00 2001 From: Chucky Date: Sat, 27 Aug 2016 23:22:49 -0700 Subject: [PATCH 0348/2606] Add KDInteractiveNavigationController by @kingiol to Navigation Bar section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 79b38d85e..aa6f241f5 100644 --- a/README.md +++ b/README.md @@ -1188,7 +1188,6 @@ Most of these are paid services, some have free tiers. * [OAStackView](https://github.com/oarrabi/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: * [planet](https://github.com/kwallet/planet) - A country picker :large_orange_diamond: -* [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. :large_orange_diamond: ##### Activity Indicator @@ -1423,6 +1422,7 @@ Most of these are paid services, some have free tiers. * [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. * [LTNavigationBar](https://github.com/ltebean/LTNavigationBar) - UINavigationBar Category which allows you to change its appearance dynamically * [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects :large_orange_diamond: +* [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. :large_orange_diamond: ##### Popup * [KLCPopup](https://github.com/jmascia/KLCPopup) - A simple and flexible class for presenting custom views as a popup in iOS. From 5e0467859165bebb21dd93fb8de4b55545d86998 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 27 Aug 2016 23:23:15 -0700 Subject: [PATCH 0349/2606] Added swift-badge by @marketplacer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c379a65f3..e2b85570d 100644 --- a/README.md +++ b/README.md @@ -1282,6 +1282,7 @@ Most of these are paid services, some have free tiers. * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] * [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. +* [swift-badge](https://github.com/marketplacer/swift-badge) - Badge view for iOS written in swift :large_orange_diamond: ##### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. From 9aadb4bfb4483f39bd8ba5a15bda7b32eb572c0a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 27 Aug 2016 23:25:38 -0700 Subject: [PATCH 0350/2606] Added Player by @piemonte --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1fb0fb27e..d916ab27b 100644 --- a/README.md +++ b/README.md @@ -752,6 +752,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] * [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] * [ZFPlayer](https://github.com/renzifeng/ZFPlayer) - Based on AVPlayer, support for the horizontal screen, vertical screen (full screen playback can also lock the screen direction), the upper and lower slide to adjust the volume, the screen brightness, or so slide to adjust the playback progress. +* [Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media in your iOS or tvOS app :large_orange_diamond: ### Messaging From eaae083f981405325780773ab4980f8149d32714 Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Sun, 28 Aug 2016 18:46:17 +0100 Subject: [PATCH 0351/2606] Added Server-Side Swift newsletter --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d916ab27b..53cf66426 100644 --- a/README.md +++ b/README.md @@ -2104,6 +2104,7 @@ Most of these are paid services, some have free tiers. * [Indie iOS Focus Weekly](https://indieiosfocus.curated.co) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. * [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. * [Swift Weekly Brief](http://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday +* [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@_digital_signal](https://twitter.com/_digital_signal) ### Medium * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone From 2499770db05ea4fff651e17f9a888ab3b21eb944 Mon Sep 17 00:00:00 2001 From: Philip Niedertscheider Date: Sun, 28 Aug 2016 21:14:01 +0200 Subject: [PATCH 0352/2606] Added TPObfuscatedString --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d916ab27b..9557abaab 100644 --- a/README.md +++ b/README.md @@ -997,6 +997,7 @@ Most of these are paid services, some have free tiers. * [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. :large_orange_diamond: * [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. +* [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using basic Swift :large_orange_diamond: ##### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 55f5086636fdd1fba65fb8c5b771c3234eaf10d0 Mon Sep 17 00:00:00 2001 From: Philip Niedertscheider Date: Sun, 28 Aug 2016 21:15:04 +0200 Subject: [PATCH 0353/2606] Added missing dot for TPObfuscatedString --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9557abaab..f1c1623f4 100644 --- a/README.md +++ b/README.md @@ -997,7 +997,7 @@ Most of these are paid services, some have free tiers. * [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. :large_orange_diamond: * [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. -* [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using basic Swift :large_orange_diamond: +* [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. :large_orange_diamond: ##### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From c27a67053b728f210ff943fb2b0a1a1ce3a37d6a Mon Sep 17 00:00:00 2001 From: Chucky Date: Sun, 28 Aug 2016 18:59:59 -0700 Subject: [PATCH 0354/2606] Add ClangFormat-Xcode by @travisjeffery to Plugins section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d916ab27b..5e6dcbd85 100644 --- a/README.md +++ b/README.md @@ -1989,6 +1989,7 @@ Most of these are paid services, some have free tiers. * [JSPatchX](https://github.com/bang590/JSPatchX) - A XCode plugin that provides autocompletion for JSPatch * [Dash](https://kapeli.com/dash) - Dash is a great documentation browser which integrates closely into Xcode with its plugin. * [SFJumpToLine](https://github.com/sferrini/SFJumpToLine) - Xcode plugin that moves the instruction pointer to the selected line +* [ClangFormat-Xcode](https://github.com/travisjeffery/ClangFormat-Xcode) - An Xcode plug-in to format your code using Clang's format tools. ### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From 7b00acc7204be7ec5d15139060e7c0f688d966d1 Mon Sep 17 00:00:00 2001 From: Chucky Date: Mon, 29 Aug 2016 15:31:13 -0700 Subject: [PATCH 0355/2606] Add Cadmium by @jmfieldman to Core Data section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 18b017434..e9d644005 100644 --- a/README.md +++ b/README.md @@ -370,6 +370,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack :large_orange_diamond: * [JSQCoreDataKit](https://github.com/jessesquires/JSQCoreDataKit) - A swifter Core Data stack :large_orange_diamond: * [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. :large_orange_diamond: +* [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. :large_orange_diamond: ### Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. From 99b15039c37d664a50f5ccba462996890afb74c9 Mon Sep 17 00:00:00 2001 From: Kazuhiro Hayashi Date: Tue, 30 Aug 2016 11:53:05 +0900 Subject: [PATCH 0356/2606] Add StringStylizer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 18b017434..763d632f4 100644 --- a/README.md +++ b/README.md @@ -1062,6 +1062,7 @@ Most of these are paid services, some have free tiers. * [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set * [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings for iOS * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). +* [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. :large_orange_diamond: ##### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: From 328ed780b40a9bce427b857cc78fe46ca4eebdba Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Tue, 30 Aug 2016 07:02:38 -0700 Subject: [PATCH 0357/2606] Update README URLs based on HTTP redirects (#1085) [ci skip] --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 65e761fdc..f18316684 100644 --- a/README.md +++ b/README.md @@ -384,7 +384,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). :large_orange_diamond: * [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. :large_orange_diamond: * [swiftydb](https://github.com/Oyvindkg/swiftydb) - Making SQLite databases a blast :large_orange_diamond: -* [SugarRecord](https://github.com/SugarRecord/SugarRecord) - Data persistence management library written in Swift 2.0 :large_orange_diamond: +* [SugarRecord](https://github.com/carambalabs/SugarRecord) - Data persistence management library written in Swift 2.0 :large_orange_diamond: * [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. :large_orange_diamond: * [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift :large_orange_diamond: * [SwiftData](https://github.com/ryanfowler/SwiftData) - Simple and Effective SQLite Handling in Swift :large_orange_diamond: @@ -1769,7 +1769,7 @@ Most of these are paid services, some have free tiers. ### UI Testing * [CrashMonkey](https://github.com/mokemokechicken/CrashMonkey) - Monkey Test Tool For iOS. * [appium](http://appium.io/) - Appium is an open source test automation framework for use with native and hybrid mobile apps. -* [robotframework-appiumlibrary](https://github.com/jollychang/robotframework-appiumlibrary) - AppiumLibrary is an appium testing library for RobotFramework. +* [robotframework-appiumlibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary) - AppiumLibrary is an appium testing library for RobotFramework. * [Cucumber](https://cucumber.io/) - Behavior driver development for iOS. * [Kif](https://github.com/kif-framework/KIF) - An iOS Functional Testing Framework. * [Subliminal](https://github.com/inkling/Subliminal) - An understated approach to iOS integration testing. From 10f0bc2fba84bf8c944c436e18f5ce5548205920 Mon Sep 17 00:00:00 2001 From: Hiroshi Kimura Date: Wed, 31 Aug 2016 00:34:29 +0900 Subject: [PATCH 0358/2606] Add OneStore --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f18316684..7e197c726 100644 --- a/README.md +++ b/README.md @@ -399,6 +399,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift :large_orange_diamond: * [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. * [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. +* [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. :large_orange_diamond: * [faunadb-swift](https://github.com/faunadb/faunadb-swift) - Swift client for FaunaDB :large_orange_diamond: * [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB :large_orange_diamond: * [PredicateEditor](https://github.com/arvindhsukumar/PredicateEditor) - A visual editor for dynamically creating NSPredicates to query data in your iOS app. :large_orange_diamond: From c7face26bed76410fa63ba3323d18d8ba4b48b45 Mon Sep 17 00:00:00 2001 From: Hiroshi Kimura Date: Wed, 31 Aug 2016 00:39:02 +0900 Subject: [PATCH 0359/2606] Add Presenter --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f18316684..656b38472 100644 --- a/README.md +++ b/README.md @@ -1194,6 +1194,7 @@ Most of these are paid services, some have free tiers. * [OAStackView](https://github.com/oarrabi/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: * [planet](https://github.com/kwallet/planet) - A country picker :large_orange_diamond: +* [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. :large_orange_diamond: ##### Activity Indicator From e9db27d77d08c287846e868fc2a72599be2a8bc3 Mon Sep 17 00:00:00 2001 From: "felix.lin" Date: Wed, 31 Aug 2016 00:01:31 +0800 Subject: [PATCH 0360/2606] Added Domainer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f18316684..c8593cc4b 100644 --- a/README.md +++ b/README.md @@ -825,6 +825,7 @@ Also see [push notifications](#push-notifications) * [YTKNetwork](https://github.com/yuantiku/YTKNetwork) - YTKNetwork is a high level request util based on AFNetworking. * [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. :large_orange_diamond: * [MMLanScan](https://github.com/mavris/MMLanScan) - An iOS LAN Network Scanner library +* [Domainer](https://github.com/FelixLinBH/Domainer) - Manage multi-domain url auto mapping ip address table #### Email From 3167ae93f1e6a6131de077b7083a23e0a9e0d4ac Mon Sep 17 00:00:00 2001 From: Chucky Date: Tue, 30 Aug 2016 11:33:28 -0700 Subject: [PATCH 0361/2606] Add DataKernel by @mrdekk to Core Data section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c8593cc4b..2c05a1276 100644 --- a/README.md +++ b/README.md @@ -371,6 +371,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JSQCoreDataKit](https://github.com/jessesquires/JSQCoreDataKit) - A swifter Core Data stack :large_orange_diamond: * [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. :large_orange_diamond: * [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. :large_orange_diamond: +* [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. :large_orange_diamond: ### Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. From 8837ca197d2b988561f4d546c6a0acc63b414666 Mon Sep 17 00:00:00 2001 From: Hiroshi Kimura Date: Wed, 31 Aug 2016 10:35:51 +0900 Subject: [PATCH 0362/2606] Move to after PredicateEditor --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7e197c726..c478dfefa 100644 --- a/README.md +++ b/README.md @@ -399,10 +399,10 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift :large_orange_diamond: * [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. * [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. -* [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. :large_orange_diamond: * [faunadb-swift](https://github.com/faunadb/faunadb-swift) - Swift client for FaunaDB :large_orange_diamond: * [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB :large_orange_diamond: * [PredicateEditor](https://github.com/arvindhsukumar/PredicateEditor) - A visual editor for dynamically creating NSPredicates to query data in your iOS app. :large_orange_diamond: +* [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. :large_orange_diamond: ### Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: From d8ee0a26ffebea02f1cdd1e9e4bab0c5f0000c07 Mon Sep 17 00:00:00 2001 From: Hiroshi Kimura Date: Wed, 31 Aug 2016 10:38:24 +0900 Subject: [PATCH 0363/2606] Move to 'ModalTransition' --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 656b38472..4cce742d8 100644 --- a/README.md +++ b/README.md @@ -1194,7 +1194,6 @@ Most of these are paid services, some have free tiers. * [OAStackView](https://github.com/oarrabi/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: * [planet](https://github.com/kwallet/planet) - A country picker :large_orange_diamond: -* [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. :large_orange_diamond: ##### Activity Indicator @@ -1424,6 +1423,8 @@ Most of these are paid services, some have free tiers. * [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. * [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: +* [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. :large_orange_diamond: + ##### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 9ad3b7457efa1da2c32bc9e77541f16e7fdbdbc6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 31 Aug 2016 00:08:29 -0700 Subject: [PATCH 0364/2606] Added Kaeru by @bannzai --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2a4b04f4c..4b7facd78 100644 --- a/README.md +++ b/README.md @@ -1427,7 +1427,7 @@ Most of these are paid services, some have free tiers. * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. * [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: * [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. :large_orange_diamond: - +* [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like ios task manager :large_orange_diamond: ##### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 2bc18a89420c72f3779744bde5984c1bb700a96a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 31 Aug 2016 02:18:26 -0700 Subject: [PATCH 0365/2606] Added More Than Just Code Podcast by @mtjc_podcast --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4b7facd78..19a4f7aa1 100644 --- a/README.md +++ b/README.md @@ -2148,6 +2148,7 @@ Most of these are paid services, some have free tiers. * [Core Intuition](http://www.coreint.org/) * [Swift Playhouse](http://www.swiftplayhouse.com/) * [Release Notes](https://releasenotes.tv/) +* [More Than Just Code](http://mtjc.fm/) # Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: From 34c22fad318c9d03c8674f0fc22a3de4cc22d585 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 31 Aug 2016 02:20:09 -0700 Subject: [PATCH 0366/2606] Added update_xcode_plugins by @inket --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 19a4f7aa1..f60988fdf 100644 --- a/README.md +++ b/README.md @@ -1998,6 +1998,7 @@ Most of these are paid services, some have free tiers. * [Dash](https://kapeli.com/dash) - Dash is a great documentation browser which integrates closely into Xcode with its plugin. * [SFJumpToLine](https://github.com/sferrini/SFJumpToLine) - Xcode plugin that moves the instruction pointer to the selected line * [ClangFormat-Xcode](https://github.com/travisjeffery/ClangFormat-Xcode) - An Xcode plug-in to format your code using Clang's format tools. +* [update_xcode_plugins](https://github.com/inket/update_xcode_plugins) - No more messing with plugin UUIDs; Plugins on Xcode 8! ### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From 1906d972c9d5cb91c0352a03da71ae5bd6bf1a74 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 31 Aug 2016 02:21:05 -0700 Subject: [PATCH 0367/2606] Added ShogibanKit by @codelynx --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f60988fdf..c4569b7af 100644 --- a/README.md +++ b/README.md @@ -468,6 +468,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ### Games * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: +* [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. :large_orange_diamond: ### Gesture * [Tactile](https://github.com/delba/Tactile) - The Swift way to add UIGestureRecognizer and to react to UIControlEvents :large_orange_diamond: From 27eb34d6a527412cbd1c754dea1cf681824b42d5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 31 Aug 2016 02:23:05 -0700 Subject: [PATCH 0368/2606] Added extract-localizable-string-plugin-xcode by @viniciusmo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c4569b7af..9be5995f7 100644 --- a/README.md +++ b/README.md @@ -579,6 +579,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [lokalise](https://lokalise.co/en ) - Translation platform for software developers. Free for open source projects * [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. * [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable :large_orange_diamond: +* [extract-localizable-string-plugin-xcode](https://github.com/viniciusmo/extract-localizable-string-plugin-xcode) - Xcode plugin for quickly creating localized strings ### Logging * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: From b1a977170bd117316dd8e0ae2753584e815c819d Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 31 Aug 2016 06:54:22 -0700 Subject: [PATCH 0369/2606] Add Stats by @shu223 to Code Quality --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9be5995f7..19689bd1e 100644 --- a/README.md +++ b/README.md @@ -288,6 +288,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Buglife](https://github.com/Buglife/Buglife-iOS) - Awesome bug reporting for iOS apps * [Warnings-xcconfig](https://github.com/boredzo/Warnings-xcconfig) - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets. * [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. +* [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. ##### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 01e222feaa525e30058b4c1ab8a9bf59340ff08c Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Wed, 31 Aug 2016 12:37:06 -0700 Subject: [PATCH 0370/2606] Add RMStore by @robotmedia to Payments section (#1090) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 19689bd1e..7019f1bfb 100644 --- a/README.md +++ b/README.md @@ -958,6 +958,7 @@ Most of these are paid services, some have free tiers. * [card.io-iOS-SDK](https://github.com/card-io/card.io-iOS-SDK) - card.io provides fast, easy credit card scanning in mobile apps * [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift :large_orange_diamond: * [ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn) - Luhn Credit Card Validation Algorithm +* [RMStore](https://github.com/robotmedia/RMStore) - A lightweight iOS library for In-App Purchases ### Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. From 3a168d8dae888d14d885df07e56fc6349eee197d Mon Sep 17 00:00:00 2001 From: Aashish Tamsya Date: Thu, 1 Sep 2016 12:04:00 +0530 Subject: [PATCH 0371/2606] Added Appstore Review Guidelines --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91f3abc28..673db2feb 100644 --- a/README.md +++ b/README.md @@ -1891,6 +1891,7 @@ Most of these are paid services, some have free tiers. * [iRate](https://github.com/nicklockwood/iRate) - A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while. Similar to Appirater, but with a simpler, cleaner interface and automatic support for iOS fast application switching. * [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. * [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. :large_orange_diamond: +* [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. # SDK From f4d53f6160810502d645b4929808d7803e847d84 Mon Sep 17 00:00:00 2001 From: Anatoliy Voropay Date: Thu, 1 Sep 2016 15:12:25 +0300 Subject: [PATCH 0372/2606] Add RevealMenuController --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7019f1bfb..efcb40c17 100644 --- a/README.md +++ b/README.md @@ -1376,6 +1376,7 @@ Most of these are paid services, some have free tiers. * [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. :large_orange_diamond: ##### Menu +* [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. :large_orange_diamond: * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: * [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. * [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. :large_orange_diamond: From 5f289695e52833a2ff8155634847fb8fcd10868f Mon Sep 17 00:00:00 2001 From: Anatoliy Voropay Date: Thu, 1 Sep 2016 15:16:00 +0300 Subject: [PATCH 0373/2606] Add to the bottom of a list --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index efcb40c17..9f081e84c 100644 --- a/README.md +++ b/README.md @@ -1376,7 +1376,6 @@ Most of these are paid services, some have free tiers. * [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. :large_orange_diamond: ##### Menu -* [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. :large_orange_diamond: * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: * [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. * [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. :large_orange_diamond: @@ -1416,6 +1415,7 @@ Most of these are paid services, some have free tiers. * [FrostedSidebar](https://github.com/edekhayser/FrostedSidebar) - Hamburger Menu using Swift and iOS 8 API's :large_orange_diamond: * [VHBoomMenuButton](https://github.com/Nightonke/VHBoomMenuButton) - A menu which can ... BOOM! * [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. :large_orange_diamond: +* [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. :large_orange_diamond: ##### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From b2a1c24e549eb9fb73440ed61179906f12a89d67 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 1 Sep 2016 12:49:23 -0400 Subject: [PATCH 0374/2606] Added Restofire by @Restofire --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index de242cf0c..fad58301c 100644 --- a/README.md +++ b/README.md @@ -831,6 +831,7 @@ Also see [push notifications](#push-notifications) * [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. :large_orange_diamond: * [MMLanScan](https://github.com/mavris/MMLanScan) - An iOS LAN Network Scanner library * [Domainer](https://github.com/FelixLinBH/Domainer) - Manage multi-domain url auto mapping ip address table +* [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way :large_orange_diamond: #### Email @@ -2187,4 +2188,4 @@ Other amazingly awesome lists can be found in the [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) # License -Distributed under the MIT license. See LICENSE for more information. \ No newline at end of file +Distributed under the MIT license. See LICENSE for more information. From a1afb9a7b526b4f0db531b7087f577125a8e978c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 1 Sep 2016 12:51:05 -0400 Subject: [PATCH 0375/2606] Updated Server-Side Swift Weekly's twitter --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fad58301c..ace8decf1 100644 --- a/README.md +++ b/README.md @@ -2121,7 +2121,7 @@ Most of these are paid services, some have free tiers. * [Indie iOS Focus Weekly](https://indieiosfocus.curated.co) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. * [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. * [Swift Weekly Brief](http://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday -* [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@_digital_signal](https://twitter.com/_digital_signal) +* [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) ### Medium * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone From 330c4f6f1afca547e647238bd54d9d9397a6b1fc Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 2 Sep 2016 18:45:33 -0400 Subject: [PATCH 0376/2606] Added View2ViewTransition by @naru-jpn --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ace8decf1..7ea506dbd 100644 --- a/README.md +++ b/README.md @@ -1434,6 +1434,7 @@ Most of these are paid services, some have free tiers. * [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: * [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. :large_orange_diamond: * [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like ios task manager :large_orange_diamond: +* [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. :large_orange_diamond: ##### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 2abe7b95496ff3d406d27a27319793abeaab2d73 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 3 Sep 2016 04:50:53 -0400 Subject: [PATCH 0377/2606] Added ImagePickerSheetController by @lbrndnr --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ea506dbd..054d7fd25 100644 --- a/README.md +++ b/README.md @@ -723,6 +723,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AspectFillFaceAware](https://github.com/BeauNouvelle/AspectFillFaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. :large_orange_diamond: * [SwiftyAvatar](https://github.com/dkalaitzidis/SwiftyAvatar) - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard * [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters :large_orange_diamond: +* [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. :large_orange_diamond: ##### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From fe236380e9f0d48f379262872b7582eecbe706cf Mon Sep 17 00:00:00 2001 From: Chucky Date: Sat, 3 Sep 2016 08:41:56 -0700 Subject: [PATCH 0378/2606] Add Alpha by @Legoless to Code Quality section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 054d7fd25..bbcba7269 100644 --- a/README.md +++ b/README.md @@ -289,6 +289,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Warnings-xcconfig](https://github.com/boredzo/Warnings-xcconfig) - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets. * [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. * [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. +* [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. ##### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From f462abdde45628c5360e54a69e95d7c461d072a7 Mon Sep 17 00:00:00 2001 From: Thanh Pham Date: Sun, 4 Sep 2016 15:26:04 +0800 Subject: [PATCH 0379/2606] Add Switch --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bbcba7269..82c7ebcb7 100644 --- a/README.md +++ b/README.md @@ -1526,6 +1526,7 @@ Most of these are paid services, some have free tiers. * [LUNSegmentedControl](https://github.com/LunApps/LUNSegmentedControl) - Customizable segmented control with interactive animation. * [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS * [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS :large_orange_diamond: +* [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support.🔶 ##### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From 3a283949379567b2374d17fd4a7d3b30105d2c1a Mon Sep 17 00:00:00 2001 From: Chucky Date: Sun, 4 Sep 2016 08:41:01 -0700 Subject: [PATCH 0380/2606] Add PageController by @hirohisa to UI section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bbcba7269..085e7d049 100644 --- a/README.md +++ b/README.md @@ -1204,6 +1204,7 @@ Most of these are paid services, some have free tiers. * [OAStackView](https://github.com/oarrabi/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: * [planet](https://github.com/kwallet/planet) - A country picker :large_orange_diamond: +* [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. :large_orange_diamond: ##### Activity Indicator From 9db432fd9b0d03ea68bb82f6ee0da3a993fe4175 Mon Sep 17 00:00:00 2001 From: Will James Date: Mon, 5 Sep 2016 20:33:57 +1000 Subject: [PATCH 0381/2606] Adding GuardedSwiftyJSON --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c949b1eb..ad816b2f7 100644 --- a/README.md +++ b/README.md @@ -910,6 +910,7 @@ Most of these are paid services, some have free tiers. * [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. :large_orange_diamond: * [MJExtension](https://github.com/CoderMJLee/MJExtension) - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file. * [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper :large_orange_diamond: +* [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initalizers for data models. :large_orange_diamond: ##### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From 47b2503b93911d72c13269774ef19f3bf314b41c Mon Sep 17 00:00:00 2001 From: Helge Hess Date: Mon, 5 Sep 2016 13:53:23 +0200 Subject: [PATCH 0382/2606] Add Noze.io to Server section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c949b1eb..80aae3e4f 100644 --- a/README.md +++ b/README.md @@ -1753,6 +1753,7 @@ Most of these are paid services, some have free tiers. * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: * [Redbird](https://github.com/czechboy0/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: +* [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: # Dependency / Package Manager * [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. From d15f94dd4c3a41655934b9f1608fd793a6df0507 Mon Sep 17 00:00:00 2001 From: Sean Stephens Date: Mon, 5 Sep 2016 13:54:01 -0400 Subject: [PATCH 0383/2606] Added stand-alone datasource connector projects --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 3c949b1eb..7efd0c777 100644 --- a/README.md +++ b/README.md @@ -406,6 +406,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB :large_orange_diamond: * [PredicateEditor](https://github.com/arvindhsukumar/PredicateEditor) - A visual editor for dynamically creating NSPredicates to query data in your iOS app. :large_orange_diamond: * [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. :large_orange_diamond: +* [MongoDB](https://github.com/PerfectlySoft/Perfect-MongoDB) - A Swift wrapper around the mongo-c client library, enabling access to MongoDB servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. +* [SQLite](https://github.com/PerfectlySoft/Perfect-SQLite) - A Swift wrapper around the SQLite 3 client library, enabling access to SQLite servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. +* [MySQL](https://github.com/PerfectlySoft/Perfect-MySQL) - A Swift wrapper around the MySQL client library, enabling access to MySQL servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. +* [Redis](https://github.com/PerfectlySoft/Perfect-Redis) - A Swift wrapper around the Redis client library, enabling access to Redis. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. +* [PostgreSQL](https://github.com/PerfectlySoft/Perfect-PostgreSQL) - A Swift wrapper around the libpq client library, enabling access to PostgreSQL servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. +* [FileMaker](https://github.com/PerfectlySoft/Perfect-FileMaker) - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. ### Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: From d64fb0abcc07fd5a7c8d43f4b6fbab9007160c7b Mon Sep 17 00:00:00 2001 From: Adam Shin Date: Mon, 5 Sep 2016 12:44:51 -0600 Subject: [PATCH 0384/2606] Add SwiftReorder --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c949b1eb..8731684c7 100644 --- a/README.md +++ b/README.md @@ -1587,6 +1587,7 @@ Most of these are paid services, some have free tiers. * [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. * [TLLayoutTransitioning](https://github.com/wtmoose/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. * [Bohr](https://github.com/DavdRoman/Bohr) - Bohr allows you to set up a settings screen for your app with three principles in mind: ease, customization and extensibility. +* [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. :large_orange_diamond:[e] ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 1cf447e6466858718e91c84324fd373671e4fa86 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 5 Sep 2016 23:05:06 -0700 Subject: [PATCH 0385/2606] Added RippleEffectView by @alsedi --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ee8ffddf..abe7955bf 100644 --- a/README.md +++ b/README.md @@ -217,6 +217,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. * [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle :large_orange_diamond: * [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. +* [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect :large_orange_diamond: ### Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 86a1fe19e0a9e14113fcb8d63f5dd583e041f202 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 6 Sep 2016 00:23:45 -0700 Subject: [PATCH 0386/2606] Added xcenv by @xcenv --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index abe7955bf..599384783 100644 --- a/README.md +++ b/README.md @@ -1864,6 +1864,7 @@ Most of these are paid services, some have free tiers. * [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. * [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. :large_orange_diamond: * [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance +* [xcenv](https://github.com/xcenv/xcenv) - Groom your Xcode environment. # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 988e9b4ccebfcfd216e6e5371f8c512a5b6ce45f Mon Sep 17 00:00:00 2001 From: Chucky Date: Tue, 6 Sep 2016 11:51:33 -0700 Subject: [PATCH 0387/2606] Add NiceGesture by @lacklock to Gesture section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 599384783..64731ef6d 100644 --- a/README.md +++ b/README.md @@ -478,6 +478,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond:[e] * [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] :large_orange_diamond: * [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. :large_orange_diamond: +* [NiceGesture](https://github.com/lacklock/NiceGesture) - Best way to use UIGesture. :large_orange_diamond: ### Graphics * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! :large_orange_diamond: From 1301ad9e34a70ea763d06b3a57713d69af3d7fa6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 6 Sep 2016 11:58:00 -0700 Subject: [PATCH 0388/2606] Updated Vapor's urls --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 64731ef6d..db24873be 100644 --- a/README.md +++ b/README.md @@ -1717,7 +1717,7 @@ Most of these are paid services, some have free tiers. * [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and OSX. :large_orange_diamond: * [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and OSX :large_orange_diamond: * [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. :large_orange_diamond: -* [Socks](https://github.com/czechboy0/Socks) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: +* [Socks](https://github.com/vapor/Socks) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: * [SwifterSockets](https://github.com/Swiftrien/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iO :large_orange_diamond: * [SecretSocks](https://github.com/czechboy0/SecretSocks) - Secure Sockets for Socks :large_orange_diamond: @@ -1755,7 +1755,7 @@ Most of these are paid services, some have free tiers. * [Kitura](https://github.com/IBM-Swift/Kitura) - Web framework and HTTP server for Swift by IBM :large_orange_diamond: * [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: -* [Redbird](https://github.com/czechboy0/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: +* [Redbird](https://github.com/vapor/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: * [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: From 155960003a8fd72e77235703bb4040c26bff7ef8 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Tue, 6 Sep 2016 12:00:16 -0700 Subject: [PATCH 0389/2606] Update README URLs based on HTTP redirects (#1103) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index db24873be..6cf951068 100644 --- a/README.md +++ b/README.md @@ -478,7 +478,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond:[e] * [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] :large_orange_diamond: * [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. :large_orange_diamond: -* [NiceGesture](https://github.com/lacklock/NiceGesture) - Best way to use UIGesture. :large_orange_diamond: ### Graphics * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! :large_orange_diamond: From 48239921071ac35a9b06cd49651b1e75678d001d Mon Sep 17 00:00:00 2001 From: Chucky Date: Tue, 6 Sep 2016 12:03:54 -0700 Subject: [PATCH 0390/2606] Add KMPlaceholderTextView by @MoZhouqi to TextField & TextView section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6cf951068..487d62b98 100644 --- a/README.md +++ b/README.md @@ -1628,6 +1628,7 @@ Most of these are paid services, some have free tiers. * [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. :large_orange_diamond: * [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies :large_orange_diamond: * [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS :large_orange_diamond: +* [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. :large_orange_diamond: ##### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From bfea23f6a48c1bc8ee50d36569396b888b66ff8e Mon Sep 17 00:00:00 2001 From: Chucky Date: Tue, 6 Sep 2016 12:17:17 -0700 Subject: [PATCH 0391/2606] Add ReactiveArray by @Wolox to Reactive Programming section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 487d62b98..4832008a7 100644 --- a/README.md +++ b/README.md @@ -989,6 +989,7 @@ Most of these are paid services, some have free tiers. * [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data :large_orange_diamond: * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: * [RxAutomaton](https://github.com/inamiy/RxAutomaton) - RxSwift + State Machine, inspired by Redux and Elm. :large_orange_diamond: +* [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. :large_orange_diamond: ### Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 5a621bded8f3aaffc2a3913f2468d77c32883831 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 6 Sep 2016 14:50:17 -0700 Subject: [PATCH 0392/2606] Added nslocalizer by @samdmarshall --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4832008a7..6a8dee9ed 100644 --- a/README.md +++ b/README.md @@ -583,6 +583,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. * [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable :large_orange_diamond: * [extract-localizable-string-plugin-xcode](https://github.com/viniciusmo/extract-localizable-string-plugin-xcode) - Xcode plugin for quickly creating localized strings +* [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings ### Logging * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: From f0f62822e840261c217305b97b32e7357fc4cb09 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 6 Sep 2016 14:52:23 -0700 Subject: [PATCH 0393/2606] Added playgroundbook by @ashfurrow --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a8dee9ed..ad6ee2e65 100644 --- a/README.md +++ b/README.md @@ -1868,6 +1868,7 @@ Most of these are paid services, some have free tiers. * [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. :large_orange_diamond: * [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance * [xcenv](https://github.com/xcenv/xcenv) - Groom your Xcode environment. +* [playgroundbook](https://github.com/ashfurrow/playgroundbook) - Tool for Swift Playground books # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 263feab96b261dcb096daa7ae6e472c1ed131613 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 6 Sep 2016 15:05:49 -0700 Subject: [PATCH 0394/2606] Added PullToMakeSoup by @Yalantis --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ad6ee2e65..c00d8452c 100644 --- a/README.md +++ b/README.md @@ -1480,6 +1480,7 @@ Most of these are paid services, some have free tiers. * [PullToRefreshSwift](https://github.com/dekatotoro/PullToRefreshSwift) - iOS Simple Cool PullToRefresh Library. It is written in pure swift. :large_orange_diamond: * [GIFRefreshControl](https://github.com/delannoyk/GIFRefreshControl) - GIFRefreshControl is a pull to refresh that supports GIF images as track animations. :large_orange_diamond: * [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: +* [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView :large_orange_diamond: ##### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From cf92a77c8e300ff97fe2a4bf9c97098d271fe4b9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 6 Sep 2016 15:07:32 -0700 Subject: [PATCH 0395/2606] Added KYWheelTabController by @ykyouhei --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c00d8452c..06ae67aa5 100644 --- a/README.md +++ b/README.md @@ -1550,6 +1550,7 @@ Most of these are paid services, some have free tiers. * [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection * [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager similar to the one in Flipboard :large_orange_diamond: * [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. :large_orange_diamond: +* [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. :large_orange_diamond: ##### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From 565d645e7ff80d242366827c4e803f91fd3a81ad Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 6 Sep 2016 15:09:21 -0700 Subject: [PATCH 0396/2606] Added MakeXcodeGr8Again by @fpg1503 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 06ae67aa5..e79cbd978 100644 --- a/README.md +++ b/README.md @@ -2022,6 +2022,7 @@ Most of these are paid services, some have free tiers. * [SFJumpToLine](https://github.com/sferrini/SFJumpToLine) - Xcode plugin that moves the instruction pointer to the selected line * [ClangFormat-Xcode](https://github.com/travisjeffery/ClangFormat-Xcode) - An Xcode plug-in to format your code using Clang's format tools. * [update_xcode_plugins](https://github.com/inket/update_xcode_plugins) - No more messing with plugin UUIDs; Plugins on Xcode 8! +* [MakeXcodeGr8Again](https://github.com/fpg1503/MakeXcodeGr8Again) - Xcode + Plugins = :blue_heart: :large_orange_diamond: ### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From 43647c19bd549a5412ae6889d863f391c740582c Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Tue, 6 Sep 2016 19:51:47 -0700 Subject: [PATCH 0397/2606] Add TLIndexPathTools by @wtmoose to Table View / Collection View section (#1107) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e79cbd978..021ec2755 100644 --- a/README.md +++ b/README.md @@ -1594,6 +1594,7 @@ Most of these are paid services, some have free tiers. * [TLLayoutTransitioning](https://github.com/wtmoose/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. * [Bohr](https://github.com/DavdRoman/Bohr) - Bohr allows you to set up a settings screen for your app with three principles in mind: ease, customization and extensibility. * [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. :large_orange_diamond:[e] +* [TLIndexPathTools](https://github.com/wtmoose/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. ##### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 774ce638926f8ebaa26e842beccfd2eef996ecc3 Mon Sep 17 00:00:00 2001 From: Burhanuddin Sunelwala Date: Wed, 7 Sep 2016 11:24:46 +0400 Subject: [PATCH 0398/2606] Added TFTColor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 021ec2755..6efe485b9 100644 --- a/README.md +++ b/README.md @@ -298,6 +298,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. :large_orange_diamond: ### Color +* [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). :large_orange_diamond: * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: * [SDevFlatColors](https://github.com/0x73/SDevFlatColors) - Flat Colors on Swift :large_orange_diamond: * [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. From 1c99c7254be9c19fdd134c8326edc0220bd2d2d5 Mon Sep 17 00:00:00 2001 From: Burhanuddin Sunelwala Date: Wed, 7 Sep 2016 11:31:43 +0400 Subject: [PATCH 0399/2606] Added in Chronological Order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6efe485b9..75ac3159b 100644 --- a/README.md +++ b/README.md @@ -298,7 +298,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. :large_orange_diamond: ### Color -* [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). :large_orange_diamond: * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: * [SDevFlatColors](https://github.com/0x73/SDevFlatColors) - Flat Colors on Swift :large_orange_diamond: * [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. @@ -315,6 +314,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) - :balloon: An Xcode plugin that makes working with color easier :large_orange_diamond:[e] * [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes * [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/publications/standards/Ecma-048.htm). :large_orange_diamond: +* [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). :large_orange_diamond: ### Command Line * [Swiftline](https://github.com/oarrabi/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: From cc2333864ec05f46945806a938d996e10f4d5db7 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Wed, 7 Sep 2016 05:46:33 -0700 Subject: [PATCH 0400/2606] Update README URLs based on HTTP redirects --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 021ec2755..5d562eca4 100644 --- a/README.md +++ b/README.md @@ -897,7 +897,7 @@ Most of these are paid services, some have free tiers. * [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. :large_orange_diamond: * [mapper](https://github.com/lyft/mapper) - Another JSON deserialization library for Swift :large_orange_diamond: * [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection :large_orange_diamond: -* [Jay](https://github.com/czechboy0/Jay) - Pure-Swift JSON parser & formatter. Linux & OS X ready. :large_orange_diamond: +* [Jay](https://github.com/DanToml/Jay) - Pure-Swift JSON parser & formatter. Linux & OS X ready. :large_orange_diamond: * [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/OSX. * [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON :large_orange_diamond: * [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder :large_orange_diamond: @@ -1724,7 +1724,7 @@ Most of these are paid services, some have free tiers. * [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. :large_orange_diamond: * [Socks](https://github.com/vapor/Socks) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: * [SwifterSockets](https://github.com/Swiftrien/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iO :large_orange_diamond: -* [SecretSocks](https://github.com/czechboy0/SecretSocks) - Secure Sockets for Socks :large_orange_diamond: +* [SecretSocks](https://github.com/czechboy0-deprecated/SecretSocks) - Secure Sockets for Socks :large_orange_diamond: #### GCD * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. :large_orange_diamond: From 2774102df03813644bb6442ca4dd7a47aa2a82f2 Mon Sep 17 00:00:00 2001 From: haydenholligan Date: Wed, 7 Sep 2016 09:06:05 -0400 Subject: [PATCH 0401/2606] Add DKCamera --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 021ec2755..507aee734 100644 --- a/README.md +++ b/README.md @@ -516,6 +516,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JVTImageFilePicker](https://github.com/mcmatan/JVTImageFilePicker) - Easy and beautiful way for a user to pick content, files or images. Written in Objective C. * [HorizonSDK-iOS](https://github.com/HorizonCamera/HorizonSDK-iOS) - State of the art real-time video recording / photo shooting iOS library. * [FastttCamera](https://github.com/IFTTT/FastttCamera) - Fasttt and easy camera framework for iOS with customizable filters +* [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. 🔶 ##### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: From 6296959ef61ce00afc80c1bfcc432adba7f00820 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 7 Sep 2016 09:17:37 -0700 Subject: [PATCH 0402/2606] Removed SecretSocks --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f7974234a..3a7b92460 100644 --- a/README.md +++ b/README.md @@ -1725,7 +1725,6 @@ Most of these are paid services, some have free tiers. * [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. :large_orange_diamond: * [Socks](https://github.com/vapor/Socks) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: * [SwifterSockets](https://github.com/Swiftrien/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iO :large_orange_diamond: -* [SecretSocks](https://github.com/czechboy0-deprecated/SecretSocks) - Secure Sockets for Socks :large_orange_diamond: #### GCD * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. :large_orange_diamond: From fa1845e866951d4be0757c38ae56f2fc5aa35fca Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 7 Sep 2016 09:23:00 -0700 Subject: [PATCH 0403/2606] Added Perfect to whitelist --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index bb883ed95..fa0a901fa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ before_script: - gem install awesome_bot - gem install danger script: - - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK + - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,Perfect - allowed_redirects=growthpush,awesomelinkcounter - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger From b5ed21f3c659fb39c87733c4af498270729c7406 Mon Sep 17 00:00:00 2001 From: Chucky Date: Wed, 7 Sep 2016 10:59:31 -0700 Subject: [PATCH 0404/2606] Add EmojiTimeFormatter by @thomaspaulmann to Date & Time section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7606f6b1b..4727f375a 100644 --- a/README.md +++ b/README.md @@ -440,6 +440,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AFDateHelper](https://github.com/melvitax/AFDateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond:[e] * [Tempo](https://github.com/remirobert/Tempo) - Date and time manager for iOS/OSX written in Swift :large_orange_diamond: * [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. +* [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. :large_orange_diamond: ### EventBus * [Caravel](https://github.com/coshx/caravel) - A Swift event bus for UIWebView and JS :large_orange_diamond: From d344c6bb56ce5dcf3a94497e4bdd478f57fa57f4 Mon Sep 17 00:00:00 2001 From: Chucky Date: Thu, 8 Sep 2016 12:13:46 -0700 Subject: [PATCH 0405/2606] Add Brisk by @jmfieldman to Concurrency section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4727f375a..1aaea6567 100644 --- a/README.md +++ b/README.md @@ -327,6 +327,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Safe](https://github.com/tidwall/Safe) - Modern Concurrency and Synchronization for Swift. :large_orange_diamond: * [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives :large_orange_diamond: * [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift :large_orange_diamond: +* [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. :large_orange_diamond: ### Charts * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: From 5564240806647c8f6e2700c7d78d13ed9563e834 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 8 Sep 2016 12:46:01 -0700 Subject: [PATCH 0406/2606] Added GenericPasswordRow by @EurekaCommunity --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1080dd145..d39777e36 100644 --- a/README.md +++ b/README.md @@ -1363,6 +1363,7 @@ Most of these are paid services, some have free tiers. * [FXForms](https://github.com/nicklockwood/FXForms) - FXForms is an Objective-C library for easily creating table-based forms on iOS. It is ideal for settings pages, or user data entry tasks. * [SwiftValidator](https://github.com/jpotts18/SwiftValidator) - A rule-based validation library for Swift :large_orange_diamond: * [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. +* [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. :large_orange_diamond: ##### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From bd58f281750968c2a30317fc964b3668d3adef1f Mon Sep 17 00:00:00 2001 From: Chucky Date: Thu, 8 Sep 2016 12:57:32 -0700 Subject: [PATCH 0407/2606] Add Anchorage by @Raizlabs to Layout section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d39777e36..a163570ca 100644 --- a/README.md +++ b/README.md @@ -579,6 +579,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS :large_orange_diamond: * [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications * [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally :large_orange_diamond: +* [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. :large_orange_diamond: ### Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From be93cb43965aa28d652908035f11bf3e3690cc9d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 9 Sep 2016 23:30:03 -0700 Subject: [PATCH 0408/2606] Added StatusProvider by @mariohahn --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a163570ca..76279d2c6 100644 --- a/README.md +++ b/README.md @@ -1220,6 +1220,7 @@ Most of these are paid services, some have free tiers. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: * [planet](https://github.com/kwallet/planet) - A country picker :large_orange_diamond: * [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. :large_orange_diamond: +* [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views :large_orange_diamond: ##### Activity Indicator From fa44d63b2ad70806f5fb118a7c74604e3f648192 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 10 Sep 2016 21:50:22 -0700 Subject: [PATCH 0409/2606] Added Kronos by @SmileyKeith --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 76279d2c6..1367ec219 100644 --- a/README.md +++ b/README.md @@ -443,6 +443,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Tempo](https://github.com/remirobert/Tempo) - Date and time manager for iOS/OSX written in Swift :large_orange_diamond: * [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. * [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. :large_orange_diamond: +* [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift :large_orange_diamond: ### EventBus * [Caravel](https://github.com/coshx/caravel) - A Swift event bus for UIWebView and JS :large_orange_diamond: From eca5d99ab68d19ea22580361c7d22196f69236f7 Mon Sep 17 00:00:00 2001 From: Chucky Date: Sun, 11 Sep 2016 08:29:16 -0700 Subject: [PATCH 0410/2606] Add Interstellar by @JensRavens to Reactive Programming section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1367ec219..279edff05 100644 --- a/README.md +++ b/README.md @@ -1003,6 +1003,7 @@ Most of these are paid services, some have free tiers. * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: * [RxAutomaton](https://github.com/inamiy/RxAutomaton) - RxSwift + State Machine, inspired by Redux and Elm. :large_orange_diamond: * [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. :large_orange_diamond: +* [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. :large_orange_diamond: ### Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 658816694128ef6188f8150e29c3b2026ba1d463 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Sep 2016 20:43:34 -0700 Subject: [PATCH 0411/2606] Added SlackKit by @pvzig --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 279edff05..9bf7a8c22 100644 --- a/README.md +++ b/README.md @@ -1976,6 +1976,7 @@ Most of these are paid services, some have free tiers. * [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. * [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project :large_orange_diamond: * [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & OS X written in Swift :large_orange_diamond: +* [SlackKit](https://github.com/pvzig/SlackKit) - a Slack client library for iOS and OS X written in Swift :large_orange_diamond: # Xcode From d95f2c4be748bd372d08867f92799fe008991d03 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 12 Sep 2016 08:00:50 -0700 Subject: [PATCH 0412/2606] Add SwiftSpinner by @icanzilb --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9bf7a8c22..f770ac903 100644 --- a/README.md +++ b/README.md @@ -1264,6 +1264,7 @@ Most of these are paid services, some have free tiers. * [FillableLoaders](https://github.com/poolqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: * [LilithProgressHUD] (https://github.com/Liquicit/LilithProgressHUD) - A elegant and simple progress hud, written in Swift. 🔶 * [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: +* [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design :large_orange_diamond: ##### Alerts From dcf60180237966e0af8ef9227cee7a5b9bca4f5f Mon Sep 17 00:00:00 2001 From: Chucky Date: Mon, 12 Sep 2016 09:42:29 -0700 Subject: [PATCH 0413/2606] Add SuggestionsBox by @manuelescrig to Form & Settings section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f770ac903..fb00c7616 100644 --- a/README.md +++ b/README.md @@ -1369,6 +1369,7 @@ Most of these are paid services, some have free tiers. * [SwiftValidator](https://github.com/jpotts18/SwiftValidator) - A rule-based validation library for Swift :large_orange_diamond: * [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. * [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. :large_orange_diamond: +* [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. :large_orange_diamond: ##### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From 3aaafb1f37daf2f93f8543f6da5f6de7a5ad04bf Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Mon, 12 Sep 2016 10:11:46 -0700 Subject: [PATCH 0414/2606] Update README URLs based on HTTP redirects (#1117) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f770ac903..4eb2e2a80 100644 --- a/README.md +++ b/README.md @@ -1574,7 +1574,7 @@ Most of these are paid services, some have free tiers. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. * [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. * [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ :large_orange_diamond: -* [CSStickyHeaderFlowLayout](https://github.com/jamztang/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. :large_orange_diamond: +* [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. :large_orange_diamond: * [folding-cell](https://github.com/Ramotion/folding-cell) - TableViewCell replacement with parallax detail view for Swift :large_orange_diamond: * [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. * [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. :large_orange_diamond: @@ -1744,7 +1744,7 @@ Most of these are paid services, some have free tiers. #### GCD * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. :large_orange_diamond: * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch :large_orange_diamond: - * [SwiftSafe](https://github.com/czechboy0/SwiftSafe) - Thread synchronization made easy :large_orange_diamond: + * [SwiftSafe](https://github.com/nodes-ios/SwiftSafe) - Thread synchronization made easy :large_orange_diamond: * [YYDispatchQueuePool](https://github.com/ibireme/YYDispatchQueuePool) - iOS utility class to manage global dispatch queue. * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. :large_orange_diamond: * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) :large_orange_diamond: From 29432f071564c487b534ce91606f5c84cad1a9ba Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 12 Sep 2016 11:54:25 -0700 Subject: [PATCH 0415/2606] Added SwiftyConfiguration by @ykyouhei fixes #1106 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 210bf81b1..c14ba13eb 100644 --- a/README.md +++ b/README.md @@ -943,6 +943,7 @@ Most of these are paid services, some have free tiers. * [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift :large_orange_diamond: * [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. :large_orange_diamond: * [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: +* [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. :large_orange_diamond: ### Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. From aa8bf39821b27f0306cf174b62f14fe0fb078061 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 12 Sep 2016 20:37:29 -0700 Subject: [PATCH 0416/2606] Added SnapTimer by @andresinaka --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c14ba13eb..72ed9dc13 100644 --- a/README.md +++ b/README.md @@ -1266,6 +1266,7 @@ Most of these are paid services, some have free tiers. * [LilithProgressHUD] (https://github.com/Liquicit/LilithProgressHUD) - A elegant and simple progress hud, written in Swift. 🔶 * [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: * [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design :large_orange_diamond: +* [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. :large_orange_diamond: ##### Alerts From a01c05d419a3a2238e5bf20574dedf5693a5eed2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 13 Sep 2016 00:19:21 -0700 Subject: [PATCH 0417/2606] Added Runtime by @soffes and @calebd --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72ed9dc13..2bc19fa27 100644 --- a/README.md +++ b/README.md @@ -2194,6 +2194,7 @@ Most of these are paid services, some have free tiers. * [Swift Playhouse](http://www.swiftplayhouse.com/) * [Release Notes](https://releasenotes.tv/) * [More Than Just Code](http://mtjc.fm/) +* [Runtime](https://spec.fm/podcasts/runtime) # Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: From ee61f4d61c2b246fdcb0316376fa37fc98537e38 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 13 Sep 2016 00:26:55 -0700 Subject: [PATCH 0418/2606] Added signals-ios by @uber --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2bc19fa27..00929ae00 100644 --- a/README.md +++ b/README.md @@ -458,6 +458,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. :large_orange_diamond: * [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety :large_orange_diamond: * [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for IOS and OS X. :large_orange_diamond: +* [signals-ios](https://github.com/uber/signals-ios) - Typeful eventing ### Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: From ee0625fdebd0ccd6ee41b810f253b8dfb90791a7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 13 Sep 2016 00:29:41 -0700 Subject: [PATCH 0419/2606] Added ASBubbleDrag by @scamps88 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 00929ae00..a324230ef 100644 --- a/README.md +++ b/README.md @@ -1225,6 +1225,7 @@ Most of these are paid services, some have free tiers. * [planet](https://github.com/kwallet/planet) - A country picker :large_orange_diamond: * [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. :large_orange_diamond: * [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views :large_orange_diamond: +* [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style :large_orange_diamond: ##### Activity Indicator From f8069f543c471bd2f2ba80c4e4931f1abfa13013 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 13 Sep 2016 00:31:21 -0700 Subject: [PATCH 0420/2606] Added Sleipnir by @railsware --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a324230ef..6c75379a7 100644 --- a/README.md +++ b/README.md @@ -1805,6 +1805,7 @@ Most of these are paid services, some have free tiers. * [Dixie](https://github.com/Skyscanner/Dixie) - Dixie is an open source Objective-C testing framework for altering object behaviours. * [gh-unit](https://github.com/gh-unit/gh-unit) - Test Framework for Objective-C. * [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C :large_orange_diamond: +* [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift :large_orange_diamond: ### A/B Testing * [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. From 2211bc8f251500db64bf5f7d02336f9086da7a97 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 13 Sep 2016 00:33:28 -0700 Subject: [PATCH 0421/2606] Added Buffer by @alexdrone --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6c75379a7..f9e47a383 100644 --- a/README.md +++ b/README.md @@ -429,6 +429,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Result](https://github.com/antitypical/Result) - Swift type modelling the success/failure of arbitrary operations. :large_orange_diamond: * [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. * [Monaka](https://github.com/naru-jpn/Monaka) - Convert custom struct and fundamental values to NSData. +* [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. :large_orange_diamond: ### Date & Time From 249e68b2f7b43c88b43065331eb7a95b00f68c7d Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Tue, 13 Sep 2016 09:16:06 -0700 Subject: [PATCH 0422/2606] Add DATAStack by @3lvis to Core Data section (#1119) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f9e47a383..3965c6c51 100644 --- a/README.md +++ b/README.md @@ -377,6 +377,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. :large_orange_diamond: * [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. :large_orange_diamond: * [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. :large_orange_diamond: +* [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: ### Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. From 03e04497b1d70792429498a8a67ffb47a6fabce8 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 14 Sep 2016 01:11:43 -0700 Subject: [PATCH 0423/2606] Added Swift-ActionCableClient by @danielrhodes --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3965c6c51..3ae411a08 100644 --- a/README.md +++ b/README.md @@ -1747,6 +1747,7 @@ Most of these are paid services, some have free tiers. * [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. :large_orange_diamond: * [Socks](https://github.com/vapor/Socks) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: * [SwifterSockets](https://github.com/Swiftrien/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iO :large_orange_diamond: +* [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. :large_orange_diamond: #### GCD * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. :large_orange_diamond: From c522599cf98e151643f4114e7fac308f98b0426d Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 14 Sep 2016 08:35:51 -0700 Subject: [PATCH 0424/2606] [contributing] iOS update --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index dc23878e6..049187dff 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -17,7 +17,7 @@ Please ensure your pull request adheres to the following guidelines: #### Projects are ineligible if: - Doesn't have commit for more than two years. -- Doesn't support iOS 7 or later. +- Doesn't support iOS 8 or later. - Only have README in another language (Chinese, Japanese, Portuguese and etc) - We cannot clearly understand the objective. - Without clear README From 624e24d502754d2564bb9f8953171945ddf2e421 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 14 Sep 2016 08:36:19 -0700 Subject: [PATCH 0425/2606] [template] iOS update --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index deeda4339..70f2f0ce6 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -11,6 +11,6 @@ - [ ] Only one project/change is in this pull request - [ ] Addition in chronological order (bottom of category) -- [ ] Supports iOS 7 or later +- [ ] Supports iOS 8 or later - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English From 7e46c10e1c93f61ebb0a297ab6cf8ad46583c33e Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Wed, 14 Sep 2016 08:38:31 -0700 Subject: [PATCH 0426/2606] Add StackLayout by @bridger to UI section (#1120) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3ae411a08..93cfe5931 100644 --- a/README.md +++ b/README.md @@ -1228,6 +1228,7 @@ Most of these are paid services, some have free tiers. * [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. :large_orange_diamond: * [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views :large_orange_diamond: * [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style :large_orange_diamond: +* [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. ##### Activity Indicator From 30657f3be50d784afd3c7f02eb21a6976f850ef4 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 14 Sep 2016 12:41:39 -0300 Subject: [PATCH 0427/2606] add books of Manning Publications --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 93cfe5931..e56c2809a 100644 --- a/README.md +++ b/README.md @@ -2212,6 +2212,9 @@ Most of these are paid services, some have free tiers. * [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) * [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) * [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) +* [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) :large_orange_diamond: +* [OS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) :large_orange_diamond: +* [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) :large_orange_diamond: # Other Awesome Lists Other amazingly awesome lists can be found in the From 8eea8f7064b85d4898a44dfa068fb64a6800e465 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Wed, 14 Sep 2016 08:53:54 -0700 Subject: [PATCH 0428/2606] Update README URLs based on HTTP redirects (#1122) --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e56c2809a..b063d8f48 100644 --- a/README.md +++ b/README.md @@ -155,15 +155,15 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *** # Getting Started -* [Start Developing with iOS](https://developer.apple.com/library/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. :large_orange_diamond: +* [Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. :large_orange_diamond: * [Lifehacker](http://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? * [Codeproject](http://www.codeproject.com/Articles/88929/Getting-Started-with-iPhone-and-iOS-Development) - Getting Started with iPhone and iOS Development. * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. * [Stanford - Developing Apps to iOS](https://itunes.apple.com/us/itunes-u/developing-apps-for-ios-hd/id395605774?mt=10) - Stanford's iTunes U App Development Course (Audio and Video). * [Stanford - Developing iOS 8 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099) - Stanford's 2015 iTunes U App Development Course. :large_orange_diamond: * [Stanford - Developing iOS 9 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961) - Stanford's iTunes U course. :large_orange_diamond: -* [Programming with Objective-C by Apple](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) -* [Object-Oriented Programming with Objective-C by Apple](https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) +* [Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) +* [Object-Oriented Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) * [Udacity: Beginning iOS App Development Nanodegree](https://www.udacity.com/course/beginning-ios-app-development-nanodegree--nd006) - Udacity's intro course on writing iOS apps [Paid Resource] :large_orange_diamond: * [Udacity: iOS Developer Nanodegree](https://www.udacity.com/course/ios-developer-nanodegree--nd003) - Udacity's full course on iOS developing [Paid Resource] :large_orange_diamond: @@ -1312,7 +1312,7 @@ Most of these are paid services, some have free tiers. * [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. 🔶 * [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. 🔶 * [CRToast](https://github.com/cruffenach/CRToast) - A modern iOS toast view that can fit your notification needs -* [JLToast](https://github.com/devxoul/JLToast) - Toast for iOS with very simple interface. :large_orange_diamond: +* [JLToast](https://github.com/devxoul/Toaster) - Toast for iOS with very simple interface. :large_orange_diamond: * [CuckooAlert](https://github.com/singcodes/CuckooAlert) - Multiple use of presentViewController for UIAlertController. 🔶 * [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. :large_orange_diamond: * [Dodo](https://github.com/marketplacer/Dodo) - A message bar for iOS written in Swift. :large_orange_diamond: From 15c5bd676da8b6f1a6e4e88d6a0034131503ec60 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 14 Sep 2016 18:14:43 -0300 Subject: [PATCH 0429/2606] change category title size and reorganize sections --- README.md | 705 +++++++++++++++++++++++++++--------------------------- 1 file changed, 355 insertions(+), 350 deletions(-) diff --git a/README.md b/README.md index b063d8f48..89adb3e4d 100644 --- a/README.md +++ b/README.md @@ -7,35 +7,36 @@ [![Language](https://awesomelinkcounter.herokuapp.com/objc)]() [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) -##### About +# About A curated list of awesome iOS frameworks, libraries, tutorials, Xcode plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). Projects in Swift will be marked with :large_orange_diamond:, Swift Extensions will be marked with 🔶[e] and ⌚ for Apple Watch projects. Feel free to add your project. -##### How to Use +# How to Use Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use are: - Ask for help on our [Twitter](https://twitter.com/awesome_ios) or [Gitter Channel](https://gitter.im/vsouza/awesome-ios) - Simply press command + F to search for a keyword - Go through our *Content Menu* -### Content - +## Content +- [About](#about) +- [How to Use](#how-to-use) - [Getting Started](#getting-started) - [Library and Frameworks](#libraries-and-frameworks) + - [Analytics](#analytics) - [Animation](#animation) - [Apple TV](#apple-tv) - [Authentication](#authentication) - - [Analytics](#analytics) - [Bridging](#bridging) - [Cache](#cache) + - [Charts](#charts) - [Code Quality](#code-quality) - [Linter](#linter) - [Color](#color) - [Command Line](#command-line) - [Concurrency](#concurrency) - [Core Data](#core-data) - - [Charts](#charts) - [Database](#database) - [Data Structures / Algorithms](#data-structures--algorithms) - [Date & Time](#date--time) @@ -50,11 +51,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Camera](#camera) - [Force Touch](#force-touch) - [iBeacon](#ibeacon) - - [Location](#location) + - [Location](#location) - [Other Hardware](#other-hardware) - [Layout](#layout) - - [Localization](#localization) - [Logging](#logging) + - [Localization](#localization) + - [Machine Learning](#machine-learning) - [Maps](#maps) - [Math](#math) - [Media](#media) @@ -66,28 +68,35 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Streaming](#streaming) - [Video](#video) - [Messaging](#messaging) - - [Machine Learning](#machine-learning) - [Networking](#networking) - - [Push Notifications](#push-notifications) - - [Push Notification Providers](#push-notification-providers) - [Parsing](#parsing) - [CSV](#csv) - [JSON](#json) - [XML & HTML](#xml--html) - [Other Parsing](#other-parsing) - [Passbook](#passbook) - - [Permissions](#permissions) - [Payments](#payments) + - [Permissions](#permissions) - [Products](#products) + - [Push Notifications](#push-notifications) + - [Push Notification Providers](#push-notification-providers) - [Reactive Programming](#reactive-programming) - [Reflection](#reflection) - [Regex](#regex) + - [SDK](#sdk) + - [Official](#official) + - [Unofficial](#unofficial) - [Security](#security) - [Encryption](#encryption) - [Keychain](#keychain) + - [Server](#server) + - [Testing](#testing) + - [TDD / BDD](#tdd--bdd) + - [A/B Testing](#ab-testing) + - [UI Testing](#ui-testing) + - [Other Testing](#other-testing) - [Text](#text) - [Font](#font) - - [URL Scheme](#url-scheme) - [UI](#ui) - [Activity Indicator](#activity-indicator) - [Alert View](#alerts) @@ -112,18 +121,13 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [Web View](#web--view) + - [URL Scheme](#url-scheme) - [Utility](#utility) - [VR](#vr) - [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) - [Websocket](#websocket) - [Project setup](#project-setup) -- [Server](#server) - [Dependency / Package Manager](#dependency--package-manager) -- [Testing](#testing) - - [TDD / BDD](#tdd--bdd) - - [A/B Testing](#ab-testing) - - [UI Testing](#ui-testing) - - [Other Testing](#other-testing) - [Tools](#tools) - [Rapid Development](#rapid-development) - [Injection](#injection) @@ -146,8 +150,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Prototyping](#prototyping) - [Newsletters](#newsletters) - [Medium](#medium) -- [Twitter](#twitter) -- [Facebook Groups](#facebook-groups) +- [Social Media](#social-media) + - [Twitter](#twitter) + - [Facebook Groups](#facebook-groups) - [Podcasts](#podcasts) - [Books](#books) - [Other Awesome Lists](#other-awesome-lists) @@ -170,7 +175,19 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap # Libraries And Frameworks -### Animation +## Analytics +* [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. +* [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. +* [Answers by Fabric](https://answers.io/) - Answers gives you real-time insight into people’s experience in your app. +* [Liquid Analytics](https://onliquid.com) - Identify behaviours through Analytics and react with real-time Personalization. +* [GTrack](https://github.com/gemr/GTrack) - Lightweight Objective-C wrapper around the Google Analytics for iOS SDK with some extra goodies. +* [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. +* [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. +* [MOCA Analytics](https://mocaplatform.com/features) - Paid cross-platform analytics backend. +* [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. +* [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. + +## Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. * [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. * [Awesome-iOS-Animation](https://github.com/jackyzh/awesome-ios-animation) - Collection of Animation projects @@ -219,14 +236,14 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. * [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect :large_orange_diamond: -### Apple TV +## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and OS X * [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager without client-server :large_orange_diamond: * [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! :large_orange_diamond: * [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. :large_orange_diamond: -### Authentication +## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: * [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. :large_orange_diamond: * [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. :large_orange_diamond: @@ -238,25 +255,13 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and OS X apps. :large_orange_diamond: * [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. :large_orange_diamond: -### Analytics -* [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. -* [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. -* [Answers by Fabric](https://answers.io/) - Answers gives you real-time insight into people’s experience in your app. -* [Liquid Analytics](https://onliquid.com) - Identify behaviours through Analytics and react with real-time Personalization. -* [GTrack](https://github.com/gemr/GTrack) - Lightweight Objective-C wrapper around the Google Analytics for iOS SDK with some extra goodies. -* [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. -* [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. -* [MOCA Analytics](https://mocaplatform.com/features) - Paid cross-platform analytics backend. -* [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. -* [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. - -### Bridging +## Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac, all using the Ruby language. * [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. * [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/OSX bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews * [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and OS X -### Cache +## Cache * [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache :large_orange_diamond: * [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content :large_orange_diamond: * [Carlos](https://github.com/WeltN24/Carlos) - A simple but flexible cache :large_orange_diamond: @@ -270,7 +275,30 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RocketData](https://github.com/linkedin/RocketData) - A caching and consistency solution for immutable models. :large_orange_diamond: * [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and OS X -### Code Quality +## Charts +* [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: +* [JTChartView](https://github.com/kubatru/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. +* [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS +* [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Elegant Line Graphs for iOS (charting library). +* [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. +* [iOSPlot](https://github.com/honcheng/iOSPlot) - Chart library for iOS. +* [XYPieChart](https://github.com/xyfeng/XYPieChart) - A simple and animated Pie Chart for your iOS app. +* [TEAChart](https://github.com/xhacker/TEAChart) - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart. +* [EChart](https://github.com/zhuhuihuihui/EChart) - iOS/iPhone/iPad Chart, Graph. Event handling and animation supported. +* [FSLineChart](https://github.com/ArthurGuibert/FSLineChart) - A line chart library for iOS. +* [chartee](https://github.com/zhiyu/chartee) - a charting library for mobile platforms. +* [ANDLineChartView](https://github.com/anaglik/ANDLineChartView) - ANDLineChartView is easy to use view-based class for displaying animated line chart. +* [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. +* [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. :large_orange_diamond: +* [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. :large_orange_diamond: +* [Scrollable-GraphView](https://github.com/philackm/Scrollable-GraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: +* [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. +* [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generater for iOS. :large_orange_diamond: +* [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS! +* [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. +* [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift :large_orange_diamond: + +## Code Quality * [KZBootstrap](https://github.com/krzysztofzablocki/KZBootstrap) - iOS project bootstrap aimed at high quality coding. * [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL. * [PSPDFUIKitMainThreadGuard](https://gist.github.com/steipete/5664345) - Simple snippet generating assertions when UIKit is used on background threads. @@ -292,12 +320,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. * [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. -##### Linter +#### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. :large_orange_diamond: * [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. :large_orange_diamond: -### Color +## Color * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: * [SDevFlatColors](https://github.com/0x73/SDevFlatColors) - Flat Colors on Swift :large_orange_diamond: * [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. @@ -316,44 +344,21 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/publications/standards/Ecma-048.htm). :large_orange_diamond: * [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). :large_orange_diamond: -### Command Line +## Command Line * [Swiftline](https://github.com/oarrabi/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: * [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces :large_orange_diamond: * [Colors](https://github.com/paulot/Colors) - Terminal Colors for Swift :large_orange_diamond: * [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift :large_orange_diamond: * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: -### Concurrency +## Concurrency * [Venice](https://github.com/VeniceX/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: * [Safe](https://github.com/tidwall/Safe) - Modern Concurrency and Synchronization for Swift. :large_orange_diamond: * [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives :large_orange_diamond: * [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift :large_orange_diamond: * [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. :large_orange_diamond: -### Charts -* [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: -* [JTChartView](https://github.com/kubatru/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. -* [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS -* [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Elegant Line Graphs for iOS (charting library). -* [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. -* [iOSPlot](https://github.com/honcheng/iOSPlot) - Chart library for iOS. -* [XYPieChart](https://github.com/xyfeng/XYPieChart) - A simple and animated Pie Chart for your iOS app. -* [TEAChart](https://github.com/xhacker/TEAChart) - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart. -* [EChart](https://github.com/zhuhuihuihui/EChart) - iOS/iPhone/iPad Chart, Graph. Event handling and animation supported. -* [FSLineChart](https://github.com/ArthurGuibert/FSLineChart) - A line chart library for iOS. -* [chartee](https://github.com/zhiyu/chartee) - a charting library for mobile platforms. -* [ANDLineChartView](https://github.com/anaglik/ANDLineChartView) - ANDLineChartView is easy to use view-based class for displaying animated line chart. -* [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. -* [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. :large_orange_diamond: -* [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. :large_orange_diamond: -* [Scrollable-GraphView](https://github.com/philackm/Scrollable-GraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: -* [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. -* [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generater for iOS. :large_orange_diamond: -* [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS! -* [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. -* [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift :large_orange_diamond: - -### Core Data +## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. * [ObjectiveRecord](https://github.com/supermarin/ObjectiveRecord) - ActiveRecord for Objective-C. * [SSDataKit](https://github.com/soffes/SSDataKit) - Eliminate your Core Data boilerplate code. @@ -379,7 +384,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. :large_orange_diamond: * [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: -### Database +## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. * [YapDatabase](https://github.com/yapstudios/YapDatabase) - YapDatabase is an extensible database for iOS & Mac. * [Couchbase Mobile](http://developer.couchbase.com/mobile/) - Couchbase document store for mobile with cloud sync. @@ -417,7 +422,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PostgreSQL](https://github.com/PerfectlySoft/Perfect-PostgreSQL) - A Swift wrapper around the libpq client library, enabling access to PostgreSQL servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [FileMaker](https://github.com/PerfectlySoft/Perfect-FileMaker) - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. -### Data Structures / Algorithms +## Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: * [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another * [BTree](https://github.com/lorentey/BTree) - Fast ordered collections for Swift using in-memory B-trees :large_orange_diamond: @@ -432,7 +437,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Monaka](https://github.com/naru-jpn/Monaka) - Convert custom struct and fundamental values to NSData. * [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. :large_orange_diamond: -### Date & Time +## Date & Time * [Every.swift](https://github.com/samhann/Every.swift) - Wrapper for NSTimer :large_orange_diamond: * [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions :large_orange_diamond:[e] @@ -447,7 +452,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. :large_orange_diamond: * [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift :large_orange_diamond: -### EventBus +## EventBus * [Caravel](https://github.com/coshx/caravel) - A Swift event bus for UIWebView and JS :large_orange_diamond: * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: * [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and OS X. @@ -462,7 +467,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for IOS and OS X. :large_orange_diamond: * [signals-ios](https://github.com/uber/signals-ios) - Typeful eventing -### Files +## Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: * [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: @@ -470,7 +475,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FileProvider](https://github.com/amosavian/FileProvider) - NSFileManager replacement for local and remote (WebDAV/Dropbox/SMB2) files on iOS and macOS. :large_orange_diamond: * [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. :large_orange_diamond: -### Functional Programming +## Functional Programming * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: * [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. :large_orange_diamond: * [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. :large_orange_diamond: @@ -482,17 +487,17 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: -### Games +## Games * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: * [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. :large_orange_diamond: -### Gesture +## Gesture * [Tactile](https://github.com/delba/Tactile) - The Swift way to add UIGestureRecognizer and to react to UIControlEvents :large_orange_diamond: * [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond:[e] * [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] :large_orange_diamond: * [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. :large_orange_diamond: -### Graphics +## Graphics * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! :large_orange_diamond: * [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. * [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext @@ -503,8 +508,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone :large_orange_diamond: * [jot](https://github.com/IFTTT/jot) - An iOS framework for easily adding drawings and text to images. -### Hardware -##### Bluetooth +## Hardware +#### Bluetooth * [Discovery](https://github.com/omergul123/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). * [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. * [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. :large_orange_diamond: @@ -514,7 +519,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift :large_orange_diamond: * [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework :large_orange_diamond: -##### Camera +#### Camera * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. * [PBJVision](https://github.com/piemonte/PBJVision) - iOS camera engine, features touch-to-record video, slow motion video, and photo capture. * [Cool-iOS-Camera](https://github.com/GabrielAlva/Cool-iOS-Camera) - A fully customisable and modern camera implementation for iOS made with AVFoundation. @@ -531,10 +536,10 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FastttCamera](https://github.com/IFTTT/FastttCamera) - Fasttt and easy camera framework for iOS with customizable filters * [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. 🔶 -##### Force Touch +#### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: -##### iBeacon +#### iBeacon * [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. * [OWUProximityManager](https://github.com/ohwutup/OWUProximityManager) - iBeacons + CoreBluetooth. * [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy bluetooth devices in the background. @@ -542,20 +547,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MOCA Proximity](https://mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. * [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. 🔶 -##### Location -* [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. -* [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. -* [LocationKit](https://locationkit.io) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information -* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - CoreLocation Made Easy, 100% Swift :large_orange_diamond: -* [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. -* [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: - -##### Other Hardware -* [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. -* [DarkLightning](https://github.com/jensmeder/DarkLightning) -Simply the fastest way to transmit data between iOS and OSX -* [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 - -### Layout +## Layout * [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift :large_orange_diamond: * [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. * [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. @@ -585,7 +577,20 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally :large_orange_diamond: * [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. :large_orange_diamond: -### Localization +#### Location +* [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. +* [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. +* [LocationKit](https://locationkit.io) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information +* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - CoreLocation Made Easy, 100% Swift :large_orange_diamond: +* [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. +* [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: + +#### Other Hardware +* [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. +* [DarkLightning](https://github.com/jensmeder/DarkLightning) -Simply the fastest way to transmit data between iOS and OSX +* [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 + +## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. * [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. :large_orange_diamond: * [Rubustrings](https://github.com/dcordero/Rubustrings) - Check the format and consistency of Localizable.strings files @@ -600,7 +605,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [extract-localizable-string-plugin-xcode](https://github.com/viniciusmo/extract-localizable-string-plugin-xcode) - Xcode plugin for quickly creating localized strings * [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings -### Logging +## Logging * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: * [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. * [NSLogger](https://github.com/fpillet/NSLogger) - a high perfomance logging utility which displays traces emitted by client applications running on Mac OS X, iOS and Android. @@ -630,7 +635,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [XLTestLog](https://github.com/xareelee/XLTestLog) - Styling and coloring your XCTest logs on Xcode Console * [XLFacility](https://github.com/swisspol/XLFacility) - Elegant and extensive logging facility for OS X & iOS (includes database, Telnet and HTTP servers) -### Maps +## Machine Learning +* [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: +* [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. :large_orange_diamond: +* [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. :large_orange_diamond: + +## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. * [NAMapKit](https://github.com/neilang/NAMapKit) - Allows you to use custom maps in iphone applications and attempts to mimics some of the behaviour of the MapKit framework. * [Mapbox GL](https://github.com/mapbox/mapbox-gl-native) - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS. @@ -638,7 +648,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GEOSwift](https://github.com/andreacremaschi/GEOSwift) - The Swift Geographic Engine. :large_orange_diamond: * [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift :large_orange_diamond: -### Math +## Math * [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation :large_orange_diamond: * [SwiftMath](https://github.com/madbat/SwiftMath) - :triangular_ruler: A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. :large_orange_diamond: * [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations :large_orange_diamond: @@ -651,8 +661,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. :large_orange_diamond: * [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics :large_orange_diamond: -### Media -##### Audio +## Media +#### Audio * [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing * [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. * [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/OSX audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. @@ -673,7 +683,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view :large_orange_diamond: * [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift :large_orange_diamond: -##### GIF +#### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. * [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage) - Performant animated GIF engine for iOS * [gifu](https://github.com/kaishin/gifu) - Highly performant animated GIF support for iOS in Swift :large_orange_diamond: @@ -686,7 +696,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [NSGIF2](https://github.com/metasmile/NSGIF2) - Simplify creation of a GIF from the provided video file url. * [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine :large_orange_diamond: -##### Image +#### Image * [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. * [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - IOS UIImage processing functions using the vDSP/Accelerate framework for speed. * [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. @@ -743,12 +753,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters :large_orange_diamond: * [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. :large_orange_diamond: -##### Media Processing +#### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: * [QR Code Scanner](http://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. * [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. :large_orange_diamond: -##### PDF +#### PDF * [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. * [UIView 2 PDF](https://github.com/RobertAPhillips/UIView_2_PDF) - PDF generator using UIViews or UIViews with an associated XIB * [FolioReaderKit](https://github.com/FolioReader/FolioReaderKit) - A Swift ePub reader and parser framework for iOS. :large_orange_diamond: @@ -758,13 +768,13 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PSPDFKit](https://pspdfkit.com/) - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. * [TPPDF](https://github.com/Techprimate/TPPDF) - Generate PDF using commands and automatic layout. :large_orange_diamond: -##### Streaming +#### Streaming * [lf.swift](https://github.com/shogo4405/lf.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. :large_orange_diamond: * [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for OSX and iOS. * [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. :large_orange_diamond: * [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate -##### Video +#### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. * [MobilePlayer](https://github.com/mobileplayer/mobileplayer-ios) - A powerful and completely customizable media player for iOS. * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and OS X @@ -779,7 +789,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ZFPlayer](https://github.com/renzifeng/ZFPlayer) - Based on AVPlayer, support for the horizontal screen, vertical screen (full screen playback can also lock the screen direction), the upper and lower slide to adjust the volume, the screen brightness, or so slide to adjust the playback progress. * [Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media in your iOS or tvOS app :large_orange_diamond: -### Messaging +## Messaging Also see [push notifications](#push-notifications) @@ -796,12 +806,7 @@ Also see [push notifications](#push-notifications) * [NMessenger](https://github.com/eBay/NMessenger) - A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift :large_orange_diamond: * [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. -### Machine Learning -* [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: -* [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. :large_orange_diamond: -* [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. :large_orange_diamond: - -### Networking +## Networking * [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and OS X networking framework. * [RestKit](https://github.com/RestKit/RestKit) - RestKit is an Objective-C framework for iOS that aims to make interacting with RESTful web services simple, fast and fun. * [FSNetworking](https://github.com/foursquare/FSNetworking) - Foursquare iOS networking library. @@ -857,39 +862,13 @@ Also see [push notifications](#push-notifications) * [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. * [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. :large_orange_diamond: -### Push Notifications -* [Orbiter](https://github.com/mattt/Orbiter) - Push Notification Registration for iOS. -* [PEM](https://github.com/fastlane/fastlane/tree/master/pem) - Automatically generate and renew your push notification profiles. -* [Knuff](https://github.com/KnuffApp/Knuff) - The debug application for Apple Push Notification Service (APNS). -* [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework https://developers.facebook.com/docs/analytics/push-campaigns -* [NWPusher](https://github.com/noodlewerk/NWPusher) - OS X and iOS application and framework to play with the Apple Push Notification service (APNs) -* [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator - -#### Push Notification Providers - -Most of these are paid services, some have free tiers. - -* [Urban Airship](https://www.urbanairship.com/products/mobile-app-engagement ) -* [Growth Push](https://growthpush.com) - Popular in Japan. -* [Appboy](https://www.appboy.com) -* [Batch](https://batch.com) -* [Boxcar](https://boxcar.io/developer) -* [Carnival](http://www.carnival.io) -* [Catapush](https://www.catapush.com) -* [Netmera](http://www.netmera.com) -* [OneSignal](https://onesignal.com) - Free. -* [PushBots](https://pushbots.com/) -* [Pushwoosh](https://www.pushwoosh.com) -* [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. -* [Pusher](https://pusher.com) - -### Parsing +## Parsing -##### CSV +#### CSV * [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 :large_orange_diamond: * [SwiftCSV](https://github.com/naoty/SwiftCSV) - CSV parser for Swift :large_orange_diamond: -##### JSON +#### JSON * [JSONKit](https://github.com/johnezang/JSONKit) - Objective-C JSON. * [TouchJSON](https://github.com/TouchCode/TouchJSON) - A humane JSON Objective-C un-framework. * [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. @@ -929,7 +908,7 @@ Most of these are paid services, some have free tiers. * [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper :large_orange_diamond: * [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initalizers for data models. :large_orange_diamond: -##### XML & HTML +#### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: * [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. :large_orange_diamond: * [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & OS X @@ -940,7 +919,7 @@ Most of these are paid services, some have free tiers. * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. * [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift :large_orange_diamond: -##### Other Parsing +#### Other Parsing * [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: * [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: [e] * [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift :large_orange_diamond: @@ -948,23 +927,12 @@ Most of these are paid services, some have free tiers. * [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: * [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. :large_orange_diamond: -### Passbook +## Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. * [Dubai](https://github.com/nomad/dubai) - Generate and Preview Passbook Passes. * [Passkit](https://passkit.com) - Design, Create and validate Passbook Passes. -### Permissions -* [PermissionScope](https://github.com/nickoneill/PermissionScope) - Intelligent iOS permissions UI and unified API (Supports Location, Notifications, Camera, Contacts, Calendar, Photos, Microphone, BT, Activity Monitoring, HealthKit and CloudKit). :large_orange_diamond: -* [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). :large_orange_diamond: -* [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). :large_orange_diamond: -* [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. -* [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. -* [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. -* [ClusterPrePermissions](https://github.com/clusterinc/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. -* [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS :large_orange_diamond: -* [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: - -### Payments +## Payments * [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. :large_orange_diamond: * [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowlege on Backend. * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. @@ -982,12 +950,49 @@ Most of these are paid services, some have free tiers. * [ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn) - Luhn Credit Card Validation Algorithm * [RMStore](https://github.com/robotmedia/RMStore) - A lightweight iOS library for In-App Purchases -### Products +## Permissions +* [PermissionScope](https://github.com/nickoneill/PermissionScope) - Intelligent iOS permissions UI and unified API (Supports Location, Notifications, Camera, Contacts, Calendar, Photos, Microphone, BT, Activity Monitoring, HealthKit and CloudKit). :large_orange_diamond: +* [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). :large_orange_diamond: +* [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). :large_orange_diamond: +* [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. +* [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. +* [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. +* [ClusterPrePermissions](https://github.com/clusterinc/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. +* [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS :large_orange_diamond: +* [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: + +## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. * [Tapglue](https://www.tapglue.com) - Build social products and a activity feed with a few lines of code. * [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. -### Reactive Programming +## Push Notifications +* [Orbiter](https://github.com/mattt/Orbiter) - Push Notification Registration for iOS. +* [PEM](https://github.com/fastlane/fastlane/tree/master/pem) - Automatically generate and renew your push notification profiles. +* [Knuff](https://github.com/KnuffApp/Knuff) - The debug application for Apple Push Notification Service (APNS). +* [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework https://developers.facebook.com/docs/analytics/push-campaigns +* [NWPusher](https://github.com/noodlewerk/NWPusher) - OS X and iOS application and framework to play with the Apple Push Notification service (APNs) +* [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator + +#### Push Notification Providers + +Most of these are paid services, some have free tiers. + +* [Urban Airship](https://www.urbanairship.com/products/mobile-app-engagement ) +* [Growth Push](https://growthpush.com) - Popular in Japan. +* [Appboy](https://www.appboy.com) +* [Batch](https://batch.com) +* [Boxcar](https://boxcar.io/developer) +* [Carnival](http://www.carnival.io) +* [Catapush](https://www.catapush.com) +* [Netmera](http://www.netmera.com) +* [OneSignal](https://onesignal.com) - Free. +* [PushBots](https://pushbots.com/) +* [Pushwoosh](https://www.pushwoosh.com) +* [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. +* [Pusher](https://pusher.com) + +## Reactive Programming * [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift :large_orange_diamond: * [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extentions for Swift optionals and "Occupiable" types :large_orange_diamond:[e] * [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes :large_orange_diamond: @@ -1009,21 +1014,73 @@ Most of these are paid services, some have free tiers. * [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. :large_orange_diamond: * [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. :large_orange_diamond: -### Reflection +## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: * [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive :large_orange_diamond: * [EVReflection](https://github.com/evermeer/EVReflection) - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable :large_orange_diamond: * [JSONNeverDie](https://github.com/johnlui/JSONNeverDie) - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die :large_orange_diamond: * [SwiftKVC](https://github.com/bradhilton/SwiftKVC) - Key-Value Coding (KVC) for native Swift classes and structs :large_orange_diamond: -### Regex +## Regex * [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type :large_orange_diamond: * [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like regex =~ operator for Swift :large_orange_diamond: * [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way :large_orange_diamond: * [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift :large_orange_diamond: * [Regex](https://github.com/brynbellomy/Regex) - Regex class for Swift. Wraps NSRegularExpression. :large_orange_diamond: -### Security +## SDK + +#### Official + +* [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. +* [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. +* [Facebook Swift](https://github.com/facebook/facebook-sdk-swift) Integrate your iOS apps in Swift with Facebook Platform. +* [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS +* [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. +* [Pocket](https://github.com/Pocket/Pocket-ObjC-SDK) SDK for saving stuff to Pocket. +* [Tumblr](https://github.com/tumblr/TMTumblrSDK) Library for easily integrating Tumblr data into your iOS or OS X application. +* [Evernote](https://github.com/evernote/evernote-cloud-sdk-ios) Evernote SDK for iOS. +* [Box](https://github.com/box/box-ios-sdk) iOS + OS X SDK for the Box API. +* [OneDrive](https://github.com/OneDrive/onedrive-sdk-ios) Live SDK for iOS. +* [Stripe](https://github.com/stripe/stripe-ios) Stripe bindings for iOS and OS X. +* [Venmo](#payments) +* [AWS](https://github.com/aws/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. +* [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. +* [Adobe Creative SDK](https://creativesdk.adobe.com/) Adobe creative tools and Creative Cloud SDK. +* [Dropbox](https://www.dropbox.com/developers) SDKs for Drop-ins and Dropbox Core API. +* [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. +* [Liquid Analytics](https://github.com/lqd-io/liquid-sdk-ios) Identify behaviours through Analytics and react with real-time Personalization. +* [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. +* [PacketZoom](https://packetzoom.com) PacketZoom SDK for iOS. +* [Primer](https://www.goprimer.com) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. +* [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device +* [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps +* [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple :large_orange_diamond: +* [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. +* [Pinterest](https://github.com/pinterest/ios-pdk) - Pinterest iOS SDK + +#### Unofficial + +* [STTwitter](https://github.com/nst/STTwitter) A stable, mature and comprehensive Objective-C library for Twitter REST API 1.1 +* [FHSTwitterEngine](https://github.com/fhsjaagshs/FHSTwitterEngine) Twitter API for Cocoa developers. +* [Giphy](https://github.com/heyalexchoi/Giphy-iOS) Giphy API client for iOS in Objective-C. +* [UberKit](https://github.com/sachinkesiraju/UberKit) - A simple, easy-to-use Objective-C wrapper for the Uber API. +* [InstagramKit](https://github.com/shyambhat/InstagramKit) - Instagram iOS SDK. +* [DribbbleSDK](https://github.com/agilie/dribbble-ios-sdk) - Dribbble iOS SDK. +* [objectiveflickr](https://github.com/lukhnos/objectiveflickr) - ObjectiveFlickr, a Flickr API framework for Objective-C. +* [Easy Social](https://github.com/pjebs/EasySocial) - Twitter & Facebook Integration. +* [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and OSX. :large_orange_diamond: +* [SocialLib](https://github.com/darkcl/SocialLib) - SocialLib handles sharing message to multiple social media. +* [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift :large_orange_diamond: +* [TJDropbox](https://github.com/timonus/TJDropbox) - A Dropbox v2 client library written in Objective-C +* [Lyft](https://github.com/genadyo/Lyft) - Some pink mustache company forgot to build that SDK. :large_orange_diamond: +* [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift :large_orange_diamond: +* [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. +* [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project :large_orange_diamond: +* [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & OS X written in Swift :large_orange_diamond: +* [SlackKit](https://github.com/pvzig/SlackKit) - a Slack client library for iOS and OS X written in Swift :large_orange_diamond: + +## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. * [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. * [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. :large_orange_diamond: @@ -1031,7 +1088,7 @@ Most of these are paid services, some have free tiers. * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. * [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. :large_orange_diamond: -##### Encryption +#### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. * [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. :large_orange_diamond: * [Arcane](https://github.com/onmyway133/Arcane) - 🔱 Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: @@ -1048,7 +1105,7 @@ Most of these are paid services, some have free tiers. * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: * [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines :large_orange_diamond: -##### Keychain +#### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. * [Valet](https://github.com/square/Valet) - Securely store data in the iOS or OS X Keychain without knowing a thing about how the Keychain works. * [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. :large_orange_diamond: @@ -1058,7 +1115,28 @@ Most of these are paid services, some have free tiers. * [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. * [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. Written in Swift. :large_orange_diamond: -### Text +## Server +* [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. :large_orange_diamond: +* [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. :large_orange_diamond: +* [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for Mac OS X or iOS applications. +* [Curassow](https://github.com/kylef/Curassow) - Swift HTTP server using the pre-fork worker model. :large_orange_diamond: +* [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux :large_orange_diamond: +* [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, OS X, and Ubuntu. :large_orange_diamond: +* [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift :large_orange_diamond: +* [blackfish](https://github.com/elliottminns/blackfish) - A fast HTTP web server based on Node.js and Express written in Swift :large_orange_diamond: +* [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and Mac OS X :large_orange_diamond: +* [Trevi](https://github.com/Yoseob/Trevi) - A powerful Swift Web Application Server Framework Project :large_orange_diamond: +* [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift :large_orange_diamond: +* [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift :large_orange_diamond: +* [Frank](https://github.com/nestproject/Frank) - Frank is a DSL for quickly writing web applications in Swift :large_orange_diamond: +* [Kitura](https://github.com/IBM-Swift/Kitura) - Web framework and HTTP server for Swift by IBM :large_orange_diamond: +* [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: +* [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: +* [Redbird](https://github.com/vapor/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: +* [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: +* [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: + +## Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. * [Nimbus](https://github.com/jverkoey/nimbus) - Nimbus is a toolkit for experienced iOS software designers. * [NSStringEmojize](https://github.com/diy/nsstringemojize) - A category on NSString to convert Emoji Cheat Sheet codes to their equivalent Unicode characters. @@ -1096,7 +1174,60 @@ Most of these are paid services, some have free tiers. * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). * [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. :large_orange_diamond: -##### Font +## Testing + +#### TDD / BDD +* [Kiwi](https://github.com/kiwi-bdd/Kiwi) - A behavior-driven development library for iOS development. +* [Specta](https://github.com/specta/specta) - A light-weight TDD / BDD framework for Objective-C & Cocoa. +* [Quick](https://github.com/Quick/Quick) - A behavior-driven development framework for Swift and Objective-C. +* [XcodeCoverage](https://github.com/jonreid/XcodeCoverage) - Code coverage for Xcode projects. +* [OHHTTPStubs](https://github.com/AliSoftware/OHHTTPStubs) - Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers! +* [Dixie](https://github.com/Skyscanner/Dixie) - Dixie is an open source Objective-C testing framework for altering object behaviours. +* [gh-unit](https://github.com/gh-unit/gh-unit) - Test Framework for Objective-C. +* [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C :large_orange_diamond: +* [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift :large_orange_diamond: + +#### A/B Testing +* [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. +* [SkyLab](https://github.com/mattt/SkyLab) - Multivariate & A/B Testing for iOS and Mac +* [MSActiveConfig](https://github.com/mindsnacks/MSActiveConfig) - Remote configuration and A/B Testing framework for iOS +* [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS :large_orange_diamond: + +#### UI Testing +* [CrashMonkey](https://github.com/mokemokechicken/CrashMonkey) - Monkey Test Tool For iOS. +* [appium](http://appium.io/) - Appium is an open source test automation framework for use with native and hybrid mobile apps. +* [robotframework-appiumlibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary) - AppiumLibrary is an appium testing library for RobotFramework. +* [Cucumber](https://cucumber.io/) - Behavior driver development for iOS. +* [Kif](https://github.com/kif-framework/KIF) - An iOS Functional Testing Framework. +* [Subliminal](https://github.com/inkling/Subliminal) - An understated approach to iOS integration testing. +* [UIAutomation](https://developer.apple.com/library/ios/documentation/DeveloperTools/Reference/UIAutomationRef/) - JavaScript library to write test scripts that exercise your app’s user interface elements while the app runs on a connected device. +* [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any IOS native, hybrid, or mobile web application using Selenium / WebDriver. +* [Zucchini](https://github.com/zucchini-src/zucchini) - A visual iOS testing framework that loves your apps. +* [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. +* [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations :large_orange_diamond: +* [EarlGrey](https://github.com/google/EarlGrey) - iOS UI Automation Test Framework by Google +* [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? :large_orange_diamond: +* [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo :large_orange_diamond: + +#### Other Testing +* [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. +* [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools +* [ios-snapshot-test-case](https://github.com/facebook/ios-snapshot-test-case) - Snapshot view unit tests for iOS. +* [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. :large_orange_diamond: +* [DVR](https://github.com/venmo/DVR) - Network testing for Swift :large_orange_diamond: +* [Cuckoo](https://github.com/SwiftKit/Cuckoo) - First boilerplate-free mocking framework for Swift :large_orange_diamond: +* [Parallel iOS Tests](https://github.com/plu/parallel_ios_tests) - Run iOS tests on multiple simulators in parallel at the same time :large_orange_diamond: +* [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift :large_orange_diamond: +* [Fetcher](https://github.com/rob-nash/Fetcher) - Mock paging data with a variable fetch time interval. +* [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java :large_orange_diamond: +* [Bugfender Live](https://github.com/bugfender/BugfenderLive-iOS) - Stream the screen of an iOS device for live debugging. +* [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps :large_orange_diamond: +* [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 +* [trainer](https://github.com/KrauseFx/trainer) - Convert xcodebuild plist files to JUnit reports +* [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur :large_orange_diamond: +* [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift :large_orange_diamond: + +#### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: * [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project :large_orange_diamond: * [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. @@ -1108,17 +1239,7 @@ Most of these are paid services, some have free tiers. * [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS :large_orange_diamond: * [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. :large_orange_diamond: -### URL Scheme -* [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! -* [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. -* [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. -* [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. -* [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks :large_orange_diamond: -* [Compass](https://github.com/hyperoslo/Compass) - Compass helps you setup a central navigation system for your application :large_orange_diamond: -* [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. :large_orange_diamond: -* [URLNavigator](https://github.com/devxoul/URLNavigator) - :boat: Elegant URL Routing for Swift :large_orange_diamond: - -### UI +## UI * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. * [BetweenKit](https://github.com/ice3-software/between-kit) - A robust drag-and-drop framework for iOS. @@ -1230,7 +1351,7 @@ Most of these are paid services, some have free tiers. * [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style :large_orange_diamond: * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. -##### Activity Indicator +#### Activity Indicator * [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. :large_orange_diamond: * [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift :large_orange_diamond: @@ -1273,7 +1394,7 @@ Most of these are paid services, some have free tiers. * [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design :large_orange_diamond: * [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. :large_orange_diamond: -##### Alerts +#### Alerts * [NZAlertView](https://github.com/NZN/NZAlertView) - Simple and intuitive alert view. Similar to push notification effect. * [AMSmoothAlert](https://github.com/mtonio91/AMSmoothAlert) - A cool AlertView. @@ -1319,13 +1440,13 @@ Most of these are paid services, some have free tiers. * [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. :large_orange_diamond: * [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: -##### Badge +#### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] * [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. * [swift-badge](https://github.com/marketplacer/swift-badge) - Badge view for iOS written in swift :large_orange_diamond: -##### Button +#### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. * [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. :large_orange_diamond: * [SDevBootstrapButton](https://github.com/0x73/SDevBootstrapButton) - Twitter Bootstrap buttons for Swift :large_orange_diamond: @@ -1350,7 +1471,7 @@ Most of these are paid services, some have free tiers. * [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift :large_orange_diamond: * [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash :large_orange_diamond: -##### Calendar +#### Calendar * [CVCalendar](https://github.com/Mozharovsky/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: * [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. * [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS :large_orange_diamond: @@ -1362,7 +1483,7 @@ Most of these are paid services, some have free tiers. * [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern :large_orange_diamond: * [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS -##### Form & Settings +#### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS * [XLForm](https://github.com/xmartlabs/XLForm) - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C. * [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. :large_orange_diamond: @@ -1378,7 +1499,7 @@ Most of these are paid services, some have free tiers. * [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. :large_orange_diamond: * [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. :large_orange_diamond: -##### Keyboard +#### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. * [RFKeyboardToolbar](https://github.com/ruddfawcett/RFKeyboardToolbar) - This is a flexible UIView and UIButton subclass to add customized buttons and toolbars to your UITextFields/UITextViews. * [IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager) - Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. @@ -1390,7 +1511,7 @@ Most of these are paid services, some have free tiers. * [KeyboardMan](https://github.com/nixzhu/KeyboardMan) - KeyboardMan helps you make keyboard animation. :large_orange_diamond: * [MakemojiSDK](https://github.com/makemoji/MakemojiSDK) - Emoji Keyboard SDK (iOS) -##### Label +#### Label * [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. :large_orange_diamond: * [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) :large_orange_diamond: * [MZTimerLabel](https://github.com/mineschan/MZTimerLabel) - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App. @@ -1407,7 +1528,7 @@ Most of these are paid services, some have free tiers. * [Preloader.Ophiuchus](https://github.com/Yalantis/Preloader.Ophiuchus) - Custom Label to apply animations on whole text or letters. * [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. :large_orange_diamond: -##### Menu +#### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: * [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. * [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. :large_orange_diamond: @@ -1449,7 +1570,7 @@ Most of these are paid services, some have free tiers. * [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. :large_orange_diamond: * [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. :large_orange_diamond: -##### Modal Transition +#### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. * [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. :large_orange_diamond: * [BubbleTransition](https://github.com/andreamazz/BubbleTransition) - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. :large_orange_diamond: @@ -1467,7 +1588,7 @@ Most of these are paid services, some have free tiers. * [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like ios task manager :large_orange_diamond: * [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. :large_orange_diamond: -##### Navigation Bar +#### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: * [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! * [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. @@ -1475,7 +1596,7 @@ Most of these are paid services, some have free tiers. * [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects :large_orange_diamond: * [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. :large_orange_diamond: -##### Popup +#### Popup * [KLCPopup](https://github.com/jmascia/KLCPopup) - A simple and flexible class for presenting custom views as a popup in iOS. * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. * [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. @@ -1487,7 +1608,7 @@ Most of these are paid services, some have free tiers. * [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. :large_orange_diamond: * [KCSelectionDialog](https://github.com/kciter/KCSelectionDialog) - Simple selection dialog. :large_orange_diamond: -##### Pull to Refresh +#### Pull to Refresh * [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: * [PullToBounce](https://github.com/entotsu/PullToBounce) - Animated "Pull To Refresh" Library for UIScrollView. :large_orange_diamond: * [SVPullToRefresh](https://github.com/samvermette/SVPullToRefresh) - Give pull-to-refresh & infinite scrolling to any UIScrollView with 1 line of code. http://samvermette.com/314 @@ -1506,7 +1627,7 @@ Most of these are paid services, some have free tiers. * [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: * [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView :large_orange_diamond: -##### Rating Stars +#### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: * [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. :large_orange_diamond: * [StarryStars](https://github.com/peterprokop/StarryStars) - iOS GUI library for displaying and editing ratings @@ -1514,7 +1635,7 @@ Most of these are paid services, some have free tiers. * [HCSStarRatingView](https://github.com/hsousa/HCSStarRatingView) - Simple star rating view for iOS written in Objective-C * [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift :large_orange_diamond: -##### Slider +#### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. * [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management * [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. :large_orange_diamond: @@ -1529,19 +1650,19 @@ Most of these are paid services, some have free tiers. * [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: * [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. :large_orange_diamond: -##### Splash View +#### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. * [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. * [RevealingSplashView](https://github.com/PiXeL16/RevealingSplashView) - A Splash view that animates and reveals its content, inspired by Twitter splash :large_orange_diamond: -##### Stepper +#### Stepper * [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! :large_orange_diamond: * [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. :large_orange_diamond: * [GMStepper](https://github.com/gmertk/GMStepper) - A stepper with a sliding label in the middle. :large_orange_diamond: * [barceloneta](https://github.com/arn00s/barceloneta) - The right way to increment/decrement values with a simple gesture on iOS. :large_orange_diamond: * [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift :large_orange_diamond: -##### Switch +#### Switch * [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. :large_orange_diamond: * [ViralSwitch](https://github.com/andreamazz/ViralSwitch) - A UISwitch that infects its superview with its tint color. * [JTMaterialSwitch](https://github.com/JunichiT/JTMaterialSwitch) - A customizable switch UI with ripple effect and bounce animations, inspired from Google's Material Design. @@ -1558,7 +1679,7 @@ Most of these are paid services, some have free tiers. * [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS :large_orange_diamond: * [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support.🔶 -##### Tab Bar +#### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. * [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) -A gooey effect tabbar :large_orange_diamond: * [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. :large_orange_diamond: @@ -1576,7 +1697,7 @@ Most of these are paid services, some have free tiers. * [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. :large_orange_diamond: * [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. :large_orange_diamond: -##### Table View / Collection View +#### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. * [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. @@ -1620,7 +1741,7 @@ Most of these are paid services, some have free tiers. * [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. :large_orange_diamond:[e] * [TLIndexPathTools](https://github.com/wtmoose/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. -##### Tag +#### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. * [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. * [TagCellLayout](https://github.com/riteshhgupta/TagCellLayout) - UICollectionView layout for Tags with Left, Center & Right alignments. :large_orange_diamond: @@ -1629,7 +1750,7 @@ Most of these are paid services, some have free tiers. * [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. * [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags :large_orange_diamond: -##### TextField & TextView +#### TextField & TextView * [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. * [ARAutocompleteTextView](https://github.com/alexruperez/ARAutocompleteTextView) - subclass of UITextView that automatically displays text suggestions in real-time. Perfect for email Textviews. * [IQDropDownTextField](https://github.com/hackiftekhar/IQDropDownTextField) - TextField with DropDown support using UIPickerView @@ -1659,13 +1780,23 @@ Most of these are paid services, some have free tiers. * [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS :large_orange_diamond: * [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. :large_orange_diamond: -##### Web View +#### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: * [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. :large_orange_diamond: * [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. * [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. :large_orange_diamond: -### Utility +## URL Scheme +* [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! +* [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. +* [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. +* [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. +* [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks :large_orange_diamond: +* [Compass](https://github.com/hyperoslo/Compass) - Compass helps you setup a central navigation system for your application :large_orange_diamond: +* [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. :large_orange_diamond: +* [URLNavigator](https://github.com/devxoul/URLNavigator) - :boat: Elegant URL Routing for Swift :large_orange_diamond: + +## Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. * [XExtensionItem](https://github.com/tumblr/XExtensionItem) - Easier sharing of structured data between iOS applications and share extensions. @@ -1715,12 +1846,12 @@ Most of these are paid services, some have free tiers. * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 2.2 :large_orange_diamond: * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. :large_orange_diamond: -### VR +## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: * [360 VR Player](https://github.com/hanton/HTY360Player) - A open source, ad-free, native and universal 360 degree panorama video player for iOS. * [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. :large_orange_diamond: -### Walkthrough / Intro / Tutorial +## Walkthrough / Intro / Tutorial * [Onboard](https://github.com/mamaral/Onboard) - Easily create a beautiful and engaging onboarding experience with only a few lines of code. * [EAIntroView](https://github.com/ealeksandrov/EAIntroView) - Highly customizable drop-in solution for introduction views. * [MYBlurIntroductionView](https://github.com/MatthewYork/MYBlurIntroductionView) - A super-charged version of MYIntroductionView for building custom app introductions and tutorials. @@ -1740,7 +1871,7 @@ Most of these are paid services, some have free tiers. * [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider :large_orange_diamond: * [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. :large_orange_diamond: -### WebSocket +## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. * [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/OS X. :large_orange_diamond: * [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and OSX. :large_orange_diamond: @@ -1767,27 +1898,6 @@ Most of these are paid services, some have free tiers. * [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents -# Server -* [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. :large_orange_diamond: -* [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. :large_orange_diamond: -* [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for Mac OS X or iOS applications. -* [Curassow](https://github.com/kylef/Curassow) - Swift HTTP server using the pre-fork worker model. :large_orange_diamond: -* [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux :large_orange_diamond: -* [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, OS X, and Ubuntu. :large_orange_diamond: -* [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift :large_orange_diamond: -* [blackfish](https://github.com/elliottminns/blackfish) - A fast HTTP web server based on Node.js and Express written in Swift :large_orange_diamond: -* [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and Mac OS X :large_orange_diamond: -* [Trevi](https://github.com/Yoseob/Trevi) - A powerful Swift Web Application Server Framework Project :large_orange_diamond: -* [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift :large_orange_diamond: -* [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift :large_orange_diamond: -* [Frank](https://github.com/nestproject/Frank) - Frank is a DSL for quickly writing web applications in Swift :large_orange_diamond: -* [Kitura](https://github.com/IBM-Swift/Kitura) - Web framework and HTTP server for Swift by IBM :large_orange_diamond: -* [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: -* [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: -* [Redbird](https://github.com/vapor/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: -* [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: -* [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: - # Dependency / Package Manager * [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. * [Xcode Maven](http://sap-production.github.io/xcode-maven-plugin/site/) - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle. @@ -1798,59 +1908,6 @@ Most of these are paid services, some have free tiers. * [Podage](https://github.com/jensmeder/Podage) - A simple tool to bundle any Cocoapod and its dependencies into frameworks. * [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language, by Apple :large_orange_diamond: -# Testing - -### TDD / BDD -* [Kiwi](https://github.com/kiwi-bdd/Kiwi) - A behavior-driven development library for iOS development. -* [Specta](https://github.com/specta/specta) - A light-weight TDD / BDD framework for Objective-C & Cocoa. -* [Quick](https://github.com/Quick/Quick) - A behavior-driven development framework for Swift and Objective-C. -* [XcodeCoverage](https://github.com/jonreid/XcodeCoverage) - Code coverage for Xcode projects. -* [OHHTTPStubs](https://github.com/AliSoftware/OHHTTPStubs) - Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers! -* [Dixie](https://github.com/Skyscanner/Dixie) - Dixie is an open source Objective-C testing framework for altering object behaviours. -* [gh-unit](https://github.com/gh-unit/gh-unit) - Test Framework for Objective-C. -* [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C :large_orange_diamond: -* [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift :large_orange_diamond: - -### A/B Testing -* [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. -* [SkyLab](https://github.com/mattt/SkyLab) - Multivariate & A/B Testing for iOS and Mac -* [MSActiveConfig](https://github.com/mindsnacks/MSActiveConfig) - Remote configuration and A/B Testing framework for iOS -* [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS :large_orange_diamond: - -### UI Testing -* [CrashMonkey](https://github.com/mokemokechicken/CrashMonkey) - Monkey Test Tool For iOS. -* [appium](http://appium.io/) - Appium is an open source test automation framework for use with native and hybrid mobile apps. -* [robotframework-appiumlibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary) - AppiumLibrary is an appium testing library for RobotFramework. -* [Cucumber](https://cucumber.io/) - Behavior driver development for iOS. -* [Kif](https://github.com/kif-framework/KIF) - An iOS Functional Testing Framework. -* [Subliminal](https://github.com/inkling/Subliminal) - An understated approach to iOS integration testing. -* [UIAutomation](https://developer.apple.com/library/ios/documentation/DeveloperTools/Reference/UIAutomationRef/) - JavaScript library to write test scripts that exercise your app’s user interface elements while the app runs on a connected device. -* [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any IOS native, hybrid, or mobile web application using Selenium / WebDriver. -* [Zucchini](https://github.com/zucchini-src/zucchini) - A visual iOS testing framework that loves your apps. -* [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. -* [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations :large_orange_diamond: -* [EarlGrey](https://github.com/google/EarlGrey) - iOS UI Automation Test Framework by Google -* [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? :large_orange_diamond: -* [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo :large_orange_diamond: - -### Other Testing -* [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. -* [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools -* [ios-snapshot-test-case](https://github.com/facebook/ios-snapshot-test-case) - Snapshot view unit tests for iOS. -* [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. :large_orange_diamond: -* [DVR](https://github.com/venmo/DVR) - Network testing for Swift :large_orange_diamond: -* [Cuckoo](https://github.com/SwiftKit/Cuckoo) - First boilerplate-free mocking framework for Swift :large_orange_diamond: -* [Parallel iOS Tests](https://github.com/plu/parallel_ios_tests) - Run iOS tests on multiple simulators in parallel at the same time :large_orange_diamond: -* [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift :large_orange_diamond: -* [Fetcher](https://github.com/rob-nash/Fetcher) - Mock paging data with a variable fetch time interval. -* [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java :large_orange_diamond: -* [Bugfender Live](https://github.com/bugfender/BugfenderLive-iOS) - Stream the screen of an iOS device for live debugging. -* [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps :large_orange_diamond: -* [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 -* [trainer](https://github.com/KrauseFx/trainer) - Convert xcodebuild plist files to JUnit reports -* [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur :large_orange_diamond: -* [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift :large_orange_diamond: - # Tools * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: * [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. :large_orange_diamond: @@ -1903,7 +1960,7 @@ Most of these are paid services, some have free tiers. * [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. * [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. -## Injection +# Injection * [dyci](https://github.com/DyCI/dyci-main) - Code injection tool. * [injectionforxcode](https://github.com/johnno1962/injectionforxcode) - Code injection including Swift. * [Swinject](https://github.com/Swinject/Swinject) - Dependency injection framework for Swift @@ -1937,61 +1994,9 @@ Most of these are paid services, some have free tiers. * [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. :large_orange_diamond: * [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. -# SDK - -## Official - -* [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. -* [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. -* [Facebook Swift](https://github.com/facebook/facebook-sdk-swift) Integrate your iOS apps in Swift with Facebook Platform. -* [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS -* [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. -* [Pocket](https://github.com/Pocket/Pocket-ObjC-SDK) SDK for saving stuff to Pocket. -* [Tumblr](https://github.com/tumblr/TMTumblrSDK) Library for easily integrating Tumblr data into your iOS or OS X application. -* [Evernote](https://github.com/evernote/evernote-cloud-sdk-ios) Evernote SDK for iOS. -* [Box](https://github.com/box/box-ios-sdk) iOS + OS X SDK for the Box API. -* [OneDrive](https://github.com/OneDrive/onedrive-sdk-ios) Live SDK for iOS. -* [Stripe](https://github.com/stripe/stripe-ios) Stripe bindings for iOS and OS X. -* [Venmo](#payments) -* [AWS](https://github.com/aws/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. -* [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. -* [Adobe Creative SDK](https://creativesdk.adobe.com/) Adobe creative tools and Creative Cloud SDK. -* [Dropbox](https://www.dropbox.com/developers) SDKs for Drop-ins and Dropbox Core API. -* [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. -* [Liquid Analytics](https://github.com/lqd-io/liquid-sdk-ios) Identify behaviours through Analytics and react with real-time Personalization. -* [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. -* [PacketZoom](https://packetzoom.com) PacketZoom SDK for iOS. -* [Primer](https://www.goprimer.com) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. -* [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device -* [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps -* [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple :large_orange_diamond: -* [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. -* [Pinterest](https://github.com/pinterest/ios-pdk) - Pinterest iOS SDK - -## Unofficial - -* [STTwitter](https://github.com/nst/STTwitter) A stable, mature and comprehensive Objective-C library for Twitter REST API 1.1 -* [FHSTwitterEngine](https://github.com/fhsjaagshs/FHSTwitterEngine) Twitter API for Cocoa developers. -* [Giphy](https://github.com/heyalexchoi/Giphy-iOS) Giphy API client for iOS in Objective-C. -* [UberKit](https://github.com/sachinkesiraju/UberKit) - A simple, easy-to-use Objective-C wrapper for the Uber API. -* [InstagramKit](https://github.com/shyambhat/InstagramKit) - Instagram iOS SDK. -* [DribbbleSDK](https://github.com/agilie/dribbble-ios-sdk) - Dribbble iOS SDK. -* [objectiveflickr](https://github.com/lukhnos/objectiveflickr) - ObjectiveFlickr, a Flickr API framework for Objective-C. -* [Easy Social](https://github.com/pjebs/EasySocial) - Twitter & Facebook Integration. -* [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and OSX. :large_orange_diamond: -* [SocialLib](https://github.com/darkcl/SocialLib) - SocialLib handles sharing message to multiple social media. -* [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift :large_orange_diamond: -* [TJDropbox](https://github.com/timonus/TJDropbox) - A Dropbox v2 client library written in Objective-C -* [Lyft](https://github.com/genadyo/Lyft) - Some pink mustache company forgot to build that SDK. :large_orange_diamond: -* [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift :large_orange_diamond: -* [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. -* [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project :large_orange_diamond: -* [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & OS X written in Swift :large_orange_diamond: -* [SlackKit](https://github.com/pvzig/SlackKit) - a Slack client library for iOS and OS X written in Swift :large_orange_diamond: - # Xcode -### Plugins +#### Plugins * [FuzzyAutocompletePlugin](https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin) - A Xcode 5+ plugin that adds more flexible autocompletion rather than just prefix-matching. * [SCXcodeMiniMap](https://github.com/stefanceriu/SCXcodeMiniMap) - SCXcodeMiniMap is a plugin that adds a source editor MiniMap to Xcode. * [Show in Github](https://github.com/larsxschneider/ShowInGitHub) - Xcode plugin to open the GitHub page of the commit of the currently selected line in the editor window. @@ -2051,13 +2056,13 @@ Most of these are paid services, some have free tiers. * [update_xcode_plugins](https://github.com/inket/update_xcode_plugins) - No more messing with plugin UUIDs; Plugins on Xcode 8! * [MakeXcodeGr8Again](https://github.com/fpg1503/MakeXcodeGr8Again) - Xcode + Plugins = :blue_heart: :large_orange_diamond: -### Themes +#### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. * [Xcode themes list](https://github.com/hdoria/xcode-themes) - Color themes for Xcode. * [Solarized-Dark-for-Xcode](https://github.com/ArtSabintsev/Solarized-Dark-for-Xcode/) - Solarized Dark Theme for Xcode 5. * [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. -### Other Xcode +#### Other Xcode * [awesome-xcode-scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts 📝. * [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. @@ -2086,7 +2091,7 @@ Most of these are paid services, some have free tiers. # Good Websites -### News, Blogs and more +#### News, Blogs and more * [BGR](http://bgr.com/ios-7/) * [iMore](http://www.imore.com/) * [Lifehacker](http://lifehacker.com/tag/ios) @@ -2108,15 +2113,15 @@ Most of these are paid services, some have free tiers. * [iOS Cookies](http://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift :large_orange_diamond: * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. -### UIKit references +#### UIKit references * [iOS Fonts](http://iosfonts.com/) * [UIAppearance list](https://gist.github.com/mattt/5135521) -### Forums and discuss lists +#### Forums and discuss lists * [iPhone Dev SDK Forum](http://iphonedevsdk.com/) * ["iOS" on Stackoverflow](http://stackoverflow.com/questions/tagged/ios) -### Tutorials and Keynotes +#### Tutorials and Keynotes * [AppCoda](http://www.appcoda.com) * [Tutorials Point](http://www.tutorialspoint.com/ios/) * [Code with Chris](http://codewithchris.com/) @@ -2141,20 +2146,20 @@ Most of these are paid services, some have free tiers. * [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. * [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. :large_orange_diamond: -### iOS UI Template +#### iOS UI Template * [iOS 8 GUI PSD Template](http://www.teehanlax.com/tools/iphone/) * [iOS UI Design Kit](https://www.invisionapp.com/tethr) * [iOS Design Guidelines](http://ivomynttinen.com/blog/ios-design-guidelines) * [iOS GUI by Facebook Design Resources](http://facebook.design/) -### Prototyping +#### Prototyping * [FluidUI](https://www.fluidui.com) * [Proto.io](https://proto.io/) * [Framer](https://framerjs.com/) * [Pixate](http://www.pixate.com/) * [Principle](http://principleformac.com) -### Newsletters +#### Newsletters * [iOS Goodies](http://ios-goodies.com) - Weekly iOS newsletter * [This Week in Swift](https://swiftnews.curated.co) - I'm @NatashaTheRobot and I'm programmed to love #Swift! Every week, I put together a list of the best Swift resources for you. Happy Learning! * [The iOS Times](http://theiostimes.com) - A weekly publication with news and trending projects in the open source iOS ecosystem. @@ -2167,11 +2172,13 @@ Most of these are paid services, some have free tiers. * [Swift Weekly Brief](http://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday * [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) -### Medium +#### Medium * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone * [Swift Programming](https://medium.com/swift-programming) - The Swift Programming Language -# Twitter +# Social Media + +#### Twitter * [@objcio](https://twitter.com/objcio) * [@nshipster](https://twitter.com/NSHipster) * [@CocoaPods](https://twitter.com/CocoaPods) @@ -2180,7 +2187,7 @@ Most of these are paid services, some have free tiers. * [@SwiftSandbox](https://twitter.com/SwiftSandbox) - Swift open source news, projects and resources. -# Facebook Groups +#### Facebook Groups * [HH iOS](https://www.facebook.com/groups/hhios/) * [Sketch - Official group](https://www.facebook.com/groups/sketchformac/) * [Design-Code](https://www.facebook.com/groups/designcode/) @@ -2232,8 +2239,6 @@ Other amazingly awesome lists can be found in the * [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. * [Awesome Reactive Programming in Swift](https://github.com/SideEffects-xyz/Awesome-Reactive-Programming-Swift) - A collection of frameworks, talks and resources about reactive programming in Swift. -# Contributing -[See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) - -# License -Distributed under the MIT license. See LICENSE for more information. +# Contributing and License + * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) + * Distributed under the MIT license. See LICENSE for more information. From 690a629f7f7c514b4853a8b077dbc5d52c472e31 Mon Sep 17 00:00:00 2001 From: Chucky Date: Thu, 15 Sep 2016 17:22:58 -0700 Subject: [PATCH 0430/2606] Add HoverConversion by @marty-suzuki to Table View / Collection View section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 89adb3e4d..24537ebb0 100644 --- a/README.md +++ b/README.md @@ -1740,6 +1740,7 @@ Most of these are paid services, some have free tiers. * [Bohr](https://github.com/DavdRoman/Bohr) - Bohr allows you to set up a settings screen for your app with three principles in mind: ease, customization and extensibility. * [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. :large_orange_diamond:[e] * [TLIndexPathTools](https://github.com/wtmoose/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. +* [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 045e317e9eb4089fa9499a79cb196dd17e29b3aa Mon Sep 17 00:00:00 2001 From: Chucky Date: Fri, 16 Sep 2016 09:00:50 -0700 Subject: [PATCH 0431/2606] Add Atlantis by @DrewKiino to Logging section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 24537ebb0..1d27cc268 100644 --- a/README.md +++ b/README.md @@ -634,6 +634,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LxDBAnything](https://github.com/DeveloperLx/LxDBAnything) - Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! * [XLTestLog](https://github.com/xareelee/XLTestLog) - Styling and coloring your XCTest logs on Xcode Console * [XLFacility](https://github.com/swisspol/XLFacility) - Elegant and extensive logging facility for OS X & iOS (includes database, Telnet and HTTP servers) +* [Atlantis](https://github.com/DrewKiino/Atlantis) - A powerful input-agnostic swift logging framework made to speed up development with maximum readability. :large_orange_diamond: ## Machine Learning * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: From 86795187d51ff629b525cd86e87e0821a1d7a8d2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 16 Sep 2016 16:24:46 -0700 Subject: [PATCH 0432/2606] Removed InfiniteScrollKit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 1d27cc268..7844cdb2f 100644 --- a/README.md +++ b/README.md @@ -1713,7 +1713,6 @@ Most of these are paid services, some have free tiers. * [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews :large_orange_diamond: * [Dwifft](https://github.com/jflinter/Dwifft) - Automatic updates of UITableView with animations in Swift :large_orange_diamond: * [CollapsableTableKit](https://github.com/rob-nash/CollapsableTableKit) - A kit for building tableviews with a collapsable animation, for each section. -* [InfiniteScrollKit](https://github.com/rob-nash/InfiniteScrollKit) - A kit for building tableviews with a paging animation. * [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). :large_orange_diamond: * [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) * [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView :large_orange_diamond: From d273cee6b13ba830de6be7a23d581a18ed202339 Mon Sep 17 00:00:00 2001 From: Robert Nash Date: Sat, 17 Sep 2016 08:04:25 +0100 Subject: [PATCH 0433/2606] Renaming collapsable table kit. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7844cdb2f..2ea9d4737 100644 --- a/README.md +++ b/README.md @@ -1712,7 +1712,7 @@ Most of these are paid services, some have free tiers. * [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. * [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews :large_orange_diamond: * [Dwifft](https://github.com/jflinter/Dwifft) - Automatic updates of UITableView with animations in Swift :large_orange_diamond: -* [CollapsableTableKit](https://github.com/rob-nash/CollapsableTableKit) - A kit for building tableviews with a collapsable animation, for each section. +* [CollapsableTable](https://github.com/rob-nash/CollapsableTable) - A kit for building tableviews with a collapsable animation, for each section. * [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). :large_orange_diamond: * [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) * [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView :large_orange_diamond: From 066404ca509b8637222b914f1ab85640bed53a0f Mon Sep 17 00:00:00 2001 From: Robert Nash Date: Sat, 17 Sep 2016 11:15:55 +0100 Subject: [PATCH 0434/2606] Removing collapsable options and renaming footer pull. --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 2ea9d4737..a400c2828 100644 --- a/README.md +++ b/README.md @@ -1732,8 +1732,7 @@ Most of these are paid services, some have free tiers. * [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager :large_orange_diamond: * [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift :large_orange_diamond: * [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout whitch can move item with drag and drop. -* [CollapsableOptions](https://github.com/rob-nash/CollapsableOptions) - Collapsable table view sections with custom section header views. :large_orange_diamond: -* [FooterPull](https://github.com/rob-nash/FooterPull) - Add paging to your table views with a cool animation. +* [PageFeedControl](https://github.com/rob-nash/PageFeedControl) - Add paging to your table views with a cool animation. * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: * [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. * [TLLayoutTransitioning](https://github.com/wtmoose/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. From 0aad45011573c43bb9ce5138b6cd40dd3c7c3176 Mon Sep 17 00:00:00 2001 From: Chucky Date: Sat, 17 Sep 2016 08:19:04 -0700 Subject: [PATCH 0435/2606] Add TrueTime by @instacart to Date & Time section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7844cdb2f..a050b2092 100644 --- a/README.md +++ b/README.md @@ -451,6 +451,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. * [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. :large_orange_diamond: * [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift :large_orange_diamond: +* [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . :large_orange_diamond: ## EventBus * [Caravel](https://github.com/coshx/caravel) - A Swift event bus for UIWebView and JS :large_orange_diamond: From 046817f166c0ece95ea38f3313eb597fc1c6f151 Mon Sep 17 00:00:00 2001 From: Hiroshi Kimura Date: Sun, 18 Sep 2016 01:53:41 +0900 Subject: [PATCH 0436/2606] Add JAYSON --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7844cdb2f..b132ad89a 100644 --- a/README.md +++ b/README.md @@ -908,6 +908,7 @@ Also see [push notifications](#push-notifications) * [MJExtension](https://github.com/CoderMJLee/MJExtension) - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file. * [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper :large_orange_diamond: * [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initalizers for data models. :large_orange_diamond: +* [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. :large_orange_diamond: #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From 1510fc8625e0a7e4c86cb6aee3edb2834d732ed1 Mon Sep 17 00:00:00 2001 From: Chucky Date: Sun, 18 Sep 2016 08:27:24 -0700 Subject: [PATCH 0437/2606] Add ComplimentaryGradientView by @gkye to UI section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5859b8875..7ef17946b 100644 --- a/README.md +++ b/README.md @@ -1353,6 +1353,7 @@ Most of these are paid services, some have free tiers. * [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views :large_orange_diamond: * [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style :large_orange_diamond: * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. +* [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. :large_orange_diamond: #### Activity Indicator From 18e5158126dd3de110946555a5457728a3acccff Mon Sep 17 00:00:00 2001 From: David Kopec Date: Sun, 18 Sep 2016 21:09:13 -0400 Subject: [PATCH 0438/2606] add SwiftGraph & SwiftPriorityQueue --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5859b8875..983c063a0 100644 --- a/README.md +++ b/README.md @@ -436,6 +436,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. * [Monaka](https://github.com/naru-jpn/Monaka) - Convert custom struct and fundamental values to NSData. * [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. :large_orange_diamond: +* [SwiftGraph](https://github.com/davecom/SwiftGraph) - Graph data structure and utility functions in pure Swift. :large_orange_diamond: +* [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. :large_orange_diamond: ## Date & Time From 1777d9aba130e64c1947ae8f759a28dd75648f61 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 18 Sep 2016 21:47:34 -0700 Subject: [PATCH 0439/2606] Added PAPermissions by @pascalbros --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 983c063a0..d77f357b5 100644 --- a/README.md +++ b/README.md @@ -965,6 +965,7 @@ Also see [push notifications](#push-notifications) * [ClusterPrePermissions](https://github.com/clusterinc/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. * [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS :large_orange_diamond: * [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: +* [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS :large_orange_diamond: ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. From dd7cc9a621d42682a2b6a382167a47a033377de2 Mon Sep 17 00:00:00 2001 From: Chucky Date: Sun, 18 Sep 2016 22:07:47 -0700 Subject: [PATCH 0440/2606] Add ComplimentaryGradientView by @gkye to Image section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ef17946b..71e217885 100644 --- a/README.md +++ b/README.md @@ -754,6 +754,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyAvatar](https://github.com/dkalaitzidis/SwiftyAvatar) - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard * [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters :large_orange_diamond: * [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. :large_orange_diamond: +* [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: @@ -1353,7 +1354,6 @@ Most of these are paid services, some have free tiers. * [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views :large_orange_diamond: * [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style :large_orange_diamond: * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. -* [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. :large_orange_diamond: #### Activity Indicator From 84cc134d59be0015e9886ba1f1e081aad329f7ef Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Mon, 19 Sep 2016 06:18:59 -0700 Subject: [PATCH 0441/2606] Update README based on HTTP redirects (#1133) --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e5857d8c7..67f8e81aa 100644 --- a/README.md +++ b/README.md @@ -352,7 +352,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: ## Concurrency -* [Venice](https://github.com/VeniceX/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: +* [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: * [Safe](https://github.com/tidwall/Safe) - Modern Concurrency and Synchronization for Swift. :large_orange_diamond: * [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives :large_orange_diamond: * [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift :large_orange_diamond: @@ -448,7 +448,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C * [Punctual.swift](https://github.com/harlanhaskins/Punctual.swift) - Swift dates, more fun. :large_orange_diamond: * [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond:[e] -* [AFDateHelper](https://github.com/melvitax/AFDateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond:[e] +* [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond:[e] * [Tempo](https://github.com/remirobert/Tempo) - Date and time manager for iOS/OSX written in Swift :large_orange_diamond: * [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. * [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. :large_orange_diamond: @@ -752,7 +752,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond:[e] * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: * [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter :large_orange_diamond: -* [AspectFillFaceAware](https://github.com/BeauNouvelle/AspectFillFaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. :large_orange_diamond: +* [FaceAware](https://github.com/BeauNouvelle/FaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. :large_orange_diamond: * [SwiftyAvatar](https://github.com/dkalaitzidis/SwiftyAvatar) - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard * [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters :large_orange_diamond: * [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. :large_orange_diamond: @@ -1931,7 +1931,7 @@ Most of these are paid services, some have free tiers. * [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. :large_orange_diamond: * [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or OS X application. :large_orange_diamond: * [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. :large_orange_diamond: -* [ThisCouldBeUsButYouPlaying](https://github.com/neonichu/ThisCouldBeUsButYouPlaying) - :black_joker: Generate Swift Playgrounds for any library. :large_orange_diamond: +* [ThisCouldBeUsButYouPlaying](https://github.com/segiddins/ThisCouldBeUsButYouPlaying) - :black_joker: Generate Swift Playgrounds for any library. :large_orange_diamond: * [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. :large_orange_diamond:[e] * [git-xcp](https://github.com/metasmile/git-xcp) - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. * [WatchdogInspector](https://github.com/tapwork/WatchdogInspector) - Shows your current framerate (fps) in the status bar of your iOS app @@ -1959,7 +1959,7 @@ Most of these are paid services, some have free tiers. * [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. :large_orange_diamond: * [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance * [xcenv](https://github.com/xcenv/xcenv) - Groom your Xcode environment. -* [playgroundbook](https://github.com/ashfurrow/playgroundbook) - Tool for Swift Playground books +* [playgroundbook](https://github.com/playgroundbooks/playgroundbook) - Tool for Swift Playground books # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. @@ -2139,7 +2139,7 @@ Most of these are paid services, some have free tiers. * [Ry’s Objective-C Tutorial](http://rypress.com/tutorials/objective-c/index) * [Mike Ash](https://www.mikeash.com/pyblog/) * [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) :large_orange_diamond: -* [Tuts+](http://code.tutsplus.com/categories/ios-sdk) :large_orange_diamond: +* [Tuts+](https://code.tutsplus.com/categories/ios-sdk) :large_orange_diamond: * [iOS-Blog](http://www.ios-blog.co.uk/) :large_orange_diamond: * [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) :large_orange_diamond: * [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. :large_orange_diamond: From 20641be725dba3dd7de3d87ae8cf4c35303a5edd Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 19 Sep 2016 06:27:13 -0700 Subject: [PATCH 0442/2606] Remove UIAutomation (#1134) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 67f8e81aa..2bbd4fb56 100644 --- a/README.md +++ b/README.md @@ -1207,7 +1207,6 @@ Most of these are paid services, some have free tiers. * [Cucumber](https://cucumber.io/) - Behavior driver development for iOS. * [Kif](https://github.com/kif-framework/KIF) - An iOS Functional Testing Framework. * [Subliminal](https://github.com/inkling/Subliminal) - An understated approach to iOS integration testing. -* [UIAutomation](https://developer.apple.com/library/ios/documentation/DeveloperTools/Reference/UIAutomationRef/) - JavaScript library to write test scripts that exercise your app’s user interface elements while the app runs on a connected device. * [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any IOS native, hybrid, or mobile web application using Selenium / WebDriver. * [Zucchini](https://github.com/zucchini-src/zucchini) - A visual iOS testing framework that loves your apps. * [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. From 3b49097ca375a8995cc1a56f4518353cc1eceb67 Mon Sep 17 00:00:00 2001 From: Chucky Date: Mon, 19 Sep 2016 10:42:49 -0700 Subject: [PATCH 0443/2606] Add Perform by @thoughtbot to Injection section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2bbd4fb56..0fa184d97 100644 --- a/README.md +++ b/README.md @@ -1973,6 +1973,7 @@ Most of these are paid services, some have free tiers. * [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. * [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. :large_orange_diamond: * [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). +* [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. From 6d98d8afc55b0dfa7517f47bb97987454f58500b Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 19 Sep 2016 17:59:59 -0300 Subject: [PATCH 0444/2606] add Awesome server side Swift - The list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0fa184d97..4f405e0eb 100644 --- a/README.md +++ b/README.md @@ -2244,6 +2244,7 @@ Other amazingly awesome lists can be found in the * [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). * [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. * [Awesome Reactive Programming in Swift](https://github.com/SideEffects-xyz/Awesome-Reactive-Programming-Swift) - A collection of frameworks, talks and resources about reactive programming in Swift. +* [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 1cabc92e1c1fd28b8beef9b1ebcec95a87de4f07 Mon Sep 17 00:00:00 2001 From: Liguo Jiao Date: Tue, 20 Sep 2016 10:21:19 +1200 Subject: [PATCH 0445/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4f405e0eb..b1234d192 100644 --- a/README.md +++ b/README.md @@ -510,6 +510,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. * [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone :large_orange_diamond: * [jot](https://github.com/IFTTT/jot) - An iOS framework for easily adding drawings and text to images. +* [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / OS X, using native rendering (CoreAnimation) (currently only supported for iOS - OS X code needs updating). ## Hardware #### Bluetooth From f993c0418f905e916a35095e05d108a2cccac781 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Sep 2016 01:57:12 -0700 Subject: [PATCH 0446/2606] Added 10Clock by @joedaniels29 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b1234d192..301b7d718 100644 --- a/README.md +++ b/README.md @@ -454,6 +454,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. :large_orange_diamond: * [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift :large_orange_diamond: * [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . :large_orange_diamond: +* [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. :large_orange_diamond: ## EventBus * [Caravel](https://github.com/coshx/caravel) - A Swift event bus for UIWebView and JS :large_orange_diamond: From 94f8f7df5b8a1320581dffd4b6b553785849d290 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Sep 2016 01:59:53 -0700 Subject: [PATCH 0447/2606] Added Consult Podcast by @davecom --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 301b7d718..b2ba39135 100644 --- a/README.md +++ b/README.md @@ -2217,6 +2217,7 @@ Most of these are paid services, some have free tiers. * [Release Notes](https://releasenotes.tv/) * [More Than Just Code](http://mtjc.fm/) * [Runtime](https://spec.fm/podcasts/runtime) +* [Consult](http://consultpodcast.com/) # Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: From 2da59666d2861cd9ec739f89c9286b8f939779dd Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Sep 2016 02:01:29 -0700 Subject: [PATCH 0448/2606] Added NightView by @Boris-Em --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b2ba39135..1394af600 100644 --- a/README.md +++ b/README.md @@ -1358,6 +1358,7 @@ Most of these are paid services, some have free tiers. * [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views :large_orange_diamond: * [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style :large_orange_diamond: * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. +* [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. :large_orange_diamond: #### Activity Indicator From d02ba6c604099628d911cf84e39848a0cc23e1cf Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Sep 2016 02:05:49 -0700 Subject: [PATCH 0449/2606] Added Chronos-Swift by @comyar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1394af600..2085dee63 100644 --- a/README.md +++ b/README.md @@ -1899,6 +1899,7 @@ Most of these are paid services, some have free tiers. * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. * [Dispatch](https://github.com/Swiftification/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. :large_orange_diamond: + * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities :large_orange_diamond: # Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. From c7134bdc837f9086371d71f7179b46ca080d2fe0 Mon Sep 17 00:00:00 2001 From: Leonardo Cardoso Date: Tue, 20 Sep 2016 09:52:37 -0300 Subject: [PATCH 0450/2606] Add AudioIndicatorBars --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2085dee63..8965a959c 100644 --- a/README.md +++ b/README.md @@ -1402,6 +1402,7 @@ Most of these are paid services, some have free tiers. * [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: * [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design :large_orange_diamond: * [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. :large_orange_diamond: +* [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. :large_orange_diamond: #### Alerts From 2a4c45647b0b53750d745973c07fe019ea7861c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Da=20Costa=20Faro=20R=C3=A9my?= Date: Tue, 20 Sep 2016 17:58:14 +0200 Subject: [PATCH 0451/2606] Update README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 608225d53..9246f90ae 100644 --- a/README.md +++ b/README.md @@ -1400,12 +1400,9 @@ Most of these are paid services, some have free tiers. * [FillableLoaders](https://github.com/poolqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: * [LilithProgressHUD] (https://github.com/Liquicit/LilithProgressHUD) - A elegant and simple progress hud, written in Swift. 🔶 * [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: -<<<<<<< HEAD * [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. :large_orange_diamond: -======= * [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design :large_orange_diamond: * [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. :large_orange_diamond: ->>>>>>> vsouza/master #### Alerts From fe5f937d90b08c8444f2d6acb4bf173b572167a5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Sep 2016 14:50:20 -0700 Subject: [PATCH 0452/2606] Updated project rules --- .github/CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 049187dff..c5e2a8c61 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -18,6 +18,7 @@ Please ensure your pull request adheres to the following guidelines: #### Projects are ineligible if: - Doesn't have commit for more than two years. - Doesn't support iOS 8 or later. +- Doesn't support Swift 3. - Only have README in another language (Chinese, Japanese, Portuguese and etc) - We cannot clearly understand the objective. - Without clear README From baed69b44cc582a7612f4af4d08439ca5c05f9da Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Sep 2016 14:50:54 -0700 Subject: [PATCH 0453/2606] Updated pull request checklist --- .github/PULL_REQUEST_TEMPLATE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 70f2f0ce6..0385bace0 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -12,5 +12,6 @@ - [ ] Only one project/change is in this pull request - [ ] Addition in chronological order (bottom of category) - [ ] Supports iOS 8 or later +- [ ] Supports Swift 3 - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English From 0f55632c7b3ecb53ffd5ff9220d55e36b722dc36 Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Wed, 21 Sep 2016 07:54:20 -0700 Subject: [PATCH 0454/2606] Add Ecno by @xmartlabs to Tools (#1140) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bdc94cf78..43008db81 100644 --- a/README.md +++ b/README.md @@ -1965,6 +1965,7 @@ Most of these are paid services, some have free tiers. * [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance * [xcenv](https://github.com/xcenv/xcenv) - Groom your Xcode environment. * [playgroundbook](https://github.com/playgroundbooks/playgroundbook) - Tool for Swift Playground books +* [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 03c9fc2f53ad4b937ce837e507a27dd3dc156009 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Wed, 21 Sep 2016 09:28:55 -0700 Subject: [PATCH 0455/2606] Update README URLs based on HTTP redirects (#1141) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 43008db81..fb6c537c5 100644 --- a/README.md +++ b/README.md @@ -1930,7 +1930,7 @@ Most of these are paid services, some have free tiers. * [appledoc](https://github.com/tomaz/appledoc) - ObjectiveC code Apple style documentation set generator. * [Azkaban](https://github.com/neonichu/Azkaban) - A CLI to Alcatraz, the Xcode package manager. :large_orange_diamond: * [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! :large_orange_diamond: -* [Chocolat](https://github.com/neonichu/Chocolat) - :chocolate_bar: Generate podspecs from Swift packages. :large_orange_diamond: +* [Chocolat](https://github.com/pepibumur/Chocolat) - :chocolate_bar: Generate podspecs from Swift packages. :large_orange_diamond: * [StoryboardMerge](https://github.com/marcinolawski/StoryboardMerge) - Xcode storyboards diff and merge tool. * [ai2app](https://github.com/metasmile/ai2app) - Creating AppIcon sets from Adobe Illustrator (all supported formats). * [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. :large_orange_diamond: From 4c09e91d1563f2b7adec004f76529c18859642f9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 21 Sep 2016 14:45:07 -0700 Subject: [PATCH 0456/2606] Added ParallaxView by @PGSSoft fixes #1139 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fb6c537c5..fb4bf04a6 100644 --- a/README.md +++ b/README.md @@ -242,6 +242,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager without client-server :large_orange_diamond: * [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! :large_orange_diamond: * [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. :large_orange_diamond: +* [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. :large_orange_diamond: ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: From 3863957ff8953c02a6886defbae8144706c7cdd7 Mon Sep 17 00:00:00 2001 From: Aleph Retamal Date: Fri, 23 Sep 2016 11:36:23 +1000 Subject: [PATCH 0457/2606] Added LLSpinner by @alaphao --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fb4bf04a6..1fff260b5 100644 --- a/README.md +++ b/README.md @@ -1405,6 +1405,7 @@ Most of these are paid services, some have free tiers. * [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design :large_orange_diamond: * [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. :large_orange_diamond: * [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. :large_orange_diamond: +* [LLSpinner](https://github.com/alaphao/LLSpinner) - An easy way to create a full screen activity indicator. :large_orange_diamond: #### Alerts From 4dacb9f14a3e76c9dda8d1c32564e0c9c6645e6a Mon Sep 17 00:00:00 2001 From: Chucky Date: Fri, 23 Sep 2016 07:32:18 -0700 Subject: [PATCH 0458/2606] Add TwicketSegmentedControl by @twicketapp to Switch section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1fff260b5..cfd6e4e34 100644 --- a/README.md +++ b/README.md @@ -1691,6 +1691,7 @@ Most of these are paid services, some have free tiers. * [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS * [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS :large_orange_diamond: * [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support.🔶 +* [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. :large_orange_diamond: #### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From 570f6842844f6d7dd5ce50fdf03dca6ee62abcbc Mon Sep 17 00:00:00 2001 From: Andrea Bizzotto Date: Fri, 23 Sep 2016 23:06:04 +0100 Subject: [PATCH 0459/2606] Add AcceptanceMark by @bizz84 to Other Testing section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cfd6e4e34..a395a1aeb 100644 --- a/README.md +++ b/README.md @@ -1235,6 +1235,7 @@ Most of these are paid services, some have free tiers. * [trainer](https://github.com/KrauseFx/trainer) - Convert xcodebuild plist files to JUnit reports * [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur :large_orange_diamond: * [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift :large_orange_diamond: +* [AcceptanceMark](https://github.com/bizz84/AcceptanceMark) Tool to auto-generate Xcode tests classes from Markdown tables #### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: From f88681ae110828c5335734c1a8b0bd011d7b5438 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B0=E4=B8=AD=E8=B3=A2=E6=B2=BB?= Date: Sat, 24 Sep 2016 17:37:06 +0900 Subject: [PATCH 0460/2606] Add ScrollingFollowView by @ktanaka117 to ScrollView section --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index a395a1aeb..96df566d2 100644 --- a/README.md +++ b/README.md @@ -112,6 +112,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Popup](#popup) - [Pull to Refresh](#pull-to-refresh) - [Rating Stars](#rating-stars) + - [ScrollView](#scrollview) - [Slider](#slider) - [Splash View](#splash-view) - [Stepper](#stepper) @@ -1649,6 +1650,9 @@ Most of these are paid services, some have free tiers. * [HCSStarRatingView](https://github.com/hsousa/HCSStarRatingView) - Simple star rating view for iOS written in Objective-C * [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift :large_orange_diamond: +#### ScrollView +* [ScrollingFollowView](https://github.com/ktanaka117/ScrollingFollowView) - ScrollingFollowView is a simple view which follows UIScrollView scrolling. + #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. * [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management From aaa282d1c52d933b53a2a127f2a26766999c6441 Mon Sep 17 00:00:00 2001 From: Chucky Date: Sat, 24 Sep 2016 07:24:21 -0700 Subject: [PATCH 0461/2606] Add Retry by @icanzilb to Utility section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a395a1aeb..195f2dfd5 100644 --- a/README.md +++ b/README.md @@ -1859,6 +1859,7 @@ Most of these are paid services, some have free tiers. * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) :large_orange_diamond: * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 2.2 :large_orange_diamond: * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. :large_orange_diamond: + * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . :large_orange_diamond: ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 73caa29d5a9564be9c4b57a48cddd9d1f1d68888 Mon Sep 17 00:00:00 2001 From: Chucky Date: Mon, 26 Sep 2016 10:37:20 -0700 Subject: [PATCH 0462/2606] Add TableViewDragger by @KyoheiG3 to Table View / Collection View section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 195f2dfd5..825e2dcb7 100644 --- a/README.md +++ b/README.md @@ -1754,6 +1754,7 @@ Most of these are paid services, some have free tiers. * [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. :large_orange_diamond:[e] * [TLIndexPathTools](https://github.com/wtmoose/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. * [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. :large_orange_diamond: +* [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 8fe1a0bba56a6d7206694422a425fd5d276df327 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 26 Sep 2016 23:42:18 -0700 Subject: [PATCH 0463/2606] Moved UIScrollView-InfiniteScroll to ScrollView section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eed22e349..d6beda0aa 100644 --- a/README.md +++ b/README.md @@ -1284,7 +1284,6 @@ Most of these are paid services, some have free tiers. * [JRSplitVC](https://github.com/tommypeps/JRSplitVC) - UISplitViewController with adaptative layouts * [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. :large_orange_diamond: * [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications :large_orange_diamond: -* [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category :large_orange_diamond: * [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages :large_orange_diamond: * [SWRevealViewController](https://github.com/John-Lluch/SWRevealViewController) - A UIViewController subclass for presenting side view controllers inspired on the FaceBook and Wunderlist apps, done right. * [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. :large_orange_diamond: @@ -1652,6 +1651,7 @@ Most of these are paid services, some have free tiers. #### ScrollView * [ScrollingFollowView](https://github.com/ktanaka117/ScrollingFollowView) - ScrollingFollowView is a simple view which follows UIScrollView scrolling. +* [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category :large_orange_diamond: #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. From de65c9f56684e4d28d44db64dadcadb7ec747405 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 26 Sep 2016 23:42:53 -0700 Subject: [PATCH 0464/2606] Moved GoAutoSlideView to ScrollView --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d6beda0aa..ac1267260 100644 --- a/README.md +++ b/README.md @@ -1295,7 +1295,6 @@ Most of these are paid services, some have free tiers. * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. :large_orange_diamond: * [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop :large_orange_diamond: * [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. :large_orange_diamond: -* [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. * [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. :large_orange_diamond: * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers @@ -1652,6 +1651,7 @@ Most of these are paid services, some have free tiers. #### ScrollView * [ScrollingFollowView](https://github.com/ktanaka117/ScrollingFollowView) - ScrollingFollowView is a simple view which follows UIScrollView scrolling. * [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category :large_orange_diamond: +* [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. From 3eb571223c43609af582a2e07ac275cdec619611 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 26 Sep 2016 23:43:46 -0700 Subject: [PATCH 0465/2606] Moved AMScrollingNavbar to Navigation Bar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ac1267260..83f0a104a 100644 --- a/README.md +++ b/README.md @@ -1311,7 +1311,6 @@ Most of these are paid services, some have free tiers. * [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS * [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library :large_orange_diamond: * [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. -* [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView :large_orange_diamond: * [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. :large_orange_diamond: * [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities :large_orange_diamond: * [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. @@ -1608,6 +1607,7 @@ Most of these are paid services, some have free tiers. * [LTNavigationBar](https://github.com/ltebean/LTNavigationBar) - UINavigationBar Category which allows you to change its appearance dynamically * [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects :large_orange_diamond: * [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. :large_orange_diamond: +* [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView :large_orange_diamond: #### Popup * [KLCPopup](https://github.com/jmascia/KLCPopup) - A simple and flexible class for presenting custom views as a popup in iOS. From bc6320d3e832b3877628da147f6a1ff64125962c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 26 Sep 2016 23:48:07 -0700 Subject: [PATCH 0466/2606] Fixed Travis links --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 83f0a104a..d7410abcb 100644 --- a/README.md +++ b/README.md @@ -574,7 +574,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. :large_orange_diamond: * [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift :large_orange_diamond: * [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy :large_orange_diamond: -* [SwiftBond](https://github.com/SwiftBond/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. :large_orange_diamond: +* [SwiftBond](https://github.com/ReactiveKit/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. :large_orange_diamond: * [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift :large_orange_diamond: * [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - The easiest way to create and maintain Auto Layout constraints :large_orange_diamond: * [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! :large_orange_diamond: @@ -676,10 +676,10 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/OSX audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. * [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and Mac OS X. * [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). -* [sound-fader-ios](https://github.com/evgenyneu/sound-fader-ios) - A sound fader for AVAudioPlayer written in Swift. :large_orange_diamond: +* [Cephalopod](https://github.com/evgenyneu/Cephalopod) - A sound fader for AVAudioPlayer written in Swift. :large_orange_diamond: * [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! :large_orange_diamond: * [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. :large_orange_diamond: -* [AudioPlayerSwift](https://github.com/recisio/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps :large_orange_diamond: +* [AudioPlayerSwift]( https://github.com/tbaranes/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps :large_orange_diamond: * [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). :large_orange_diamond: * [TuningFork](https://github.com/comyar/TuningFork) - A Simple Tuner for iOS :large_orange_diamond::black_circle: * [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift :large_orange_diamond: From 0b1ba3162e35168326eec853b44ee888c8c33ca1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 27 Sep 2016 00:37:01 -0700 Subject: [PATCH 0467/2606] Removed iOS Bytes since it is no longer mantained --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index d7410abcb..ed95977b8 100644 --- a/README.md +++ b/README.md @@ -2223,7 +2223,6 @@ Most of these are paid services, some have free tiers. * [iDeveloper](http://blog.ideveloper.co/) * [App Story](http://www.appstorypodcast.com) * [Mobile Couch](http://mobilecouch.co/) -* [iOS Bytes](https://iosbytes.codeschool.com/) * [iPhreaks](https://devchat.tv/iphreaks) * [Under the Radar](https://www.relay.fm/radar) * [Core Intuition](http://www.coreint.org/) From 8966cf9b8332e792041a43cd5c5b6ad6a0c18d74 Mon Sep 17 00:00:00 2001 From: Toto Tvalavadze Date: Wed, 28 Sep 2016 09:21:15 +0900 Subject: [PATCH 0468/2606] added Typist-keybaord manager --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7113fc52f..fbf74ef63 100644 --- a/README.md +++ b/README.md @@ -1522,6 +1522,7 @@ Most of these are paid services, some have free tiers. * [YYKeyboardManager](https://github.com/ibireme/YYKeyboardManager) - iOS utility class allows you to access keyboard view and track keyboard animation. * [KeyboardMan](https://github.com/nixzhu/KeyboardMan) - KeyboardMan helps you make keyboard animation. :large_orange_diamond: * [MakemojiSDK](https://github.com/makemoji/MakemojiSDK) - Emoji Keyboard SDK (iOS) +* [Typist](https://github.com/totocaster/Typist) - Small, drop-in Swift UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center. :large_orange_diamond: #### Label * [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. :large_orange_diamond: From 5ac084b5d7b265380c912b9810418f0d76868271 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 27 Sep 2016 19:01:15 -0700 Subject: [PATCH 0469/2606] Added VENTokenField by @venmo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7113fc52f..e3176387c 100644 --- a/README.md +++ b/README.md @@ -1359,6 +1359,7 @@ Most of these are paid services, some have free tiers. * [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style :large_orange_diamond: * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. * [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. :large_orange_diamond: +* [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. #### Activity Indicator From df0a1480629b62bd9978600045206f6ba08099b7 Mon Sep 17 00:00:00 2001 From: Chucky Date: Tue, 27 Sep 2016 19:50:45 -0700 Subject: [PATCH 0470/2606] Add BMPlayer by @BrikerMan to Video section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e3176387c..bea9cbeb1 100644 --- a/README.md +++ b/README.md @@ -797,6 +797,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] * [ZFPlayer](https://github.com/renzifeng/ZFPlayer) - Based on AVPlayer, support for the horizontal screen, vertical screen (full screen playback can also lock the screen direction), the upper and lower slide to adjust the volume, the screen brightness, or so slide to adjust the playback progress. * [Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media in your iOS or tvOS app :large_orange_diamond: +* [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. :large_orange_diamond: ## Messaging From 1d654823e5f06bcb00c158273821f1b5dcc55736 Mon Sep 17 00:00:00 2001 From: Tyson Date: Wed, 28 Sep 2016 14:10:44 +1000 Subject: [PATCH 0471/2606] Update README.md Fixed buddybuild URL which pointed to a 404 page. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e3176387c..3042f475e 100644 --- a/README.md +++ b/README.md @@ -1997,7 +1997,7 @@ Most of these are paid services, some have free tiers. * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. * [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) - Upload screenshots, metadata and your app to the App Store using a single command. * [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) Automate taking localized screenshots of your iOS app on every device. -* [buddybuild](buddybuild.com) - A mobile iteration platform - build, deploy, and collaborate. +* [buddybuild](https://buddybuild.com/) - A mobile iteration platform - build, deploy, and collaborate. * [Bitrise](https://www.bitrise.io) Mobile Continuous Integration & Delivery with dozens of integrations to build, test, deploy and collaborate. * [watchbuild](https://github.com/fastlane/fastlane/tree/master/watchbuild) - Get a notification once your iTunes Connect build is finished processing. * [Crashlytics](https://try.crashlytics.com/) - A crash reporting and beta testing service. From a918745e9ed8011585fcb680db8c441530a0b85e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 28 Sep 2016 00:32:59 -0700 Subject: [PATCH 0472/2606] Updated Travis links --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cca898a83..0ca2e68e6 100644 --- a/README.md +++ b/README.md @@ -1260,7 +1260,7 @@ Most of these are paid services, some have free tiers. * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. * [AsyncDisplayKit](https://github.com/facebook/AsyncDisplayKit/) - AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. * [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. :large_orange_diamond: -* [MVMaterialView](https://github.com/mrugrajsinh/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. +* [MVMaterialView](https://github.com/TheMrugraj/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: @@ -1777,7 +1777,7 @@ Most of these are paid services, some have free tiers. * [IQDropDownTextField](https://github.com/hackiftekhar/IQDropDownTextField) - TextField with DropDown support using UIPickerView * [UITextField-Shake](https://github.com/andreamazz/UITextField-Shake) - UITextField category that adds shake animation. [Also with Swift version](https://github.com/King-Wizard/UITextField-Shake-Swift) :large_orange_diamond: * [HTYTextField](https://github.com/hanton/HTYTextField) - A UITextField with bouncy placeholder. :large_orange_diamond: -* [MVAutocompletePlaceSearchTextField](https://github.com/mrugrajsinh/MVAutocompletePlaceSearchTextField) - A drop-in Autocompletion control for Place Search like Google Places, Uber, etc. +* [MVAutocompletePlaceSearchTextField](https://github.com/TheMrugraj/MVAutocompletePlaceSearchTextField) - A drop-in Autocompletion control for Place Search like Google Places, Uber, etc. * [AutocompleteField](https://github.com/filipstefansson/AutocompleteField) - Add word completion to your UITextFields. :large_orange_diamond: * [RSKGrowingTextView](https://github.com/ruslanskorb/RSKGrowingTextView) - A light-weight UITextView subclass that automatically grows and shrinks. :large_orange_diamond: * [RSKPlaceholderTextView](https://github.com/ruslanskorb/RSKPlaceholderTextView) - A light-weight UITextView subclass that adds support for placeholder. :large_orange_diamond: @@ -1971,7 +1971,7 @@ Most of these are paid services, some have free tiers. * [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your OS X file system with their metadata to your iOS simulator (Swift 2.0) :large_orange_diamond: * [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a Mac OS X utility to open and modify realm database files. * [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. -* [fastlane-plugin-appicon](https://github.com/neonichu/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. +* [fastlane-plugin-appicon](https://github.com/KrauseFx/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. * [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. * [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. :large_orange_diamond: * [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance From f73ca71c195d738b454b3f6c560190a964d0a494 Mon Sep 17 00:00:00 2001 From: "keita.oouchi" Date: Wed, 28 Sep 2016 17:06:41 +0900 Subject: [PATCH 0473/2606] Add OcticonsKit --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0ca2e68e6..9c3467800 100644 --- a/README.md +++ b/README.md @@ -1250,6 +1250,8 @@ Most of these are paid services, some have free tiers. * [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. * [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS :large_orange_diamond: * [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. :large_orange_diamond: +* [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: + ## UI * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. From 51324aa68461bfefc12f581dd72911f0fdce5de1 Mon Sep 17 00:00:00 2001 From: "keita.oouchi" Date: Wed, 28 Sep 2016 17:25:51 +0900 Subject: [PATCH 0474/2606] Remove empty line --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9c3467800..69054a63c 100644 --- a/README.md +++ b/README.md @@ -1252,7 +1252,6 @@ Most of these are paid services, some have free tiers. * [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. :large_orange_diamond: * [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: - ## UI * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. From 2da305ac3844f454d396a0a01cd03912659b9f35 Mon Sep 17 00:00:00 2001 From: Chucky Date: Wed, 28 Sep 2016 07:51:24 -0700 Subject: [PATCH 0475/2606] Add NextLevel by @NextLevel to Camera section; --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69054a63c..e2a432326 100644 --- a/README.md +++ b/README.md @@ -542,6 +542,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [HorizonSDK-iOS](https://github.com/HorizonCamera/HorizonSDK-iOS) - State of the art real-time video recording / photo shooting iOS library. * [FastttCamera](https://github.com/IFTTT/FastttCamera) - Fasttt and easy camera framework for iOS with customizable filters * [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. 🔶 +* [NextLevel](https://github.com/NextLevel/NextLevel) - Next Level is a media capture camera library for iOS. :large_orange_diamond: #### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: From 7fad48dd04aaf2f8f1cf77291ca0fb8dec572b02 Mon Sep 17 00:00:00 2001 From: Wilson Ding Date: Wed, 28 Sep 2016 10:19:16 -0500 Subject: [PATCH 0476/2606] Added SwiftVideoBackground --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69054a63c..f82fed490 100644 --- a/README.md +++ b/README.md @@ -1362,6 +1362,7 @@ Most of these are paid services, some have free tiers. * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. * [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. :large_orange_diamond: * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. +* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementating a video background in Swift 3 :large_orange_diamond: #### Activity Indicator From 6c6d057e4af8c46d87cf7b68c1af681581eac8aa Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 28 Sep 2016 13:28:55 -0700 Subject: [PATCH 0477/2606] Updated JTChartView's link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 25bd10732..c2cd9d56c 100644 --- a/README.md +++ b/README.md @@ -279,7 +279,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Charts * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: -* [JTChartView](https://github.com/kubatru/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. +* [JTChartView](https://github.com/kubatruhlar/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. * [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS * [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Elegant Line Graphs for iOS (charting library). * [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. From b059de310ee49cd597f509fd7666974c29767f0a Mon Sep 17 00:00:00 2001 From: "keita.oouchi" Date: Thu, 29 Sep 2016 15:36:14 +0900 Subject: [PATCH 0478/2606] Add IoniconsKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c2cd9d56c..13ac48133 100644 --- a/README.md +++ b/README.md @@ -1252,6 +1252,7 @@ Most of these are paid services, some have free tiers. * [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS :large_orange_diamond: * [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. :large_orange_diamond: * [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: +* [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: ## UI * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. From 3f0bd658b0109844f109d4150e3f4d22d70c3841 Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Thu, 29 Sep 2016 08:13:16 -0700 Subject: [PATCH 0479/2606] Add ImageSlideshow by @zvonicek to Image section (#1157) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c2cd9d56c..61363d696 100644 --- a/README.md +++ b/README.md @@ -762,6 +762,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters :large_orange_diamond: * [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. :large_orange_diamond: * [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. :large_orange_diamond: +* [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 9a14f1b066736ad2dd920723596e4b35ce11a91b Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 29 Sep 2016 08:44:32 -0700 Subject: [PATCH 0480/2606] [template] add reason for inclusion --- .github/PULL_REQUEST_TEMPLATE.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 0385bace0..5b84819d4 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,8 +3,7 @@ ## Project URL -## Description - +## Why it should be included to `awesome-ios` ## Checklist From fadcd4838a3901fd6177a65fec1ff03a88db4136 Mon Sep 17 00:00:00 2001 From: Chucky Date: Thu, 29 Sep 2016 18:18:01 -0700 Subject: [PATCH 0481/2606] Add SwiftInitializerGenerator by @Bouke to Plugins section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2daf816c0..dad44c896 100644 --- a/README.md +++ b/README.md @@ -2086,6 +2086,7 @@ Most of these are paid services, some have free tiers. * [ClangFormat-Xcode](https://github.com/travisjeffery/ClangFormat-Xcode) - An Xcode plug-in to format your code using Clang's format tools. * [update_xcode_plugins](https://github.com/inket/update_xcode_plugins) - No more messing with plugin UUIDs; Plugins on Xcode 8! * [MakeXcodeGr8Again](https://github.com/fpg1503/MakeXcodeGr8Again) - Xcode + Plugins = :blue_heart: :large_orange_diamond: +* [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. :large_orange_diamond: #### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From eac422b1fbeec7c21362ca3cfd00162208642664 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Thu, 29 Sep 2016 18:54:37 -0700 Subject: [PATCH 0482/2606] Update README URLs based on HTTP redirects --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2daf816c0..3577d8d30 100644 --- a/README.md +++ b/README.md @@ -1761,10 +1761,10 @@ Most of these are paid services, some have free tiers. * [PageFeedControl](https://github.com/rob-nash/PageFeedControl) - Add paging to your table views with a cool animation. * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: * [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. -* [TLLayoutTransitioning](https://github.com/wtmoose/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. +* [TLLayoutTransitioning](https://github.com/SwiftKickMobile/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. * [Bohr](https://github.com/DavdRoman/Bohr) - Bohr allows you to set up a settings screen for your app with three principles in mind: ease, customization and extensibility. * [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. :large_orange_diamond:[e] -* [TLIndexPathTools](https://github.com/wtmoose/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. +* [TLIndexPathTools](https://github.com/SwiftKickMobile/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. * [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. :large_orange_diamond: * [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. :large_orange_diamond: From 71f87f9e82a572bac34617bf58901dec5302d147 Mon Sep 17 00:00:00 2001 From: mrigdon Date: Fri, 30 Sep 2016 00:28:47 -0700 Subject: [PATCH 0483/2606] added MRArticleViewController --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2daf816c0..f736e92ac 100644 --- a/README.md +++ b/README.md @@ -1366,6 +1366,7 @@ Most of these are paid services, some have free tiers. * [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. :large_orange_diamond: * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. * [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementating a video background in Swift 3 :large_orange_diamond: +* [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. :large_orange_diamond: #### Activity Indicator From 5b002e550956248cc7937356a363f9e18af84cc3 Mon Sep 17 00:00:00 2001 From: jasonke Date: Fri, 30 Sep 2016 16:40:57 +0800 Subject: [PATCH 0484/2606] Mark the Spring project with orange diamond --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2daf816c0..749717782 100644 --- a/README.md +++ b/README.md @@ -194,7 +194,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Awesome-iOS-Animation](https://github.com/jackyzh/awesome-ios-animation) - Collection of Animation projects * [RZTransitions](https://github.com/Raizlabs/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. * [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. -* [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. +* [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. :large_orange_diamond: * [Canvas](https://github.com/CanvasPod/Canvas) - Animate in Xcode without code http://canvaspod.io * [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy :large_orange_diamond: * [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS with Swift2. :large_orange_diamond: From 711509606d98b22803c320a8572003965083bcb8 Mon Sep 17 00:00:00 2001 From: lsunsi Date: Fri, 30 Sep 2016 17:11:31 -0300 Subject: [PATCH 0485/2606] ReduxSwift added --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7488bb2a1..3bb9ab15f 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Camera](#camera) - [Force Touch](#force-touch) - [iBeacon](#ibeacon) - - [Location](#location) + - [Location](#location) - [Other Hardware](#other-hardware) - [Layout](#layout) - [Logging](#logging) @@ -1027,6 +1027,7 @@ Most of these are paid services, some have free tiers. * [RxAutomaton](https://github.com/inamiy/RxAutomaton) - RxSwift + State Machine, inspired by Redux and Elm. :large_orange_diamond: * [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. :large_orange_diamond: * [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. :large_orange_diamond: +* [ReduxSwift](https://github.com/lsunsi/ReduxSwift) - Predictable state container for Swift apps too. :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 5c2479310667b2e3ffebbb34ec852938551e6e8d Mon Sep 17 00:00:00 2001 From: jonkykong Date: Fri, 30 Sep 2016 13:14:55 -0700 Subject: [PATCH 0486/2606] Including VerticalSlider project. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7488bb2a1..5bc70eed5 100644 --- a/README.md +++ b/README.md @@ -1676,6 +1676,7 @@ Most of these are paid services, some have free tiers. * [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. :large_orange_diamond: * [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: * [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. :large_orange_diamond: +* [VerticalSlider](https://github.com/jonkykong/SideMenu) - VerticalSlider is a vertical implementation of the UISlider slider control. :large_orange_diamond: #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. From e918ba1601cd8e67e538583001af5b0478c00226 Mon Sep 17 00:00:00 2001 From: jonkykong Date: Fri, 30 Sep 2016 14:48:46 -0700 Subject: [PATCH 0487/2606] Updated README - wrong link from copy/paste. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5bc70eed5..6d48467ee 100644 --- a/README.md +++ b/README.md @@ -1676,7 +1676,7 @@ Most of these are paid services, some have free tiers. * [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. :large_orange_diamond: * [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: * [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. :large_orange_diamond: -* [VerticalSlider](https://github.com/jonkykong/SideMenu) - VerticalSlider is a vertical implementation of the UISlider slider control. :large_orange_diamond: +* [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. :large_orange_diamond: #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. From 47cf6fa792fa6f0e31caa5f4e3082911f8ac233f Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Fri, 30 Sep 2016 14:49:59 -0700 Subject: [PATCH 0488/2606] Update README URLs based on HTTP redirects (#1165) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7488bb2a1..2a28fbfc0 100644 --- a/README.md +++ b/README.md @@ -376,7 +376,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. :large_orange_diamond: * [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. :large_orange_diamond: * [CoreDataDandy](https://github.com/fuzz-productions/CoreDataDandy) - A feature-light wrapper around Core Data that simplifies common database operations. :large_orange_diamond: -* [Sync](https://github.com/hyperoslo/Sync) - Modern JSON synchronization to Core Data :large_orange_diamond: +* [Sync](https://github.com/SyncDB/Sync) - Modern JSON synchronization to Core Data :large_orange_diamond: * [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. :large_orange_diamond: * [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. :large_orange_diamond: * [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack :large_orange_diamond: @@ -384,7 +384,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. :large_orange_diamond: * [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. :large_orange_diamond: * [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. :large_orange_diamond: -* [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: +* [DATAStack](https://github.com/SyncDB/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: ## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. @@ -1625,7 +1625,7 @@ Most of these are paid services, some have free tiers. * [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. :large_orange_diamond: * [CNPPopupController](https://github.com/carsonperrotti/CNPPopupController) - Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. * [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. -* [SubscriptionPrompt](https://github.com/Binur/SubscriptionPrompt) - Subscription View Controller like the Tinder uses :large_orange_diamond: +* [SubscriptionPrompt](https://github.com/binchik/SubscriptionPrompt) - Subscription View Controller like the Tinder uses :large_orange_diamond: * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: * [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. :large_orange_diamond: * [KCSelectionDialog](https://github.com/kciter/KCSelectionDialog) - Simple selection dialog. :large_orange_diamond: From 2624729c60cd9fd292bebe103dcb3a47a74a14dc Mon Sep 17 00:00:00 2001 From: Chucky Date: Sat, 1 Oct 2016 18:39:34 -0700 Subject: [PATCH 0489/2606] Add BrightFutures by @Thomvis to EventBus section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aa2130e6b..814abca2d 100644 --- a/README.md +++ b/README.md @@ -472,6 +472,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety :large_orange_diamond: * [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for IOS and OS X. :large_orange_diamond: * [signals-ios](https://github.com/uber/signals-ios) - Typeful eventing +* [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. :large_orange_diamond: ## Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: From 990866dee702055c86ff1a9cfc28d15bccfd6d44 Mon Sep 17 00:00:00 2001 From: Chucky Date: Sun, 2 Oct 2016 09:28:51 -0700 Subject: [PATCH 0490/2606] Add GlueKit by @lorentey to Code Quality section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35f49c75a..d3e12884a 100644 --- a/README.md +++ b/README.md @@ -321,6 +321,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. * [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. * [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. +* [GlueKit](https://github.com/lorentey/GlueKit) - A type-safe observer framework for Swift. :large_orange_diamond: #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From f8b0ceaccc15dd521b18df0fd388d0c6a71c81a6 Mon Sep 17 00:00:00 2001 From: xuyecan Date: Mon, 3 Oct 2016 17:51:57 +0800 Subject: [PATCH 0491/2606] Add HandyJSON --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3e12884a..bd38d61a5 100644 --- a/README.md +++ b/README.md @@ -922,6 +922,7 @@ Also see [push notifications](#push-notifications) * [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper :large_orange_diamond: * [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initalizers for data models. :large_orange_diamond: * [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. :large_orange_diamond: +* [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization libary for swift 2.x/3.x. :large_orange_diamond: #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From 180a0b2ff1e795ada49a446890683215031ebb45 Mon Sep 17 00:00:00 2001 From: Alex Pate Date: Mon, 3 Oct 2016 16:00:29 +0100 Subject: [PATCH 0492/2606] Update pusher push notifications to new link (#1170) [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d3e12884a..734096b8e 100644 --- a/README.md +++ b/README.md @@ -1006,7 +1006,7 @@ Most of these are paid services, some have free tiers. * [PushBots](https://pushbots.com/) * [Pushwoosh](https://www.pushwoosh.com) * [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. -* [Pusher](https://pusher.com) +* [Pusher](https://pusher.com/push-notifications) - Free and unlimited. ## Reactive Programming * [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift :large_orange_diamond: From cb81bddd79df8b4c2efaeb3f28f32d7593438d78 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 3 Oct 2016 18:37:30 -0700 Subject: [PATCH 0493/2606] [template] improve --- .github/PULL_REQUEST_TEMPLATE.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 5b84819d4..75de4a9b3 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,7 +3,10 @@ ## Project URL -## Why it should be included to `awesome-ios` +## Description + + +## Why it should be included to `awesome-ios` (optional) ## Checklist From 9da1bf5886b1278ff87d9c9bbd81cdcbeb30c150 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 4 Oct 2016 15:14:38 -0700 Subject: [PATCH 0494/2606] Removed TouchJSON because it was deprecated --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 76d10ebe7..1f9e86714 100644 --- a/README.md +++ b/README.md @@ -884,7 +884,6 @@ Also see [push notifications](#push-notifications) #### JSON * [JSONKit](https://github.com/johnezang/JSONKit) - Objective-C JSON. -* [TouchJSON](https://github.com/TouchCode/TouchJSON) - A humane JSON Objective-C un-framework. * [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. * [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. * [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. From 855a3f36d4d545274b5588307de8df81761d2036 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 4 Oct 2016 15:21:25 -0700 Subject: [PATCH 0495/2606] Removed JSONKit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 1f9e86714..b773341cb 100644 --- a/README.md +++ b/README.md @@ -883,7 +883,6 @@ Also see [push notifications](#push-notifications) * [SwiftCSV](https://github.com/naoty/SwiftCSV) - CSV parser for Swift :large_orange_diamond: #### JSON -* [JSONKit](https://github.com/johnezang/JSONKit) - Objective-C JSON. * [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. * [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. * [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. From f71b934f7f53bed1f6aab6b00f05368da47787d9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 4 Oct 2016 15:30:30 -0700 Subject: [PATCH 0496/2606] Removed BlockTypeDescription --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index b773341cb..27c53e0b0 100644 --- a/README.md +++ b/README.md @@ -619,7 +619,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: * [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. * [NSLogger](https://github.com/fpillet/NSLogger) - a high perfomance logging utility which displays traces emitted by client applications running on Mac OS X, iOS and Android. -* [BlockTypeDescription](https://github.com/conradev/BlockTypeDescription) - Show type signatures when logging blocks. * [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. :large_orange_diamond: * [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. :large_orange_diamond: * [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. :large_orange_diamond: From fd15abcfd4944dac83557e640226445251b6870c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 4 Oct 2016 16:15:05 -0700 Subject: [PATCH 0497/2606] Fixed --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 27c53e0b0..48a501290 100644 --- a/README.md +++ b/README.md @@ -1953,7 +1953,7 @@ Most of these are paid services, some have free tiers. * [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! :large_orange_diamond: * [Chocolat](https://github.com/pepibumur/Chocolat) - :chocolate_bar: Generate podspecs from Swift packages. :large_orange_diamond: * [StoryboardMerge](https://github.com/marcinolawski/StoryboardMerge) - Xcode storyboards diff and merge tool. -* [ai2app](https://github.com/metasmile/ai2app) - Creating AppIcon sets from Adobe Illustrator (all supported formats). +* [ai2app](https://github.com/metasmile/ai2appiconset) - Creating AppIcon sets from Adobe Illustrator (all supported formats). * [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. :large_orange_diamond: * [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or OS X application. :large_orange_diamond: * [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. :large_orange_diamond: From 83898ca38ac898363c988a4639efe4758fe67466 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 4 Oct 2016 16:16:00 -0700 Subject: [PATCH 0498/2606] Updated iOS Developer and Designer interview's link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 48a501290..0270c37ae 100644 --- a/README.md +++ b/README.md @@ -2142,7 +2142,7 @@ Most of these are paid services, some have free tiers. * [Little Bites of Cocoa](https://littlebitesofcocoa.com/) :large_orange_diamond: * [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) :large_orange_diamond: * [This Week in Swift](http://swiftnews.curated.co) :large_orange_diamond: -* [iOS Developer and Designer interview](https://github.com/CameronBanga/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. +* [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. * [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) :large_orange_diamond: * [Code Facebook](https://code.facebook.com/ios/) * [iOS Cookies](http://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift :large_orange_diamond: From e0127d87500b634e4a053a4d070a2582c7827fa7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 4 Oct 2016 23:31:31 -0700 Subject: [PATCH 0499/2606] Removed caravel --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0270c37ae..df1e7ace8 100644 --- a/README.md +++ b/README.md @@ -460,7 +460,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. :large_orange_diamond: ## EventBus -* [Caravel](https://github.com/coshx/caravel) - A Swift event bus for UIWebView and JS :large_orange_diamond: * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: * [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and OS X. * [Bolts](https://github.com/BoltsFramework/Bolts-ObjC) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links). From 3ac1b71ccf92c604790104b1ac9d5cc1168cfa77 Mon Sep 17 00:00:00 2001 From: Chucky Date: Wed, 5 Oct 2016 12:16:51 -0700 Subject: [PATCH 0500/2606] Add AKMaskField by @artemkrachulov to TextField & TextView section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index df1e7ace8..25dd6cfa9 100644 --- a/README.md +++ b/README.md @@ -1808,6 +1808,7 @@ Most of these are paid services, some have free tiers. * [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies :large_orange_diamond: * [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS :large_orange_diamond: * [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. :large_orange_diamond: +* [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. :large_orange_diamond: #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 86e785913ab0c0dcfa574183186e85361b46f7a7 Mon Sep 17 00:00:00 2001 From: Chucky Date: Wed, 5 Oct 2016 15:36:03 -0700 Subject: [PATCH 0501/2606] Add AKMaskField by @artemkrachulov to Tag section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 25dd6cfa9..b3d39db5d 100644 --- a/README.md +++ b/README.md @@ -1778,6 +1778,7 @@ Most of these are paid services, some have free tiers. * [TagListView](https://github.com/xhacker/TagListView) - Simple and highly customizable iOS tag list view, in Swift. :large_orange_diamond: * [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. * [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags :large_orange_diamond: +* [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. :large_orange_diamond: #### TextField & TextView * [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. @@ -1808,7 +1809,6 @@ Most of these are paid services, some have free tiers. * [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies :large_orange_diamond: * [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS :large_orange_diamond: * [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. :large_orange_diamond: -* [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. :large_orange_diamond: #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 4766cad2ece1a5d81674a1009f7a4c9adb2b5a43 Mon Sep 17 00:00:00 2001 From: Sasho Jadrovski Date: Thu, 6 Oct 2016 17:02:39 +0200 Subject: [PATCH 0502/2606] Add SJFluidSegmentedControl by @sasojadrovski to Switch section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b3d39db5d..2fce33b32 100644 --- a/README.md +++ b/README.md @@ -1707,6 +1707,7 @@ Most of these are paid services, some have free tiers. * [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS :large_orange_diamond: * [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support.🔶 * [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. :large_orange_diamond: +* [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. :large_orange_diamond: #### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From f844689b89bd81c042e43997b4b9ba30095e5d69 Mon Sep 17 00:00:00 2001 From: Stefan Godoroja Date: Sat, 8 Oct 2016 23:48:01 +0200 Subject: [PATCH 0503/2606] Added "iCheckbox" component. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2fce33b32..1f88a3369 100644 --- a/README.md +++ b/README.md @@ -1367,6 +1367,7 @@ Most of these are paid services, some have free tiers. * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. * [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementating a video background in Swift 3 :large_orange_diamond: * [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. :large_orange_diamond: +* [iCheckbox](https://github.com/mancunianetz/iCheckbox) - A checkbox like component for iOS apps. :large_orange_diamond: #### Activity Indicator From f8785876d995847647c36fc0cb5aeb71b883f301 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 10 Oct 2016 10:02:25 -0700 Subject: [PATCH 0504/2606] Added SwiftyAttributes by @eddiekaiger --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1f88a3369..07c16c855 100644 --- a/README.md +++ b/README.md @@ -1187,6 +1187,7 @@ Most of these are paid services, some have free tiers. * [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings for iOS * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). * [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. :large_orange_diamond: +* [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. :large_orange_diamond; ## Testing From 15fedd0966999b665adc95f197ce6e36b1b2f00d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 10 Oct 2016 10:03:09 -0700 Subject: [PATCH 0505/2606] fixed SwiftyAttributes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 07c16c855..3b9ae297c 100644 --- a/README.md +++ b/README.md @@ -1187,7 +1187,7 @@ Most of these are paid services, some have free tiers. * [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings for iOS * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). * [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. :large_orange_diamond: -* [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. :large_orange_diamond; +* [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. :large_orange_diamond: ## Testing From 3b3e6c8651a6ce540a8de02d007e00d957a994f1 Mon Sep 17 00:00:00 2001 From: Bowen Yuan Date: Tue, 11 Oct 2016 14:01:13 +0800 Subject: [PATCH 0506/2606] Add DeviceKit by @dennisweissmann (#1175) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b9ae297c..28ff552bf 100644 --- a/README.md +++ b/README.md @@ -598,6 +598,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. * [DarkLightning](https://github.com/jensmeder/DarkLightning) -Simply the fastest way to transmit data between iOS and OSX * [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 +* [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. :large_orange_diamond: ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From 8c232a45a96ee671098d177caf7b445b27ee3fa9 Mon Sep 17 00:00:00 2001 From: Wilson Ding Date: Tue, 11 Oct 2016 14:32:12 -0500 Subject: [PATCH 0507/2606] Added RandomUserSwift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 28ff552bf..3f75d36ee 100644 --- a/README.md +++ b/README.md @@ -1094,6 +1094,7 @@ Most of these are paid services, some have free tiers. * [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project :large_orange_diamond: * [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & OS X written in Swift :large_orange_diamond: * [SlackKit](https://github.com/pvzig/SlackKit) - a Slack client library for iOS and OS X written in Swift :large_orange_diamond: +* [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift 3 Framework to Generate Random Users - An Unofficial SDK for randomuser.me :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From caefb2e17ee16ac771508c4fb24c540554fc0fb2 Mon Sep 17 00:00:00 2001 From: Derek Clarkson Date: Wed, 12 Oct 2016 13:06:37 +1100 Subject: [PATCH 0508/2606] Adding StoryTeller --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 28ff552bf..a7069671a 100644 --- a/README.md +++ b/README.md @@ -644,6 +644,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [XLTestLog](https://github.com/xareelee/XLTestLog) - Styling and coloring your XCTest logs on Xcode Console * [XLFacility](https://github.com/swisspol/XLFacility) - Elegant and extensive logging facility for OS X & iOS (includes database, Telnet and HTTP servers) * [Atlantis](https://github.com/DrewKiino/Atlantis) - A powerful input-agnostic swift logging framework made to speed up development with maximum readability. :large_orange_diamond: +* [StoryTeller](https://github.com/drekka/StoryTeller) - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important. ## Machine Learning * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: From 0980cba2a650fb098325d8a29b18c93fd36554ec Mon Sep 17 00:00:00 2001 From: Derek Clarkson Date: Wed, 12 Oct 2016 13:12:52 +1100 Subject: [PATCH 0509/2606] Adding Alchemic --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7069671a..36108fff9 100644 --- a/README.md +++ b/README.md @@ -2007,6 +2007,7 @@ Most of these are paid services, some have free tiers. * [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. :large_orange_diamond: * [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). * [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: +* [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C & Swift. # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. From b0f5de8b05d2c9a9b0cab9ba8c3d2592e6592ebe Mon Sep 17 00:00:00 2001 From: Derek Clarkson Date: Wed, 12 Oct 2016 13:17:42 +1100 Subject: [PATCH 0510/2606] Adding AlchemicSwift --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 36108fff9..a3ae59ed6 100644 --- a/README.md +++ b/README.md @@ -2007,7 +2007,8 @@ Most of these are paid services, some have free tiers. * [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. :large_orange_diamond: * [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). * [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: -* [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C & Swift. +* [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. +* [AlchemicSwift](https://github.com/drekka/AlchemicSwift) - Swift wrapper for Alchemic. :large_orange_diamond: # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. From 93f15e8cc138089216228a2b5a33e85a6f2fe36b Mon Sep 17 00:00:00 2001 From: Derek Clarkson Date: Wed, 12 Oct 2016 14:06:34 +1100 Subject: [PATCH 0511/2606] Fixing Alchemic-Swift links --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3ae59ed6..fe3daa3f1 100644 --- a/README.md +++ b/README.md @@ -2008,7 +2008,7 @@ Most of these are paid services, some have free tiers. * [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). * [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: * [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. -* [AlchemicSwift](https://github.com/drekka/AlchemicSwift) - Swift wrapper for Alchemic. :large_orange_diamond: +* [Alchemic-Swift](https://github.com/drekka/Alchemic-Swift) - Swift wrapper for Alchemic. :large_orange_diamond: # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. From 595a020d6c5261583fc5e74b1cae99ce4641df7c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 11 Oct 2016 22:28:43 -0700 Subject: [PATCH 0512/2606] Added IGListKit by @rnystrom --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1fc3722c5..a4f78b534 100644 --- a/README.md +++ b/README.md @@ -1775,6 +1775,7 @@ Most of these are paid services, some have free tiers. * [TLIndexPathTools](https://github.com/SwiftKickMobile/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. * [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. :large_orange_diamond: * [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. :large_orange_diamond: +* [IGListKit](https://github.com/Instagram/IGListKit) - A data-driven UICollectionView framework for building fast and flexible lists. #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 7a7246f635ef0f7a6d7c0742e9265129e6d9b847 Mon Sep 17 00:00:00 2001 From: Takuya Okamoto Date: Wed, 12 Oct 2016 15:14:56 +0900 Subject: [PATCH 0513/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a4f78b534..ed3584f1e 100644 --- a/README.md +++ b/README.md @@ -802,6 +802,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ZFPlayer](https://github.com/renzifeng/ZFPlayer) - Based on AVPlayer, support for the horizontal screen, vertical screen (full screen playback can also lock the screen direction), the upper and lower slide to adjust the volume, the screen brightness, or so slide to adjust the playback progress. * [Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media in your iOS or tvOS app :large_orange_diamond: * [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. :large_orange_diamond: +* [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. :large_orange_diamond: ## Messaging From 424e9336612d58f4c30e62e72aac5470e0423151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Truhl=C3=A1=C5=99?= Date: Thu, 13 Oct 2016 15:38:40 +0200 Subject: [PATCH 0514/2606] Add AFNetworking+RetryPolicy Add AFNetworking+RetryPolicy to Networking section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed3584f1e..1ea1927fc 100644 --- a/README.md +++ b/README.md @@ -871,6 +871,7 @@ Also see [push notifications](#push-notifications) * [MMLanScan](https://github.com/mavris/MMLanScan) - An iOS LAN Network Scanner library * [Domainer](https://github.com/FelixLinBH/Domainer) - Manage multi-domain url auto mapping ip address table * [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way :large_orange_diamond: +* [AFNetworking+RetryPolicy](https://github.com/kubatruhlar/AFNetworking-RetryPolicy) - An objective-c category that adds the ability to set the retry logic for requests made with AFNetworking. #### Email From b3ed8e7d477f48ceb2507bf03674e50e2558f555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=98=87=E5=81=A5=E8=B1=AA?= Date: Sun, 16 Oct 2016 12:11:50 +0800 Subject: [PATCH 0515/2606] remove iOSPlot --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 1ea1927fc..1b8bc522c 100644 --- a/README.md +++ b/README.md @@ -283,7 +283,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS * [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Elegant Line Graphs for iOS (charting library). * [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. -* [iOSPlot](https://github.com/honcheng/iOSPlot) - Chart library for iOS. * [XYPieChart](https://github.com/xyfeng/XYPieChart) - A simple and animated Pie Chart for your iOS app. * [TEAChart](https://github.com/xhacker/TEAChart) - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart. * [EChart](https://github.com/zhuhuihuihui/EChart) - iOS/iPhone/iPad Chart, Graph. Event handling and animation supported. From 8c38e21cb0128828993f50831bbf964e9b12b23e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=98=87=E5=81=A5=E8=B1=AA?= Date: Sun, 16 Oct 2016 20:47:38 +0800 Subject: [PATCH 0516/2606] Update redirects (#1182) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1ea1927fc..9874dd4aa 100644 --- a/README.md +++ b/README.md @@ -999,7 +999,7 @@ Most of these are paid services, some have free tiers. * [Growth Push](https://growthpush.com) - Popular in Japan. * [Appboy](https://www.appboy.com) * [Batch](https://batch.com) -* [Boxcar](https://boxcar.io/developer) +* [Boxcar](https://boxcar.io) * [Carnival](http://www.carnival.io) * [Catapush](https://www.catapush.com) * [Netmera](http://www.netmera.com) @@ -1784,7 +1784,7 @@ Most of these are paid services, some have free tiers. * [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. * [TagCellLayout](https://github.com/riteshhgupta/TagCellLayout) - UICollectionView layout for Tags with Left, Center & Right alignments. :large_orange_diamond: * [TTGTagCollectionView](https://github.com/zekunyan/TTGTagCollectionView) - Show simple text tags or custom tag views in a vertical scrollable view. -* [TagListView](https://github.com/xhacker/TagListView) - Simple and highly customizable iOS tag list view, in Swift. :large_orange_diamond: +* [TagListView](https://github.com/ElaWorkshop/TagListView) - Simple and highly customizable iOS tag list view, in Swift. :large_orange_diamond: * [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. * [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags :large_orange_diamond: * [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. :large_orange_diamond: From bc607e4bfe8439ee63836ed7829e8e8e5cf262cb Mon Sep 17 00:00:00 2001 From: "Ahmad M. Zawawi" Date: Mon, 17 Oct 2016 12:56:42 +0300 Subject: [PATCH 0517/2606] Fix spelling mistake (HandyJSON) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9874dd4aa..e6ebf0bb5 100644 --- a/README.md +++ b/README.md @@ -922,7 +922,7 @@ Also see [push notifications](#push-notifications) * [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper :large_orange_diamond: * [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initalizers for data models. :large_orange_diamond: * [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. :large_orange_diamond: -* [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization libary for swift 2.x/3.x. :large_orange_diamond: +* [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x. :large_orange_diamond: #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From a8966bb4c2a70631c86c3c51b9218f2568d0ec7b Mon Sep 17 00:00:00 2001 From: Vadym Markov Date: Tue, 18 Oct 2016 20:01:13 +0200 Subject: [PATCH 0518/2606] Add Aftermath --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c0e7e41fc..3c8a85a25 100644 --- a/README.md +++ b/README.md @@ -1030,6 +1030,7 @@ Most of these are paid services, some have free tiers. * [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. :large_orange_diamond: * [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. :large_orange_diamond: * [ReduxSwift](https://github.com/lsunsi/ReduxSwift) - Predictable state container for Swift apps too. :large_orange_diamond: +* [Aftermath](https://github.com/hyperoslo/Aftermath) - Stateless message-driven micro-framework in Swift. :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: @@ -2010,7 +2011,7 @@ Most of these are paid services, some have free tiers. * [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. :large_orange_diamond: * [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). * [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: -* [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. +* [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. * [Alchemic-Swift](https://github.com/drekka/Alchemic-Swift) - Swift wrapper for Alchemic. :large_orange_diamond: # Deployment / Distribution From 3b06c5ad3fe0e2876bea766c17131aa64f3442b8 Mon Sep 17 00:00:00 2001 From: Igor Zapletnev Date: Wed, 19 Oct 2016 16:45:39 +0700 Subject: [PATCH 0519/2606] Add macaw --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c0e7e41fc..103821202 100644 --- a/README.md +++ b/README.md @@ -1373,6 +1373,7 @@ Most of these are paid services, some have free tiers. * [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementating a video background in Swift 3 :large_orange_diamond: * [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. :large_orange_diamond: * [iCheckbox](https://github.com/mancunianetz/iCheckbox) - A checkbox like component for iOS apps. :large_orange_diamond: +* [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. :large_orange_diamond: #### Activity Indicator From 137dd5362ea4bace366bb1fcc6d24029f8b0182b Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Wed, 19 Oct 2016 07:47:20 -0700 Subject: [PATCH 0520/2606] Add MetovaTestKit by @metova to Other Testing section (#1173) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ae19e4065..11757d351 100644 --- a/README.md +++ b/README.md @@ -1246,6 +1246,7 @@ Most of these are paid services, some have free tiers. * [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur :large_orange_diamond: * [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift :large_orange_diamond: * [AcceptanceMark](https://github.com/bizz84/AcceptanceMark) Tool to auto-generate Xcode tests classes from Markdown tables +* [MetovaTestKit](https://github.com/metova/MetovaTestKit) - A collection of testing utilities to turn crashing test suites into failing test suites. :large_orange_diamond: #### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: From eeea94bf18aabd6e8d6c2d067b0e15f1a792c04a Mon Sep 17 00:00:00 2001 From: Qihe Bian Date: Thu, 20 Oct 2016 16:03:00 +0800 Subject: [PATCH 0521/2606] Add Aojet by @ufosky to Concurrency section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 11757d351..f82ef1beb 100644 --- a/README.md +++ b/README.md @@ -354,6 +354,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: ## Concurrency +* [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. * [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: * [Safe](https://github.com/tidwall/Safe) - Modern Concurrency and Synchronization for Swift. :large_orange_diamond: * [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives :large_orange_diamond: From b7274fc03c04e8639cafa2cc9edab31b5da20c88 Mon Sep 17 00:00:00 2001 From: Qihe Bian Date: Thu, 20 Oct 2016 16:11:39 +0800 Subject: [PATCH 0522/2606] Add Aojet by @ufosky to Concurrency section. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f82ef1beb..bca9daa5d 100644 --- a/README.md +++ b/README.md @@ -354,12 +354,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: ## Concurrency -* [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. * [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: * [Safe](https://github.com/tidwall/Safe) - Modern Concurrency and Synchronization for Swift. :large_orange_diamond: * [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives :large_orange_diamond: * [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift :large_orange_diamond: * [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. :large_orange_diamond: +* [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. ## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From 9dd3e757ca5f989148b86f8802171e3c31ca93dd Mon Sep 17 00:00:00 2001 From: Andrew Goldis Date: Thu, 20 Oct 2016 17:15:50 +0300 Subject: [PATCH 0523/2606] Add Rollout.io to Deployment / Distribution --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 11757d351..40ee911f1 100644 --- a/README.md +++ b/README.md @@ -2029,6 +2029,7 @@ Most of these are paid services, some have free tiers. * [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. * [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. * [Boombox.io](https://boombox.io/) - Sign up TestFlight beta testers on your website. Embeddable and hosted TestFlight beta sign-up forms +* [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. # App Store * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. From 697aab2bf11284369e810c11b49d003f00623fb4 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Thu, 20 Oct 2016 07:53:58 -0700 Subject: [PATCH 0524/2606] Update README URLs based on HTTP redirects (#1191) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 11757d351..797d9c215 100644 --- a/README.md +++ b/README.md @@ -1443,7 +1443,7 @@ Most of these are paid services, some have free tiers. * [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController :large_orange_diamond: * [SnowGlobeFramework](https://github.com/stringcode86/SnowGlobeFramework) - Delightful / slightly cheese easter egg for christmas season. Turns your awesome app into a snow globe, when user shake the device. :large_orange_diamond: * [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. :large_orange_diamond: -* [OEANotification](https://github.com/OEASLAN/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. :large_orange_diamond: +* [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. :large_orange_diamond: * [GSAlert](https://github.com/wxxsw/GSAlert) - If you want to use UIAlertController, but still need to support iOS 7 this project is for you. :large_orange_diamond: * [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. * [RKDropdownAlert](https://github.com/cwRichardKim/RKDropdownAlert) - Extremely simple UIAlertView alternative. @@ -2281,8 +2281,8 @@ Other amazingly awesome lists can be found in the * [Education](https://github.com/hsavit1/Awesome-Swift-Education) - All the resources you need to learn Swift * [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. :watch: * [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. -* [awesome-ios-animation](https://github.com/sxyx2008/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. -* [awesome-ios-chart](https://github.com/sxyx2008/awesome-ios-chart) - A curated list of awesome iOS chart libraries, including Objective-C and Swift. +* [awesome-ios-animation](https://github.com/ameizi/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. +* [awesome-ios-chart](https://github.com/ameizi/awesome-ios-chart) - A curated list of awesome iOS chart libraries, including Objective-C and Swift. * [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). * [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. * [Awesome Reactive Programming in Swift](https://github.com/SideEffects-xyz/Awesome-Reactive-Programming-Swift) - A collection of frameworks, talks and resources about reactive programming in Swift. From 13588a4573a27d6e4dd0ce6751a90f1c6a31c14d Mon Sep 17 00:00:00 2001 From: QiunCheng Date: Thu, 20 Oct 2016 22:56:32 +0800 Subject: [PATCH 0525/2606] Add FontAwesomeKit.Swift (#1190) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 797d9c215..bd3448dce 100644 --- a/README.md +++ b/README.md @@ -1261,6 +1261,7 @@ Most of these are paid services, some have free tiers. * [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. :large_orange_diamond: * [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: * [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: +* [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. :large_orange_diamond: ## UI * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. From 15f4656f95fa3b44dc9d9f4ea791cbcb885fd739 Mon Sep 17 00:00:00 2001 From: "Ahmad M. Zawawi" Date: Thu, 20 Oct 2016 22:31:05 +0300 Subject: [PATCH 0526/2606] Add SwifyZeroMQ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd3448dce..df7710af1 100644 --- a/README.md +++ b/README.md @@ -871,6 +871,7 @@ Also see [push notifications](#push-notifications) * [Domainer](https://github.com/FelixLinBH/Domainer) - Manage multi-domain url auto mapping ip address table * [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way :large_orange_diamond: * [AFNetworking+RetryPolicy](https://github.com/kubatruhlar/AFNetworking-RetryPolicy) - An objective-c category that adds the ability to set the retry logic for requests made with AFNetworking. +* [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS. :large_orange_diamond: #### Email From 5f3097b669cc2e2299811e01588ad039ecfbed80 Mon Sep 17 00:00:00 2001 From: Nathan Date: Fri, 21 Oct 2016 15:51:31 -0300 Subject: [PATCH 0527/2606] Add Marshal (#1193) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd3448dce..dcc647e80 100644 --- a/README.md +++ b/README.md @@ -922,6 +922,7 @@ Also see [push notifications](#push-notifications) * [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initalizers for data models. :large_orange_diamond: * [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. :large_orange_diamond: * [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x. :large_orange_diamond: +* [Marshal](https://github.com/utahiosmac/Marshal) - Marshaling the typeless wild west of [String: Any] (Protocol based). #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From 65a05b79b421189838bc923b3426bf9d2657bc6b Mon Sep 17 00:00:00 2001 From: Bowen Yuan Date: Sun, 23 Oct 2016 20:41:10 +0800 Subject: [PATCH 0528/2606] Add Koyomi by @shoheiyokoyama (#1187) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eafc2814d..f365b54b4 100644 --- a/README.md +++ b/README.md @@ -1514,6 +1514,7 @@ Most of these are paid services, some have free tiers. * [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. * [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern :large_orange_diamond: * [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS +* [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift :large_orange_diamond: #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From 8a1d9cddd7f5ba18e3bff4d596a0c895bd390127 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 24 Oct 2016 15:32:18 +0530 Subject: [PATCH 0529/2606] Update README.md Added DateTimePicker --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f365b54b4..ba849c657 100644 --- a/README.md +++ b/README.md @@ -1515,6 +1515,8 @@ Most of these are paid services, some have free tiers. * [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern :large_orange_diamond: * [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS * [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift :large_orange_diamond: +* [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time +:large_orange_diamond: #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From 1a16ebf3fdc357bebe93d14b53cb44586275ecd5 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 24 Oct 2016 15:46:57 +0530 Subject: [PATCH 0530/2606] Solved 2 link issues --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ba849c657..5725105c2 100644 --- a/README.md +++ b/README.md @@ -1911,7 +1911,7 @@ Most of these are paid services, some have free tiers. * [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. :large_orange_diamond: * [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. :large_orange_diamond: * [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. :large_orange_diamond: -* [VideoSplashKit](https://github.com/movielala/VideoSplashKit) - Video based UIViewController :large_orange_diamond: +* [VideoSplashKit](https://github.com/mojilala/VideoSplashKit) - Video based UIViewController :large_orange_diamond: * [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. :large_orange_diamond: * [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. * [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. :large_orange_diamond: @@ -2155,7 +2155,7 @@ Most of these are paid services, some have free tiers. * [ASCIIwwdc](http://asciiwwdc.com) * [Natasha The Robot](https://www.natashatherobot.com/) * [Apple's Swift Blog](https://developer.apple.com/swift/blog/) :large_orange_diamond: -* [iOS Programming Subreddit](https://www.reddit.com/r/iosprogramming) +* [iOS Programming Subreddit](https://www.reddit.com/r/iOSProgramming/) * [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) :large_orange_diamond: * [iOScreator](http://www.ioscreator.com/) :large_orange_diamond: * [Mathew Sanders](http://mathewsanders.com/) :large_orange_diamond: From 9c0e0816ebf99c9d5361490a599e674c35ac1804 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 24 Oct 2016 15:55:39 +0530 Subject: [PATCH 0531/2606] Added MMCardView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f365b54b4..c12eb9627 100644 --- a/README.md +++ b/README.md @@ -1784,6 +1784,7 @@ Most of these are paid services, some have free tiers. * [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. :large_orange_diamond: * [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. :large_orange_diamond: * [IGListKit](https://github.com/Instagram/IGListKit) - A data-driven UICollectionView framework for building fast and flexible lists. +* [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 2e0de02ce8e1cf070cd52245016c3278af8b8c38 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 24 Oct 2016 16:07:24 +0530 Subject: [PATCH 0532/2606] Solved 2 link issues --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c12eb9627..472e106f5 100644 --- a/README.md +++ b/README.md @@ -1910,7 +1910,7 @@ Most of these are paid services, some have free tiers. * [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. :large_orange_diamond: * [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. :large_orange_diamond: * [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. :large_orange_diamond: -* [VideoSplashKit](https://github.com/movielala/VideoSplashKit) - Video based UIViewController :large_orange_diamond: +* [VideoSplashKit](https://github.com/mojilala/VideoSplashKit) - Video based UIViewController :large_orange_diamond: * [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. :large_orange_diamond: * [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. * [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. :large_orange_diamond: @@ -2154,7 +2154,7 @@ Most of these are paid services, some have free tiers. * [ASCIIwwdc](http://asciiwwdc.com) * [Natasha The Robot](https://www.natashatherobot.com/) * [Apple's Swift Blog](https://developer.apple.com/swift/blog/) :large_orange_diamond: -* [iOS Programming Subreddit](https://www.reddit.com/r/iosprogramming) +* [iOS Programming Subreddit](https://www.reddit.com/r/iOSProgramming/) * [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) :large_orange_diamond: * [iOScreator](http://www.ioscreator.com/) :large_orange_diamond: * [Mathew Sanders](http://mathewsanders.com/) :large_orange_diamond: From d4dae1741c57f45fe448836745f95ce22eceeb9d Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 25 Oct 2016 09:48:10 +0530 Subject: [PATCH 0533/2606] =?UTF-8?q?Solved=20=F0=9F=94=B6=20leaked=20to?= =?UTF-8?q?=20the=20next=20line.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 5725105c2..7f0f4aa6f 100644 --- a/README.md +++ b/README.md @@ -1515,8 +1515,7 @@ Most of these are paid services, some have free tiers. * [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern :large_orange_diamond: * [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS * [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift :large_orange_diamond: -* [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time -:large_orange_diamond: +* [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time :large_orange_diamond: #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From 3d04dc530e035282a02b496f9ada603948898753 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 25 Oct 2016 11:37:34 +0530 Subject: [PATCH 0534/2606] Added iOS 10 Day by Day --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7161458cb..9f8bfc2be 100644 --- a/README.md +++ b/README.md @@ -2201,6 +2201,7 @@ Most of these are paid services, some have free tiers. * [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. :large_orange_diamond: * [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. * [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. :large_orange_diamond: +* [iOS 10 Day by Day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) :large_orange_diamond: #### iOS UI Template * [iOS 8 GUI PSD Template](http://www.teehanlax.com/tools/iphone/) From 26fe9da95b9cd536cd451369a39ea2d73b2e8590 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 25 Oct 2016 11:56:54 +0530 Subject: [PATCH 0535/2606] Added HubFramework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7161458cb..f98b08df5 100644 --- a/README.md +++ b/README.md @@ -585,6 +585,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications * [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally :large_orange_diamond: * [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. :large_orange_diamond: +* [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From de2f10e6dae217d9c553f4091eef5446cded0005 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 25 Oct 2016 18:18:26 +0530 Subject: [PATCH 0536/2606] Added SwiftFormat (#1201) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7161458cb..04c658e9b 100644 --- a/README.md +++ b/README.md @@ -321,6 +321,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. * [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. * [GlueKit](https://github.com/lorentey/GlueKit) - A type-safe observer framework for Swift. :large_orange_diamond: +* [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. :large_orange_diamond: #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 5f9adc4a38f2e1d2be29e2de3816d87b468552db Mon Sep 17 00:00:00 2001 From: Andrea Mario Lufino Date: Tue, 25 Oct 2016 22:21:25 +0200 Subject: [PATCH 0537/2606] Update README.md Added Luminous library under Other Hardware --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dcba08292..c5121b9cc 100644 --- a/README.md +++ b/README.md @@ -600,6 +600,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DarkLightning](https://github.com/jensmeder/DarkLightning) -Simply the fastest way to transmit data between iOS and OSX * [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 * [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. :large_orange_diamond: +* [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. :large_orange_diamond: ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From 78714f457f1b554a5625228aaf65f0d45f9018e2 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 26 Oct 2016 09:32:42 +0530 Subject: [PATCH 0538/2606] Added HubFramework in UI Category From Layout --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f98b08df5..4c536b7aa 100644 --- a/README.md +++ b/README.md @@ -585,7 +585,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications * [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally :large_orange_diamond: * [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. :large_orange_diamond: -* [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. @@ -1381,6 +1380,7 @@ Most of these are paid services, some have free tiers. * [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. :large_orange_diamond: * [iCheckbox](https://github.com/mancunianetz/iCheckbox) - A checkbox like component for iOS apps. :large_orange_diamond: * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. :large_orange_diamond: +* [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. #### Activity Indicator From e306420dc27a1352bd03f1cfe2a495b00fe7716f Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 26 Oct 2016 09:37:10 +0530 Subject: [PATCH 0539/2606] Solved 2 link issues --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4c536b7aa..2e94566b1 100644 --- a/README.md +++ b/README.md @@ -1346,7 +1346,7 @@ Most of these are paid services, some have free tiers. * [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) :large_orange_diamond: * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift :large_orange_diamond: * [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. :large_orange_diamond: -* [JDFlipNumberView](https://github.com/jaydee3/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. +* [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. * [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. :large_orange_diamond: * [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. :large_orange_diamond: * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: @@ -1443,7 +1443,7 @@ Most of these are paid services, some have free tiers. * [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - A Swift library that displays an UIDatePicker within an UIAlertView :large_orange_diamond: * [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages :large_orange_diamond: * [HDNotificationView](https://github.com/nhdang103/HDNotificationView) - Emulates the native Notification Banner UI for any alert. -* [JDStatusBarNotification](https://github.com/jaydee3/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. +* [JDStatusBarNotification](https://github.com/calimarkus/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. * [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. :large_orange_diamond: * [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController :large_orange_diamond: * [SnowGlobeFramework](https://github.com/stringcode86/SnowGlobeFramework) - Delightful / slightly cheese easter egg for christmas season. Turns your awesome app into a snow globe, when user shake the device. :large_orange_diamond: From abc62142139f4da49e670e033cd4e5b8bcba60b5 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 26 Oct 2016 20:54:53 +0530 Subject: [PATCH 0540/2606] Added Hacking With Swift (#1204) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5121b9cc..e9cf983be 100644 --- a/README.md +++ b/README.md @@ -2204,6 +2204,7 @@ Most of these are paid services, some have free tiers. * [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. * [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. :large_orange_diamond: * [iOS 10 Day by Day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) :large_orange_diamond: +* [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. :large_orange_diamond: #### iOS UI Template * [iOS 8 GUI PSD Template](http://www.teehanlax.com/tools/iphone/) From 0e513778759ff09a2d07e8c28d14deef46523ee9 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 26 Oct 2016 08:40:59 -0700 Subject: [PATCH 0541/2606] Remove Dropbox style guide Deleted / access removed Found in #1203 [ci skip] --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index e9cf983be..6e8234f3d 100644 --- a/README.md +++ b/README.md @@ -2140,7 +2140,6 @@ Most of these are paid services, some have free tiers. * [Objective-C Coding Convention and Best Practices](https://gist.github.com/soffes/812796) - Gist with coding conventions. * [Swift Style Guide by @raywenderlich](https://github.com/raywenderlich/swift-style-guide) - The official Swift style guide for raywenderlich.com. :large_orange_diamond: * [Spotify Objective-C Coding Style](https://github.com/spotify/ios-style) - Guidelines for iOS development in use at Spotify. -* [Dropbox Objective-C Style Guide](https://dl.dropboxusercontent.com/s/5utnlwhr18ax05c/style-guide.html?dl=0) - * [Github - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. :large_orange_diamond: * [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). * [Swift-Community-Best-Practices](https://github.com/schwa/Swift-Community-Best-Practices/) - Best practices for software development with Swift :large_orange_diamond: From 3e5ea2b406ffac785edacca0da5873a81ed7be95 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Wed, 26 Oct 2016 23:51:25 +0700 Subject: [PATCH 0542/2606] Add FCAlertView to Alerts section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6e8234f3d..a22dc2684 100644 --- a/README.md +++ b/README.md @@ -1474,6 +1474,7 @@ Most of these are paid services, some have free tiers. * [Dodo](https://github.com/marketplacer/Dodo) - A message bar for iOS written in Swift. :large_orange_diamond: * [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. :large_orange_diamond: * [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: +* [FCAlertView](https://github.com/k9101/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 1a7169eda511dbb77308734c3a8a5b95d3af724f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 26 Oct 2016 13:40:25 -0700 Subject: [PATCH 0543/2606] Updated URLs --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a22dc2684..fd750f9ad 100644 --- a/README.md +++ b/README.md @@ -1348,7 +1348,7 @@ Most of these are paid services, some have free tiers. * [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) :large_orange_diamond: * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift :large_orange_diamond: * [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. :large_orange_diamond: -* [JDFlipNumberView](https://github.com/jaydee3/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. +* [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. * [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. :large_orange_diamond: * [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. :large_orange_diamond: * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: @@ -1444,7 +1444,7 @@ Most of these are paid services, some have free tiers. * [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - A Swift library that displays an UIDatePicker within an UIAlertView :large_orange_diamond: * [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages :large_orange_diamond: * [HDNotificationView](https://github.com/nhdang103/HDNotificationView) - Emulates the native Notification Banner UI for any alert. -* [JDStatusBarNotification](https://github.com/jaydee3/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. +* [JDStatusBarNotification](https://github.com/calimarkus/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. * [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. :large_orange_diamond: * [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController :large_orange_diamond: * [SnowGlobeFramework](https://github.com/stringcode86/SnowGlobeFramework) - Delightful / slightly cheese easter egg for christmas season. Turns your awesome app into a snow globe, when user shake the device. :large_orange_diamond: From ced6dd9748ed46c7f687356e0067a57e407055e1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 26 Oct 2016 14:56:30 -0700 Subject: [PATCH 0544/2606] Fixes #1198 --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index c5e2a8c61..d45864bbc 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -17,7 +17,7 @@ Please ensure your pull request adheres to the following guidelines: #### Projects are ineligible if: - Doesn't have commit for more than two years. -- Doesn't support iOS 8 or later. +- Doesn't support iOS 9 or later. - Doesn't support Swift 3. - Only have README in another language (Chinese, Japanese, Portuguese and etc) - We cannot clearly understand the objective. From 33d2de875ee538c4fc704ee9f4db8dbb6581e6e0 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 26 Oct 2016 15:04:19 -0700 Subject: [PATCH 0545/2606] Updated minimum version #1198 --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 75de4a9b3..15aa5531c 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -13,7 +13,7 @@ - [ ] Only one project/change is in this pull request - [ ] Addition in chronological order (bottom of category) -- [ ] Supports iOS 8 or later +- [ ] Supports iOS 9 or later - [ ] Supports Swift 3 - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English From f497df4728d3132838d0819bd57ecfe08e23911b Mon Sep 17 00:00:00 2001 From: Varun Shenoy Date: Wed, 26 Oct 2016 18:10:50 -0700 Subject: [PATCH 0546/2606] Added Tensorflow for iOS. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 28c3ff6ad..4b0d80107 100644 --- a/README.md +++ b/README.md @@ -652,6 +652,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: * [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. :large_orange_diamond: * [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. :large_orange_diamond: +* [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/ios_examples/) - The official Google-built powerful neural network library port for iOS. ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From f29cb10bba9f49d800393def22f52ec4e41da5f2 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Thu, 27 Oct 2016 12:01:08 +0700 Subject: [PATCH 0547/2606] Added FCAlertView (Objective-C) to the list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a22dc2684..0a9ef1623 100644 --- a/README.md +++ b/README.md @@ -1475,6 +1475,7 @@ Most of these are paid services, some have free tiers. * [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. :large_orange_diamond: * [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: * [FCAlertView](https://github.com/k9101/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) :large_orange_diamond: +* [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 7d086727114034c6915aebead12221e2e3f6f7e4 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Thu, 27 Oct 2016 12:05:21 +0700 Subject: [PATCH 0548/2606] Revised description to be more explicit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0a9ef1623..d02336371 100644 --- a/README.md +++ b/README.md @@ -1475,7 +1475,7 @@ Most of these are paid services, some have free tiers. * [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. :large_orange_diamond: * [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: * [FCAlertView](https://github.com/k9101/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) :large_orange_diamond: -* [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. +* [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. (Objective-C) #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From de9b8a8c64e8d5682636cd325776c461fa38af40 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 27 Oct 2016 11:39:06 +0530 Subject: [PATCH 0549/2606] Added PSTModernizer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4b0d80107..717b96031 100644 --- a/README.md +++ b/README.md @@ -322,6 +322,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. * [GlueKit](https://github.com/lorentey/GlueKit) - A type-safe observer framework for Swift. :large_orange_diamond: * [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. :large_orange_diamond: +* [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 37c4f872c96a3ff798a5c467c873f1253f053450 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 27 Oct 2016 13:25:48 -0700 Subject: [PATCH 0550/2606] Added SwiftCheck by @typelift fixes #1118 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 01ec93eb1..84ad0ae33 100644 --- a/README.md +++ b/README.md @@ -1213,6 +1213,7 @@ Most of these are paid services, some have free tiers. * [gh-unit](https://github.com/gh-unit/gh-unit) - Test Framework for Objective-C. * [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C :large_orange_diamond: * [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift :large_orange_diamond: +* [SwiftCheck](https://github.com/typelift/SwiftCheck) - QuickCheck for Swift :large_orange_diamond: #### A/B Testing * [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. From b6e4719033a356d344cc266be19a55a62fdc1d62 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 27 Oct 2016 19:50:29 -0700 Subject: [PATCH 0551/2606] Added ConfettiView by @OrRon --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 84ad0ae33..8e079d76b 100644 --- a/README.md +++ b/README.md @@ -1386,6 +1386,7 @@ Most of these are paid services, some have free tiers. * [iCheckbox](https://github.com/mancunianetz/iCheckbox) - A checkbox like component for iOS apps. :large_orange_diamond: * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. :large_orange_diamond: * [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. +* [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app #### Activity Indicator From f13aeefbff97f85a96de27847c55aa8abad07dd4 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 27 Oct 2016 19:52:46 -0700 Subject: [PATCH 0552/2606] Added BouncyPageViewController by @BohdanOrlov --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8e079d76b..018adba77 100644 --- a/README.md +++ b/README.md @@ -1386,7 +1386,8 @@ Most of these are paid services, some have free tiers. * [iCheckbox](https://github.com/mancunianetz/iCheckbox) - A checkbox like component for iOS apps. :large_orange_diamond: * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. :large_orange_diamond: * [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. -* [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app +* [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app :large_orange_diamond: +* [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect :large_orange_diamond: #### Activity Indicator From 25c30a20ba2276fa5145d2efc6aee5f5068a5240 Mon Sep 17 00:00:00 2001 From: Chucky Date: Sun, 30 Oct 2016 12:41:26 -0700 Subject: [PATCH 0553/2606] Add XcodeEquatableGenerator by @sergdort to Plugins section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 018adba77..4d0d242c7 100644 --- a/README.md +++ b/README.md @@ -2121,6 +2121,7 @@ Most of these are paid services, some have free tiers. * [update_xcode_plugins](https://github.com/inket/update_xcode_plugins) - No more messing with plugin UUIDs; Plugins on Xcode 8! * [MakeXcodeGr8Again](https://github.com/fpg1503/MakeXcodeGr8Again) - Xcode + Plugins = :blue_heart: :large_orange_diamond: * [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. :large_orange_diamond: +* [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. :large_orange_diamond: #### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From 7859e8752d0aca4ec32b152a510ef7edca1f8165 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 31 Oct 2016 11:20:38 -0700 Subject: [PATCH 0554/2606] Added CircularSlider by @taglia3 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4d0d242c7..76a0cd210 100644 --- a/README.md +++ b/README.md @@ -1702,6 +1702,7 @@ Most of these are paid services, some have free tiers. * [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: * [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. :large_orange_diamond: * [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. :large_orange_diamond: +* [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. :large_orange_diamond: #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. From 46dc421677d40033aaa3703d9ec3f2f7624b68a1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 31 Oct 2016 11:22:23 -0700 Subject: [PATCH 0555/2606] Added Imaginary by @hyperoslo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 76a0cd210..665db04d1 100644 --- a/README.md +++ b/README.md @@ -769,6 +769,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. :large_orange_diamond: * [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. :large_orange_diamond: * [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. :large_orange_diamond: +* [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 7554905fae03570f3c8055a554b790d7a28e3ff2 Mon Sep 17 00:00:00 2001 From: Pavel Pantus Date: Mon, 31 Oct 2016 22:17:03 -0400 Subject: [PATCH 0556/2606] Add PPEventRegistryAPI to Unofficial section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 665db04d1..0888f9805 100644 --- a/README.md +++ b/README.md @@ -1106,6 +1106,7 @@ Most of these are paid services, some have free tiers. * [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & OS X written in Swift :large_orange_diamond: * [SlackKit](https://github.com/pvzig/SlackKit) - a Slack client library for iOS and OS X written in Swift :large_orange_diamond: * [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift 3 Framework to Generate Random Users - An Unofficial SDK for randomuser.me :large_orange_diamond: +* [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 221189766cbfd5a3aa3794d75b8b76e85335e8ab Mon Sep 17 00:00:00 2001 From: Pavel Pantus Date: Tue, 1 Nov 2016 15:12:33 -0400 Subject: [PATCH 0557/2606] Added PPAssetsActionController to Alerts section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0888f9805..b7f1975e6 100644 --- a/README.md +++ b/README.md @@ -1484,6 +1484,7 @@ Most of these are paid services, some have free tiers. * [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: * [FCAlertView](https://github.com/k9101/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) :large_orange_diamond: * [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. (Objective-C) +* [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview written in Swift 3. :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 4297166a71207b72e2b8ffad34fcabcb6b86a2b0 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 2 Nov 2016 12:23:05 -0700 Subject: [PATCH 0558/2606] Updated Catapush's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0888f9805..f256b601f 100644 --- a/README.md +++ b/README.md @@ -1008,7 +1008,7 @@ Most of these are paid services, some have free tiers. * [Batch](https://batch.com) * [Boxcar](https://boxcar.io) * [Carnival](http://www.carnival.io) -* [Catapush](https://www.catapush.com) +* [Catapush](http://www.catapush.com/) * [Netmera](http://www.netmera.com) * [OneSignal](https://onesignal.com) - Free. * [PushBots](https://pushbots.com/) From f36c9e944c1bb89b9ded256041ea91ebcbf57951 Mon Sep 17 00:00:00 2001 From: Pavel Pantus Date: Wed, 2 Nov 2016 20:46:31 -0400 Subject: [PATCH 0559/2606] PPAssetsActionController moved from alerts to images --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b7f1975e6..cd876dfab 100644 --- a/README.md +++ b/README.md @@ -770,6 +770,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. :large_orange_diamond: * [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. :large_orange_diamond: * [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. :large_orange_diamond: +* [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview written in Swift 3. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: @@ -1484,7 +1485,6 @@ Most of these are paid services, some have free tiers. * [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: * [FCAlertView](https://github.com/k9101/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) :large_orange_diamond: * [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. (Objective-C) -* [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview written in Swift 3. :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From fa34a9922b7e52761efb8b2e941b6ee578ceedaa Mon Sep 17 00:00:00 2001 From: Pavel Pantus Date: Wed, 2 Nov 2016 20:49:31 -0400 Subject: [PATCH 0560/2606] Fits on one line --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cd876dfab..aa04ec7a4 100644 --- a/README.md +++ b/README.md @@ -770,7 +770,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. :large_orange_diamond: * [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. :large_orange_diamond: * [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. :large_orange_diamond: -* [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview written in Swift 3. :large_orange_diamond: +* [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From ece267d130ab09b96ca2ad3199d9ba4180be4241 Mon Sep 17 00:00:00 2001 From: "Ahmad M. Zawawi" Date: Thu, 3 Nov 2016 14:16:01 +0200 Subject: [PATCH 0561/2606] Update SwiftyZeroMQ project description (#1214) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 99090abce..f741bbc62 100644 --- a/README.md +++ b/README.md @@ -878,7 +878,7 @@ Also see [push notifications](#push-notifications) * [Domainer](https://github.com/FelixLinBH/Domainer) - Manage multi-domain url auto mapping ip address table * [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way :large_orange_diamond: * [AFNetworking+RetryPolicy](https://github.com/kubatruhlar/AFNetworking-RetryPolicy) - An objective-c category that adds the ability to set the retry logic for requests made with AFNetworking. -* [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS. :large_orange_diamond: +* [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. :large_orange_diamond: ⌚ #### Email From 09020fb132b0b68dc3b0789f1958cf37c26f9a90 Mon Sep 17 00:00:00 2001 From: Chucky Date: Thu, 3 Nov 2016 13:29:57 -0700 Subject: [PATCH 0562/2606] Add NSDate-TimeAgo by @kevinlawler to Date & Time section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f741bbc62..4338128b6 100644 --- a/README.md +++ b/README.md @@ -460,6 +460,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift :large_orange_diamond: * [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . :large_orange_diamond: * [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. :large_orange_diamond: +* [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. ## EventBus * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: From bd21bfc9cf117a229bc3ce4f5888185e26371423 Mon Sep 17 00:00:00 2001 From: Pilipenko Dima Date: Fri, 4 Nov 2016 03:26:51 +0200 Subject: [PATCH 0563/2606] Update README.md Added `FlexibleTableViewController` and `FlexibleCollectionViewController` --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 4338128b6..52d2eb060 100644 --- a/README.md +++ b/README.md @@ -1802,6 +1802,8 @@ Most of these are paid services, some have free tiers. * [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. :large_orange_diamond: * [IGListKit](https://github.com/Instagram/IGListKit) - A data-driven UICollectionView framework for building fast and flexible lists. * [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App :large_orange_diamond: +* [FlexibleTableViewController](https://github.com/dimpiax/FlexibleTableViewController) - Swift library of generic table view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler +* [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From b9317139f40194511c1488392d6d7c02192bff50 Mon Sep 17 00:00:00 2001 From: Roland Leth Date: Fri, 4 Nov 2016 10:31:53 +0200 Subject: [PATCH 0564/2606] Added LTHRadioButton by @rolandleth --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52d2eb060..9baa63fd7 100644 --- a/README.md +++ b/README.md @@ -1392,6 +1392,7 @@ Most of these are paid services, some have free tiers. * [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. * [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app :large_orange_diamond: * [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect :large_orange_diamond: +* [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. :large_orange_diamond: #### Activity Indicator From b2af32819d2aadface17637fd779915ad7387f6a Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Fri, 4 Nov 2016 15:43:32 +0700 Subject: [PATCH 0565/2606] Added MarkdownKit under Text category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d02336371..17b423923 100644 --- a/README.md +++ b/README.md @@ -1198,6 +1198,7 @@ Most of these are paid services, some have free tiers. * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). * [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. :large_orange_diamond: * [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. :large_orange_diamond: +* [MarkdownKit](https://github.com/ivanbruel/MarkdownKit) - A simple and customizable Markdown Parser for Swift. :large_orange_diamond: ## Testing From 86be12d9be2d5a7a32564f38fdeb4e670129f998 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Fri, 4 Nov 2016 16:06:39 +0700 Subject: [PATCH 0566/2606] Removed dead link to [SRKControls](https://github.com/sag333ar/SRKControls) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 17b423923..307e04404 100644 --- a/README.md +++ b/README.md @@ -1823,7 +1823,6 @@ Most of these are paid services, some have free tiers. * [TJTextField](https://github.com/tejas-ardeshna/TJTextField) - UITextField with underline and left image :large_orange_diamond: * [NextGrowingTextView](https://github.com/muukii/NextGrowingTextView) - The next in the generations of 'growing textviews' optimized for iOS 7 and above. * [RPFloatingPlaceholders](https://github.com/iwasrobbed/RPFloatingPlaceholders) - UITextField and UITextView subclasses with placeholders that change into floating labels when the fields are populated with text. -* [SRKControls](https://github.com/sag333ar/SRKControls) - A Custom control which turns UITextfield to item-picker & date-picker. :large_orange_diamond: * [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. :large_orange_diamond: * [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.🔶[e] * [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield :large_orange_diamond: From 67a121b61caf7fac0ef0f94d71ef82a492c0dc8b Mon Sep 17 00:00:00 2001 From: Roland Leth Date: Fri, 4 Nov 2016 17:35:53 +0200 Subject: [PATCH 0567/2606] Added LTHPasscodeVieController by @rolandleth (#1219) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52d2eb060..ddbe4eaab 100644 --- a/README.md +++ b/README.md @@ -1117,6 +1117,7 @@ Most of these are paid services, some have free tiers. * [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. * [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. :large_orange_diamond: +* [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 8604e94fc5c65bce603597168866602f40ddcf84 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 4 Nov 2016 10:33:21 -0700 Subject: [PATCH 0568/2606] Added Compose by @VivaReal --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ff3da324f..d0763d42d 100644 --- a/README.md +++ b/README.md @@ -588,6 +588,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications * [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally :large_orange_diamond: * [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. :large_orange_diamond: +* [Compose](https://github.com/VivaReal/Compose) - Compose is a library that helps you compose complex and dynamic views. :large_orange_diamond: #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From ab3644bb027d332283e506db97a8a4ac8c2a52a2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 4 Nov 2016 14:59:03 -0700 Subject: [PATCH 0569/2606] Added TOCropViewController by @TimOliver --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b2eda9585..28f4b2d51 100644 --- a/README.md +++ b/README.md @@ -773,6 +773,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. :large_orange_diamond: * [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. :large_orange_diamond: * [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. :large_orange_diamond: +* [TOCropViewController](https://github.com/TimOliver/TOCropViewController) - A view controller that allows users to crop UIImage objects. #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 99cbf788e98011a26079c4d110f8354e795273ba Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Sat, 5 Nov 2016 09:57:29 +0530 Subject: [PATCH 0570/2606] Added CascadingTableDelegate --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 28f4b2d51..fb0da3e40 100644 --- a/README.md +++ b/README.md @@ -1809,6 +1809,7 @@ Most of these are paid services, some have free tiers. * [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App :large_orange_diamond: * [FlexibleTableViewController](https://github.com/dimpiax/FlexibleTableViewController) - Swift library of generic table view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler * [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc +* [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift.:large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From bb6e21beb3caa339cf32bf7bb40963079848d3d3 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 4 Nov 2016 21:41:15 -0700 Subject: [PATCH 0571/2606] Removed TOCropViewController because it was dupe --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index fb0da3e40..1643d3af2 100644 --- a/README.md +++ b/README.md @@ -773,7 +773,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. :large_orange_diamond: * [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. :large_orange_diamond: * [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. :large_orange_diamond: -* [TOCropViewController](https://github.com/TimOliver/TOCropViewController) - A view controller that allows users to crop UIImage objects. #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 8ec512026f76b4dbf3dffe29a9d425cd58774337 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Sat, 5 Nov 2016 12:15:48 +0700 Subject: [PATCH 0572/2606] Added CocoaMarkdown under Text category. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 307e04404..65b91ca6a 100644 --- a/README.md +++ b/README.md @@ -1199,6 +1199,7 @@ Most of these are paid services, some have free tiers. * [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. :large_orange_diamond: * [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. :large_orange_diamond: * [MarkdownKit](https://github.com/ivanbruel/MarkdownKit) - A simple and customizable Markdown Parser for Swift. :large_orange_diamond: +* [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and OS X. :large_orange_diamond: ## Testing From 3f2bf0fe6b0ab0157f264526d56891c1b1001331 Mon Sep 17 00:00:00 2001 From: Cody Winton Date: Sat, 5 Nov 2016 15:05:52 -0500 Subject: [PATCH 0573/2606] Added SwiftyVIPER project --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b088537d8..a86b56fe2 100644 --- a/README.md +++ b/README.md @@ -323,6 +323,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GlueKit](https://github.com/lorentey/GlueKit) - A type-safe observer framework for Swift. :large_orange_diamond: * [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. :large_orange_diamond: * [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. +* [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. :large_orange_diamond: #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 2f54ba48e9cae6e550ad118f6b613d73f113da2c Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Sun, 6 Nov 2016 14:44:02 +0700 Subject: [PATCH 0574/2606] Added Apodimark under Text category. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 65b91ca6a..692491942 100644 --- a/README.md +++ b/README.md @@ -1200,6 +1200,7 @@ Most of these are paid services, some have free tiers. * [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. :large_orange_diamond: * [MarkdownKit](https://github.com/ivanbruel/MarkdownKit) - A simple and customizable Markdown Parser for Swift. :large_orange_diamond: * [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and OS X. :large_orange_diamond: +* [Apodimark](https://github.com/loiclec/Apodimark) - Fast, flexible markdown parser written in Swift. :large_orange_diamond: ## Testing From b04dc4811c971b164cd227a2763961bf699adb22 Mon Sep 17 00:00:00 2001 From: Kiran Date: Sun, 6 Nov 2016 15:59:07 -0800 Subject: [PATCH 0575/2606] Added SVUploader --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index df715cb9a..72e095b5e 100644 --- a/README.md +++ b/README.md @@ -1444,6 +1444,7 @@ Most of these are paid services, some have free tiers. * [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. :large_orange_diamond: * [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. :large_orange_diamond: * [LLSpinner](https://github.com/alaphao/LLSpinner) - An easy way to create a full screen activity indicator. :large_orange_diamond: +* [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. :large_orange_diamond: #### Alerts From bdb6d917757a3bba11387a7d09e7957324724420 Mon Sep 17 00:00:00 2001 From: Kiran Date: Sun, 6 Nov 2016 16:06:08 -0800 Subject: [PATCH 0576/2606] Made repo public --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 72e095b5e..2e9b51643 100644 --- a/README.md +++ b/README.md @@ -1444,7 +1444,7 @@ Most of these are paid services, some have free tiers. * [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. :large_orange_diamond: * [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. :large_orange_diamond: * [LLSpinner](https://github.com/alaphao/LLSpinner) - An easy way to create a full screen activity indicator. :large_orange_diamond: -* [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. :large_orange_diamond: +* [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. :large_orange_diamond: #### Alerts From 22992961dabf653cf249062c6fec4792db2b2de6 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 7 Nov 2016 15:29:33 +0530 Subject: [PATCH 0577/2606] Added TimelineTableViewCell --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index df715cb9a..d2f358d22 100644 --- a/README.md +++ b/README.md @@ -1811,6 +1811,7 @@ Most of these are paid services, some have free tiers. * [FlexibleTableViewController](https://github.com/dimpiax/FlexibleTableViewController) - Swift library of generic table view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler * [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc * [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift.:large_orange_diamond: +* [TimelineTableViewCell](https://github.com/kf99916/TimelineTableViewCell) - Simple timeline view implemented by UITableViewCell written in Swift 3.0.:large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From a77342da304aa0afefc102906b0325a6ed97c906 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 7 Nov 2016 13:48:57 -0800 Subject: [PATCH 0578/2606] Added CostumeKit by @jakemarsh --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8fcb05ad3..6bf4bd7ef 100644 --- a/README.md +++ b/README.md @@ -348,6 +348,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes * [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/publications/standards/Ecma-048.htm). :large_orange_diamond: * [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). :large_orange_diamond: +* [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. :large_orange_diamond: ## Command Line * [Swiftline](https://github.com/oarrabi/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: From c4d42d1d0ea7f30eca131e6a064dab68a660c2fb Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 7 Nov 2016 13:54:17 -0800 Subject: [PATCH 0579/2606] Added Expression by @nicklockwood --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6bf4bd7ef..679be9b99 100644 --- a/README.md +++ b/README.md @@ -679,6 +679,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BigInt](https://github.com/lorentey/BigInt) - Arbitrary-precision arithmetic in pure Swift :large_orange_diamond: * [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. :large_orange_diamond: * [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics :large_orange_diamond: +* [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime :large_orange_diamond: ## Media #### Audio From 1c025cb3be823e1227a1cfdda6c54a18f350e8bd Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Mon, 7 Nov 2016 17:53:43 -0800 Subject: [PATCH 0580/2606] Add RxKeyboard by @RxSwiftCommunity (#1223) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 679be9b99..e43c496cf 100644 --- a/README.md +++ b/README.md @@ -1045,6 +1045,7 @@ Most of these are paid services, some have free tiers. * [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. :large_orange_diamond: * [ReduxSwift](https://github.com/lsunsi/ReduxSwift) - Predictable state container for Swift apps too. :large_orange_diamond: * [Aftermath](https://github.com/hyperoslo/Aftermath) - Stateless message-driven micro-framework in Swift. :large_orange_diamond: +* [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From d04b900e17e65ddcc8d75ad103f3bd7cf9c98d77 Mon Sep 17 00:00:00 2001 From: Ariel Elkin Date: Tue, 8 Nov 2016 18:48:08 +0100 Subject: [PATCH 0581/2606] update CODE_OF_CONDUCT.md clarifies rationale of CoC. --- CODE_OF_CONDUCT.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index dd12ef60a..e33bdaa28 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -30,6 +30,8 @@ advances address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting + +Critical examination of beliefs, including critical commentary on another person’s views, does not, by itself, constitute hostile conduct, harassment, or trolling. One of the underlying rationales of this Code of Conduct is to promote the free exchange of ideas, not to inhibit it. ## Our Responsibilities From 0da8897bd0f6d845ddfc6663197f621f6ef401aa Mon Sep 17 00:00:00 2001 From: WorldDownTown Date: Wed, 9 Nov 2016 10:58:54 +0900 Subject: [PATCH 0582/2606] add CSS3ColorsSwift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e43c496cf..3700f0f70 100644 --- a/README.md +++ b/README.md @@ -349,6 +349,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/publications/standards/Ecma-048.htm). :large_orange_diamond: * [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). :large_orange_diamond: * [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. :large_orange_diamond: +* [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. :large_orange_diamond: ## Command Line * [Swiftline](https://github.com/oarrabi/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: From 098984438be6027e51c29c10a6a0371614a63328 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Wed, 9 Nov 2016 12:22:17 +0700 Subject: [PATCH 0583/2606] Added Notepad into Text category. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e43c496cf..21b1f681f 100644 --- a/README.md +++ b/README.md @@ -1213,6 +1213,7 @@ Most of these are paid services, some have free tiers. * [MarkdownKit](https://github.com/ivanbruel/MarkdownKit) - A simple and customizable Markdown Parser for Swift. :large_orange_diamond: * [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and OS X. :large_orange_diamond: * [Apodimark](https://github.com/loiclec/Apodimark) - Fast, flexible markdown parser written in Swift. :large_orange_diamond: +* [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. :large_orange_diamond: ## Testing From 1df6e85cc8f621f16acfb671705d833c2c13fa1f Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Wed, 9 Nov 2016 12:37:14 +0700 Subject: [PATCH 0584/2606] Removed defunct FaundaDB from Database category. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 21b1f681f..64a5ef157 100644 --- a/README.md +++ b/README.md @@ -418,7 +418,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift :large_orange_diamond: * [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. * [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. -* [faunadb-swift](https://github.com/faunadb/faunadb-swift) - Swift client for FaunaDB :large_orange_diamond: * [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB :large_orange_diamond: * [PredicateEditor](https://github.com/arvindhsukumar/PredicateEditor) - A visual editor for dynamically creating NSPredicates to query data in your iOS app. :large_orange_diamond: * [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. :large_orange_diamond: From a648091faa6d5546596adac267ab06a8663325ae Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Wed, 9 Nov 2016 18:19:32 -0800 Subject: [PATCH 0585/2606] Add Import by @markohlebar to Plugins section (#1233) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 865f0a169..fcaf73e4b 100644 --- a/README.md +++ b/README.md @@ -2142,6 +2142,7 @@ Most of these are paid services, some have free tiers. * [MakeXcodeGr8Again](https://github.com/fpg1503/MakeXcodeGr8Again) - Xcode + Plugins = :blue_heart: :large_orange_diamond: * [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. :large_orange_diamond: * [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. :large_orange_diamond: +* [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. :large_orange_diamond: #### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From 5a2a01132996397570f9bb1ecef519d2bf770b50 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 11 Nov 2016 09:53:22 +0530 Subject: [PATCH 0586/2606] Added Jasonette - ios. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fcaf73e4b..9ce2e1f57 100644 --- a/README.md +++ b/README.md @@ -1046,6 +1046,7 @@ Most of these are paid services, some have free tiers. * [ReduxSwift](https://github.com/lsunsi/ReduxSwift) - Predictable state container for Swift apps too. :large_orange_diamond: * [Aftermath](https://github.com/hyperoslo/Aftermath) - Stateless message-driven micro-framework in Swift. :large_orange_diamond: * [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. :large_orange_diamond: +* [JASONETTE-iOS](https://github.com/Jasonette/JASONETTE-iOS) - Native App over HTTP. Create your own native iOS app with nothing but JSON. ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From d61dad54951542a308de0d398aea2f666ee99015 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 10 Nov 2016 23:52:30 -0800 Subject: [PATCH 0587/2606] Removed Alchemic-Swift --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9ce2e1f57..67a08ff0b 100644 --- a/README.md +++ b/README.md @@ -2052,7 +2052,6 @@ Most of these are paid services, some have free tiers. * [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). * [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: * [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. -* [Alchemic-Swift](https://github.com/drekka/Alchemic-Swift) - Swift wrapper for Alchemic. :large_orange_diamond: # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. From 7fc9578869a5e00dcdf0fb2da0c49234d7f9497f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 11 Nov 2016 23:27:00 -0800 Subject: [PATCH 0588/2606] Added CRNetworkButton by @Cleveroad --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 67a08ff0b..3af67a145 100644 --- a/README.md +++ b/README.md @@ -1530,6 +1530,7 @@ Most of these are paid services, some have free tiers. * [WYMaterialButton](https://github.com/Yu-w/WYMaterialButton) - Animated button with material design effect using Facebook's POP, working well for both flat and image button :large_orange_diamond: * [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift :large_orange_diamond: * [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash :large_orange_diamond: +* [CRNetworkButton](https://github.com/Cleveroad/CRNetworkButton) - Send Button for iOS :large_orange_diamond: #### Calendar * [CVCalendar](https://github.com/Mozharovsky/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From bc8b1935bdb4b449a56f830761544fcc08a099f2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 12 Nov 2016 22:33:09 -0800 Subject: [PATCH 0589/2606] Added RHPreviewCell by @robertherdzik --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3af67a145..2891c8321 100644 --- a/README.md +++ b/README.md @@ -1820,6 +1820,7 @@ Most of these are paid services, some have free tiers. * [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc * [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift.:large_orange_diamond: * [TimelineTableViewCell](https://github.com/kf99916/TimelineTableViewCell) - Simple timeline view implemented by UITableViewCell written in Swift 3.0.:large_orange_diamond: +* [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From fc9335fd260c975ca61a0b53caa9472af26606c0 Mon Sep 17 00:00:00 2001 From: Toshihiro Suzuki Date: Mon, 14 Nov 2016 15:55:37 +0900 Subject: [PATCH 0590/2606] Add toshi0383/ipanema --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2891c8321..34cf941d7 100644 --- a/README.md +++ b/README.md @@ -2038,6 +2038,7 @@ Most of these are paid services, some have free tiers. * [xcenv](https://github.com/xcenv/xcenv) - Groom your Xcode environment. * [playgroundbook](https://github.com/playgroundbooks/playgroundbook) - Tool for Swift Playground books * [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. :large_orange_diamond: +* [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 1227863cf00c1c91ba7ff8f4548dc4389071ef90 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 14 Nov 2016 16:19:19 +0530 Subject: [PATCH 0591/2606] Fixing the contribution linking in Readme. Added zip archive. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2891c8321..fb48abd7b 100644 --- a/README.md +++ b/README.md @@ -157,7 +157,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Podcasts](#podcasts) - [Books](#books) - [Other Awesome Lists](#other-awesome-lists) -- [Contributing](#contributing) +- [Contributing](#contributing-and-license) *** # Getting Started @@ -486,6 +486,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: * [FileProvider](https://github.com/amosavian/FileProvider) - NSFileManager replacement for local and remote (WebDAV/Dropbox/SMB2) files on iOS and macOS. :large_orange_diamond: * [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. :large_orange_diamond: +* [ZipArchive](https://github.com/ZipArchive/ZipArchive) - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac. ## Functional Programming * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: From f748855f25c2c81047c7457bb583be6cf63a6a26 Mon Sep 17 00:00:00 2001 From: Chucky Date: Mon, 14 Nov 2016 17:14:36 -0800 Subject: [PATCH 0592/2606] Add formvalidator-swift by @ustwo to Form & Settings section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fb48abd7b..c170b3b31 100644 --- a/README.md +++ b/README.md @@ -1562,6 +1562,7 @@ Most of these are paid services, some have free tiers. * [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. * [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. :large_orange_diamond: * [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. :large_orange_diamond: +* [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. :large_orange_diamond: #### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From cf6d11bad532c4bd4e023705cf53bd044fde1ea6 Mon Sep 17 00:00:00 2001 From: Candost Dagdeviren Date: Tue, 15 Nov 2016 19:47:41 +0100 Subject: [PATCH 0593/2606] Add CDAlertView by @candostdagdeviren --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c170b3b31..451449b94 100644 --- a/README.md +++ b/README.md @@ -1500,6 +1500,7 @@ Most of these are paid services, some have free tiers. * [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: * [FCAlertView](https://github.com/k9101/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) :large_orange_diamond: * [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. (Objective-C) +* [CDAlertView](https://github.com/candostdagdeviren/CDAlertView) - Highly customizable alert/notification/success/error/alarm popup 🔶 #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From ae07061cd8c97530b5d745641c80794f7fc228ed Mon Sep 17 00:00:00 2001 From: Candost Dagdeviren Date: Tue, 15 Nov 2016 21:35:56 +0100 Subject: [PATCH 0594/2606] Fix IncrementableLabel link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 451449b94..937e20884 100644 --- a/README.md +++ b/README.md @@ -1583,7 +1583,7 @@ Most of these are paid services, some have free tiers. * [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) :large_orange_diamond: * [MZTimerLabel](https://github.com/mineschan/MZTimerLabel) - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App. * [CountdownLabel](https://github.com/suzuki-0000/CountdownLabel) - Simple countdown UILabel with morphing animation, and some useful function. :large_orange_diamond: -* [IncrementableLabel](https://github.com/recisio/IncrementableLabel) - Incrementable label for iOS, OS X, and tvOS. :large_orange_diamond: +* [IncrementableLabel](https://github.com/tbaranes/IncrementableLabel) - Incrementable label for iOS, OS X, and tvOS. :large_orange_diamond: * [TTTAttributedLabel](https://github.com/TTTAttributedLabel/TTTAttributedLabel) - A drop-in replacement for UILabel that supports attributes, data detectors, links, and more * [NumberMorphView](https://github.com/me-abhinav/NumberMorphView) - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. :large_orange_diamond: * [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. :large_orange_diamond: From e70813633aa0af5c395d43c621c0fdfe54c87e9e Mon Sep 17 00:00:00 2001 From: Roy Marmelstein Date: Tue, 15 Nov 2016 22:22:04 +0100 Subject: [PATCH 0595/2606] Adding ObjectiveKit (#1242) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c170b3b31..f57c899ac 100644 --- a/README.md +++ b/README.md @@ -1929,6 +1929,7 @@ Most of these are paid services, some have free tiers. * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 2.2 :large_orange_diamond: * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. :large_orange_diamond: * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . :large_orange_diamond: + * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. :large_orange_diamond: ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 94cc6076d32fb29085930ddfb950a77b7c919a6a Mon Sep 17 00:00:00 2001 From: David Baldwynn Date: Tue, 15 Nov 2016 15:41:06 -0800 Subject: [PATCH 0596/2606] Added LumberMill --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f57c899ac..60127fe6d 100644 --- a/README.md +++ b/README.md @@ -653,6 +653,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [XLFacility](https://github.com/swisspol/XLFacility) - Elegant and extensive logging facility for OS X & iOS (includes database, Telnet and HTTP servers) * [Atlantis](https://github.com/DrewKiino/Atlantis) - A powerful input-agnostic swift logging framework made to speed up development with maximum readability. :large_orange_diamond: * [StoryTeller](https://github.com/drekka/StoryTeller) - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important. +* [LumberMill](https://github.com/ubclaunchpad/LumberMill) - Stupidly simple logging for iOS 10 and Swift 3.0 ## Machine Learning * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: From ee36a76cf0ef264d1d5b1d41a94f6a938e3d3e71 Mon Sep 17 00:00:00 2001 From: David Baldwynn Date: Tue, 15 Nov 2016 15:44:02 -0800 Subject: [PATCH 0597/2606] Added App Store Checklist to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f57c899ac..1a7d11f3e 100644 --- a/README.md +++ b/README.md @@ -2167,6 +2167,7 @@ Most of these are paid services, some have free tiers. * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: * [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. * [SwiftSnippets](https://github.com/hyperoslo/SwiftSnippets) - A collection of Swift snippets to be used in Xcode +* [App Store Checklist](https://github.com/ubclaunchpad/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. # Style Guides * [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. From 116482429bdbc51d45b4d978b3e3125220378793 Mon Sep 17 00:00:00 2001 From: Chucky Date: Tue, 15 Nov 2016 16:03:23 -0800 Subject: [PATCH 0598/2606] Add MoyaSugar by @devxoul to Utility section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f57c899ac..c9db0548f 100644 --- a/README.md +++ b/README.md @@ -1930,6 +1930,7 @@ Most of these are paid services, some have free tiers. * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. :large_orange_diamond: * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . :large_orange_diamond: * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. :large_orange_diamond: + * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. :large_orange_diamond: ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 9ca806f71e1e7d7f8ad6223b88f98b16f518f03a Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 16 Nov 2016 12:55:54 +0530 Subject: [PATCH 0599/2606] Added HGCircularSlider. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index abdd00ce2..28b156304 100644 --- a/README.md +++ b/README.md @@ -1725,6 +1725,7 @@ Most of these are paid services, some have free tiers. * [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. :large_orange_diamond: * [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. :large_orange_diamond: * [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. :large_orange_diamond: +* [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. :large_orange_diamond: #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. From 60a5fae92e68a5b3211848aba5ab0664632d859f Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 16 Nov 2016 19:19:23 +0530 Subject: [PATCH 0600/2606] Add HMSegmentedControl (#1247) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 28b156304..1b4e9aa71 100644 --- a/README.md +++ b/README.md @@ -1757,6 +1757,7 @@ Most of these are paid services, some have free tiers. * [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support.🔶 * [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. :large_orange_diamond: * [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. :large_orange_diamond: +* [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) - A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products. #### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From 90425d43d039a787ff5f7ce7ee7405d379834096 Mon Sep 17 00:00:00 2001 From: Andrea De Angelis Date: Wed, 16 Nov 2016 16:46:27 +0100 Subject: [PATCH 0601/2606] Add Katana (#1248) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b4e9aa71..f0b2e843a 100644 --- a/README.md +++ b/README.md @@ -1049,6 +1049,7 @@ Most of these are paid services, some have free tiers. * [Aftermath](https://github.com/hyperoslo/Aftermath) - Stateless message-driven micro-framework in Swift. :large_orange_diamond: * [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. :large_orange_diamond: * [JASONETTE-iOS](https://github.com/Jasonette/JASONETTE-iOS) - Native App over HTTP. Create your own native iOS app with nothing but JSON. +* [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 7fc9cec2b217a3ae68ce2e83f56742a757f617b0 Mon Sep 17 00:00:00 2001 From: Dmitry Fink Date: Wed, 16 Nov 2016 11:09:36 -0800 Subject: [PATCH 0602/2606] Add Bugsee --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f0b2e843a..7eaaf12a2 100644 --- a/README.md +++ b/README.md @@ -324,6 +324,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. :large_orange_diamond: * [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. * [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. :large_orange_diamond: +* [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 6dc89dce40c184795c438b8032b8060bf20df1d8 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 16 Nov 2016 12:31:47 -0800 Subject: [PATCH 0603/2606] Updated App Store Checklist's link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7eaaf12a2..9692e11a9 100644 --- a/README.md +++ b/README.md @@ -2175,7 +2175,7 @@ Most of these are paid services, some have free tiers. * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: * [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. * [SwiftSnippets](https://github.com/hyperoslo/SwiftSnippets) - A collection of Swift snippets to be used in Xcode -* [App Store Checklist](https://github.com/ubclaunchpad/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. +* [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. # Style Guides * [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. From 9191b0d218a97b6559a80025b018f6b83c61af07 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Thu, 17 Nov 2016 12:48:44 +0700 Subject: [PATCH 0604/2606] Added AZTransitions to Modal Transition category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9692e11a9..e0736b79e 100644 --- a/README.md +++ b/README.md @@ -1657,6 +1657,7 @@ Most of these are paid services, some have free tiers. * [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. :large_orange_diamond: * [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like ios task manager :large_orange_diamond: * [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. :large_orange_diamond: +* [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. :large_orange_diamond: #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 321aa627a16cfedc5384b4eef9f219b65cce15ae Mon Sep 17 00:00:00 2001 From: Said Sikira Date: Thu, 17 Nov 2016 15:27:41 +0100 Subject: [PATCH 0605/2606] Added Overdrive to Concurrency category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9692e11a9..4b18e4925 100644 --- a/README.md +++ b/README.md @@ -366,6 +366,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift :large_orange_diamond: * [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. :large_orange_diamond: * [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. +* [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. :large_orange_diamond: ## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From 386e0758c25266f252ccf819f6995add0c3a17ec Mon Sep 17 00:00:00 2001 From: Fabian Buentello Date: Thu, 17 Nov 2016 10:19:26 -0600 Subject: [PATCH 0606/2606] Add Cely to Authentication (#1254) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9692e11a9..0797201c8 100644 --- a/README.md +++ b/README.md @@ -256,6 +256,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A small OAuth library with a built-in set of providers :large_orange_diamond: * [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and OS X apps. :large_orange_diamond: * [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. :large_orange_diamond: +* [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. :large_orange_diamond: ## Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac, all using the Ruby language. From d4ad0cdb6e6dff5b2a2aa8b70a56d5e054e3b83e Mon Sep 17 00:00:00 2001 From: PJ Date: Fri, 18 Nov 2016 21:55:35 +1100 Subject: [PATCH 0607/2606] Added ServerSync --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 517796c58..3a21ceca8 100644 --- a/README.md +++ b/README.md @@ -466,6 +466,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . :large_orange_diamond: * [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. :large_orange_diamond: * [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. +* [ServerSync](https://github.com/skylovely/ServerSync-iOS) - Synchronize server's UTC time and app's UTC time :large_orange_diamond:[e] ## EventBus * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: From 25c65a6e2f255697a9edc89ffa6365244b952935 Mon Sep 17 00:00:00 2001 From: Roland Moers Date: Sun, 20 Nov 2016 18:02:34 +0100 Subject: [PATCH 0608/2606] Add RMActionController (#1257) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 517796c58..b7dc23e6f 100644 --- a/README.md +++ b/README.md @@ -1506,6 +1506,7 @@ Most of these are paid services, some have free tiers. * [FCAlertView](https://github.com/k9101/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) :large_orange_diamond: * [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. (Objective-C) * [CDAlertView](https://github.com/candostdagdeviren/CDAlertView) - Highly customizable alert/notification/success/error/alarm popup 🔶 +* [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 4281a12a97276d64cd0a08d447c80ff31fd25fff Mon Sep 17 00:00:00 2001 From: Roland Moers Date: Sun, 20 Nov 2016 16:13:50 +0100 Subject: [PATCH 0609/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b7dc23e6f..e846ce26b 100644 --- a/README.md +++ b/README.md @@ -1507,6 +1507,7 @@ Most of these are paid services, some have free tiers. * [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. (Objective-C) * [CDAlertView](https://github.com/candostdagdeviren/CDAlertView) - Highly customizable alert/notification/success/error/alarm popup 🔶 * [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. +* [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From a205888fd3d5ca9b69ac621b52438e826d32ae09 Mon Sep 17 00:00:00 2001 From: Roland Moers Date: Sun, 20 Nov 2016 16:19:50 +0100 Subject: [PATCH 0610/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e846ce26b..bb5230175 100644 --- a/README.md +++ b/README.md @@ -1508,6 +1508,7 @@ Most of these are paid services, some have free tiers. * [CDAlertView](https://github.com/candostdagdeviren/CDAlertView) - Highly customizable alert/notification/success/error/alarm popup 🔶 * [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. * [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. +* [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 13afab6ef0b07e0a5cdbd3c3a8cb37ef015c3c84 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 21 Nov 2016 10:08:13 +0530 Subject: [PATCH 0611/2606] Added Messenger. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 50120d71d..77bea3889 100644 --- a/README.md +++ b/README.md @@ -837,6 +837,7 @@ Also see [push notifications](#push-notifications) * [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. :large_orange_diamond: * [NMessenger](https://github.com/eBay/NMessenger) - A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift :large_orange_diamond: * [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. +* [Messenger](https://github.com/relatedcode/Messenger) - This is a native iOS Messenger app, making realtime chat conversations and audio calls with full offline support. ## Networking * [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and OS X networking framework. From 951ab0c82ec6dd4d65e0c37556fea7ee22f8be1a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 21 Nov 2016 01:25:58 -0800 Subject: [PATCH 0612/2606] Updated URLs --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 77bea3889..628c27148 100644 --- a/README.md +++ b/README.md @@ -170,7 +170,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Stanford - Developing iOS 9 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961) - Stanford's iTunes U course. :large_orange_diamond: * [Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [Object-Oriented Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) -* [Udacity: Beginning iOS App Development Nanodegree](https://www.udacity.com/course/beginning-ios-app-development-nanodegree--nd006) - Udacity's intro course on writing iOS apps [Paid Resource] :large_orange_diamond: +* [Udacity: Beginning iOS App Development Nanodegree](https://www.udacity.com/nd003) - Udacity's intro course on writing iOS apps [Paid Resource] :large_orange_diamond: * [Udacity: iOS Developer Nanodegree](https://www.udacity.com/course/ios-developer-nanodegree--nd003) - Udacity's full course on iOS developing [Paid Resource] :large_orange_diamond: @@ -1761,7 +1761,7 @@ Most of these are paid services, some have free tiers. * [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. :large_orange_diamond: * [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. :large_orange_diamond: * [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: -* [LUNSegmentedControl](https://github.com/LunApps/LUNSegmentedControl) - Customizable segmented control with interactive animation. +* [LUNSegmentedControl](https://github.com/Stormotion-Mobile/LUNSegmentedControl) - Customizable segmented control with interactive animation. * [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS * [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS :large_orange_diamond: * [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support.🔶 From 4c35bbbd46adfac2bca63d98ad3741337bb75773 Mon Sep 17 00:00:00 2001 From: Derek Liz Date: Mon, 21 Nov 2016 20:53:45 +0800 Subject: [PATCH 0613/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 628c27148..e20f09e27 100644 --- a/README.md +++ b/README.md @@ -1511,6 +1511,7 @@ Most of these are paid services, some have free tiers. * [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. * [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. * [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. +* [Hedwig](https://github.com/Lab111/Hedwig) - Interactive Notification. 🔶 #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From c0c3566d8e14523f29db20e631e8ceb9bf1073d7 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 21 Nov 2016 08:03:47 -0800 Subject: [PATCH 0614/2606] Add ios-360-videos by @NYTimes @cdzombak @jaredsinclair close #1240 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 628c27148..488c89eaa 100644 --- a/README.md +++ b/README.md @@ -820,6 +820,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media in your iOS or tvOS app :large_orange_diamond: * [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. :large_orange_diamond: * [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. :large_orange_diamond: +* ([ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. ## Messaging From 4209ee64f2a88c6dc366cbd9a0247fdbaee39b7e Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 21 Nov 2016 08:12:53 -0800 Subject: [PATCH 0615/2606] Cleanup --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 488c89eaa..606fdf02e 100644 --- a/README.md +++ b/README.md @@ -170,9 +170,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Stanford - Developing iOS 9 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961) - Stanford's iTunes U course. :large_orange_diamond: * [Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [Object-Oriented Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) -* [Udacity: Beginning iOS App Development Nanodegree](https://www.udacity.com/nd003) - Udacity's intro course on writing iOS apps [Paid Resource] :large_orange_diamond: -* [Udacity: iOS Developer Nanodegree](https://www.udacity.com/course/ios-developer-nanodegree--nd003) - Udacity's full course on iOS developing [Paid Resource] :large_orange_diamond: - +* [Udacity: Start A Career Developing iOS Apps](https://www.udacity.com/course/ios-developer-nanodegree--nd003?v=ios1) - Udacity's intro course on writing iOS apps [Paid Resource] :large_orange_diamond: # Libraries And Frameworks @@ -820,7 +818,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media in your iOS or tvOS app :large_orange_diamond: * [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. :large_orange_diamond: * [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. :large_orange_diamond: -* ([ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. +* [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. ## Messaging From 0c3c8c9ac55da1b75e947cac86c26b6d0bbe2f17 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Tue, 22 Nov 2016 12:31:32 +0700 Subject: [PATCH 0616/2606] Added SipHash into Encryption category. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index de180525f..f2300a136 100644 --- a/README.md +++ b/README.md @@ -1148,6 +1148,7 @@ Most of these are paid services, some have free tiers. * [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: * [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines :large_orange_diamond: +* [SipHash](https://github.com/lorentey/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. :large_orange_diamond: #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. From 046c938c678092fb7465a4de4f9e968f2ea8bcf3 Mon Sep 17 00:00:00 2001 From: chenyungui Date: Tue, 22 Nov 2016 17:21:12 +0800 Subject: [PATCH 0617/2606] add SwiftyXML to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index de180525f..be904e9a1 100644 --- a/README.md +++ b/README.md @@ -953,6 +953,7 @@ Also see [push notifications](#push-notifications) * [SwiftyXMLParer](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. * [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift :large_orange_diamond: +* [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML.git) - The most swifty way to deal with XML data in swift 3 :large_orange_diamond: #### Other Parsing * [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: From 78155d26de50bdfd7cedb7bc18396410b4f30877 Mon Sep 17 00:00:00 2001 From: chenyungui Date: Tue, 22 Nov 2016 17:27:35 +0800 Subject: [PATCH 0618/2606] remove .git from link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index be904e9a1..52c673508 100644 --- a/README.md +++ b/README.md @@ -953,7 +953,7 @@ Also see [push notifications](#push-notifications) * [SwiftyXMLParer](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. * [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift :large_orange_diamond: -* [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML.git) - The most swifty way to deal with XML data in swift 3 :large_orange_diamond: +* [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 3 :large_orange_diamond: #### Other Parsing * [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: From d96938705ba3a31721ddeba0423b727d6162b43a Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Wed, 23 Nov 2016 10:11:16 +0700 Subject: [PATCH 0619/2606] Update BonMot's description that it supports Swift --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f2300a136..70331c8b4 100644 --- a/README.md +++ b/README.md @@ -1215,7 +1215,7 @@ Most of these are paid services, some have free tiers. * [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift 🔶[e] * [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. :large_orange_diamond: * [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set -* [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings for iOS +* [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings for iOS :large_orange_diamond: * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). * [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. :large_orange_diamond: * [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. :large_orange_diamond: From a8ddc6c7f5af831617da42954e8b783bf3a1c1f5 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 23 Nov 2016 11:24:04 +0530 Subject: [PATCH 0620/2606] AudioKit 3.4 now supports Swift 3 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f2300a136..257b477a5 100644 --- a/README.md +++ b/README.md @@ -687,8 +687,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Media #### Audio -* [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing -* [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. +* [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing. +* [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. :large_orange_diamond: * [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/OSX audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. * [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and Mac OS X. * [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). From 2ce7f9b7fa7b378e69a5c825e3de9fb4352c0247 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 23 Nov 2016 12:10:11 +0530 Subject: [PATCH 0621/2606] Changed desc of Genome --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f2300a136..6e635bb3c 100644 --- a/README.md +++ b/README.md @@ -929,7 +929,7 @@ Also see [push notifications](#push-notifications) * [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder :large_orange_diamond: * [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. :large_orange_diamond: * [Decodable](https://github.com/Anviking/Decodable) - Swift 2 JSON parsing done (more) right :large_orange_diamond: -* [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 2.0 (Supports Linux) :large_orange_diamond: +* [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux) :large_orange_diamond: * [Tyro](https://github.com/typelift/Tyro) - Functional JSON parsing and encoding :large_orange_diamond: * [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder :large_orange_diamond: * [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. :large_orange_diamond: From 5e35fee831ce81c7aa9c31319c41938a10e50805 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Wed, 23 Nov 2016 14:09:42 +0700 Subject: [PATCH 0622/2606] Fix http status error 301 for Moltin library From: `https://moltin.com/ios-ecommerce-sdk redirects tohttp://moltin.com/ios-ecommerce-sdk` To: `https://moltin.com/ios-ecommerce-sdk redirects tohttp://moltin.com/ios-ecommerce-sdk/` --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 40ec406d4..353a2eac8 100644 --- a/README.md +++ b/README.md @@ -973,7 +973,7 @@ Also see [push notifications](#push-notifications) * [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowlege on Backend. * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. -* [Moltin](https://moltin.com/ios-ecommerce-sdk) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. +* [Moltin](https://moltin.com/ios-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. * [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. :large_orange_diamond: * [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and OSX 9.0+ :large_orange_diamond: * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS :large_orange_diamond: From 64ba2bddee4b10a7113a7864d65a4491613ffced Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 23 Nov 2016 12:45:36 +0530 Subject: [PATCH 0623/2606] Updated category of 'iOS 10 Day by Day' Updated category of 'iOS 10 Day by Day' from 'Tutorials and Keynotes' to 'News, Blogs and more', to match category with 'iOS9-day-by-day' and 'iOS8-day-by-day' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 40ec406d4..894eba5c3 100644 --- a/README.md +++ b/README.md @@ -2223,6 +2223,7 @@ Most of these are paid services, some have free tiers. * [Code Facebook](https://code.facebook.com/ios/) * [iOS Cookies](http://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift :large_orange_diamond: * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. +* [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) :large_orange_diamond: #### UIKit references * [iOS Fonts](http://iosfonts.com/) @@ -2256,7 +2257,6 @@ Most of these are paid services, some have free tiers. * [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. :large_orange_diamond: * [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. * [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. :large_orange_diamond: -* [iOS 10 Day by Day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) :large_orange_diamond: * [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. :large_orange_diamond: #### iOS UI Template From 5f5cd1ab2e08797763bd23ca3bea069d394bc9c2 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Wed, 23 Nov 2016 23:20:21 +0700 Subject: [PATCH 0624/2606] Update buddybuild link (#1273) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 353a2eac8..6248da302 100644 --- a/README.md +++ b/README.md @@ -2080,7 +2080,7 @@ Most of these are paid services, some have free tiers. * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. * [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) - Upload screenshots, metadata and your app to the App Store using a single command. * [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) Automate taking localized screenshots of your iOS app on every device. -* [buddybuild](https://buddybuild.com/) - A mobile iteration platform - build, deploy, and collaborate. +* [buddybuild](https://www.buddybuild.com/) - A mobile iteration platform - build, deploy, and collaborate. * [Bitrise](https://www.bitrise.io) Mobile Continuous Integration & Delivery with dozens of integrations to build, test, deploy and collaborate. * [watchbuild](https://github.com/fastlane/fastlane/tree/master/watchbuild) - Get a notification once your iTunes Connect build is finished processing. * [Crashlytics](https://try.crashlytics.com/) - A crash reporting and beta testing service. From 9e1533d8f3fbd5602c0bef1a868b5f9c9f808ef2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 23 Nov 2016 14:21:56 -0200 Subject: [PATCH 0625/2606] Add Newsletter links to README (#1272) [ci] white list eepurl --- .travis.yml | 2 +- README.md | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fa0a901fa..2057975a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,6 @@ before_script: - gem install danger script: - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,Perfect - - allowed_redirects=growthpush,awesomelinkcounter + - allowed_redirects=growthpush,awesomelinkcounter,eepurl - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger diff --git a/README.md b/README.md index 6248da302..c39269f18 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,10 @@ [![Language](https://awesomelinkcounter.herokuapp.com/objc)]() [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) +## We've launched our Newsletter!! ✅🚀📰 +* [You can sign up over here 🗞](http://eepurl.com/bSQZ89) +* [You can read more about it over here](https://github.com/vsouza/awesome-ios/issues/1263) + # About A curated list of awesome iOS frameworks, libraries, tutorials, Xcode plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). From 246e1d1d0a7ec609566aa77cc5bd23f4913a8549 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 23 Nov 2016 21:52:44 +0530 Subject: [PATCH 0626/2606] Add Vulcan (#1275) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c39269f18..91acba2d1 100644 --- a/README.md +++ b/README.md @@ -784,6 +784,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. :large_orange_diamond: * [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. :large_orange_diamond: * [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. :large_orange_diamond: +* [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 5e169d5156f0ba4937168bec2ac2f90220d82d16 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 23 Nov 2016 21:53:11 +0530 Subject: [PATCH 0627/2606] Add YLProgressBar (#1274) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91acba2d1..1b92e578d 100644 --- a/README.md +++ b/README.md @@ -1465,6 +1465,7 @@ Most of these are paid services, some have free tiers. * [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. :large_orange_diamond: * [LLSpinner](https://github.com/alaphao/LLSpinner) - An easy way to create a full screen activity indicator. :large_orange_diamond: * [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. :large_orange_diamond: +* [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. #### Alerts From 1bcc1b7f0327e70c35762a28ae79f620056ae7a4 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Thu, 24 Nov 2016 10:13:15 +0700 Subject: [PATCH 0628/2606] Add Jelly to Alerts (#1278) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b92e578d..30375fc4a 100644 --- a/README.md +++ b/README.md @@ -1519,6 +1519,7 @@ Most of these are paid services, some have free tiers. * [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. * [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. * [Hedwig](https://github.com/Lab111/Hedwig) - Interactive Notification. 🔶 +* [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From caa7e9063dc0c352db9b09e5c6b53c32ba7422b9 Mon Sep 17 00:00:00 2001 From: vladdmitriev Date: Thu, 24 Nov 2016 18:57:30 +0200 Subject: [PATCH 0629/2606] Add CRRulerControl (#1283) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 30375fc4a..4c7453884 100644 --- a/README.md +++ b/README.md @@ -1418,6 +1418,7 @@ Most of these are paid services, some have free tiers. * [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app :large_orange_diamond: * [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect :large_orange_diamond: * [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. :large_orange_diamond: +* [CRRulerControl](https://github.com/Cleveroad/CRRulerControl) - Customizable component is aimed at turning a simple ruler into a handy and smart instrument. #### Activity Indicator From 6a600d2ba226e3282a1d125f2ee3916384f44062 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Thu, 24 Nov 2016 23:58:32 +0700 Subject: [PATCH 0630/2606] Add SwiftPlate to Project Setup (#1281) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4c7453884..8283c307b 100644 --- a/README.md +++ b/README.md @@ -2008,6 +2008,7 @@ Most of these are paid services, some have free tiers. * [liftoff](https://github.com/thoughtbot/liftoff) - Another CLI for creating iOS projects. * [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents +* [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. :large_orange_diamond: # Dependency / Package Manager * [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. From 51548fcb1c8a08e29b9054f3aa605935868007cd Mon Sep 17 00:00:00 2001 From: k_krizhanovskii Date: Fri, 25 Nov 2016 09:39:35 +0200 Subject: [PATCH 0631/2606] KKStringValidator --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8283c307b..401036903 100644 --- a/README.md +++ b/README.md @@ -1229,6 +1229,7 @@ Most of these are paid services, some have free tiers. * [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and OS X. :large_orange_diamond: * [Apodimark](https://github.com/loiclec/Apodimark) - Fast, flexible markdown parser written in Swift. :large_orange_diamond: * [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. :large_orange_diamond: +* [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for IOS. With UITextField extension. :large_orange_diamond: ## Testing From 41a41256d711fcaa649481ee78ea29481f53e1d3 Mon Sep 17 00:00:00 2001 From: k_krizhanovskii Date: Fri, 25 Nov 2016 09:50:04 +0200 Subject: [PATCH 0632/2606] fix redirect --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 401036903..9f1b5f7e1 100644 --- a/README.md +++ b/README.md @@ -984,7 +984,7 @@ Also see [push notifications](#push-notifications) * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS :large_orange_diamond: * [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework :large_orange_diamond: * [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions -* [EasyIAPs](https://github.com/alvinvarghese/EasyIAPs) - An easy way to manage In App Purchases +* [EasyIAPs](https://github.com/aaalveee/EasyIAPs) - An easy way to manage In App Purchases * [PayPal](https://github.com/paypal/PayPal-iOS-SDK) - Accept payments in your iOS app via PayPal. * [card.io-iOS-SDK](https://github.com/card-io/card.io-iOS-SDK) - card.io provides fast, easy credit card scanning in mobile apps * [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift :large_orange_diamond: From b8f0768a80c91f305b26c9a7a9e41c577b684bad Mon Sep 17 00:00:00 2001 From: Johannes Plunien Date: Fri, 25 Nov 2016 12:19:05 +0400 Subject: [PATCH 0633/2606] Add tool: pxctest --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8283c307b..aafa7a608 100644 --- a/README.md +++ b/README.md @@ -2068,6 +2068,7 @@ Most of these are paid services, some have free tiers. * [playgroundbook](https://github.com/playgroundbooks/playgroundbook) - Tool for Swift Playground books * [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. :large_orange_diamond: * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. +* [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 38eacbb1c8e2ba86cc4b3684b41afc2b25d37af9 Mon Sep 17 00:00:00 2001 From: Omar Albeik Date: Fri, 25 Nov 2016 10:01:07 -0800 Subject: [PATCH 0634/2606] Add SwifterSwift to Utility (#1287) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8283c307b..4c5d3bcfe 100644 --- a/README.md +++ b/README.md @@ -1955,6 +1955,7 @@ Most of these are paid services, some have free tiers. * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . :large_orange_diamond: * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. :large_orange_diamond: * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. :large_orange_diamond: + * [SwifterSwift](https://github.com/omaralbeik/SwifterSwift) - A handy collection of more than 290 native Swift 3 extensions to boost your productivity. :large_orange_diamond: ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 5a9cfa914c403f89df5ead2d98f20d2276127eab Mon Sep 17 00:00:00 2001 From: Emilien Stremsdoerfer Date: Sun, 27 Nov 2016 20:23:10 +0100 Subject: [PATCH 0635/2606] Added Nikka to networking section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ee7d1878e..432a15681 100644 --- a/README.md +++ b/README.md @@ -895,6 +895,7 @@ Also see [push notifications](#push-notifications) * [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way :large_orange_diamond: * [AFNetworking+RetryPolicy](https://github.com/kubatruhlar/AFNetworking-RetryPolicy) - An objective-c category that adds the ability to set the retry logic for requests made with AFNetworking. * [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. :large_orange_diamond: ⌚ +* [Nikka](https://github.com/JustaLab/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx :large_orange_diamond: ⌚ #### Email From 4d7280a511027e138ec662d80f652c8888aff88e Mon Sep 17 00:00:00 2001 From: Ignacio Romero Zurbuchen Date: Sun, 27 Nov 2016 13:34:48 -0800 Subject: [PATCH 0636/2606] Updates Iconic's platforms (#1292) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ee7d1878e..c2dafd412 100644 --- a/README.md +++ b/README.md @@ -1294,7 +1294,7 @@ Most of these are paid services, some have free tiers. * [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for Swift (FontAwesome, Ionicons, Octicons, Iconic) :large_orange_diamond: * [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. -* [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS :large_orange_diamond: +* [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS :large_orange_diamond: * [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. :large_orange_diamond: * [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: * [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: From 22e199071145d817ef7463087c505eb753d5dc3e Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 28 Nov 2016 09:38:15 +0530 Subject: [PATCH 0637/2606] Added IBM Swift Sandbox in Tools --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c2dafd412..00bd6acfe 100644 --- a/README.md +++ b/README.md @@ -2070,6 +2070,7 @@ Most of these are paid services, some have free tiers. * [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. :large_orange_diamond: * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. +* [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From f98d1ef26ba3c209a3db53bf8f281cb345a7903c Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 28 Nov 2016 09:46:28 +0530 Subject: [PATCH 0638/2606] Changes link of IBM Swift Sandbox --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 00bd6acfe..0c1d1eb38 100644 --- a/README.md +++ b/README.md @@ -2070,7 +2070,7 @@ Most of these are paid services, some have free tiers. * [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. :large_orange_diamond: * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. -* [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: +* [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net/#/repl) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 38c1fcd6cdf3833d6501647c9977514108128853 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 28 Nov 2016 10:36:19 +0530 Subject: [PATCH 0639/2606] Updated link of IBM Swift Sandbox --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0c1d1eb38..5baa7bc3e 100644 --- a/README.md +++ b/README.md @@ -2070,7 +2070,7 @@ Most of these are paid services, some have free tiers. * [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. :large_orange_diamond: * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. -* [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net/#/repl) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: +* [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net/verify) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From fdcb2c41cf57aa6a0e7389bf8fbab625de9f28bf Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 28 Nov 2016 12:13:51 +0530 Subject: [PATCH 0640/2606] Updated link of IBM Swift Sandbox --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5baa7bc3e..0c1d1eb38 100644 --- a/README.md +++ b/README.md @@ -2070,7 +2070,7 @@ Most of these are paid services, some have free tiers. * [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. :large_orange_diamond: * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. -* [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net/verify) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: +* [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net/#/repl) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From ee036ad17db08726ab5421ee1934a5bf08bccf26 Mon Sep 17 00:00:00 2001 From: Johannes Plunien Date: Mon, 28 Nov 2016 16:37:33 +0100 Subject: [PATCH 0641/2606] Add FBSimulatorControl (#1288) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9df959ea7..5956cbda1 100644 --- a/README.md +++ b/README.md @@ -2073,6 +2073,7 @@ Most of these are paid services, some have free tiers. * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. * [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net/#/repl) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: +* [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A Mac OS X library for managing and manipulating iOS Simulators # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 4f1f95a0dfb1ad21dca82da4086e5391a0cc3409 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Tue, 29 Nov 2016 01:16:05 +0700 Subject: [PATCH 0642/2606] Add Edge to Server (#1294) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5956cbda1..2c8d5f201 100644 --- a/README.md +++ b/README.md @@ -1187,6 +1187,7 @@ Most of these are paid services, some have free tiers. * [Redbird](https://github.com/vapor/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: * [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: +* [Edge](https://github.com/SwiftOnEdge/Edge) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: ## Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From 2693c523eba5cefc14cd5d7737fbc3b86fece40e Mon Sep 17 00:00:00 2001 From: Vitor Mesquita Date: Mon, 28 Nov 2016 16:08:16 -0300 Subject: [PATCH 0643/2606] put malert pod --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2c8d5f201..eaf2e9299 100644 --- a/README.md +++ b/README.md @@ -1524,6 +1524,7 @@ Most of these are paid services, some have free tiers. * [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. * [Hedwig](https://github.com/Lab111/Hedwig) - Interactive Notification. 🔶 * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: +* [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From cbbc9392f6e0b0b4f478ee23f063fb14dddb4176 Mon Sep 17 00:00:00 2001 From: Vitor Mesquita Date: Mon, 28 Nov 2016 16:10:51 -0300 Subject: [PATCH 0644/2606] =?UTF-8?q?put=20=F0=9F=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eaf2e9299..a07c27902 100644 --- a/README.md +++ b/README.md @@ -1524,7 +1524,7 @@ Most of these are paid services, some have free tiers. * [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. * [Hedwig](https://github.com/Lab111/Hedwig) - Interactive Notification. 🔶 * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: -* [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift +* [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift 🔶 #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 552017a11476a654a03c11ed79b90622a84d5977 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Mon, 28 Nov 2016 18:58:23 -0200 Subject: [PATCH 0645/2606] Update CodeProject link redirection --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a07c27902..a116c4d97 100644 --- a/README.md +++ b/README.md @@ -167,7 +167,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap # Getting Started * [Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. :large_orange_diamond: * [Lifehacker](http://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? -* [Codeproject](http://www.codeproject.com/Articles/88929/Getting-Started-with-iPhone-and-iOS-Development) - Getting Started with iPhone and iOS Development. +* [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. * [Stanford - Developing Apps to iOS](https://itunes.apple.com/us/itunes-u/developing-apps-for-ios-hd/id395605774?mt=10) - Stanford's iTunes U App Development Course (Audio and Video). * [Stanford - Developing iOS 8 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099) - Stanford's 2015 iTunes U App Development Course. :large_orange_diamond: From 1b6196e3843d1527ffb54beb25fc5dcdf5bb9761 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 29 Nov 2016 10:11:28 +0530 Subject: [PATCH 0646/2606] Added Eject in Utilities --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a116c4d97..952c9e136 100644 --- a/README.md +++ b/README.md @@ -1960,6 +1960,7 @@ Most of these are paid services, some have free tiers. * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. :large_orange_diamond: * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. :large_orange_diamond: * [SwifterSwift](https://github.com/omaralbeik/SwifterSwift) - A handy collection of more than 290 native Swift 3 extensions to boost your productivity. :large_orange_diamond: + * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 0834240d349ebf0a62aaaaa765d15aa20cd11198 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 29 Nov 2016 10:16:12 +0530 Subject: [PATCH 0647/2606] Added Keyframes in Animations --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a116c4d97..0aa04c35e 100644 --- a/README.md +++ b/README.md @@ -238,6 +238,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle :large_orange_diamond: * [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. * [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect :large_orange_diamond: +* [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From c6dec85eb2b02a19b2ba94d79e125689e948f300 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 29 Nov 2016 10:20:49 +0530 Subject: [PATCH 0648/2606] Added SwiftGD in Server --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a116c4d97..306f1a260 100644 --- a/README.md +++ b/README.md @@ -1188,6 +1188,7 @@ Most of these are paid services, some have free tiers. * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: * [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: * [Edge](https://github.com/SwiftOnEdge/Edge) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: +* [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. :large_orange_diamond: ## Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From ebc02e732e1d25ce03269d9750951fcc51a0d5e9 Mon Sep 17 00:00:00 2001 From: Darragh Kirwan Date: Mon, 28 Nov 2016 21:52:31 -0800 Subject: [PATCH 0649/2606] Add iconresizer --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1c91ec962..5b5f4213d 100644 --- a/README.md +++ b/README.md @@ -238,7 +238,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle :large_orange_diamond: * [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. * [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect :large_orange_diamond: -* [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. +* [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. @@ -1959,9 +1959,9 @@ Most of these are paid services, some have free tiers. * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 2.2 :large_orange_diamond: * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. :large_orange_diamond: * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . :large_orange_diamond: - * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. :large_orange_diamond: + * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. :large_orange_diamond: * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. :large_orange_diamond: - * [SwifterSwift](https://github.com/omaralbeik/SwifterSwift) - A handy collection of more than 290 native Swift 3 extensions to boost your productivity. :large_orange_diamond: + * [SwifterSwift](https://github.com/omaralbeik/SwifterSwift) - A handy collection of more than 290 native Swift 3 extensions to boost your productivity. :large_orange_diamond: * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: ## VR @@ -2079,6 +2079,7 @@ Most of these are paid services, some have free tiers. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. * [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net/#/repl) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A Mac OS X library for managing and manipulating iOS Simulators +* [IconResizer](https://iconresizer.com/) - A simple web application to resize iPhone and iPad app icons for the App Store # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. @@ -2185,7 +2186,7 @@ Most of these are paid services, some have free tiers. * [MakeXcodeGr8Again](https://github.com/fpg1503/MakeXcodeGr8Again) - Xcode + Plugins = :blue_heart: :large_orange_diamond: * [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. :large_orange_diamond: * [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. :large_orange_diamond: -* [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. :large_orange_diamond: +* [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. :large_orange_diamond: #### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From de41b184cc93790f73dc0e31d576174dc0ead2e7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 28 Nov 2016 22:32:17 -0800 Subject: [PATCH 0650/2606] Newsletter announcement spacing (#1289) --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1c91ec962..5ad122da3 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,18 @@ [![Language](https://awesomelinkcounter.herokuapp.com/objc)]() [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) -## We've launched our Newsletter!! ✅🚀📰 +

+

+

+ +# We've launched our Newsletter!! ✅🚀📰 * [You can sign up over here 🗞](http://eepurl.com/bSQZ89) * [You can read more about it over here](https://github.com/vsouza/awesome-ios/issues/1263) +

+

+

+ # About A curated list of awesome iOS frameworks, libraries, tutorials, Xcode plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). From 0289871d7fabf870395a1ac5eb113c9075a8b0c2 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 28 Nov 2016 22:32:51 -0800 Subject: [PATCH 0651/2606] Revert "Newsletter announcement spacing" --- README.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/README.md b/README.md index 5ad122da3..1c91ec962 100644 --- a/README.md +++ b/README.md @@ -7,18 +7,10 @@ [![Language](https://awesomelinkcounter.herokuapp.com/objc)]() [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) -

-

-

- -# We've launched our Newsletter!! ✅🚀📰 +## We've launched our Newsletter!! ✅🚀📰 * [You can sign up over here 🗞](http://eepurl.com/bSQZ89) * [You can read more about it over here](https://github.com/vsouza/awesome-ios/issues/1263) -

-

-

- # About A curated list of awesome iOS frameworks, libraries, tutorials, Xcode plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). From 1fb7102038c7d330b023c3f906f42829414134e8 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 29 Nov 2016 15:04:24 +0530 Subject: [PATCH 0652/2606] Added Job in Server --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5ad122da3..4a25063d6 100644 --- a/README.md +++ b/README.md @@ -1198,6 +1198,7 @@ Most of these are paid services, some have free tiers. * [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: * [Edge](https://github.com/SwiftOnEdge/Edge) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: * [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. :large_orange_diamond: +* [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. :large_orange_diamond: ## Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From 36b444c5844411e64e109567a2b8632f19dbf92a Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 29 Nov 2016 07:27:27 -0800 Subject: [PATCH 0653/2606] [ci] white list bluemix, close #1303 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2057975a3..8d12b16c8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,6 @@ before_script: - gem install danger script: - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,Perfect - - allowed_redirects=growthpush,awesomelinkcounter,eepurl + - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger From 00458e56a136c6797a8223c6fff4f09fbb7e545e Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 29 Nov 2016 09:26:57 -0800 Subject: [PATCH 0654/2606] Update Gradle Xcode plugin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 536fe8f05..91f67e64d 100644 --- a/README.md +++ b/README.md @@ -2179,7 +2179,7 @@ Most of these are paid services, some have free tiers. * [xSendIssue](https://github.com/hungri-yeti/xSendIssue) - Plugin for Xcode to submit github issues directly from within Xcode. * [Swimat](https://github.com/Jintin/Swimat) - An Xcode formatter plug-in to format your swift code. * [Fastlane-Plugin](https://github.com/RishabhTayal/Fastlane-Plugin) - The awesome Fastlane tools brought into your Xcode. -* [Gradle Xcode plugin](https://openbakery.org/gradle.html) - Build iOS or Mac OS X Projects using Gradle. +* [Gradle Xcode plugin](https://openbakery.org/gxp/) - Build iOS or Mac OS X Projects using Gradle. * [SYXcodeIconVersion](https://github.com/dvkch/SYXcodeIconVersion) - This Xcode plugin shows Xcode app version in the Dock and App Switcher icon :large_orange_diamond: * [Gradle](https://github.com/openbakery/gradle-xcodePlugin) - makes it easier to build Xcode projects by specifying the build settings in a single configuration file :large_orange_diamond: * [HOStringSense-for-Xcode](https://github.com/holtwick/HOStringSense-for-Xcode) - Plugin for Xcode to make perfect editing regular expressions, multi line texts, inline HTML and many more use cases. Also provides quick feedback on string length. From 4ab35b2d9b038bc82497adf9788108d6e815d952 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 29 Nov 2016 09:42:55 -0800 Subject: [PATCH 0655/2606] [ci] update white list for PerfectlySoft (#1304) [ci skip] --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8d12b16c8..c8c6adf10 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ before_script: - gem install awesome_bot - gem install danger script: - - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,Perfect + - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,PerfectlySoft - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger From dbcdf2c480bfa04b5d1deee2c4442b6d0eb51e2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E8=80=80=E8=BE=89?= Date: Wed, 30 Nov 2016 11:42:24 +0800 Subject: [PATCH 0656/2606] Update README.md add RAlertView https://github.com/roycms/AlertView AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91f67e64d..defdc27b7 100644 --- a/README.md +++ b/README.md @@ -1535,6 +1535,7 @@ Most of these are paid services, some have free tiers. * [Hedwig](https://github.com/Lab111/Hedwig) - Interactive Notification. 🔶 * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: * [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift 🔶 +* [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From ada4ec211ffe50ba55f02085ea3770faf6677aa6 Mon Sep 17 00:00:00 2001 From: Matias Cudich Date: Tue, 29 Nov 2016 20:32:41 -0800 Subject: [PATCH 0657/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index defdc27b7..08a7f44a0 100644 --- a/README.md +++ b/README.md @@ -1070,6 +1070,7 @@ Most of these are paid services, some have free tiers. * [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. :large_orange_diamond: * [JASONETTE-iOS](https://github.com/Jasonette/JASONETTE-iOS) - Native App over HTTP. Create your own native iOS app with nothing but JSON. * [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: +* [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From e57d9439d8d07ae9e8cebf49d3b5b5a613268648 Mon Sep 17 00:00:00 2001 From: Matias Cudich Date: Tue, 29 Nov 2016 20:42:07 -0800 Subject: [PATCH 0658/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 08a7f44a0..ffcadcf95 100644 --- a/README.md +++ b/README.md @@ -459,6 +459,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. :large_orange_diamond: * [SwiftGraph](https://github.com/davecom/SwiftGraph) - Graph data structure and utility functions in pure Swift. :large_orange_diamond: * [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. :large_orange_diamond: +* [HeckelDiff](https://github.com/mcudich/HeckelDiff) - Pure Swift implementation of Paul Heckel's "A Technique for Isolating Differences Between Files". :large_orange_diamond: ## Date & Time From 0ea36bbac2e2b48c70b9dfa2ee20015ed28ab4f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E8=80=80=E8=BE=89?= Date: Wed, 30 Nov 2016 13:30:11 +0800 Subject: [PATCH 0659/2606] add RCalendarPicker add RCalendarPicker url:(https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index defdc27b7..b4df89457 100644 --- a/README.md +++ b/README.md @@ -1582,6 +1582,7 @@ Most of these are paid services, some have free tiers. * [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS * [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift :large_orange_diamond: * [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time :large_orange_diamond: +* [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From e541f73e1e2da7dd4db24778b0f66c426b54e550 Mon Sep 17 00:00:00 2001 From: Matias Cudich Date: Tue, 29 Nov 2016 22:50:42 -0800 Subject: [PATCH 0660/2606] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ffcadcf95..08a7f44a0 100644 --- a/README.md +++ b/README.md @@ -459,7 +459,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. :large_orange_diamond: * [SwiftGraph](https://github.com/davecom/SwiftGraph) - Graph data structure and utility functions in pure Swift. :large_orange_diamond: * [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. :large_orange_diamond: -* [HeckelDiff](https://github.com/mcudich/HeckelDiff) - Pure Swift implementation of Paul Heckel's "A Technique for Isolating Differences Between Files". :large_orange_diamond: ## Date & Time From 9b60668c4331f294b6223e6d1d2db5c0d0832d22 Mon Sep 17 00:00:00 2001 From: Igor Zapletnev Date: Wed, 30 Nov 2016 16:58:28 +0700 Subject: [PATCH 0661/2606] Add Macaw-Examples --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b4df89457..1378dc986 100644 --- a/README.md +++ b/README.md @@ -1432,6 +1432,7 @@ Most of these are paid services, some have free tiers. * [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect :large_orange_diamond: * [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. :large_orange_diamond: * [CRRulerControl](https://github.com/Cleveroad/CRRulerControl) - Customizable component is aimed at turning a simple ruler into a handy and smart instrument. +* [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. :large_orange_diamond: #### Activity Indicator From 89d89a1f18fc3e38c750e0eeb776052c5733e324 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 30 Nov 2016 18:13:58 +0530 Subject: [PATCH 0662/2606] Added Motis in JSON (#1310) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b4df89457..e49a443c9 100644 --- a/README.md +++ b/README.md @@ -957,6 +957,7 @@ Also see [push notifications](#push-notifications) * [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. :large_orange_diamond: * [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x. :large_orange_diamond: * [Marshal](https://github.com/utahiosmac/Marshal) - Marshaling the typeless wild west of [String: Any] (Protocol based). +* [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From d7c9e082901a27c3674b5bf0558127a00d664eab Mon Sep 17 00:00:00 2001 From: Matias Cudich Date: Wed, 30 Nov 2016 04:47:32 -0800 Subject: [PATCH 0663/2606] Add TemplateKit (#1307) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e49a443c9..9ee995d26 100644 --- a/README.md +++ b/README.md @@ -1071,6 +1071,7 @@ Most of these are paid services, some have free tiers. * [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. :large_orange_diamond: * [JASONETTE-iOS](https://github.com/Jasonette/JASONETTE-iOS) - Native App over HTTP. Create your own native iOS app with nothing but JSON. * [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: +* [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From ad3713b1e4ae1d4a6b888804d3966c59f1a019c4 Mon Sep 17 00:00:00 2001 From: Ennio Date: Wed, 30 Nov 2016 21:05:22 +0000 Subject: [PATCH 0664/2606] Added AREK to permissions section (#1311) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9bac2c876..e0c4447f3 100644 --- a/README.md +++ b/README.md @@ -1013,7 +1013,7 @@ Also see [push notifications](#push-notifications) * [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS :large_orange_diamond: * [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: * [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS :large_orange_diamond: - +* [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. :large_orange_diamond: ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. * [Tapglue](https://www.tapglue.com) - Build social products and a activity feed with a few lines of code. From b514658e312baee453dcfe030be7ee263f97d9dc Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 30 Nov 2016 13:06:31 -0800 Subject: [PATCH 0665/2606] Fix format #1311 [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c4447f3..538df9191 100644 --- a/README.md +++ b/README.md @@ -1014,6 +1014,7 @@ Also see [push notifications](#push-notifications) * [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: * [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS :large_orange_diamond: * [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. :large_orange_diamond: + ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. * [Tapglue](https://www.tapglue.com) - Build social products and a activity feed with a few lines of code. From f569485785c00e110b99df937b477f6ee72bc65c Mon Sep 17 00:00:00 2001 From: naru Date: Thu, 1 Dec 2016 12:54:12 +0900 Subject: [PATCH 0666/2606] Add Pencil (#1313) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 538df9191..3418ac79f 100644 --- a/README.md +++ b/README.md @@ -459,6 +459,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. :large_orange_diamond: * [SwiftGraph](https://github.com/davecom/SwiftGraph) - Graph data structure and utility functions in pure Swift. :large_orange_diamond: * [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. :large_orange_diamond: +* [Pencil](https://github.com/naru-jpn/pencil) - Write values to file and read it more easily. :large_orange_diamond: ## Date & Time From 86796f1d50ff3f65ed2ab6d1814dae73e6898f2a Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Thu, 1 Dec 2016 12:07:43 +0700 Subject: [PATCH 0667/2606] Add awesome-interview-questions to Other Awesome Lists (#1314) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3418ac79f..4037c35bc 100644 --- a/README.md +++ b/README.md @@ -2388,6 +2388,7 @@ Other amazingly awesome lists can be found in the * [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. * [Awesome Reactive Programming in Swift](https://github.com/SideEffects-xyz/Awesome-Reactive-Programming-Swift) - A collection of frameworks, talks and resources about reactive programming in Swift. * [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects +* [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From e40faec395b172ae8e7b9fa25f1d659abe34605e Mon Sep 17 00:00:00 2001 From: Unhandled Exception Date: Thu, 1 Dec 2016 13:18:43 +0100 Subject: [PATCH 0668/2606] Add iOS Security Class and (#1286) * Update README.md * Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 2e86622aa..dc9f6a339 100644 --- a/README.md +++ b/README.md @@ -1151,6 +1151,8 @@ Most of these are paid services, some have free tiers. * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. * [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. :large_orange_diamond: * [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. +* [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. + #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 28269684fb86b05c8082feb95acb975a015a1ac0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Augustyniak?= Date: Thu, 1 Dec 2016 18:29:31 +0100 Subject: [PATCH 0669/2606] Add FileExplorer (#1316) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dc9f6a339..1d676ba2a 100644 --- a/README.md +++ b/README.md @@ -503,6 +503,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FileProvider](https://github.com/amosavian/FileProvider) - NSFileManager replacement for local and remote (WebDAV/Dropbox/SMB2) files on iOS and macOS. :large_orange_diamond: * [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. :large_orange_diamond: * [ZipArchive](https://github.com/ZipArchive/ZipArchive) - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac. +* [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. :large_orange_diamond: ## Functional Programming * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: From a8a755ad028e69bf34e3af70bb2547b5b53377d5 Mon Sep 17 00:00:00 2001 From: Matias Cudich Date: Thu, 1 Dec 2016 11:08:48 -0800 Subject: [PATCH 0670/2606] Add HeckelDiff --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1d676ba2a..893d8a5c7 100644 --- a/README.md +++ b/README.md @@ -460,6 +460,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftGraph](https://github.com/davecom/SwiftGraph) - Graph data structure and utility functions in pure Swift. :large_orange_diamond: * [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. :large_orange_diamond: * [Pencil](https://github.com/naru-jpn/pencil) - Write values to file and read it more easily. :large_orange_diamond: +* [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. :large_orange_diamond: ## Date & Time @@ -1544,7 +1545,7 @@ Most of these are paid services, some have free tiers. * [Hedwig](https://github.com/Lab111/Hedwig) - Interactive Notification. 🔶 * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: * [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift 🔶 -* [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. +* [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 7e4f0793419a8ab1dac2c80e5dd9613f6ffb0d60 Mon Sep 17 00:00:00 2001 From: Matias Cudich Date: Thu, 1 Dec 2016 11:09:19 -0800 Subject: [PATCH 0671/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 893d8a5c7..892fb0a24 100644 --- a/README.md +++ b/README.md @@ -1545,7 +1545,7 @@ Most of these are paid services, some have free tiers. * [Hedwig](https://github.com/Lab111/Hedwig) - Interactive Notification. 🔶 * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: * [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift 🔶 -* [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. +* [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From f96af56392b19a8bfe0a18e56ba52941cf26b764 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 3 Dec 2016 13:39:18 -0800 Subject: [PATCH 0672/2606] Added RHSideButtons by @robertherdzik fixes #1235 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1d676ba2a..8ec04d2de 100644 --- a/README.md +++ b/README.md @@ -1681,6 +1681,7 @@ Most of these are paid services, some have free tiers. * [VHBoomMenuButton](https://github.com/Nightonke/VHBoomMenuButton) - A menu which can ... BOOM! * [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. :large_orange_diamond: * [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. :large_orange_diamond: +* [RHSideButtons](https://github.com/robertherdzik/RHSideButtons) - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. :large_orange_diamond: #### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From e9cb2698f81e666acc625f03b82a4f58738fb7bb Mon Sep 17 00:00:00 2001 From: Igor Vasilenko Date: Sun, 4 Dec 2016 14:05:50 +0300 Subject: [PATCH 0673/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ec04d2de..511b6fb7f 100644 --- a/README.md +++ b/README.md @@ -1153,7 +1153,7 @@ Most of these are paid services, some have free tiers. * [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. :large_orange_diamond: * [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. * [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. - +* [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Framework for biometric authentication (via TouchID) in your application #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From d586e8cbe8dc8895f0ce374bff25aa36c3027604 Mon Sep 17 00:00:00 2001 From: Igor Vasilenko Date: Sun, 4 Dec 2016 14:39:59 +0300 Subject: [PATCH 0674/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 511b6fb7f..91eed23f4 100644 --- a/README.md +++ b/README.md @@ -1153,7 +1153,7 @@ Most of these are paid services, some have free tiers. * [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. :large_orange_diamond: * [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. * [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. -* [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Framework for biometric authentication (via TouchID) in your application +* [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From bb41340bf088903c9449f58c8bd0b65fb636f7f2 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 5 Dec 2016 09:34:31 +0530 Subject: [PATCH 0675/2606] Added Snowflake in Graphics --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ec04d2de..0b1e7dc3c 100644 --- a/README.md +++ b/README.md @@ -538,6 +538,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone :large_orange_diamond: * [jot](https://github.com/IFTTT/jot) - An iOS framework for easily adding drawings and text to images. * [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / OS X, using native rendering (CoreAnimation) (currently only supported for iOS - OS X code needs updating). +* [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. :large_orange_diamond: ## Hardware #### Bluetooth From e68c86cf6ecc2e84ae25e4f9682064011160de37 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 5 Dec 2016 15:02:48 +0530 Subject: [PATCH 0676/2606] Added AppStoreStyleHorizontalScrollView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ec04d2de..fac53a347 100644 --- a/README.md +++ b/README.md @@ -1754,6 +1754,7 @@ Most of these are paid services, some have free tiers. * [ScrollingFollowView](https://github.com/ktanaka117/ScrollingFollowView) - ScrollingFollowView is a simple view which follows UIScrollView scrolling. * [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category :large_orange_diamond: * [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. +* [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. :large_orange_diamond: #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. From a133cb602da8cef7e1d390d08f07a68dc46b8a38 Mon Sep 17 00:00:00 2001 From: Kunal Verma Date: Mon, 5 Dec 2016 15:14:29 +0530 Subject: [PATCH 0677/2606] Added KVCardSelectionVC Awesome looking Dial like card selection ViewController. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ec04d2de..367009671 100644 --- a/README.md +++ b/README.md @@ -1441,6 +1441,7 @@ Most of these are paid services, some have free tiers. * [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. :large_orange_diamond: * [CRRulerControl](https://github.com/Cleveroad/CRRulerControl) - Customizable component is aimed at turning a simple ruler into a handy and smart instrument. * [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. :large_orange_diamond: +* [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. :large_orange_diamond: #### Activity Indicator From 77fbbaf2694c70f73d7eb9442c34c1d8b7e04f51 Mon Sep 17 00:00:00 2001 From: Amrata Baghel Date: Mon, 5 Dec 2016 17:50:29 +0530 Subject: [PATCH 0678/2606] Add Flexible Stepped Progress bar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ec04d2de..d4ef7c2cd 100644 --- a/README.md +++ b/README.md @@ -1489,6 +1489,7 @@ Most of these are paid services, some have free tiers. * [LLSpinner](https://github.com/alaphao/LLSpinner) - An easy way to create a full screen activity indicator. :large_orange_diamond: * [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. :large_orange_diamond: * [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. +* [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. :large_orange_diamond: #### Alerts From 3a89d43b0870087ee9e9957a79cc7af2711af06a Mon Sep 17 00:00:00 2001 From: Amrata Baghel Date: Mon, 5 Dec 2016 17:55:10 +0530 Subject: [PATCH 0679/2606] Add Three level accordian --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ec04d2de..9b5eb121a 100644 --- a/README.md +++ b/README.md @@ -1873,6 +1873,7 @@ Most of these are paid services, some have free tiers. * [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift.:large_orange_diamond: * [TimelineTableViewCell](https://github.com/kf99916/TimelineTableViewCell) - Simple timeline view implemented by UITableViewCell written in Swift 3.0.:large_orange_diamond: * [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". :large_orange_diamond: +* [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 37870c7fd7118399c6c81938c60de5a338ceccaf Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Tue, 6 Dec 2016 21:52:35 +0700 Subject: [PATCH 0680/2606] Added Tiny Console to Logging (#1330) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ec04d2de..3fc744213 100644 --- a/README.md +++ b/README.md @@ -671,6 +671,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Atlantis](https://github.com/DrewKiino/Atlantis) - A powerful input-agnostic swift logging framework made to speed up development with maximum readability. :large_orange_diamond: * [StoryTeller](https://github.com/drekka/StoryTeller) - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important. * [LumberMill](https://github.com/ubclaunchpad/LumberMill) - Stupidly simple logging for iOS 10 and Swift 3.0 +* [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. Written in Swift 3. :large_orange_diamond: ## Machine Learning * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: From a25741f357221375cef5c65322c7a4c76e7d012a Mon Sep 17 00:00:00 2001 From: Kent Liau Date: Tue, 6 Dec 2016 23:47:31 +0800 Subject: [PATCH 0681/2606] Add Nomad CLI Tools --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3fc744213..50253f609 100644 --- a/README.md +++ b/README.md @@ -2101,6 +2101,7 @@ Most of these are paid services, some have free tiers. * [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net/#/repl) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A Mac OS X library for managing and manipulating iOS Simulators * [IconResizer](https://iconresizer.com/) - A simple web application to resize iPhone and iPad app icons for the App Store +* [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 75a6d71beaef6ceeaea86929d204e5518fb5cacb Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 7 Dec 2016 09:55:20 +0530 Subject: [PATCH 0682/2606] Add ISO8859 in Text --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3fc744213..8647ee99e 100644 --- a/README.md +++ b/README.md @@ -1251,6 +1251,7 @@ Most of these are paid services, some have free tiers. * [Apodimark](https://github.com/loiclec/Apodimark) - Fast, flexible markdown parser written in Swift. :large_orange_diamond: * [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. :large_orange_diamond: * [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for IOS. With UITextField extension. :large_orange_diamond: +* [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. :large_orange_diamond: ## Testing From cabde9dbbc50c4214ce977191d9c225de06b4a6d Mon Sep 17 00:00:00 2001 From: Igor Vasilenko Date: Wed, 7 Dec 2016 22:45:08 +0300 Subject: [PATCH 0683/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 91eed23f4..d1fb7d4b7 100644 --- a/README.md +++ b/README.md @@ -1153,7 +1153,7 @@ Most of these are paid services, some have free tiers. * [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. :large_orange_diamond: * [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. * [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. -* [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application +* [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application 🔶 #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 7d2b5de754b72d548565574f4fcfe34c23a32c10 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Wed, 7 Dec 2016 17:58:06 -0200 Subject: [PATCH 0684/2606] Fix iOScreator redirect --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e1536acc8..76ccff3e1 100644 --- a/README.md +++ b/README.md @@ -2260,7 +2260,7 @@ Most of these are paid services, some have free tiers. * [Apple's Swift Blog](https://developer.apple.com/swift/blog/) :large_orange_diamond: * [iOS Programming Subreddit](https://www.reddit.com/r/iOSProgramming/) * [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) :large_orange_diamond: -* [iOScreator](http://www.ioscreator.com/) :large_orange_diamond: +* [iOScreator](https://www.ioscreator.com/) :large_orange_diamond: * [Mathew Sanders](http://mathewsanders.com/) :large_orange_diamond: * [Little Bites of Cocoa](https://littlebitesofcocoa.com/) :large_orange_diamond: * [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) :large_orange_diamond: From 84cee13ee66fc2511dcccc0a9a151a22d0b313ca Mon Sep 17 00:00:00 2001 From: Dan Date: Wed, 7 Dec 2016 22:46:41 +0200 Subject: [PATCH 0685/2606] Added Emojica to Text. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 76ccff3e1..458683e03 100644 --- a/README.md +++ b/README.md @@ -1253,6 +1253,7 @@ Most of these are paid services, some have free tiers. * [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. :large_orange_diamond: * [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for IOS. With UITextField extension. :large_orange_diamond: * [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. :large_orange_diamond: +* [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/Ranks/emojione). :large_orange_diamond: ## Testing From 63d20022e6c9ecdb838d6b5f6fcc05f05764bc70 Mon Sep 17 00:00:00 2001 From: Suguru Kishimoto Date: Thu, 8 Dec 2016 11:37:04 +0900 Subject: [PATCH 0686/2606] Add PullToDismiss (#1318) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 85c568318..fbca82f8c 100644 --- a/README.md +++ b/README.md @@ -1761,6 +1761,7 @@ Most of these are paid services, some have free tiers. * [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category :large_orange_diamond: * [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. * [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. :large_orange_diamond: +* [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. :large_orange_diamond: #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. From a467b4428f6ea661022be50da8f2a612cd5546a5 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 8 Dec 2016 07:24:45 -0800 Subject: [PATCH 0687/2606] :cry: --- helloworld.swift | 99 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) diff --git a/helloworld.swift b/helloworld.swift index 4fdf0cebb..e1f39ed41 100644 --- a/helloworld.swift +++ b/helloworld.swift @@ -1 +1,100 @@ print("Hello iOS Developers!") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") +print("awesome-ios") From 8f8f80da40e5b8c965b116b598f4b0008f1325d6 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 8 Dec 2016 21:27:49 +0530 Subject: [PATCH 0688/2606] Add UnsplashKit (#1322) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fbca82f8c..e36f85f50 100644 --- a/README.md +++ b/README.md @@ -1145,6 +1145,7 @@ Most of these are paid services, some have free tiers. * [SlackKit](https://github.com/pvzig/SlackKit) - a Slack client library for iOS and OS X written in Swift :large_orange_diamond: * [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift 3 Framework to Generate Random Users - An Unofficial SDK for randomuser.me :large_orange_diamond: * [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). :large_orange_diamond: +* [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 1f9cd5e71b608107909b84a604b7f3d2889bfcc7 Mon Sep 17 00:00:00 2001 From: Marcus Vinicius Kuquert Date: Thu, 8 Dec 2016 13:58:37 -0200 Subject: [PATCH 0689/2606] Add objc.io books (#1296) --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index e36f85f50..537298546 100644 --- a/README.md +++ b/README.md @@ -2387,6 +2387,9 @@ Most of these are paid services, some have free tiers. * [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) :large_orange_diamond: * [OS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) :large_orange_diamond: * [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) :large_orange_diamond: +* [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) :large_orange_diamond: +* [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) :large_orange_diamond: +* [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) :large_orange_diamond: # Other Awesome Lists Other amazingly awesome lists can be found in the From 4a36811ece3f13ddb51643836e07d71e7681bbdf Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 8 Dec 2016 21:29:28 +0530 Subject: [PATCH 0690/2606] Added Me in GCD (#1320) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 537298546..84a786345 100644 --- a/README.md +++ b/README.md @@ -2040,6 +2040,7 @@ Most of these are paid services, some have free tiers. * [Dispatch](https://github.com/Swiftification/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. :large_orange_diamond: * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities :large_orange_diamond: + * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. :large_orange_diamond: # Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. From 1281812684c8653e7fa63cd5ad6b72ea1b3f542e Mon Sep 17 00:00:00 2001 From: Abdullah Selek Date: Thu, 8 Dec 2016 17:00:19 +0100 Subject: [PATCH 0691/2606] Add ContactsWrapper (#1333) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 84a786345..ff8ee70d8 100644 --- a/README.md +++ b/README.md @@ -1993,6 +1993,7 @@ Most of these are paid services, some have free tiers. * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. :large_orange_diamond: * [SwifterSwift](https://github.com/omaralbeik/SwifterSwift) - A handy collection of more than 290 native Swift 3 extensions to boost your productivity. :large_orange_diamond: * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: + * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From a10940ea5bca9fc77da47ca3848b0cae59961544 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 8 Dec 2016 23:37:56 -0800 Subject: [PATCH 0692/2606] Added PinterestSegment by @TBXark --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 929750e16..000ab6f65 100644 --- a/README.md +++ b/README.md @@ -1814,6 +1814,7 @@ Most of these are paid services, some have free tiers. * [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. :large_orange_diamond: * [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. :large_orange_diamond: * [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) - A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products. +* [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. :large_orange_diamond: #### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From 6234ea91ab5e95d430eeb242792ed98b248bb0e7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 8 Dec 2016 23:42:01 -0800 Subject: [PATCH 0693/2606] Added TORoundedTableView by @TimOliver --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 000ab6f65..ba272a58b 100644 --- a/README.md +++ b/README.md @@ -1885,6 +1885,7 @@ Most of these are paid services, some have free tiers. * [TimelineTableViewCell](https://github.com/kf99916/TimelineTableViewCell) - Simple timeline view implemented by UITableViewCell written in Swift 3.0.:large_orange_diamond: * [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". :large_orange_diamond: * [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. :large_orange_diamond: +* [TORoundedTableView](https://github.com/TimOliver/TORoundedTableView) - A subclass of UITableView that styles it like Settings.app on iPad #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 68f871b2e93399dc4947c560362829069b43f730 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 8 Dec 2016 23:43:22 -0800 Subject: [PATCH 0694/2606] Added Reactions by @yannickl --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ba272a58b..43fa675fe 100644 --- a/README.md +++ b/README.md @@ -1448,6 +1448,7 @@ Most of these are paid services, some have free tiers. * [CRRulerControl](https://github.com/Cleveroad/CRRulerControl) - Customizable component is aimed at turning a simple ruler into a handy and smart instrument. * [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. :large_orange_diamond: * [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. :large_orange_diamond: +* [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control :large_orange_diamond: #### Activity Indicator From b56aa74d8fef2daaf4b011315383436092821604 Mon Sep 17 00:00:00 2001 From: Abdullah Selek Date: Sat, 10 Dec 2016 13:04:19 +0100 Subject: [PATCH 0695/2606] - Add ASCollectionView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43fa675fe..c13a7cd9a 100644 --- a/README.md +++ b/README.md @@ -1887,6 +1887,7 @@ Most of these are paid services, some have free tiers. * [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". :large_orange_diamond: * [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. :large_orange_diamond: * [TORoundedTableView](https://github.com/TimOliver/TORoundedTableView) - A subclass of UITableView that styles it like Settings.app on iPad +* [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 45e5cb95b43319d93a6e05bbbc15f670a631cc92 Mon Sep 17 00:00:00 2001 From: Florian Gabach Date: Sun, 11 Dec 2016 09:32:43 +0100 Subject: [PATCH 0696/2606] Add FacebookImagePicker --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43fa675fe..8ce277d8a 100644 --- a/README.md +++ b/README.md @@ -799,6 +799,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. :large_orange_diamond: * [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. :large_orange_diamond: * [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. :large_orange_diamond: +* [FacebookImagePicker](https://github.com/terflogag/FacebookImagePicker) - Facebook album photo picker written in Swift. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 479a7f3e4ee793b67a50165d605850b877e7c782 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:24:47 -0800 Subject: [PATCH 0697/2606] Added KeyboardHideManager by @bonyadmitr --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fdfb8bd25..12ef9de33 100644 --- a/README.md +++ b/README.md @@ -1632,6 +1632,7 @@ Most of these are paid services, some have free tiers. * [KeyboardMan](https://github.com/nixzhu/KeyboardMan) - KeyboardMan helps you make keyboard animation. :large_orange_diamond: * [MakemojiSDK](https://github.com/makemoji/MakemojiSDK) - Emoji Keyboard SDK (iOS) * [Typist](https://github.com/totocaster/Typist) - Small, drop-in Swift UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center. :large_orange_diamond: +* [KeyboardHideManager](https://github.com/bonyadmitr/KeyboardHideManager) - Codeless manager to hide keyboard by tapping on views for iOS written in Swift :large_orange_diamond: #### Label * [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. :large_orange_diamond: From ae0a14f82e06c6518962f9768e3f1d245c93b48e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:26:41 -0800 Subject: [PATCH 0698/2606] Added Newly by @dhirajjadhao --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 12ef9de33..160909829 100644 --- a/README.md +++ b/README.md @@ -1450,6 +1450,7 @@ Most of these are paid services, some have free tiers. * [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. :large_orange_diamond: * [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. :large_orange_diamond: * [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control :large_orange_diamond: +* [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button :large_orange_diamond: #### Activity Indicator From 6f766373574910f9528525a082f67e5c9292add9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:31:54 -0800 Subject: [PATCH 0699/2606] Added TableFlip by @mergesort --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 160909829..a5aae3608 100644 --- a/README.md +++ b/README.md @@ -1891,6 +1891,7 @@ Most of these are paid services, some have free tiers. * [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. :large_orange_diamond: * [TORoundedTableView](https://github.com/TimOliver/TORoundedTableView) - A subclass of UITableView that styles it like Settings.app on iPad * [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. :large_orange_diamond: +* [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From ba81b75d4a12e9eb5feb47dde97c81eb135df471 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:33:41 -0800 Subject: [PATCH 0700/2606] Added Cookiecutter by @RahulKatariya --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a5aae3608..e0dff696f 100644 --- a/README.md +++ b/README.md @@ -2122,6 +2122,7 @@ Most of these are paid services, some have free tiers. * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A Mac OS X library for managing and manipulating iOS Simulators * [IconResizer](https://iconresizer.com/) - A simple web application to resize iPhone and iPad app icons for the App Store * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. +* [Cookiecutter](https://github.com/cookiecutter-swift/Framework) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 681cf1aaf6bb116fd6111a20f0af185cdf712094 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:38:00 -0800 Subject: [PATCH 0701/2606] Added CardStackController by @victorBaro --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0dff696f..9138405ee 100644 --- a/README.md +++ b/README.md @@ -1451,6 +1451,7 @@ Most of these are paid services, some have free tiers. * [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. :large_orange_diamond: * [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control :large_orange_diamond: * [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button :large_orange_diamond: +* [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards :large_orange_diamond: #### Activity Indicator From b71396fd297b65ecfe13d2f1eb5073961d8f4576 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:38:48 -0800 Subject: [PATCH 0702/2606] Added UICountingLabel by @dataxpress --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9138405ee..4ba17ff31 100644 --- a/README.md +++ b/README.md @@ -1652,6 +1652,7 @@ Most of these are paid services, some have free tiers. * [TriLabelView](https://github.com/mukeshthawani/TriLabelView) - A triangle shaped corner label view for iOS written in Swift. :large_orange_diamond: * [Preloader.Ophiuchus](https://github.com/Yalantis/Preloader.Ophiuchus) - Custom Label to apply animations on whole text or letters. * [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. :large_orange_diamond: +* [UICountingLabel](https://github.com/dataxpress/UICountingLabel/) - Adds animated counting support to UILabel. #### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: From 7d1742675dd0fe40ff5c86d8c19caa88ba490b6e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:42:01 -0800 Subject: [PATCH 0703/2606] Added Airstream by @qasim --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ba17ff31..a64706770 100644 --- a/README.md +++ b/README.md @@ -821,6 +821,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for OSX and iOS. * [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. :large_orange_diamond: * [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate +* [Airstream](https://github.com/qasim/Airstream) - A framework for streaming audio between Apple devices using AirPlay. #### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. From 6aadf0daa03f67b090fe75f7fe42e3c0d8f62105 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:44:34 -0800 Subject: [PATCH 0704/2606] Added BrickKit by @wayfair --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a64706770..2a17828ca 100644 --- a/README.md +++ b/README.md @@ -611,6 +611,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally :large_orange_diamond: * [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. :large_orange_diamond: * [Compose](https://github.com/VivaReal/Compose) - Compose is a library that helps you compose complex and dynamic views. :large_orange_diamond: +* [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. :large_orange_diamond: #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 97c30f4969e3d2aea19c72671c3e8dd9cf93a82b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:46:15 -0800 Subject: [PATCH 0705/2606] Added Mark by @velyan --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2a17828ca..ff3efb1ac 100644 --- a/README.md +++ b/README.md @@ -2234,6 +2234,7 @@ Most of these are paid services, some have free tiers. * [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. :large_orange_diamond: * [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. :large_orange_diamond: * [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. :large_orange_diamond: +* [Mark](https://github.com/velyan/Mark) - Xcode extension for generating MARK comments. :large_orange_diamond: #### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From e7ac7cea1f4539dfecee249382f873f53f8f0c6d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:47:46 -0800 Subject: [PATCH 0706/2606] Added iOS-App-Security-Class by @karek314 fixes #1276 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ff3efb1ac..0f558b991 100644 --- a/README.md +++ b/README.md @@ -1161,6 +1161,7 @@ Most of these are paid services, some have free tiers. * [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. * [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. * [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application 🔶 +* [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if app has been cracked, being debugged or enriched with custom dylib #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 3c8a20cd2704c19bdaa1e4d58a3e43b7731d92a1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:48:52 -0800 Subject: [PATCH 0707/2606] Remove iOS-App-Security-Class --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0f558b991..ff3efb1ac 100644 --- a/README.md +++ b/README.md @@ -1161,7 +1161,6 @@ Most of these are paid services, some have free tiers. * [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. * [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. * [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application 🔶 -* [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if app has been cracked, being debugged or enriched with custom dylib #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 92eda9da70f9c3014c2b2ede95fa6eaa56200234 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 11 Dec 2016 05:53:54 -0800 Subject: [PATCH 0708/2606] Added PickerView section fixes #976 --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ff3efb1ac..965e9f75d 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Menu](#menu) - [Modal Transition](#modal-transition) - [Navigation Bar](#navigation-bar) + - [PickerView](#pickerview) - [Popup](#popup) - [Pull to Refresh](#pull-to-refresh) - [Rating Stars](#rating-stars) @@ -1331,7 +1332,6 @@ Most of these are paid services, some have free tiers. * [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. :large_orange_diamond: ## UI -* [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. * [BetweenKit](https://github.com/ice3-software/between-kit) - A robust drag-and-drop framework for iOS. * [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! @@ -1353,7 +1353,6 @@ Most of these are paid services, some have free tiers. * [WobbleView](https://github.com/inFullMobile/WobbleView) - WobbleView is an implementation of a recently popular wobble effect for any view in your app. It can be used to easily add dynamics to user interactions and transitions. :large_orange_diamond: * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit -* [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. :large_orange_diamond: * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift :large_orange_diamond: * [DLWBouncyView](https://github.com/cute/DLWBouncyView) - BouncyView is an implementation of a recently popular bouncy effect for any view. * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. @@ -1516,7 +1515,6 @@ Most of these are paid services, some have free tiers. * [PJAlertView](https://github.com/PrajeetShrestha/PJAlertView) - Apple has deprecated beloved alert view but this library will add revamped alert view with far more customization possibility. * [Swift-Prompts](https://github.com/GabrielAlva/Swift-Prompts) - A Swift library to design custom prompts with a great scope of options to choose from. :large_orange_diamond: * [BRYXBanner](https://github.com/bryx-inc/BRYXBanner) - A lightweight dropdown notification for iOS 7+, in Swift. :large_orange_diamond: -* [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - A Swift library that displays an UIDatePicker within an UIAlertView :large_orange_diamond: * [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages :large_orange_diamond: * [HDNotificationView](https://github.com/nhdang103/HDNotificationView) - Emulates the native Notification Banner UI for any alert. * [JDStatusBarNotification](https://github.com/calimarkus/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. @@ -1526,7 +1524,6 @@ Most of these are paid services, some have free tiers. * [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. :large_orange_diamond: * [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. :large_orange_diamond: * [GSAlert](https://github.com/wxxsw/GSAlert) - If you want to use UIAlertController, but still need to support iOS 7 this project is for you. :large_orange_diamond: -* [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. * [RKDropdownAlert](https://github.com/cwRichardKim/RKDropdownAlert) - Extremely simple UIAlertView alternative. * [TKSwarmAlert](https://github.com/entotsu/TKSwarmAlert) - Animated alert library like Swarm app. :large_orange_diamond: * [Whisper](https://github.com/hyperoslo/Whisper) - Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside :large_orange_diamond: @@ -1727,6 +1724,13 @@ Most of these are paid services, some have free tiers. * [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. :large_orange_diamond: * [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView :large_orange_diamond: +#### PickerView +* [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. +* [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. :large_orange_diamond: +* [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - A Swift library that displays an UIDatePicker within an UIAlertView :large_orange_diamond: +* [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. +* [AIDatePickerController](https://github.com/alikaragoz/AIDatePickerController) - :date: UIDatePicker modally presented with iOS 7 custom transitions. + #### Popup * [KLCPopup](https://github.com/jmascia/KLCPopup) - A simple and flexible class for presenting custom views as a popup in iOS. * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. From d4edd149ba3ca01f958633c4680eb4a378fe30ac Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 12 Dec 2016 10:12:27 +0530 Subject: [PATCH 0709/2606] Add Insanity --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 965e9f75d..fa0fa6332 100644 --- a/README.md +++ b/README.md @@ -2131,6 +2131,7 @@ Most of these are paid services, some have free tiers. * [IconResizer](https://iconresizer.com/) - A simple web application to resize iPhone and iPad app icons for the App Store * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. * [Cookiecutter](https://github.com/cookiecutter-swift/Framework) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: +* [Insanity](https://github.com/krzysztofzablocki/Insanity) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 7796e4d5c5c91b222ad043d2db7ce13991217cd7 Mon Sep 17 00:00:00 2001 From: SwiftyCruz Date: Mon, 12 Dec 2016 23:44:00 +0900 Subject: [PATCH 0710/2606] Add Device (#1341) * Added Device by @cruisediary * Fix linked issue founded by `awesome-bot` --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 965e9f75d..9d16e4f15 100644 --- a/README.md +++ b/README.md @@ -595,7 +595,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MisterFusion](https://github.com/marty-suzuki/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. :large_orange_diamond: * [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. :large_orange_diamond: * [ManualLayout](https://github.com/isair/ManualLayout) - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit. :large_orange_diamond:[e] -* [Stevia](https://github.com/s4cha/Stevia) - Elegant view layout for iOS. :large_orange_diamond: +* [Stevia](https://github.com/freshOS/Stevia) - Elegant view layout for iOS. :large_orange_diamond: * [Manuscript](https://github.com/floriankrueger/Manuscript) - AutoLayoutKit in pure Swift. :large_orange_diamond: * [FDTemplateLayoutCell](https://github.com/forkingdog/UITableView-FDTemplateLayoutCell) - Template auto layout cell for automatically UITableViewCell height calculating * [SwiftAutoLayout](https://github.com/indragiek/SwiftAutoLayout) - Tiny Swift DSL for Autolayout :large_orange_diamond: @@ -628,6 +628,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 * [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. :large_orange_diamond: * [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. :large_orange_diamond: +* [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. :large_orange_diamond: ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From 4fdc8b8f3926fc79026d0dd7efcbea762bd74945 Mon Sep 17 00:00:00 2001 From: Guillaume Sabran Date: Mon, 12 Dec 2016 19:45:23 -0800 Subject: [PATCH 0711/2606] add DDDKit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 837d8a529..9d3161698 100644 --- a/README.md +++ b/README.md @@ -843,7 +843,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. :large_orange_diamond: * [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. :large_orange_diamond: * [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. - +* [swift-360-videos](https://github.com/gsabran/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. ## Messaging Also see [push notifications](#push-notifications) From 35340e4a7c8a561b24cb5b1faba1d0e41b4c8542 Mon Sep 17 00:00:00 2001 From: Guillaume Sabran Date: Tue, 13 Dec 2016 10:49:09 -0800 Subject: [PATCH 0712/2606] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9d3161698..71b1419e3 100644 --- a/README.md +++ b/README.md @@ -843,7 +843,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. :large_orange_diamond: * [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. :large_orange_diamond: * [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. -* [swift-360-videos](https://github.com/gsabran/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. +* [swift-360-videos](https://github.com/team-pie/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. + ## Messaging Also see [push notifications](#push-notifications) From 44e3cae9cb50284aa4fc75cf66121eb847eb71e5 Mon Sep 17 00:00:00 2001 From: Shoaib Ahmed Date: Wed, 14 Dec 2016 10:39:13 +0400 Subject: [PATCH 0713/2606] Add Swift-CircleMenu --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 837d8a529..477984f2d 100644 --- a/README.md +++ b/README.md @@ -1696,6 +1696,7 @@ Most of these are paid services, some have free tiers. * [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. :large_orange_diamond: * [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. :large_orange_diamond: * [RHSideButtons](https://github.com/robertherdzik/RHSideButtons) - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. :large_orange_diamond: +* [Swift-CircleMenu](https://github.com/Sufi-Al-Hussaini/Swift-CircleMenu) - Rotating circle menu written in Swift 3. :large_orange_diamond: #### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 1f6db012ca1dfb339600059d60e1e7b68df545a0 Mon Sep 17 00:00:00 2001 From: Sacha Durand Saint Omer Date: Wed, 14 Dec 2016 20:29:45 +0100 Subject: [PATCH 0714/2606] Adds AssetChecker tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 837d8a529..937d7380f 100644 --- a/README.md +++ b/README.md @@ -2133,6 +2133,7 @@ Most of these are paid services, some have free tiers. * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. * [Cookiecutter](https://github.com/cookiecutter-swift/Framework) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: * [Insanity](https://github.com/krzysztofzablocki/Insanity) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. :large_orange_diamond: +* [AssetChecker 👮](https://github.com/s4cha/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 5f1587974f1b782a64cb4b78940510aaaea83d65 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 15 Dec 2016 00:29:55 -0800 Subject: [PATCH 0715/2606] Fixed travis issues --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e2e93f288..f6c9709dd 100644 --- a/README.md +++ b/README.md @@ -1309,7 +1309,6 @@ Most of these are paid services, some have free tiers. * [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift :large_orange_diamond: * [Fetcher](https://github.com/rob-nash/Fetcher) - Mock paging data with a variable fetch time interval. * [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java :large_orange_diamond: -* [Bugfender Live](https://github.com/bugfender/BugfenderLive-iOS) - Stream the screen of an iOS device for live debugging. * [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps :large_orange_diamond: * [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 * [trainer](https://github.com/KrauseFx/trainer) - Convert xcodebuild plist files to JUnit reports @@ -2133,8 +2132,8 @@ Most of these are paid services, some have free tiers. * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A Mac OS X library for managing and manipulating iOS Simulators * [IconResizer](https://iconresizer.com/) - A simple web application to resize iPhone and iPad app icons for the App Store * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. -* [Cookiecutter](https://github.com/cookiecutter-swift/Framework) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: -* [Insanity](https://github.com/krzysztofzablocki/Insanity) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. :large_orange_diamond: +* [Cookiecutter](https://github.com/cookiecutter-swift/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: +* [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. :large_orange_diamond: * [AssetChecker 👮](https://github.com/s4cha/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. :large_orange_diamond: # Rapid Development From 41b199f77c05f08ed1a21c9f233c2a952f7e742b Mon Sep 17 00:00:00 2001 From: The Nicholas Date: Fri, 16 Dec 2016 03:00:02 +0900 Subject: [PATCH 0716/2606] Update README.md Add UIFontComplete to the list. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f6c9709dd..aad4ce627 100644 --- a/README.md +++ b/README.md @@ -1331,6 +1331,7 @@ Most of these are paid services, some have free tiers. * [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: * [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: * [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. :large_orange_diamond: +* [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Make working with UIFont faster and less error-prone. :large_orange_diamond: ## UI * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. From a6dfc03fef44163ad716cae3def5e633d7a7e782 Mon Sep 17 00:00:00 2001 From: Kent Liau Date: Fri, 16 Dec 2016 06:26:41 +0800 Subject: [PATCH 0717/2606] Add devxoul/Fallback (#1346) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f6c9709dd..133e5f21a 100644 --- a/README.md +++ b/README.md @@ -338,6 +338,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. * [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. :large_orange_diamond: * [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. +* [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 6483b4d4e8b63e56eb22eedf16bcf29ff42b0719 Mon Sep 17 00:00:00 2001 From: Kent Liau Date: Sat, 17 Dec 2016 02:55:03 +0800 Subject: [PATCH 0718/2606] Mark Fallback as Swift project (#1348) [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1ce9502a7..7c7a0beab 100644 --- a/README.md +++ b/README.md @@ -338,7 +338,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. * [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. :large_orange_diamond: * [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. -* [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. +* [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. :large_orange_diamond: #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From f325c43a6257446d7abe86dc1040081bb017fe7a Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 16 Dec 2016 10:56:15 -0800 Subject: [PATCH 0719/2606] Update watchbuild #1348 [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c7a0beab..179c5e40d 100644 --- a/README.md +++ b/README.md @@ -2160,7 +2160,7 @@ Most of these are paid services, some have free tiers. * [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) Automate taking localized screenshots of your iOS app on every device. * [buddybuild](https://www.buddybuild.com/) - A mobile iteration platform - build, deploy, and collaborate. * [Bitrise](https://www.bitrise.io) Mobile Continuous Integration & Delivery with dozens of integrations to build, test, deploy and collaborate. -* [watchbuild](https://github.com/fastlane/fastlane/tree/master/watchbuild) - Get a notification once your iTunes Connect build is finished processing. +* [watchbuild](https://github.com/fastlane/watchbuild) - Get a notification once your iTunes Connect build is finished processing. * [Crashlytics](https://try.crashlytics.com/) - A crash reporting and beta testing service. * [TestFlight Beta Testing](https://developer.apple.com/testflight/) - The beta testing service hosted on iTunes Connect (requires iOS 8 or later). * [HockeyApp](https://www.hockeyapp.net) - With HockeyApp, you can distribute beta versions of your app, collect live crash reports, get feedback from users, and analyze test coverage. From 10f29d55110e02990ee75ec2e38fcde7e660672e Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 16 Dec 2016 10:57:32 -0800 Subject: [PATCH 0720/2606] Update iOS Programming: The Big Nerd Ranch Guide #1348 [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 179c5e40d..30067c205 100644 --- a/README.md +++ b/README.md @@ -2405,7 +2405,7 @@ Most of these are paid services, some have free tiers. # Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: * [Using Swift with Cocoa and Objective C by Apple](https://itunes.apple.com/us/book/using-swift-cocoa-objective/id888894773?mt=11) :large_orange_diamond: -* [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/we-write/ios-programming/) +* [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming/) * [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) * [Your First iOS App by Ash Furrow](https://leanpub.com/your-first-ios-app) * [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) From 3a479881e0ca822f67cd840c03dd96e0dc027132 Mon Sep 17 00:00:00 2001 From: Timur Bernikowich Date: Sat, 17 Dec 2016 20:12:20 +0300 Subject: [PATCH 0721/2606] Add NSTEasyJSON (#1347) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 30067c205..b032479b4 100644 --- a/README.md +++ b/README.md @@ -970,6 +970,7 @@ Also see [push notifications](#push-notifications) * [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x. :large_orange_diamond: * [Marshal](https://github.com/utahiosmac/Marshal) - Marshaling the typeless wild west of [String: Any] (Protocol based). * [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). +* [NSTEasyJSON](https://github.com/bernikowich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From ccfaeb75a1c5b0997ca2ef605cc7589d9a39193b Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 19 Dec 2016 21:43:21 +0530 Subject: [PATCH 0722/2606] Add SwiftRichString in Text (#1352) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b032479b4..0bdc37752 100644 --- a/README.md +++ b/README.md @@ -1264,6 +1264,7 @@ Most of these are paid services, some have free tiers. * [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for IOS. With UITextField extension. :large_orange_diamond: * [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. :large_orange_diamond: * [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/Ranks/emojione). :large_orange_diamond: +* [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. :large_orange_diamond: ## Testing From faa017df8054da82ef8e6d7f0c819ed705a4500e Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 19 Dec 2016 21:44:14 +0530 Subject: [PATCH 0723/2606] Add XMNetworking in Networking (#1353) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0bdc37752..91d58f5a1 100644 --- a/README.md +++ b/README.md @@ -917,6 +917,7 @@ Also see [push notifications](#push-notifications) * [AFNetworking+RetryPolicy](https://github.com/kubatruhlar/AFNetworking-RetryPolicy) - An objective-c category that adds the ability to set the retry logic for requests made with AFNetworking. * [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. :large_orange_diamond: ⌚ * [Nikka](https://github.com/JustaLab/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx :large_orange_diamond: ⌚ +* [XMNetworking](https://github.com/kangzubin/XMNetworking) - A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. #### Email From 36fc6f61315400de8ae782700dc50530a9d640b9 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 19 Dec 2016 21:45:10 +0530 Subject: [PATCH 0724/2606] Added XestiMonitors (#1354) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91d58f5a1..67388e0eb 100644 --- a/README.md +++ b/README.md @@ -2018,6 +2018,7 @@ Most of these are paid services, some have free tiers. * [SwifterSwift](https://github.com/omaralbeik/SwifterSwift) - A handy collection of more than 290 native Swift 3 extensions to boost your productivity. :large_orange_diamond: * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. + * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift :large_orange_diamond: ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 6e65751ea525f72c7f3d788c81a83d1afe041ec5 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Tue, 20 Dec 2016 19:19:26 +0530 Subject: [PATCH 0725/2606] Added libPhoneNumber-iOS. (#1357) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 67388e0eb..aa3c1c58c 100644 --- a/README.md +++ b/README.md @@ -1266,6 +1266,7 @@ Most of these are paid services, some have free tiers. * [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. :large_orange_diamond: * [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/Ranks/emojione). :large_orange_diamond: * [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. :large_orange_diamond: +* [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). ## Testing From 82ecde31aca15881e0d7f54da0217bc515ebc067 Mon Sep 17 00:00:00 2001 From: abdullahselek Date: Tue, 20 Dec 2016 17:08:36 +0300 Subject: [PATCH 0726/2606] - add Lighty logger --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aa3c1c58c..424891707 100644 --- a/README.md +++ b/README.md @@ -678,6 +678,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [StoryTeller](https://github.com/drekka/StoryTeller) - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important. * [LumberMill](https://github.com/ubclaunchpad/LumberMill) - Stupidly simple logging for iOS 10 and Swift 3.0 * [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. Written in Swift 3. :large_orange_diamond: +* [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger in with Swift 3. :large_orange_diamond: ## Machine Learning * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: From ce55a49cd34a72c4b792cfe2a363a792a1e283f7 Mon Sep 17 00:00:00 2001 From: abdullahselek Date: Tue, 20 Dec 2016 17:09:46 +0300 Subject: [PATCH 0727/2606] - lighty logger --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 424891707..9d14ed22a 100644 --- a/README.md +++ b/README.md @@ -678,7 +678,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [StoryTeller](https://github.com/drekka/StoryTeller) - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important. * [LumberMill](https://github.com/ubclaunchpad/LumberMill) - Stupidly simple logging for iOS 10 and Swift 3.0 * [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. Written in Swift 3. :large_orange_diamond: -* [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger in with Swift 3. :large_orange_diamond: +* [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger with Swift 3. :large_orange_diamond: ## Machine Learning * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: From 59b0c4e106fc26b2912a18c143ffeef03e68dc01 Mon Sep 17 00:00:00 2001 From: Reid Chatham Date: Tue, 20 Dec 2016 18:36:03 -0800 Subject: [PATCH 0728/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aa3c1c58c..ce7ba75ca 100644 --- a/README.md +++ b/README.md @@ -248,6 +248,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. * [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect :large_orange_diamond: * [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. +* [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. :large_orange_diamond: ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From f5e605499f9a350d5ab6bdf5d1a4182025a4ce68 Mon Sep 17 00:00:00 2001 From: Vadym Markov Date: Wed, 21 Dec 2016 15:47:36 +0100 Subject: [PATCH 0729/2606] Add Lightbox (#1360) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index aa3c1c58c..1cc331394 100644 --- a/README.md +++ b/README.md @@ -804,6 +804,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. :large_orange_diamond: * [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. :large_orange_diamond: * [FacebookImagePicker](https://github.com/terflogag/FacebookImagePicker) - Facebook album photo picker written in Swift. :large_orange_diamond: +* [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: @@ -1562,7 +1563,7 @@ Most of these are paid services, some have free tiers. * [Hedwig](https://github.com/Lab111/Hedwig) - Interactive Notification. 🔶 * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: * [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift 🔶 -* [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. +* [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 77150044a242e59e3f1cc8091fa95227707db1aa Mon Sep 17 00:00:00 2001 From: Michael Dove Date: Thu, 22 Dec 2016 10:03:02 +1100 Subject: [PATCH 0730/2606] Added MaterialComponents. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1cc331394..fd90930d3 100644 --- a/README.md +++ b/README.md @@ -1348,6 +1348,7 @@ Most of these are paid services, some have free tiers. * [AsyncDisplayKit](https://github.com/facebook/AsyncDisplayKit/) - AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. * [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. :large_orange_diamond: * [MVMaterialView](https://github.com/TheMrugraj/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. +* [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: From c0b78209227ea45016fad17cdcdaf957542b3cc5 Mon Sep 17 00:00:00 2001 From: Michael Dove Date: Thu, 22 Dec 2016 10:08:16 +1100 Subject: [PATCH 0731/2606] Moved MaterialComponents to end of list. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fd90930d3..0ce6cc734 100644 --- a/README.md +++ b/README.md @@ -1348,7 +1348,6 @@ Most of these are paid services, some have free tiers. * [AsyncDisplayKit](https://github.com/facebook/AsyncDisplayKit/) - AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. * [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. :large_orange_diamond: * [MVMaterialView](https://github.com/TheMrugraj/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. -* [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: @@ -1462,6 +1461,7 @@ Most of these are paid services, some have free tiers. * [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control :large_orange_diamond: * [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button :large_orange_diamond: * [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards :large_orange_diamond: +* [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. #### Activity Indicator From ac489401870bd0735dfcf6b73f4708e579a4f2e6 Mon Sep 17 00:00:00 2001 From: Edwin Vermeer Date: Thu, 22 Dec 2016 10:25:16 +0100 Subject: [PATCH 0732/2606] added AttributedTextView source can be found at https://github.com/evermeer/AttributedTextView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1cc331394..f48296b22 100644 --- a/README.md +++ b/README.md @@ -1268,6 +1268,7 @@ Most of these are paid services, some have free tiers. * [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/Ranks/emojione). :large_orange_diamond: * [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. :large_orange_diamond: * [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). +* [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). ## Testing From 6d201add0bc9995c4a5b45bab0d7271bd91adb63 Mon Sep 17 00:00:00 2001 From: Luke Zhao Date: Thu, 22 Dec 2016 08:48:22 -0500 Subject: [PATCH 0733/2606] Add Hero (#1351) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1cc331394..5fcd13cf0 100644 --- a/README.md +++ b/README.md @@ -1723,6 +1723,7 @@ Most of these are paid services, some have free tiers. * [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like ios task manager :large_orange_diamond: * [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. :large_orange_diamond: * [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. :large_orange_diamond: +* [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. :large_orange_diamond: #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 631cdada6fccad4c07e5a3e0a821bc33bc0f0a6a Mon Sep 17 00:00:00 2001 From: Alexandr Graschenkov Date: Fri, 23 Dec 2016 00:44:47 +0300 Subject: [PATCH 0734/2606] Update README.md Added link to the most powerful chart library. Best change made ever --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5fcd13cf0..8f33c7eda 100644 --- a/README.md +++ b/README.md @@ -291,6 +291,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and OS X ## Charts +* [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantasticly fast and fully customizable. Amazing animations available with MagicPie!!1 :large_orange_diamond: 🎉 ✨✨✨✨✨ * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: * [JTChartView](https://github.com/kubatruhlar/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. * [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS From f473ae739ccb44bd56f6c11d4f3ddc148e6b1c4d Mon Sep 17 00:00:00 2001 From: Kiran Date: Thu, 22 Dec 2016 19:32:38 -0800 Subject: [PATCH 0735/2606] Added Apple Family --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5fcd13cf0..dfbf4c5d2 100644 --- a/README.md +++ b/README.md @@ -553,6 +553,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CocoaMultipeer](https://github.com/manavgabhawala/CocoaMultipeer) - This repository is a peer to peer framework for OS X, iOS and watchOS 2 that presents a similar interface to the MultipeerConnectivity framework (which is iOS only) that lets you connect any 2 devices from any platform. :large_orange_diamond: * [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift :large_orange_diamond: * [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework :large_orange_diamond: +* [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with bluetooth or wifi. :large_orange_diamond: #### Camera * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. From 6db964e5d8ac1b3457a35e8d14f68cfd66962f9d Mon Sep 17 00:00:00 2001 From: Alexandr Graschenkov Date: Fri, 23 Dec 2016 12:15:53 +0300 Subject: [PATCH 0736/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8f33c7eda..cf51ff943 100644 --- a/README.md +++ b/README.md @@ -291,7 +291,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and OS X ## Charts -* [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantasticly fast and fully customizable. Amazing animations available with MagicPie!!1 :large_orange_diamond: 🎉 ✨✨✨✨✨ * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: * [JTChartView](https://github.com/kubatruhlar/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. * [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS @@ -312,6 +311,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS! * [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. * [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift :large_orange_diamond: +* [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantasticly fast and fully customizable. Amazing animations available with MagicPie!!1 :large_orange_diamond: 🎉 ✨✨✨✨✨ ## Code Quality * [KZBootstrap](https://github.com/krzysztofzablocki/KZBootstrap) - iOS project bootstrap aimed at high quality coding. From 63c65ccb0aa2ef33b0dba616d67b47065316e2d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Fran=C3=A7a=20dos=20Santos?= Date: Fri, 23 Dec 2016 16:34:41 -0200 Subject: [PATCH 0737/2606] added WatchShaker - simple(watchOS) shake gesture. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit added WatchShaker - Simple motion detector for ⌚️ (watchOS) shake gesture. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d0f454142..54fc236e7 100644 --- a/README.md +++ b/README.md @@ -633,6 +633,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. :large_orange_diamond: * [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. :large_orange_diamond: * [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. :large_orange_diamond: +* [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. :large_orange_diamond: + ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From 1d05208e762eacaa7874de98bd04fba82a401f25 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 23 Dec 2016 18:21:05 -0200 Subject: [PATCH 0738/2606] Added AKSideMenu by @dogo fixes #1350 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b284d7bcc..c65314c82 100644 --- a/README.md +++ b/README.md @@ -1709,6 +1709,7 @@ Most of these are paid services, some have free tiers. * [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. :large_orange_diamond: * [RHSideButtons](https://github.com/robertherdzik/RHSideButtons) - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. :large_orange_diamond: * [Swift-CircleMenu](https://github.com/Sufi-Al-Hussaini/Swift-CircleMenu) - Rotating circle menu written in Swift 3. :large_orange_diamond: +* [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. :large_orange_diamond: #### Modal Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 43a0ffa34136b54dd7e73255f85fd7bb9102b4a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Fran=C3=A7a=20dos=20Santos?= Date: Fri, 23 Dec 2016 18:46:11 -0200 Subject: [PATCH 0739/2606] fixed extra line --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 54fc236e7..05067cadb 100644 --- a/README.md +++ b/README.md @@ -635,7 +635,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. :large_orange_diamond: * [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. :large_orange_diamond: - ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. * [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. :large_orange_diamond: From 9b753a127140b4a597122a95bf3457c44da665d6 Mon Sep 17 00:00:00 2001 From: Pilipenko Dima Date: Mon, 26 Dec 2016 00:11:02 +0200 Subject: [PATCH 0740/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52d2eb060..5bf0a2d0e 100644 --- a/README.md +++ b/README.md @@ -1204,6 +1204,7 @@ Most of these are paid services, some have free tiers. * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). * [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. :large_orange_diamond: * [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. :large_orange_diamond: +* [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts ## Testing From 17f34974a438c9ece208adc5273ca80365af0e86 Mon Sep 17 00:00:00 2001 From: YyGgQq Date: Mon, 26 Dec 2016 12:15:57 +0800 Subject: [PATCH 0741/2606] Add YUSegment --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ecbcc72b..e7db44987 100644 --- a/README.md +++ b/README.md @@ -1845,6 +1845,7 @@ Most of these are paid services, some have free tiers. * [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. :large_orange_diamond: * [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) - A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products. * [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. :large_orange_diamond: +* [YUSegment](https://github.com/afishhhhh/YUSegment) - A customizable segmented control for iOS. Supports both text and image. #### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From 4aba8252778636698c45f7cb00751794f63cc32c Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 26 Dec 2016 11:14:41 +0530 Subject: [PATCH 0742/2606] Added AvatarImageView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ecbcc72b..ebe5df48d 100644 --- a/README.md +++ b/README.md @@ -810,6 +810,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. :large_orange_diamond: * [FacebookImagePicker](https://github.com/terflogag/FacebookImagePicker) - Facebook album photo picker written in Swift. :large_orange_diamond: * [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. :large_orange_diamond: +* [AvatarImageView](https://github.com/ayushn21/AvatarImageView) - AvatarImageView is a UIImageView subclass designed to show a user's profile picture, falling back to their initials when a picture is unavailable. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From b89e52e7cf37d72b6bb1a68561a0942179177ff9 Mon Sep 17 00:00:00 2001 From: Felix M Date: Wed, 28 Dec 2016 18:29:39 +0100 Subject: [PATCH 0743/2606] Add GradientLoadingBar (#1372) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 21235cb45..9a46aa26d 100644 --- a/README.md +++ b/README.md @@ -1518,6 +1518,7 @@ Most of these are paid services, some have free tiers. * [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. :large_orange_diamond: * [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. * [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. :large_orange_diamond: +* [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. :large_orange_diamond: #### Alerts From 6bcd0fffd9a3aa086a5a54b14cd2a1fa12e6d7ca Mon Sep 17 00:00:00 2001 From: Pilipenko Dima Date: Wed, 28 Dec 2016 18:49:10 +0100 Subject: [PATCH 0744/2606] Update README.md (#1367) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9a46aa26d..c414e2974 100644 --- a/README.md +++ b/README.md @@ -1275,6 +1275,7 @@ Most of these are paid services, some have free tiers. * [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. :large_orange_diamond: * [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). * [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). +* [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts ## Testing From fdc19040bc0160b428390a3c7ce24d4d3a6de343 Mon Sep 17 00:00:00 2001 From: Oded Harth Date: Fri, 30 Dec 2016 17:43:31 +0200 Subject: [PATCH 0745/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c414e2974..ddea77ce6 100644 --- a/README.md +++ b/README.md @@ -1867,6 +1867,7 @@ Most of these are paid services, some have free tiers. * [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager similar to the one in Flipboard :large_orange_diamond: * [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. :large_orange_diamond: * [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. :large_orange_diamond: +* [SuperBadges](https://github.com/odedharth/SuperBadges) - Add emojis and colored dots as badges for your Tab Bar buttons 🔶 #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From ff12a5b4f63b1f4f0d1aefa378359fb8b0a2edee Mon Sep 17 00:00:00 2001 From: Nikita Ermolenko Date: Fri, 30 Dec 2016 22:54:15 +0600 Subject: [PATCH 0746/2606] Add `Framezilla` to `Layout` section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c414e2974..6c5e248e2 100644 --- a/README.md +++ b/README.md @@ -617,6 +617,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. :large_orange_diamond: * [Compose](https://github.com/VivaReal/Compose) - Compose is a library that helps you compose complex and dynamic views. :large_orange_diamond: * [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. :large_orange_diamond: +* [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. :large_orange_diamond: #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From f4e6c2bb73dbafc2b3f89fa03ef41c6a8ab518f2 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Fri, 30 Dec 2016 19:18:47 -0200 Subject: [PATCH 0747/2606] Update Couchbase Mobile url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7cc82e56b..b9488e8db 100644 --- a/README.md +++ b/README.md @@ -413,7 +413,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. * [YapDatabase](https://github.com/yapstudios/YapDatabase) - YapDatabase is an extensible database for iOS & Mac. -* [Couchbase Mobile](http://developer.couchbase.com/mobile/) - Couchbase document store for mobile with cloud sync. +* [Couchbase Mobile](https://developer.couchbase.com/mobile/) - Couchbase document store for mobile with cloud sync. * [FMDB](https://github.com/ccgus/fmdb) - A Cocoa / Objective-C wrapper around SQLite. * [Akaibu-NSUserDefaults](https://github.com/roytang121/Akaibu-NSUserDefaults) - a Swifty Key-value store for archiving NSObject in only one line of code. Class properties are automatically mapped and archived under the hood. * [FCModel](https://github.com/marcoarment/FCModel) - An alternative to Core Data for people who like having direct SQL access. From 3726e5b4ad0b2074003007d344e36059f0c35e18 Mon Sep 17 00:00:00 2001 From: Devesh Laungani Date: Fri, 30 Dec 2016 19:35:17 -0600 Subject: [PATCH 0748/2606] Add DLLocalNotifications (#1349) * created new high-level category Notifications * minor error * added full stop in description * fixed spacing issues and fixed order of categories Also moved misplaced Email section to correct spot. (my previous error) * added space between email tag and items * added link to subsection push notification provide --- README.md | 63 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index b9488e8db..e2f4dceb7 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,10 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Video](#video) - [Messaging](#messaging) - [Networking](#networking) + - [Notifications](#notifications) + - [Push Notifications](#push-notifications) + - [Push Notification Providers](#push-notification-providers) + - [Local Notifications](#local-notifications) - [Parsing](#parsing) - [CSV](#csv) - [JSON](#json) @@ -90,8 +94,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Payments](#payments) - [Permissions](#permissions) - [Products](#products) - - [Push Notifications](#push-notifications) - - [Push Notification Providers](#push-notification-providers) - [Reactive Programming](#reactive-programming) - [Reflection](#reflection) - [Regex](#regex) @@ -932,6 +934,37 @@ Also see [push notifications](#push-notifications) * [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. * [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. :large_orange_diamond: +## Notifications + +#### Push Notifications +* [Orbiter](https://github.com/mattt/Orbiter) - Push Notification Registration for iOS. +* [PEM](https://github.com/fastlane/fastlane/tree/master/pem) - Automatically generate and renew your push notification profiles. +* [Knuff](https://github.com/KnuffApp/Knuff) - The debug application for Apple Push Notification Service (APNS). +* [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework https://developers.facebook.com/docs/analytics/push-campaigns +* [NWPusher](https://github.com/noodlewerk/NWPusher) - OS X and iOS application and framework to play with the Apple Push Notification service (APNs) +* [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator + +##### Push Notification Providers + +Most of these are paid services, some have free tiers. + +* [Urban Airship](https://www.urbanairship.com/products/mobile-app-engagement ) +* [Growth Push](https://growthpush.com) - Popular in Japan. +* [Appboy](https://www.appboy.com) +* [Batch](https://batch.com) +* [Boxcar](https://boxcar.io) +* [Carnival](http://www.carnival.io) +* [Catapush](http://www.catapush.com/) +* [Netmera](http://www.netmera.com) +* [OneSignal](https://onesignal.com) - Free. +* [PushBots](https://pushbots.com/) +* [Pushwoosh](https://www.pushwoosh.com) +* [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. +* [Pusher](https://pusher.com/push-notifications) - Free and unlimited. + +#### Local Notifications +* [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. :large_orange_diamond: + ## Parsing #### CSV @@ -1042,32 +1075,6 @@ Also see [push notifications](#push-notifications) * [Tapglue](https://www.tapglue.com) - Build social products and a activity feed with a few lines of code. * [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. -## Push Notifications -* [Orbiter](https://github.com/mattt/Orbiter) - Push Notification Registration for iOS. -* [PEM](https://github.com/fastlane/fastlane/tree/master/pem) - Automatically generate and renew your push notification profiles. -* [Knuff](https://github.com/KnuffApp/Knuff) - The debug application for Apple Push Notification Service (APNS). -* [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework https://developers.facebook.com/docs/analytics/push-campaigns -* [NWPusher](https://github.com/noodlewerk/NWPusher) - OS X and iOS application and framework to play with the Apple Push Notification service (APNs) -* [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator - -#### Push Notification Providers - -Most of these are paid services, some have free tiers. - -* [Urban Airship](https://www.urbanairship.com/products/mobile-app-engagement ) -* [Growth Push](https://growthpush.com) - Popular in Japan. -* [Appboy](https://www.appboy.com) -* [Batch](https://batch.com) -* [Boxcar](https://boxcar.io) -* [Carnival](http://www.carnival.io) -* [Catapush](http://www.catapush.com/) -* [Netmera](http://www.netmera.com) -* [OneSignal](https://onesignal.com) - Free. -* [PushBots](https://pushbots.com/) -* [Pushwoosh](https://www.pushwoosh.com) -* [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. -* [Pusher](https://pusher.com/push-notifications) - Free and unlimited. - ## Reactive Programming * [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift :large_orange_diamond: * [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extentions for Swift optionals and "Occupiable" types :large_orange_diamond:[e] From a4bb4edb5c66be09e777ea03f92aed0613b5c803 Mon Sep 17 00:00:00 2001 From: Nikita Ermolenko Date: Sat, 31 Dec 2016 22:45:39 +0600 Subject: [PATCH 0749/2606] Add XShared --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c414e2974..c59700fca 100644 --- a/README.md +++ b/README.md @@ -2264,6 +2264,7 @@ Most of these are paid services, some have free tiers. * [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. :large_orange_diamond: * [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. :large_orange_diamond: * [Mark](https://github.com/velyan/Mark) - Xcode extension for generating MARK comments. :large_orange_diamond: +* [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). :large_orange_diamond: #### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From 248a12b5186528dae9908e5110a9ac230ab58b98 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 1 Jan 2017 16:52:47 -0200 Subject: [PATCH 0750/2606] Removed CleanroomASL because it was deprecated --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index e97d816fe..bb9a49c09 100644 --- a/README.md +++ b/README.md @@ -669,7 +669,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AFNetworkActivityLogger](https://github.com/AFNetworking/AFNetworkActivityLogger) - AFNetworking 2.0 Extension for Network Request Logging * [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! :large_orange_diamond:[e] * [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. :large_orange_diamond: -* [CleanroomASL](https://github.com/emaloney/CleanroomASL) - A Swift-based API for reading from & writing to the Apple System Log (more commonly known somewhat inaccurately as "the console") :large_orange_diamond: * [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. :large_orange_diamond: * [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. :large_orange_diamond: * [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. :large_orange_diamond: From 170528a46a36abcd72950b3e310373d4419dedac Mon Sep 17 00:00:00 2001 From: Arpan Date: Mon, 2 Jan 2017 01:02:29 +0530 Subject: [PATCH 0751/2606] Added MFCard MFCard is minimal credit card UI for payments integration. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb9a49c09..8552ee7ec 100644 --- a/README.md +++ b/README.md @@ -1055,6 +1055,7 @@ Most of these are paid services, some have free tiers. * [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift :large_orange_diamond: * [ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn) - Luhn Credit Card Validation Algorithm * [RMStore](https://github.com/robotmedia/RMStore) - A lightweight iOS library for In-App Purchases +* [MFCard](https://github.com/mobilefirstinc/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI ## Permissions * [PermissionScope](https://github.com/nickoneill/PermissionScope) - Intelligent iOS permissions UI and unified API (Supports Location, Notifications, Camera, Contacts, Calendar, Photos, Microphone, BT, Activity Monitoring, HealthKit and CloudKit). :large_orange_diamond: From 442cce3b94f8a167f50802b9752a4572a96129f7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 1 Jan 2017 21:05:18 -0200 Subject: [PATCH 0752/2606] Added Amazon to whitelist --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c8c6adf10..fd598d504 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,6 @@ before_script: - gem install danger script: - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,PerfectlySoft - - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix + - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix,amazon - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger From 129980bc13c3acd58694228a22d5dc6f5d1cf239 Mon Sep 17 00:00:00 2001 From: Will Powell Date: Mon, 2 Jan 2017 12:53:15 +0000 Subject: [PATCH 0753/2606] Added LocalizationKit to internationalize your app (#1377) * Added LocalizationKit to internationalize your app LocalizationKit within the Localization section to localize your app translations and texts. * moved to last row --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e552d07c..874a01a8e 100644 --- a/README.md +++ b/README.md @@ -616,10 +616,10 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. * [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. -* [LocationKit](https://locationkit.io) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information * [SwiftLocation](https://github.com/malcommac/SwiftLocation) - CoreLocation Made Easy, 100% Swift :large_orange_diamond: * [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. * [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: +* [LocationKit](https://locationkit.io) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information :large_orange_diamond: #### Other Hardware * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. @@ -636,6 +636,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Rubustrings](https://github.com/dcordero/Rubustrings) - Check the format and consistency of Localizable.strings files * [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) - Incrementally update/translate your Strings files from Code and Storyboards/XIBs. :large_orange_diamond: * [Lin](https://github.com/questbeat/Lin) - Xcode plugin that provides auto-completion for NSLocalizedString. +* [LocalizationKit](https://github.com/willpowell8/LocalizationKit_iOS) - Localization management in realtime from a web portal. Easily manage your texts and translations without redeploy and resubmission. * [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching :large_orange_diamond: * [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. * [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. From 628da3b715c9f8b807d797739e62dda8c03b2a77 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 2 Jan 2017 11:00:30 -0200 Subject: [PATCH 0754/2606] Added ReactiveSwift by @ReactiveCocoa --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 874a01a8e..e5a56c1e7 100644 --- a/README.md +++ b/README.md @@ -1095,6 +1095,7 @@ Most of these are paid services, some have free tiers. * [JASONETTE-iOS](https://github.com/Jasonette/JASONETTE-iOS) - Native App over HTTP. Create your own native iOS app with nothing but JSON. * [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: * [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: +* [ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) - Streams of values over time by ReactiveCocoa group ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From ba38acbd5ee4da57fad9b7564a0ec13c7528a50d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 2 Jan 2017 18:51:00 -0200 Subject: [PATCH 0755/2606] Added SKTiled by @mfessenden --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e5a56c1e7..fe57e85cc 100644 --- a/README.md +++ b/README.md @@ -519,6 +519,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Games * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: * [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. :large_orange_diamond: +* [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit :large_orange_diamond: ## Gesture * [Tactile](https://github.com/delba/Tactile) - The Swift way to add UIGestureRecognizer and to react to UIControlEvents :large_orange_diamond: From 300f77240033074aa9542030015fae8f09d4d271 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 2 Jan 2017 18:53:42 -0200 Subject: [PATCH 0756/2606] Added PlayAlways by @insidegui --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fe57e85cc..f628df981 100644 --- a/README.md +++ b/README.md @@ -2160,6 +2160,7 @@ Most of these are paid services, some have free tiers. * [Cookiecutter](https://github.com/cookiecutter-swift/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: * [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. :large_orange_diamond: * [AssetChecker 👮](https://github.com/s4cha/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. :large_orange_diamond: +* [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 56501cecf3fd0530f8d8ea89a7cc7126aea265f6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 2 Jan 2017 18:55:43 -0200 Subject: [PATCH 0757/2606] Added NoticeBar by @qiuncheng --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f628df981..965f5f83b 100644 --- a/README.md +++ b/README.md @@ -1577,6 +1577,7 @@ Most of these are paid services, some have free tiers. * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: * [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift 🔶 * [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. +* [NoticeBar](https://github.com/qiuncheng/NoticeBar) - 😍A simple NoticeBar written by Swift 3, similar with QQ notice view. :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From d2d8b0eb05f63313600f577b9f30656ce83510b9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 2 Jan 2017 18:57:38 -0200 Subject: [PATCH 0758/2606] Added CameraEngine by @remirobert --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 965f5f83b..4d68612ed 100644 --- a/README.md +++ b/README.md @@ -569,6 +569,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FastttCamera](https://github.com/IFTTT/FastttCamera) - Fasttt and easy camera framework for iOS with customizable filters * [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. 🔶 * [NextLevel](https://github.com/NextLevel/NextLevel) - Next Level is a media capture camera library for iOS. :large_orange_diamond: +* [CameraEngine](https://github.com/remirobert/CameraEngine) - 🐒📷 Camera engine for iOS, written in Swift, above AVFoundation. 🐒 :large_orange_diamond: #### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: From 029bfa2288be13c78e8757b57d2159aff8c368e2 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 5 Jan 2017 10:20:59 -0800 Subject: [PATCH 0759/2606] Add punic to Dependency / Package Manager [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4d68612ed..ab9880a24 100644 --- a/README.md +++ b/README.md @@ -2105,6 +2105,7 @@ Most of these are paid services, some have free tiers. * [CocoaSeeds](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. * [Podage](https://github.com/jensmeder/Podage) - A simple tool to bundle any Cocoapod and its dependencies into frameworks. * [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language, by Apple :large_orange_diamond: +* [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool # Tools * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: From a3e72447dd5a8554b1e2268c47cc6680a86a44bd Mon Sep 17 00:00:00 2001 From: Ryne Cheow Date: Fri, 6 Jan 2017 13:19:05 +0800 Subject: [PATCH 0760/2606] PopupKit to replace unmaintained KLCPopup. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ab9880a24..a884d90b3 100644 --- a/README.md +++ b/README.md @@ -1758,7 +1758,8 @@ Most of these are paid services, some have free tiers. * [AIDatePickerController](https://github.com/alikaragoz/AIDatePickerController) - :date: UIDatePicker modally presented with iOS 7 custom transitions. #### Popup -* [KLCPopup](https://github.com/jmascia/KLCPopup) - A simple and flexible class for presenting custom views as a popup in iOS. + +* [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. * [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. * [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. :large_orange_diamond: From b1514a4bb027bdebd01b290e9639a4a1da04bc4e Mon Sep 17 00:00:00 2001 From: Ryne Cheow Date: Fri, 6 Jan 2017 13:29:05 +0800 Subject: [PATCH 0761/2606] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a884d90b3..205d699fb 100644 --- a/README.md +++ b/README.md @@ -1758,7 +1758,6 @@ Most of these are paid services, some have free tiers. * [AIDatePickerController](https://github.com/alikaragoz/AIDatePickerController) - :date: UIDatePicker modally presented with iOS 7 custom transitions. #### Popup - * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. * [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. From 006992b077110fc9601a3e8cf59fae6b7cac79d0 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Fri, 6 Jan 2017 11:22:34 -0800 Subject: [PATCH 0762/2606] Update README URLs based on HTTP redirects (#1383) [ci skip] --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 205d699fb..fa45408e0 100644 --- a/README.md +++ b/README.md @@ -450,7 +450,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Brick](https://github.com/hyperoslo/Brick) - A generic view model for both basic and complex scenarios :large_orange_diamond: * [Algorithm](https://github.com/CosmicMind/Algorithm) - A toolset for writing algorithms and probability models in Swift :large_orange_diamond: * [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. :large_orange_diamond: -* [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript http://www.dollarswift.org. :large_orange_diamond: +* [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript https://www.dollarswift.org/. :large_orange_diamond: * [Result](https://github.com/antitypical/Result) - Swift type modelling the success/failure of arbitrary operations. :large_orange_diamond: * [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. * [Monaka](https://github.com/naru-jpn/Monaka) - Convert custom struct and fundamental values to NSData. @@ -1038,7 +1038,7 @@ Most of these are paid services, some have free tiers. * [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowlege on Backend. * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. -* [Moltin](https://moltin.com/ios-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. +* [Moltin](https://www.moltin.com/ios-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. * [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. :large_orange_diamond: * [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and OSX 9.0+ :large_orange_diamond: * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS :large_orange_diamond: @@ -2156,7 +2156,7 @@ Most of these are paid services, some have free tiers. * [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. :large_orange_diamond: * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. -* [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net/#/repl) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: +* [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net/verify) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A Mac OS X library for managing and manipulating iOS Simulators * [IconResizer](https://iconresizer.com/) - A simple web application to resize iPhone and iPad app icons for the App Store * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. @@ -2375,7 +2375,7 @@ Most of these are paid services, some have free tiers. #### Prototyping * [FluidUI](https://www.fluidui.com) * [Proto.io](https://proto.io/) -* [Framer](https://framerjs.com/) +* [Framer](https://framer.com/) * [Pixate](http://www.pixate.com/) * [Principle](http://principleformac.com) From 692b0ce99d444a127a68c6df602563aebcfe7398 Mon Sep 17 00:00:00 2001 From: Farshid Ghods Date: Sat, 7 Jan 2017 23:37:57 -0800 Subject: [PATCH 0763/2606] added RKMultiUnitRuler under UI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fa45408e0..2fa78ede5 100644 --- a/README.md +++ b/README.md @@ -1474,6 +1474,7 @@ Most of these are paid services, some have free tiers. * [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button :large_orange_diamond: * [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards :large_orange_diamond: * [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. +* [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. 🔶 #### Activity Indicator From b068f79c00bbc90d61528bb32a1c226e2772dcb9 Mon Sep 17 00:00:00 2001 From: Derek Date: Sun, 8 Jan 2017 19:54:32 +0800 Subject: [PATCH 0764/2606] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fa45408e0..1a916f7d5 100644 --- a/README.md +++ b/README.md @@ -1574,7 +1574,7 @@ Most of these are paid services, some have free tiers. * [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. * [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. * [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. -* [Hedwig](https://github.com/Lab111/Hedwig) - Interactive Notification. 🔶 +* [Hedwig](https://github.com/Lab111/Hedwig) - Interactive notification :large_orange_diamond: * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: * [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift 🔶 * [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. @@ -1820,6 +1820,7 @@ Most of these are paid services, some have free tiers. * [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. :large_orange_diamond: * [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. :large_orange_diamond: * [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. :large_orange_diamond: +* [PivotSlider](https://github.com/lab111/pivot-slider) - Slider that pivots :large_orange_diamond: #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. From 7e3534b7c292c510ab9e29bc98b0df4c98e9dbda Mon Sep 17 00:00:00 2001 From: Dylan Marriott Date: Mon, 9 Jan 2017 16:31:07 +0100 Subject: [PATCH 0765/2606] Added DMSwipeCards (#1386) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c6f4e4bb..bff40bfee 100644 --- a/README.md +++ b/README.md @@ -1474,6 +1474,7 @@ Most of these are paid services, some have free tiers. * [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button :large_orange_diamond: * [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards :large_orange_diamond: * [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. +* [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics :large_orange_diamond: * [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. 🔶 #### Activity Indicator From 0fbc98e5d50a5b6d8379fab0739195f6aae3cb6e Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 9 Jan 2017 21:01:40 +0530 Subject: [PATCH 0766/2606] Add ODUIThreadGuard in Code Quality (#1387) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bff40bfee..a8d82349a 100644 --- a/README.md +++ b/README.md @@ -335,6 +335,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. :large_orange_diamond: * [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. * [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. :large_orange_diamond: +* [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. :large_orange_diamond: #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 59ba94bda451c5ac65af85ef32401eb496d9a355 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 9 Jan 2017 21:02:15 +0530 Subject: [PATCH 0767/2606] Add GDPerformanceView-Swift in Tools (#1388) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a8d82349a..42d4a0c07 100644 --- a/README.md +++ b/README.md @@ -2168,6 +2168,7 @@ Most of these are paid services, some have free tiers. * [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. :large_orange_diamond: * [AssetChecker 👮](https://github.com/s4cha/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. :large_orange_diamond: * [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar :large_orange_diamond: +* [GDPerformanceView-Swift](https://github.com/dani-gavrilov/GDPerformanceView-Swift) - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate. :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From e266f994ec25f298c9500f639033e5940e5cd158 Mon Sep 17 00:00:00 2001 From: Mukesh Thawani Date: Mon, 9 Jan 2017 21:02:43 +0530 Subject: [PATCH 0768/2606] Add FAQView (#1389) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 42d4a0c07..6dbcce1da 100644 --- a/README.md +++ b/README.md @@ -1477,6 +1477,7 @@ Most of these are paid services, some have free tiers. * [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. * [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics :large_orange_diamond: * [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. 🔶 +* [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. :large_orange_diamond: #### Activity Indicator From 82c81be1bbebf7147c0512011b0cc86ff3884e96 Mon Sep 17 00:00:00 2001 From: AO2666 Date: Mon, 9 Jan 2017 07:33:16 -0800 Subject: [PATCH 0769/2606] Add Ebblink SDK (#1380) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6dbcce1da..3530ecc3a 100644 --- a/README.md +++ b/README.md @@ -809,6 +809,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FacebookImagePicker](https://github.com/terflogag/FacebookImagePicker) - Facebook album photo picker written in Swift. :large_orange_diamond: * [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. :large_orange_diamond: * [AvatarImageView](https://github.com/ayushn21/AvatarImageView) - AvatarImageView is a UIImageView subclass designed to show a user's profile picture, falling back to their initials when a picture is unavailable. :large_orange_diamond: +* [Ebblink](https://github.com/ebbapp/ebblinkSDK) - An iOS SDK for sharing photos that automatically expire and can be deleted at any time. #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From ee28e3063aec5885a60b0be1f3460a434dec8d7e Mon Sep 17 00:00:00 2001 From: Antonio Zaitoun Date: Tue, 10 Jan 2017 14:44:11 +0200 Subject: [PATCH 0770/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3530ecc3a..af2bff039 100644 --- a/README.md +++ b/README.md @@ -1879,6 +1879,7 @@ Most of these are paid services, some have free tiers. * [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. :large_orange_diamond: * [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. :large_orange_diamond: * [SuperBadges](https://github.com/odedharth/SuperBadges) - Add emojis and colored dots as badges for your Tab Bar buttons 🔶 +* [AZTabBarController](https://github.com/Minitour/AZTabBarController) - A custom tab bar controller for iOS written in Swift 3.0 🔶 #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From 8b75d711b1049ad07097acb9ec36f890a0a109be Mon Sep 17 00:00:00 2001 From: Makoto Mori Date: Tue, 10 Jan 2017 23:43:14 +0900 Subject: [PATCH 0771/2606] Add Sharaku (#1391) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3530ecc3a..9c1a8735f 100644 --- a/README.md +++ b/README.md @@ -810,6 +810,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. :large_orange_diamond: * [AvatarImageView](https://github.com/ayushn21/AvatarImageView) - AvatarImageView is a UIImageView subclass designed to show a user's profile picture, falling back to their initials when a picture is unavailable. :large_orange_diamond: * [Ebblink](https://github.com/ebbapp/ebblinkSDK) - An iOS SDK for sharing photos that automatically expire and can be deleted at any time. +* [Sharaku](https://github.com/makomori/Sharaku) - Instagram-like image filter ViewController. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From c6a27d27e83c73585394c7c6b9edb553b159251d Mon Sep 17 00:00:00 2001 From: Anton Dolzhenko Date: Tue, 10 Jan 2017 18:05:28 +0200 Subject: [PATCH 0772/2606] Add RainyRefreshControl (#1379) Simple refresh control for iOS based on POP, SpriteKit and Core Graphics. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9c1a8735f..1ea79fad7 100644 --- a/README.md +++ b/README.md @@ -1793,6 +1793,7 @@ Most of these are paid services, some have free tiers. * [GIFRefreshControl](https://github.com/delannoyk/GIFRefreshControl) - GIFRefreshControl is a pull to refresh that supports GIF images as track animations. :large_orange_diamond: * [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: * [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView :large_orange_diamond: +* [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). :large_orange_diamond: #### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From 24b1aa1547d33cdc962a817d44a45736e7c4b8ee Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 11 Jan 2017 10:15:54 +0530 Subject: [PATCH 0773/2606] Added PieCharts. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1ea79fad7..034265513 100644 --- a/README.md +++ b/README.md @@ -307,6 +307,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. * [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift :large_orange_diamond: * [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantasticly fast and fully customizable. Amazing animations available with MagicPie!!1 :large_orange_diamond: 🎉 ✨✨✨✨✨ +* [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. :large_orange_diamond: ## Code Quality * [KZBootstrap](https://github.com/krzysztofzablocki/KZBootstrap) - iOS project bootstrap aimed at high quality coding. From fe17678a5b89e00c882c0914b0390a2eeac4c3c3 Mon Sep 17 00:00:00 2001 From: Farshid Ghods Date: Wed, 11 Jan 2017 20:43:01 -0800 Subject: [PATCH 0774/2606] added LightForm under Form & Settings --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f565622a3..75684f280 100644 --- a/README.md +++ b/README.md @@ -1650,6 +1650,7 @@ Most of these are paid services, some have free tiers. * [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. :large_orange_diamond: * [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. :large_orange_diamond: * [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. :large_orange_diamond: +* [LightForm](https://github.com/farshidce/LightForm) - A Simple interactive and customizable library to handle form input and validations #### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From f43011b8684e85d733bfea33851817a63109903f Mon Sep 17 00:00:00 2001 From: Dylan Marriott Date: Thu, 12 Jan 2017 21:46:03 +0100 Subject: [PATCH 0775/2606] Added MiniTabBar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f565622a3..a28a78d62 100644 --- a/README.md +++ b/README.md @@ -1883,6 +1883,7 @@ Most of these are paid services, some have free tiers. * [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. :large_orange_diamond: * [SuperBadges](https://github.com/odedharth/SuperBadges) - Add emojis and colored dots as badges for your Tab Bar buttons 🔶 * [AZTabBarController](https://github.com/Minitour/AZTabBarController) - A custom tab bar controller for iOS written in Swift 3.0 🔶 +* [MiniTabBar](https://github.com/D-32/MiniTabBar) - A clean simple alternative to the UITabBar 🔶 #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From 9e4a5cb408e5ab66b28c756beffa9456c8287b26 Mon Sep 17 00:00:00 2001 From: Nurdaulet Date: Fri, 13 Jan 2017 20:08:15 +0600 Subject: [PATCH 0776/2606] Add Intro (#1400) * Update README.md * Fix link issues --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 75684f280..abceeffae 100644 --- a/README.md +++ b/README.md @@ -752,7 +752,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. * [SDWebImage](https://github.com/rs/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. * [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. -* [MapleBacon](https://github.com/zalando/MapleBacon) - An image download and caching library for iOS written in Swift. :large_orange_diamond: +* [MapleBacon](https://github.com/zalando-incubator/MapleBacon) - An image download and caching library for iOS written in Swift. :large_orange_diamond: * [NYTPhotoViewer](https://github.com/NYTimes/NYTPhotoViewer) - Slideshow and image viewer. * [IDMPhotoBrowser](https://github.com/ideaismobile/IDMPhotoBrowser) - Photo Browser / Viewer. * [JTSImageViewController](https://github.com/jaredsinclair/JTSImageViewController) - Interactive iOS image viewer. @@ -2047,7 +2047,7 @@ Most of these are paid services, some have free tiers. * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . :large_orange_diamond: * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. :large_orange_diamond: * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. :large_orange_diamond: - * [SwifterSwift](https://github.com/omaralbeik/SwifterSwift) - A handy collection of more than 290 native Swift 3 extensions to boost your productivity. :large_orange_diamond: + * [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 290 native Swift 3 extensions to boost your productivity. :large_orange_diamond: * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift :large_orange_diamond: @@ -2076,6 +2076,7 @@ Most of these are paid services, some have free tiers. * [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. :large_orange_diamond: * [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider :large_orange_diamond: * [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. :large_orange_diamond: +* [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. :large_orange_diamond: ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From 618d86a1740f186b5174de6961e0ea92a59fefa5 Mon Sep 17 00:00:00 2001 From: Omar Albeik Date: Fri, 13 Jan 2017 21:19:57 +0200 Subject: [PATCH 0777/2606] Updated SwifterSwift (#1402) [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index abceeffae..0aabe64f7 100644 --- a/README.md +++ b/README.md @@ -2047,7 +2047,7 @@ Most of these are paid services, some have free tiers. * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . :large_orange_diamond: * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. :large_orange_diamond: * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. :large_orange_diamond: - * [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 290 native Swift 3 extensions to boost your productivity. :large_orange_diamond: + * [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 400 native Swift 3 extensions to boost your productivity. :large_orange_diamond: * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift :large_orange_diamond: From a735d0d8d6b7f0de773730efc72332bc190176ce Mon Sep 17 00:00:00 2001 From: abdullahselek Date: Sun, 15 Jan 2017 13:57:28 +0100 Subject: [PATCH 0778/2606] - add Merhaba --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0aabe64f7..ee15ec525 100644 --- a/README.md +++ b/README.md @@ -926,6 +926,7 @@ Also see [push notifications](#push-notifications) * [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. :large_orange_diamond: ⌚ * [Nikka](https://github.com/JustaLab/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx :large_orange_diamond: ⌚ * [XMNetworking](https://github.com/kangzubin/XMNetworking) - A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. +* [Merhaba](https://github.com/abdullahselek/Merhaba) - Bonjour networking for discovery and connection between iOS devices. #### Email From e63fc73cc34dbb2796a800e95c828dc957dc0dec Mon Sep 17 00:00:00 2001 From: Denys Telezhkin Date: Mon, 16 Jan 2017 15:29:54 +0200 Subject: [PATCH 0779/2606] add DTTableViewManager (#1405) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4bb7698d5..dbf204938 100644 --- a/README.md +++ b/README.md @@ -1940,6 +1940,7 @@ Most of these are paid services, some have free tiers. * [TORoundedTableView](https://github.com/TimOliver/TORoundedTableView) - A subclass of UITableView that styles it like Settings.app on iPad * [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. :large_orange_diamond: * [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ :large_orange_diamond: +* [DTTableViewManager](https://github.com/DenHeadless/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From ecf748f17ee5fa5afc285e658a80095b80dca7f4 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 16 Jan 2017 17:27:42 -0200 Subject: [PATCH 0780/2606] Add representations subcategory. --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index dbf204938..207d4b90f 100644 --- a/README.md +++ b/README.md @@ -932,6 +932,12 @@ Also see [push notifications](#push-notifications) * [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. * [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. :large_orange_diamond: +#### Representations + + * [apollo-ios](https://github.com/apollostack/apollo-ios) - A GraphQL client for iOS, written in Swift :large_orange_diamond: + * [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library purely written in Swift :large_orange_diamond: + * [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift http://protobuf.io/#swift :large_orange_diamond: + ## Notifications #### Push Notifications From eaaa60a20acbd263d126c7cb60f20588150f3d50 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Tue, 17 Jan 2017 09:57:10 +0530 Subject: [PATCH 0781/2606] Added Mustard. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 207d4b90f..51d69b287 100644 --- a/README.md +++ b/README.md @@ -1290,6 +1290,7 @@ Most of these are paid services, some have free tiers. * [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). * [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). * [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts +* [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. :large_orange_diamond: ## Testing From 577df05a3f10a0b5775f5712565eebf4b5101708 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 17 Jan 2017 03:28:25 -0200 Subject: [PATCH 0782/2606] Updated Evergreen's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e6db83e38..d1c8a0f10 100644 --- a/README.md +++ b/README.md @@ -669,7 +669,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. :large_orange_diamond: * [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. :large_orange_diamond: * [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. :large_orange_diamond: -* [Evergreen](https://github.com/viWiD/Evergreen) - Most natural Swift logging :large_orange_diamond: +* [Evergreen](https://github.com/knly/Evergreen) - Most natural Swift logging :large_orange_diamond: * [Logkit](https://github.com/logkit/logkit) - An efficient logging library for OS X, iOS, watchOS, and tvOS – written in Swift. Log to console, file, HTTP service, or your own endpoint. Simple to get started, but smartly customizable :large_orange_diamond: * [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations :large_orange_diamond: * [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. :large_orange_diamond: From 4a1be77e69debbbc1f34c3d04c8181f303f6ebf0 Mon Sep 17 00:00:00 2001 From: Amir Abbas Mousavian Date: Tue, 17 Jan 2017 14:26:24 +0330 Subject: [PATCH 0783/2606] Updated FileProvider description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d1c8a0f10..d639bbc57 100644 --- a/README.md +++ b/README.md @@ -501,7 +501,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: * [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: -* [FileProvider](https://github.com/amosavian/FileProvider) - NSFileManager replacement for local and remote (WebDAV/Dropbox/SMB2) files on iOS and macOS. :large_orange_diamond: +* [FileProvider](https://github.com/amosavian/FileProvider) - FileManager replacement for Local and Remote (WebDAV/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS. :large_orange_diamond: * [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. :large_orange_diamond: * [ZipArchive](https://github.com/ZipArchive/ZipArchive) - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac. * [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. :large_orange_diamond: From 19a6db471ff394a27436789205f756707e0789e3 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 18 Jan 2017 16:01:07 +0530 Subject: [PATCH 0784/2606] Add JustLog in Logging --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d1c8a0f10..5d734aca5 100644 --- a/README.md +++ b/README.md @@ -682,6 +682,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LumberMill](https://github.com/ubclaunchpad/LumberMill) - Stupidly simple logging for iOS 10 and Swift 3.0 * [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. Written in Swift 3. :large_orange_diamond: * [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger with Swift 3. :large_orange_diamond: +* [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. :large_orange_diamond: ## Machine Learning * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: From ac8e1f048941b86e12740900ac34e1cf0029f708 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 18 Jan 2017 16:07:03 +0530 Subject: [PATCH 0785/2606] Add JustPeek in Force Touch --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d1c8a0f10..57bff301e 100644 --- a/README.md +++ b/README.md @@ -575,6 +575,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: +* [JustPeek](https://github.com/justeat/JustPeek) - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. :large_orange_diamond: #### iBeacon * [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. From b7ba13b5654dd28670966f9f8c3eec23fdb98731 Mon Sep 17 00:00:00 2001 From: Lukas Schmidt Date: Wed, 18 Jan 2017 17:05:27 +0100 Subject: [PATCH 0786/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d1c8a0f10..30b0fe344 100644 --- a/README.md +++ b/README.md @@ -927,6 +927,7 @@ Also see [push notifications](#push-notifications) * [Nikka](https://github.com/JustaLab/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx :large_orange_diamond: ⌚ * [XMNetworking](https://github.com/kangzubin/XMNetworking) - A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. * [Merhaba](https://github.com/abdullahselek/Merhaba) - Bonjour networking for discovery and connection between iOS devices. +* [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. :large_orange_diamond: #### Email From 86ef9fd58ffbdfd4e48db36755d97ee82553fb40 Mon Sep 17 00:00:00 2001 From: Lisa Dziuba Date: Wed, 18 Jan 2017 18:17:57 +0200 Subject: [PATCH 0787/2606] Add Traits (#1412) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Krzysztof Zabłocki made a very useful library for fast-iterating mobile teams, who want to make design changes on fly. [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d1c8a0f10..d7ea7609a 100644 --- a/README.md +++ b/README.md @@ -2187,6 +2187,7 @@ Most of these are paid services, some have free tiers. * [AssetChecker 👮](https://github.com/s4cha/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. :large_orange_diamond: * [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar :large_orange_diamond: * [GDPerformanceView-Swift](https://github.com/dani-gavrilov/GDPerformanceView-Swift) - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate. :large_orange_diamond: +* [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From d54f0df288d9c0aef5e44aee3d2da09356294b53 Mon Sep 17 00:00:00 2001 From: Douglas Nassif Roma Junior Date: Fri, 20 Jan 2017 12:28:25 -0200 Subject: [PATCH 0788/2606] Fixing SwiftyXMLParser name (#1416) [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d7ea7609a..914c5bc8c 100644 --- a/README.md +++ b/README.md @@ -1026,7 +1026,7 @@ Most of these are paid services, some have free tiers. * [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects :large_orange_diamond: * [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support :large_orange_diamond: * [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for MacOSX/iOS. :large_orange_diamond: -* [SwiftyXMLParer](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: +* [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. * [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift :large_orange_diamond: * [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 3 :large_orange_diamond: From 52d878318617a690591f33f08509ca49d53291f5 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 23 Jan 2017 11:29:49 +0530 Subject: [PATCH 0789/2606] Add Bluepill in UI Testing (#1417) * Add Bluepill in UI Testing * Update swift-pons link * Update IDMPhotoBrowser link * Update blackfish to blackfire * Update FCAlertView link * Update SwifterSockets link --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 914c5bc8c..307a348b4 100644 --- a/README.md +++ b/README.md @@ -705,7 +705,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Upsurge](https://github.com/aleph7/Upsurge) - Swift + Accelerate :large_orange_diamond: * [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. :large_orange_diamond: * [iosMath](https://github.com/kostub/iosMath) - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS. -* [swift-pons](https://github.com/dankogai/swift-pons) - Protocol-Oriented Number System in Pure Swift :large_orange_diamond: +* [swift-pons](https://github.com/dankogai/swift2-pons) - Protocol-Oriented Number System in Pure Swift :large_orange_diamond: * [BigInt](https://github.com/lorentey/BigInt) - Arbitrary-precision arithmetic in pure Swift :large_orange_diamond: * [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. :large_orange_diamond: * [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics :large_orange_diamond: @@ -754,7 +754,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. * [MapleBacon](https://github.com/zalando-incubator/MapleBacon) - An image download and caching library for iOS written in Swift. :large_orange_diamond: * [NYTPhotoViewer](https://github.com/NYTimes/NYTPhotoViewer) - Slideshow and image viewer. -* [IDMPhotoBrowser](https://github.com/ideaismobile/IDMPhotoBrowser) - Photo Browser / Viewer. +* [IDMPhotoBrowser](https://github.com/thiagoperes/IDMPhotoBrowser) - Photo Browser / Viewer. * [JTSImageViewController](https://github.com/jaredsinclair/JTSImageViewController) - Interactive iOS image viewer. * [Concorde](https://github.com/contentful-labs/Concorde/) - Download and decode progressive JPEGs. * [TOCropViewController](https://github.com/TimOliver/TOCropViewController) - A view controller that allows users to crop UIImage objects. @@ -1226,7 +1226,7 @@ Most of these are paid services, some have free tiers. * [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux :large_orange_diamond: * [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, OS X, and Ubuntu. :large_orange_diamond: * [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift :large_orange_diamond: -* [blackfish](https://github.com/elliottminns/blackfish) - A fast HTTP web server based on Node.js and Express written in Swift :large_orange_diamond: +* [blackfire](https://github.com/elliottminns/blackfire) - A fast HTTP web server based on Node.js and Express written in Swift :large_orange_diamond: * [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and Mac OS X :large_orange_diamond: * [Trevi](https://github.com/Yoseob/Trevi) - A powerful Swift Web Application Server Framework Project :large_orange_diamond: * [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift :large_orange_diamond: @@ -1327,6 +1327,7 @@ Most of these are paid services, some have free tiers. * [EarlGrey](https://github.com/google/EarlGrey) - iOS UI Automation Test Framework by Google * [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? :large_orange_diamond: * [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo :large_orange_diamond: +* [Bluepill](https://github.com/linkedin/bluepill) - Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine #### Other Testing * [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. @@ -1583,7 +1584,7 @@ Most of these are paid services, some have free tiers. * [Dodo](https://github.com/marketplacer/Dodo) - A message bar for iOS written in Swift. :large_orange_diamond: * [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. :large_orange_diamond: * [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: -* [FCAlertView](https://github.com/k9101/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) :large_orange_diamond: +* [FCAlertView](https://github.com/krispenney/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) :large_orange_diamond: * [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. (Objective-C) * [CDAlertView](https://github.com/candostdagdeviren/CDAlertView) - Highly customizable alert/notification/success/error/alarm popup 🔶 * [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. @@ -2095,7 +2096,7 @@ Most of these are paid services, some have free tiers. * [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and OSX :large_orange_diamond: * [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. :large_orange_diamond: * [Socks](https://github.com/vapor/Socks) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: -* [SwifterSockets](https://github.com/Swiftrien/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iO :large_orange_diamond: +* [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iO :large_orange_diamond: * [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. :large_orange_diamond: #### GCD From 32ba0640bedbccff37fa9f6d216fd27390e04cc3 Mon Sep 17 00:00:00 2001 From: Chansim Youk Date: Mon, 23 Jan 2017 23:37:35 +0900 Subject: [PATCH 0790/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 307a348b4..684a79298 100644 --- a/README.md +++ b/README.md @@ -308,6 +308,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift :large_orange_diamond: * [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantasticly fast and fully customizable. Amazing animations available with MagicPie!!1 :large_orange_diamond: 🎉 ✨✨✨✨✨ * [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. :large_orange_diamond: +* [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. :large_orange_diamond: ## Code Quality * [KZBootstrap](https://github.com/krzysztofzablocki/KZBootstrap) - iOS project bootstrap aimed at high quality coding. From e51c0bc43eba8dcb9a54f571fb63b43b8f7224b4 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 23 Jan 2017 22:00:54 +0530 Subject: [PATCH 0791/2606] Added SwiftyCam. (#1409) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 307a348b4..566b80c89 100644 --- a/README.md +++ b/README.md @@ -572,6 +572,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. 🔶 * [NextLevel](https://github.com/NextLevel/NextLevel) - Next Level is a media capture camera library for iOS. :large_orange_diamond: * [CameraEngine](https://github.com/remirobert/CameraEngine) - 🐒📷 Camera engine for iOS, written in Swift, above AVFoundation. 🐒 :large_orange_diamond: +* [SwiftyCam](https://github.com/Awalz/SwiftyCam) - A Snapchat Inspired iOS Camera Framework written in Swift. :large_orange_diamond: #### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: From 2dee647e304370900b3166e75c97f04ca02979b6 Mon Sep 17 00:00:00 2001 From: SinaMoetakef Date: Tue, 24 Jan 2017 12:06:17 -0500 Subject: [PATCH 0792/2606] Add SMNumberWheel under UI/Stepper (#1420) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef88ad207..126654c92 100644 --- a/README.md +++ b/README.md @@ -1856,6 +1856,7 @@ Most of these are paid services, some have free tiers. * [GMStepper](https://github.com/gmertk/GMStepper) - A stepper with a sliding label in the middle. :large_orange_diamond: * [barceloneta](https://github.com/arn00s/barceloneta) - The right way to increment/decrement values with a simple gesture on iOS. :large_orange_diamond: * [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift :large_orange_diamond: +* [SMNumberWheel] (https://github.com/SinaMoetakef/SMNumberWheel) - A custom control written in Swift, which is ideal for picking numbers very fast but yet very accurate using a rotating wheel :large_orange_diamond: #### Switch * [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. :large_orange_diamond: From a435c9927d5b34bf9e32beaa52835b3507439168 Mon Sep 17 00:00:00 2001 From: vladdmitriev Date: Wed, 25 Jan 2017 04:43:58 +0200 Subject: [PATCH 0793/2606] CRPageViewController (#1421) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 126654c92..73a9b2aaa 100644 --- a/README.md +++ b/README.md @@ -1495,6 +1495,7 @@ Most of these are paid services, some have free tiers. * [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics :large_orange_diamond: * [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. 🔶 * [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. :large_orange_diamond: +* [CRPageViewController](https://github.com/Cleveroad/CRPageViewController) - While a standard page view allows you to navigate between pages by using simple gestures, our component goes further. #### Activity Indicator From 9fe5d165cd7569cc2c079a9e84ef5908fc5683e2 Mon Sep 17 00:00:00 2001 From: Takahiro Nishinobu Date: Wed, 25 Jan 2017 22:35:30 +0900 Subject: [PATCH 0794/2606] Add SamuraiTransition (#1422) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73a9b2aaa..d1ef151e9 100644 --- a/README.md +++ b/README.md @@ -243,6 +243,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect :large_orange_diamond: * [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. * [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. :large_orange_diamond: +* [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. :large_orange_diamond: ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 4c1c5061c723e6bce18ea1706e72e081ba78f9b0 Mon Sep 17 00:00:00 2001 From: Richard Topchii Date: Thu, 26 Jan 2017 15:57:56 +0300 Subject: [PATCH 0795/2606] Add CalendarKit (#1424) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d1ef151e9..9ebe4d7cd 100644 --- a/README.md +++ b/README.md @@ -1649,6 +1649,7 @@ Most of these are paid services, some have free tiers. * [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift :large_orange_diamond: * [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time :large_orange_diamond: * [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. +* [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. :large_orange_diamond: #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From e3e13bfe8513b607496395a55cd16a2e9f99b99a Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Fri, 27 Jan 2017 12:36:23 +0530 Subject: [PATCH 0796/2606] Add mod_swift in Server --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ebe4d7cd..4b5ae00ae 100644 --- a/README.md +++ b/README.md @@ -1247,6 +1247,7 @@ Most of these are paid services, some have free tiers. * [Edge](https://github.com/SwiftOnEdge/Edge) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: * [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. :large_orange_diamond: * [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. :large_orange_diamond: +* [mod_swift](https://github.com/AlwaysRightInstitute/mod_swift) - Write Apache Modules in Swift! :large_orange_diamond: ## Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From a8eb85416d497915fc3090c6a85e04b8deca293d Mon Sep 17 00:00:00 2001 From: Daniel Khamsing Date: Fri, 27 Jan 2017 07:07:29 -0800 Subject: [PATCH 0797/2606] Add AppLaunchpad, close #1068 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ebe4d7cd..b9f64149d 100644 --- a/README.md +++ b/README.md @@ -2229,6 +2229,7 @@ Most of these are paid services, some have free tiers. * [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. * [Boombox.io](https://boombox.io/) - Sign up TestFlight beta testers on your website. Embeddable and hosted TestFlight beta sign-up forms * [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. +* [AppLaunchpad](https://theapplaunchpad.com/) - Free App Store screenshot builder. # App Store * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. From 9d7a494d78729f69e60f3c4aa02ccc43b5ff78ff Mon Sep 17 00:00:00 2001 From: Daniel Khamsing Date: Fri, 27 Jan 2017 07:10:46 -0800 Subject: [PATCH 0798/2606] Update Tapglue --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b9f64149d..c15fd7ee5 100644 --- a/README.md +++ b/README.md @@ -940,10 +940,10 @@ Also see [push notifications](#push-notifications) * [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. :large_orange_diamond: #### Representations - + * [apollo-ios](https://github.com/apollostack/apollo-ios) - A GraphQL client for iOS, written in Swift :large_orange_diamond: * [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library purely written in Swift :large_orange_diamond: - * [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift http://protobuf.io/#swift :large_orange_diamond: + * [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift http://protobuf.io/#swift :large_orange_diamond: ## Notifications From 9eb1e2941f039915b0516f23babf40d149693d76 Mon Sep 17 00:00:00 2001 From: Daniel Khamsing Date: Fri, 27 Jan 2017 07:16:45 -0800 Subject: [PATCH 0799/2606] Update Tapglue for real --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c15fd7ee5..e0592e12e 100644 --- a/README.md +++ b/README.md @@ -1084,7 +1084,7 @@ Most of these are paid services, some have free tiers. ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. -* [Tapglue](https://www.tapglue.com) - Build social products and a activity feed with a few lines of code. +* [Tapglue](https://tapglue.github.io/) - Build social products and a activity feed with a few lines of code. * [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. ## Reactive Programming From f0618e6c6d3225163451e4dbf92ead36a2363c2f Mon Sep 17 00:00:00 2001 From: abdullahselek Date: Sat, 28 Jan 2017 14:53:14 +0100 Subject: [PATCH 0800/2606] - update Merhaba description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e0592e12e..bab021909 100644 --- a/README.md +++ b/README.md @@ -931,7 +931,7 @@ Also see [push notifications](#push-notifications) * [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. :large_orange_diamond: ⌚ * [Nikka](https://github.com/JustaLab/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx :large_orange_diamond: ⌚ * [XMNetworking](https://github.com/kangzubin/XMNetworking) - A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. -* [Merhaba](https://github.com/abdullahselek/Merhaba) - Bonjour networking for discovery and connection between iOS devices. +* [Merhaba](https://github.com/abdullahselek/Merhaba) - Bonjour networking for discovery and connection between iOS, macOS and tvOS devices. * [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. :large_orange_diamond: #### Email From cfc61f13f5cbef38424296c39ea0db0be04ad887 Mon Sep 17 00:00:00 2001 From: Artem Stepanenko Date: Sun, 29 Jan 2017 22:02:00 +0100 Subject: [PATCH 0801/2606] a dekoter library is added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 78d7f41e8..09513a975 100644 --- a/README.md +++ b/README.md @@ -2072,6 +2072,7 @@ Most of these are paid services, some have free tiers. * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift :large_orange_diamond: + * [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. :large_orange_diamond: ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 6601b6921c9acf277427c365b492e843d1f5ac88 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 30 Jan 2017 18:37:14 +0530 Subject: [PATCH 0802/2606] Add LaunchKit in Deployment / Distribution (#1431) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 78d7f41e8..c62953405 100644 --- a/README.md +++ b/README.md @@ -2231,6 +2231,7 @@ Most of these are paid services, some have free tiers. * [Boombox.io](https://boombox.io/) - Sign up TestFlight beta testers on your website. Embeddable and hosted TestFlight beta sign-up forms * [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. * [AppLaunchpad](https://theapplaunchpad.com/) - Free App Store screenshot builder. +* [LaunchKit](https://github.com/LaunchKit/LaunchKit) - A set of web-based tools for mobile app developers, now open source! # App Store * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. From 50c33dbc27489c7b8646a016e106c48a3c402ca1 Mon Sep 17 00:00:00 2001 From: Dmitriy Azarov Date: Mon, 30 Jan 2017 18:54:57 +0300 Subject: [PATCH 0803/2606] Add OXPatternLock --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c62953405..1a1fba65a 100644 --- a/README.md +++ b/README.md @@ -1498,6 +1498,7 @@ Most of these are paid services, some have free tiers. * [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. 🔶 * [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. :large_orange_diamond: * [CRPageViewController](https://github.com/Cleveroad/CRPageViewController) - While a standard page view allows you to navigate between pages by using simple gestures, our component goes further. +* [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. :large_orange_diamond: #### Activity Indicator From e6ddbd664334c51806cfbd6be75e7db99233ca89 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 31 Jan 2017 14:53:40 +0530 Subject: [PATCH 0804/2606] Add IBAnalyzer in Code Quality --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1a1fba65a..dc87ca412 100644 --- a/README.md +++ b/README.md @@ -339,6 +339,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. * [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. :large_orange_diamond: * [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. :large_orange_diamond: +* [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. :large_orange_diamond: #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 1ae56f86a8d931e41e7b13b60269ed002874bede Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 31 Jan 2017 14:59:29 +0530 Subject: [PATCH 0805/2606] Update apollo-ios link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dc87ca412..c15e9a632 100644 --- a/README.md +++ b/README.md @@ -942,7 +942,7 @@ Also see [push notifications](#push-notifications) #### Representations - * [apollo-ios](https://github.com/apollostack/apollo-ios) - A GraphQL client for iOS, written in Swift :large_orange_diamond: + * [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS, written in Swift :large_orange_diamond: * [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library purely written in Swift :large_orange_diamond: * [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift http://protobuf.io/#swift :large_orange_diamond: From ca85531a69ad438bd65cff95586e899af121e777 Mon Sep 17 00:00:00 2001 From: Artem Stepanenko Date: Tue, 31 Jan 2017 10:54:30 +0100 Subject: [PATCH 0806/2606] the library is moved to the "Data Structures / Algorithms" category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 09513a975..57e38c7cc 100644 --- a/README.md +++ b/README.md @@ -463,6 +463,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. :large_orange_diamond: * [Pencil](https://github.com/naru-jpn/pencil) - Write values to file and read it more easily. :large_orange_diamond: * [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. :large_orange_diamond: +* [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. :large_orange_diamond: ## Date & Time @@ -2072,7 +2073,6 @@ Most of these are paid services, some have free tiers. * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift :large_orange_diamond: - * [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. :large_orange_diamond: ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From e478aa2b06bc36726624b1967b3d108e742754f7 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 31 Jan 2017 15:52:54 +0530 Subject: [PATCH 0807/2606] Remove LilithProgressHUD --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index c15e9a632..cb9865f3c 100644 --- a/README.md +++ b/README.md @@ -1539,7 +1539,6 @@ Most of these are paid services, some have free tiers. * [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beauful hud view for iPhone & iPad * [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. :large_orange_diamond: * [FillableLoaders](https://github.com/poolqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: -* [LilithProgressHUD] (https://github.com/Liquicit/LilithProgressHUD) - A elegant and simple progress hud, written in Swift. 🔶 * [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: * [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. :large_orange_diamond: * [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design :large_orange_diamond: From e25e620db38f4abb53aff7da7d356a2084c42fa5 Mon Sep 17 00:00:00 2001 From: Egor Taflanidi Date: Tue, 31 Jan 2017 15:14:22 +0300 Subject: [PATCH 0808/2606] Input Mask library added. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index abceeffae..f6414872e 100644 --- a/README.md +++ b/README.md @@ -1284,6 +1284,7 @@ Most of these are paid services, some have free tiers. * [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). * [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). * [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts +* [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. :large_orange_diamond: ## Testing From 90efca841d630e495a78450caf891547003b8cf6 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 31 Jan 2017 07:02:51 -0800 Subject: [PATCH 0809/2606] Remove cimgf.com --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6710bc7c8..ee66d6d40 100644 --- a/README.md +++ b/README.md @@ -2385,7 +2385,6 @@ Most of these are paid services, some have free tiers. * [Tutorials Point](http://www.tutorialspoint.com/ios/) * [Code with Chris](http://codewithchris.com/) * [Cocoa with Love](http://www.cocoawithlove.com/) -* [Cocoa is my Girlfriend](http://www.cimgf.com/) * [Code School - Try Objective-C](http://tryobjectivec.codeschool.com/) * [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. :large_orange_diamond: * [RAYWENDERLICH](https://www.raywenderlich.com/tutorials) - Tutorials for developers and gamers From 5db491179ef2f515238a868b5d69651b52a862b0 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 31 Jan 2017 07:44:57 -0800 Subject: [PATCH 0810/2606] Update Animation and Transition (#1436) --- README.md | 152 +++++++++++++++++++++++++++--------------------------- 1 file changed, 76 insertions(+), 76 deletions(-) diff --git a/README.md b/README.md index ee66d6d40..5152a34d5 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [How to Use](#how-to-use) - [Getting Started](#getting-started) - [Library and Frameworks](#libraries-and-frameworks) - - [Analytics](#analytics) - - [Animation](#animation) + - [Analytics](#analytics) - [Apple TV](#apple-tv) - [Authentication](#authentication) - [Bridging](#bridging) @@ -106,14 +105,15 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [UI](#ui) - [Activity Indicator](#activity-indicator) - [Alert View](#alerts) + - [Animation](#animation) + - [Transition](transition) - [Badge](#badge) - [Button](#button) - [Calendar](#calendar) - [Form & Settings](#form--settings) - [Keyboard](#keyboard) - [Label](#label) - - [Menu](#menu) - - [Modal Transition](#modal-transition) + - [Menu](#menu) - [Navigation Bar](#navigation-bar) - [PickerView](#pickerview) - [Popup](#popup) @@ -193,58 +193,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. * [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. -## Animation -* [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. -* [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. -* [Awesome-iOS-Animation](https://github.com/jackyzh/awesome-ios-animation) - Collection of Animation projects -* [RZTransitions](https://github.com/Raizlabs/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. -* [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. -* [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. :large_orange_diamond: -* [Canvas](https://github.com/CanvasPod/Canvas) - Animate in Xcode without code http://canvaspod.io -* [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy :large_orange_diamond: -* [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS with Swift2. :large_orange_diamond: -* [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). :large_orange_diamond: -* [Pop By Example](https://github.com/hossamghareeb/Facebook-POP-Tutorial) - A project tutorial in how to use Pop animation framework by example. -* [AppAnimations](http://www.appanimations.com) - Collection of iOS animations to inspire your next project -* [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. :large_orange_diamond: -* [Animo](https://github.com/eure/Animo) - SpriteKit-like animation builders for CALayers. :large_orange_diamond: -* [CurryFire](https://github.com/devinross/curry-fire) - A framework for creating unique animations. -* [IBAnimatable](https://github.com/IBAnimatable/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. :large_orange_diamond: -* [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView :large_orange_diamond: -* [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining :large_orange_diamond: -* [SYBlinkAnimationKit](https://github.com/shoheiyokoyama/SYBlinkAnimationKit) - A blink effect animation framework for iOS, written in Swift. :large_orange_diamond: -* [PulsingHalo](https://github.com/shu223/PulsingHalo) - iOS Component for creating a pulsing animation. -* [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - :star: Chainable animations in Swift :large_orange_diamond:[e] -* [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift :large_orange_diamond: -* [Advance](https://github.com/storehouse/Advance) - A powerful animation framework for iOS. :large_orange_diamond: -* [UIView-Shake](https://github.com/andreamazz/UIView-Shake) - UIView category that adds shake animation -* [Walker](https://github.com/RamonGilabert/Walker) - A new animation engine for your app. :large_orange_diamond: -* [Morgan](https://github.com/RamonGilabert/Morgan) - An animation set for your app. :large_orange_diamond: -* [MagicMove](https://github.com/patrickreynolds/MagicMove) - Keynote-style Magic Move transition animations :large_orange_diamond: -* [Shimmer](https://github.com/facebook/Shimmer) - An easy way to add a simple, shimmering effect to any view in an iOS app. -* [SAConfettiView](https://github.com/sudeepag/SAConfettiView) - Confetti! Who doesn't like confetti? :large_orange_diamond: -* [CCMRadarView](https://github.com/cacmartinez/CCMRadarView) - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation :large_orange_diamond: -* [Pulsator](https://github.com/shu223/Pulsator) - Pulse animation for iOS :large_orange_diamond: -* [Interpolate](https://github.com/marmelroy/Interpolate) - Interpolation framework for creating interactive gesture-driven animations :large_orange_diamond: -* [ADPuzzleAnimation](https://github.com/Antondomashnev/ADPuzzleAnimation) - Custom animation for UIView inspired by Fabric - Answers animation. :large_orange_diamond: -* [Wave](https://github.com/onmyway133/Wave) - 🏄 Declarative chainable animations in Swift -* [Stellar](https://github.com/AugustRush/Stellar) - A fantastic Physical animation library for swift :large_orange_diamond: -* [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. :large_orange_diamond: -* [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. -* [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes :large_orange_diamond: -* [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax :large_orange_diamond: -* [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. :large_orange_diamond: -* [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. :large_orange_diamond: -* [JHChainableAnimations](https://github.com/jhurray/JHChainableAnimations) - Easy to read and write chainable animations in Objective-C -* [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework :large_orange_diamond: -* [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. -* [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle :large_orange_diamond: -* [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. -* [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect :large_orange_diamond: -* [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. -* [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. :large_orange_diamond: -* [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. :large_orange_diamond: - ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and OS X @@ -1552,6 +1500,78 @@ Most of these are paid services, some have free tiers. * [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. :large_orange_diamond: * [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. :large_orange_diamond: +#### Animation +* [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. +* [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. +* [Awesome-iOS-Animation](https://github.com/jackyzh/awesome-ios-animation) - Collection of Animation projects +* [RZTransitions](https://github.com/Raizlabs/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. +* [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. +* [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. :large_orange_diamond: +* [Canvas](https://github.com/CanvasPod/Canvas) - Animate in Xcode without code http://canvaspod.io +* [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy :large_orange_diamond: +* [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS with Swift2. :large_orange_diamond: +* [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). :large_orange_diamond: +* [Pop By Example](https://github.com/hossamghareeb/Facebook-POP-Tutorial) - A project tutorial in how to use Pop animation framework by example. +* [AppAnimations](http://www.appanimations.com) - Collection of iOS animations to inspire your next project +* [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. :large_orange_diamond: +* [Animo](https://github.com/eure/Animo) - SpriteKit-like animation builders for CALayers. :large_orange_diamond: +* [CurryFire](https://github.com/devinross/curry-fire) - A framework for creating unique animations. +* [IBAnimatable](https://github.com/IBAnimatable/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. :large_orange_diamond: +* [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView :large_orange_diamond: +* [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining :large_orange_diamond: +* [SYBlinkAnimationKit](https://github.com/shoheiyokoyama/SYBlinkAnimationKit) - A blink effect animation framework for iOS, written in Swift. :large_orange_diamond: +* [PulsingHalo](https://github.com/shu223/PulsingHalo) - iOS Component for creating a pulsing animation. +* [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - :star: Chainable animations in Swift :large_orange_diamond:[e] +* [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift :large_orange_diamond: +* [Advance](https://github.com/storehouse/Advance) - A powerful animation framework for iOS. :large_orange_diamond: +* [UIView-Shake](https://github.com/andreamazz/UIView-Shake) - UIView category that adds shake animation +* [Walker](https://github.com/RamonGilabert/Walker) - A new animation engine for your app. :large_orange_diamond: +* [Morgan](https://github.com/RamonGilabert/Morgan) - An animation set for your app. :large_orange_diamond: +* [MagicMove](https://github.com/patrickreynolds/MagicMove) - Keynote-style Magic Move transition animations :large_orange_diamond: +* [Shimmer](https://github.com/facebook/Shimmer) - An easy way to add a simple, shimmering effect to any view in an iOS app. +* [SAConfettiView](https://github.com/sudeepag/SAConfettiView) - Confetti! Who doesn't like confetti? :large_orange_diamond: +* [CCMRadarView](https://github.com/cacmartinez/CCMRadarView) - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation :large_orange_diamond: +* [Pulsator](https://github.com/shu223/Pulsator) - Pulse animation for iOS :large_orange_diamond: +* [Interpolate](https://github.com/marmelroy/Interpolate) - Interpolation framework for creating interactive gesture-driven animations :large_orange_diamond: +* [ADPuzzleAnimation](https://github.com/Antondomashnev/ADPuzzleAnimation) - Custom animation for UIView inspired by Fabric - Answers animation. :large_orange_diamond: +* [Wave](https://github.com/onmyway133/Wave) - 🏄 Declarative chainable animations in Swift +* [Stellar](https://github.com/AugustRush/Stellar) - A fantastic Physical animation library for swift :large_orange_diamond: +* [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. :large_orange_diamond: +* [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. +* [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes :large_orange_diamond: +* [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax :large_orange_diamond: +* [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. :large_orange_diamond: +* [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. :large_orange_diamond: +* [JHChainableAnimations](https://github.com/jhurray/JHChainableAnimations) - Easy to read and write chainable animations in Objective-C +* [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework :large_orange_diamond: +* [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. +* [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle :large_orange_diamond: +* [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. +* [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect :large_orange_diamond: +* [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. +* [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. :large_orange_diamond: +* [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. :large_orange_diamond: + +##### Transition +* [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. +* [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. :large_orange_diamond: +* [BubbleTransition](https://github.com/andreamazz/BubbleTransition) - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. :large_orange_diamond: +* [RPModalGestureTransition](https://github.com/naoyashiga/RPModalGestureTransition) - You can dismiss modal by using gesture :point_up_2: :iphone: :large_orange_diamond: +* [RMPZoomTransitionAnimator](https://github.com/recruit-mp/RMPZoomTransitionAnimator) - A custom zooming transition animation for UIViewController +* [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. :large_orange_diamond: +* [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao +* [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller +* [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. :large_orange_diamond: +* [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view heirarchy. Used extensively in the Zola iOS application. +* [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. +* [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. +* [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: +* [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. :large_orange_diamond: +* [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like ios task manager :large_orange_diamond: +* [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. :large_orange_diamond: +* [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. :large_orange_diamond: +* [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. :large_orange_diamond: + #### Alerts * [NZAlertView](https://github.com/NZN/NZAlertView) - Simple and intuitive alert view. Similar to push notification effect. @@ -1750,26 +1770,6 @@ Most of these are paid services, some have free tiers. * [Swift-CircleMenu](https://github.com/Sufi-Al-Hussaini/Swift-CircleMenu) - Rotating circle menu written in Swift 3. :large_orange_diamond: * [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. :large_orange_diamond: -#### Modal Transition -* [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. -* [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. :large_orange_diamond: -* [BubbleTransition](https://github.com/andreamazz/BubbleTransition) - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. :large_orange_diamond: -* [RPModalGestureTransition](https://github.com/naoyashiga/RPModalGestureTransition) - You can dismiss modal by using gesture :point_up_2: :iphone: :large_orange_diamond: -* [RMPZoomTransitionAnimator](https://github.com/recruit-mp/RMPZoomTransitionAnimator) - A custom zooming transition animation for UIViewController -* [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. :large_orange_diamond: -* [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao -* [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller -* [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. :large_orange_diamond: -* [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view heirarchy. Used extensively in the Zola iOS application. -* [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. -* [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. -* [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: -* [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. :large_orange_diamond: -* [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like ios task manager :large_orange_diamond: -* [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. :large_orange_diamond: -* [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. :large_orange_diamond: -* [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. :large_orange_diamond: - #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: * [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! From 57dab9a58bd1e235a92407f4dd33efe3ae7ffddc Mon Sep 17 00:00:00 2001 From: Merrick Sapsford Date: Tue, 31 Jan 2017 16:58:30 +0000 Subject: [PATCH 0811/2606] Add Listenable (#1430) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5152a34d5..ddb114f03 100644 --- a/README.md +++ b/README.md @@ -1065,6 +1065,7 @@ Most of these are paid services, some have free tiers. * [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: * [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: * [ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) - Streams of values over time by ReactiveCocoa group +* [Listenable](https://github.com/MerrickSapsford/Listenable) - Swift object that provides an observable platform. :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 144169ad8644035950908094a8888f5c8a192b26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=98=87=E5=81=A5=E8=B1=AA?= Date: Wed, 1 Feb 2017 10:57:33 +0800 Subject: [PATCH 0812/2606] GLTableCollectionView (#1438) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ddb114f03..fc1f2d7a3 100644 --- a/README.md +++ b/README.md @@ -1964,6 +1964,7 @@ Most of these are paid services, some have free tiers. * [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. :large_orange_diamond: * [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ :large_orange_diamond: * [DTTableViewManager](https://github.com/DenHeadless/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. :large_orange_diamond: +* [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 9c1a83b7ff6f5f4ad558df5c015401ab54be3176 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 1 Feb 2017 19:07:01 +0530 Subject: [PATCH 0813/2606] Add Guaka in Command Line (#1439) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fc1f2d7a3..5520a7dbb 100644 --- a/README.md +++ b/README.md @@ -321,6 +321,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Colors](https://github.com/paulot/Colors) - Terminal Colors for Swift :large_orange_diamond: * [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift :large_orange_diamond: * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: +* [Guaka](https://github.com/oarrabi/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift :large_orange_diamond: ## Concurrency * [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: From 2ff8c4685a4246c546422d03dabff7f843455811 Mon Sep 17 00:00:00 2001 From: Jason Larsen Date: Wed, 1 Feb 2017 12:06:40 -0700 Subject: [PATCH 0814/2606] Add Reactor (#1440) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5520a7dbb..da6a4cee5 100644 --- a/README.md +++ b/README.md @@ -1067,6 +1067,7 @@ Most of these are paid services, some have free tiers. * [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: * [ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) - Streams of values over time by ReactiveCocoa group * [Listenable](https://github.com/MerrickSapsford/Listenable) - Swift object that provides an observable platform. :large_orange_diamond: +* [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 1d2be5131738d4a6e2e9854e9460a6abb965ca8f Mon Sep 17 00:00:00 2001 From: Lisa Dziuba Date: Wed, 1 Feb 2017 23:59:33 +0200 Subject: [PATCH 0815/2606] Added Lottie for iOS (#1441) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index da6a4cee5..4ca2d4d98 100644 --- a/README.md +++ b/README.md @@ -1554,6 +1554,7 @@ Most of these are paid services, some have free tiers. * [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. * [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. :large_orange_diamond: * [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. :large_orange_diamond: +* [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 2cbcae220f468a7b9f2b1f2020c367d2799f1b35 Mon Sep 17 00:00:00 2001 From: Wes Billman Date: Thu, 2 Feb 2017 15:59:33 -0700 Subject: [PATCH 0816/2606] Add snail to reactive programming --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ca2d4d98..e575f77e8 100644 --- a/README.md +++ b/README.md @@ -1068,6 +1068,7 @@ Most of these are paid services, some have free tiers. * [ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) - Streams of values over time by ReactiveCocoa group * [Listenable](https://github.com/MerrickSapsford/Listenable) - Swift object that provides an observable platform. :large_orange_diamond: * [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . :large_orange_diamond: +* [Snail](https://github.com/UrbanCompass/Snail) - An observables framework for Swift :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 0eab50a82e261c43112b35972ac56d901a09fabd Mon Sep 17 00:00:00 2001 From: Lucas Huang Date: Fri, 3 Feb 2017 21:12:02 -0800 Subject: [PATCH 0817/2606] add OTAcceleratorCore --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ca2d4d98..5cc64e8ca 100644 --- a/README.md +++ b/README.md @@ -790,6 +790,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. :large_orange_diamond: * [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate * [Airstream](https://github.com/qasim/Airstream) - A framework for streaming audio between Apple devices using AirPlay. +* [OTAcceleratorCore](https://github.com/opentok/accelerator-core-ios) - A painless way to integrate audio/video(screen sharing) to any iOS applications via Tokbox. #### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. From cc6438e9354649e5e09290420c7984c6a0a73ee3 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Sat, 4 Feb 2017 13:43:52 +0530 Subject: [PATCH 0818/2606] Added Dotzu. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ca2d4d98..d43659254 100644 --- a/README.md +++ b/README.md @@ -2240,6 +2240,7 @@ Most of these are paid services, some have free tiers. * [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. * [AppLaunchpad](https://theapplaunchpad.com/) - Free App Store screenshot builder. * [LaunchKit](https://github.com/LaunchKit/LaunchKit) - A set of web-based tools for mobile app developers, now open source! +* [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. # App Store * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. From d58ed7a392619bc0512f396cdc5327ead9364340 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Mon, 6 Feb 2017 12:20:45 +0700 Subject: [PATCH 0819/2606] Add SwipeableTabBarController to Tab Bar section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ca2d4d98..4f2d7e3d9 100644 --- a/README.md +++ b/README.md @@ -1911,6 +1911,7 @@ Most of these are paid services, some have free tiers. * [SuperBadges](https://github.com/odedharth/SuperBadges) - Add emojis and colored dots as badges for your Tab Bar buttons 🔶 * [AZTabBarController](https://github.com/Minitour/AZTabBarController) - A custom tab bar controller for iOS written in Swift 3.0 🔶 * [MiniTabBar](https://github.com/D-32/MiniTabBar) - A clean simple alternative to the UITabBar 🔶 +* [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) - UITabBarController with swipe interaction between its tabs. 🔶 #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From c260dfb3f7668fc2a82ad9a758bb0ad09cf2526c Mon Sep 17 00:00:00 2001 From: szk-atmosphere Date: Tue, 7 Feb 2017 02:55:57 +0900 Subject: [PATCH 0820/2606] add NoticeObserveKit by @marty-suzuki --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4ca2d4d98..1c6fae263 100644 --- a/README.md +++ b/README.md @@ -448,6 +448,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for IOS and OS X. :large_orange_diamond: * [signals-ios](https://github.com/uber/signals-ios) - Typeful eventing * [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. :large_orange_diamond: +* [NoticeObserveKit](https://github.com/marty-suzuki/NoticeObserveKit) - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. :large_orange_diamond: ## Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: @@ -1554,7 +1555,7 @@ Most of these are paid services, some have free tiers. * [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. * [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. :large_orange_diamond: * [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. :large_orange_diamond: -* [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. +* [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From c40494e01f9870c6f5c1c6daed37d1586cb6065e Mon Sep 17 00:00:00 2001 From: Nikita Ermolenko Date: Tue, 7 Feb 2017 11:25:22 +0600 Subject: [PATCH 0821/2606] Add NxEnabled (#1446) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c9ef4c044..5ed4d199d 100644 --- a/README.md +++ b/README.md @@ -2009,6 +2009,7 @@ Most of these are paid services, some have free tiers. * [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies :large_orange_diamond: * [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS :large_orange_diamond: * [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. :large_orange_diamond: +* [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) :large_orange_diamond: #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 86ed78052b6d929459048274094b058d05439a71 Mon Sep 17 00:00:00 2001 From: Andrey Arzhannikov Date: Tue, 7 Feb 2017 16:58:16 +0600 Subject: [PATCH 0822/2606] Add InteractiveSideMenu to Menu section ## Project URL https://github.com/handsomecode/InteractiveSideMenu ## Description iOS Interactive Side Menu written in Swift. It supports following customization: - Animation duration - Visible content width - Content scale - Using spring animation with params customization - Animation options like animation curve ## Why it should be included to `awesome-ios` (optional) Library supports an interactive mode for opening/closing menu. ## Checklist - [x] Only one project/change is in this pull request - [x] Addition in chronological order (bottom of category) - [x] Supports iOS 9 or later - [x] Supports Swift 3 - [x] Has a commit from less than 2 years ago - [x] Has a **clear** README in English --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5ed4d199d..7f826c8ce 100644 --- a/README.md +++ b/README.md @@ -1774,6 +1774,7 @@ Most of these are paid services, some have free tiers. * [RHSideButtons](https://github.com/robertherdzik/RHSideButtons) - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. :large_orange_diamond: * [Swift-CircleMenu](https://github.com/Sufi-Al-Hussaini/Swift-CircleMenu) - Rotating circle menu written in Swift 3. :large_orange_diamond: * [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. :large_orange_diamond: +* [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. :large_orange_diamond: #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 9d7c0bab9e37ff3262b1d39d91c3201ff82f7a68 Mon Sep 17 00:00:00 2001 From: The Nicholas Date: Wed, 8 Feb 2017 11:42:04 +0900 Subject: [PATCH 0823/2606] Add Library Attributed --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0fea42ebd..474ce1af4 100644 --- a/README.md +++ b/README.md @@ -1255,6 +1255,7 @@ Most of these are paid services, some have free tiers. * [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts * [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. :large_orange_diamond: * [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. :large_orange_diamond: +* [Attributed](https://github.com/Nirma/Attributed) - A Modern interface for attributed strings. :large_orange_diamond: ## Testing From 3eff38c86680a3b3236250d27f31fa6ef8478606 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 8 Feb 2017 09:20:16 +0530 Subject: [PATCH 0824/2606] Moved Dotzu to code quality. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f82db7848..8c1df0c58 100644 --- a/README.md +++ b/README.md @@ -288,6 +288,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. :large_orange_diamond: * [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. :large_orange_diamond: * [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. :large_orange_diamond: +* [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. @@ -2246,7 +2247,6 @@ Most of these are paid services, some have free tiers. * [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. * [AppLaunchpad](https://theapplaunchpad.com/) - Free App Store screenshot builder. * [LaunchKit](https://github.com/LaunchKit/LaunchKit) - A set of web-based tools for mobile app developers, now open source! -* [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. # App Store * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. From b289a4e03551e1dd81531876a02d2c3274a754fa Mon Sep 17 00:00:00 2001 From: Onur Ersel Date: Wed, 8 Feb 2017 17:58:36 +0100 Subject: [PATCH 0825/2606] Added `anim` under UI > Animations section. --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8c1df0c58..ec0e2c9a5 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [How to Use](#how-to-use) - [Getting Started](#getting-started) - [Library and Frameworks](#libraries-and-frameworks) - - [Analytics](#analytics) + - [Analytics](#analytics) - [Apple TV](#apple-tv) - [Authentication](#authentication) - [Bridging](#bridging) @@ -113,7 +113,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Form & Settings](#form--settings) - [Keyboard](#keyboard) - [Label](#label) - - [Menu](#menu) + - [Menu](#menu) - [Navigation Bar](#navigation-bar) - [PickerView](#pickerview) - [Popup](#popup) @@ -1559,6 +1559,7 @@ Most of these are paid services, some have free tiers. * [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. :large_orange_diamond: * [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. :large_orange_diamond: * [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. +* [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From c5adbf20f82898746fc93e953e97ccc553d4ca56 Mon Sep 17 00:00:00 2001 From: Onur Ersel Date: Wed, 8 Feb 2017 18:10:25 +0100 Subject: [PATCH 0826/2606] Added the orange diamond to mark `anim` as a swift library. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ec0e2c9a5..e43719dfd 100644 --- a/README.md +++ b/README.md @@ -1559,7 +1559,7 @@ Most of these are paid services, some have free tiers. * [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. :large_orange_diamond: * [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. :large_orange_diamond: * [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. -* [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. +* [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. :large_orange_diamond: ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 9744bb65e4da3e32402a0b0371be78e296f04523 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 9 Feb 2017 11:28:01 +0530 Subject: [PATCH 0827/2606] Add Hydra in EventBus (#1455) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8c1df0c58..1e6c0551c 100644 --- a/README.md +++ b/README.md @@ -450,6 +450,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [signals-ios](https://github.com/uber/signals-ios) - Typeful eventing * [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. :large_orange_diamond: * [NoticeObserveKit](https://github.com/marty-suzuki/NoticeObserveKit) - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. :large_orange_diamond: +* [Hydra](https://github.com/malcommac/Hydra) - Promises & Await - Write better async code in Swift :large_orange_diamond: ## Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: From 43fdc9f949ebbe94ffa187adb0850aac3a500ef1 Mon Sep 17 00:00:00 2001 From: Artem Novichkov Date: Fri, 10 Feb 2017 13:48:20 +0600 Subject: [PATCH 0828/2606] Add swift-project-template --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e6c0551c..bd692f474 100644 --- a/README.md +++ b/README.md @@ -2340,6 +2340,7 @@ Most of these are paid services, some have free tiers. * [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) * [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator * [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. +* [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. # Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: From 5668a96b69e96612f8bc4db509e6624cdf1c76c6 Mon Sep 17 00:00:00 2001 From: Albin-CR Date: Sun, 12 Feb 2017 16:11:44 +0530 Subject: [PATCH 0829/2606] Added SwiftyTask to project --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e6c0551c..8e2bbdd86 100644 --- a/README.md +++ b/README.md @@ -2137,6 +2137,7 @@ Most of these are paid services, some have free tiers. * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. :large_orange_diamond: * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities :large_orange_diamond: * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. :large_orange_diamond: + * [SwiftyTask](https://github.com/CR-Creations/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. :large_orange_diamond: # Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. From db04d0cf342c5bb83a7ed1b50789f81878f700f4 Mon Sep 17 00:00:00 2001 From: Albin-CR Date: Sun, 12 Feb 2017 16:53:18 +0530 Subject: [PATCH 0830/2606] Added SwiftyTask under GCD --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8e2bbdd86..17433a675 100644 --- a/README.md +++ b/README.md @@ -1038,7 +1038,7 @@ Most of these are paid services, some have free tiers. ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. -* [Tapglue](https://tapglue.github.io/) - Build social products and a activity feed with a few lines of code. +* [Tapglue](http://www.tapglue.com//) - Build social products and a activity feed with a few lines of code. * [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. ## Reactive Programming @@ -2160,7 +2160,7 @@ Most of these are paid services, some have free tiers. # Tools * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: * [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. :large_orange_diamond: -* [SwiftGen](https://github.com/AliSoftware/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). :large_orange_diamond: +* [SwiftGen](https://github.com/SwiftGen/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). :large_orange_diamond: * [Blade](https://github.com/jondot/blade) - Generate Xcode image catalogs for iOS / OSX app icons, universal images, and more. * [Retini](https://github.com/terwanerik/Retini) - A super simple retina (2x, 3x) image converter. * [Provisioning](https://github.com/chockenberry/Provisioning) - A Quick Look plug-in to preview .mobileprovision files. @@ -2212,7 +2212,7 @@ Most of these are paid services, some have free tiers. * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. * [Cookiecutter](https://github.com/cookiecutter-swift/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: * [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. :large_orange_diamond: -* [AssetChecker 👮](https://github.com/s4cha/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. :large_orange_diamond: +* [AssetChecker 👮](https://github.com/freshOS/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. :large_orange_diamond: * [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar :large_orange_diamond: * [GDPerformanceView-Swift](https://github.com/dani-gavrilov/GDPerformanceView-Swift) - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate. :large_orange_diamond: * [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). :large_orange_diamond: From 3c76c138e868e690cef71942027bc6c1931dd843 Mon Sep 17 00:00:00 2001 From: Albin-CR Date: Sun, 12 Feb 2017 17:01:14 +0530 Subject: [PATCH 0831/2606] Added SwiftyTask under GCD --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 17433a675..c36f2e730 100644 --- a/README.md +++ b/README.md @@ -1038,7 +1038,7 @@ Most of these are paid services, some have free tiers. ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. -* [Tapglue](http://www.tapglue.com//) - Build social products and a activity feed with a few lines of code. +* [Tapglue](http://www.tapglue.com/) - Build social products and a activity feed with a few lines of code. * [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. ## Reactive Programming From 1924fa196689d769bd774a0056e2a3b660173fc8 Mon Sep 17 00:00:00 2001 From: Albin-CR Date: Sun, 12 Feb 2017 17:06:55 +0530 Subject: [PATCH 0832/2606] Changed reditecting errors --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c36f2e730..a9d79435e 100644 --- a/README.md +++ b/README.md @@ -1038,7 +1038,7 @@ Most of these are paid services, some have free tiers. ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. -* [Tapglue](http://www.tapglue.com/) - Build social products and a activity feed with a few lines of code. +* [Tapglue](https://www.tapglue.com/) - Build social products and a activity feed with a few lines of code. * [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. ## Reactive Programming From 18c71514f71913e280fdfaa0a1af8d650b031a49 Mon Sep 17 00:00:00 2001 From: Luca Mozzarelli Date: Sun, 12 Feb 2017 17:58:59 +0100 Subject: [PATCH 0833/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e6c0551c..5f3297963 100644 --- a/README.md +++ b/README.md @@ -1458,6 +1458,7 @@ Most of these are paid services, some have free tiers. * [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. :large_orange_diamond: * [CRPageViewController](https://github.com/Cleveroad/CRPageViewController) - While a standard page view allows you to navigate between pages by using simple gestures, our component goes further. * [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. :large_orange_diamond: +* [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts #### Activity Indicator From c09a128ea3199357506fbc460b857d8a371ed321 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 13 Feb 2017 19:30:00 +0530 Subject: [PATCH 0834/2606] Added overlap (#1465) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9d79435e..35241d488 100644 --- a/README.md +++ b/README.md @@ -1560,6 +1560,7 @@ Most of these are paid services, some have free tiers. * [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. :large_orange_diamond: * [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. :large_orange_diamond: * [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. +* [Overlap](https://github.com/ML-Works/Overlap) - Tiny iOS library to achieve overlap visual effect. :large_orange_diamond: ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From b862b051a9a2624ea5812eb389869aef51a1cfef Mon Sep 17 00:00:00 2001 From: Fernando Bunn Date: Mon, 13 Feb 2017 13:41:17 -0200 Subject: [PATCH 0835/2606] Add XGist Xcode Extension (#1456) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35241d488..5513ac717 100644 --- a/README.md +++ b/README.md @@ -2328,6 +2328,7 @@ Most of these are paid services, some have free tiers. * [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. :large_orange_diamond: * [Mark](https://github.com/velyan/Mark) - Xcode extension for generating MARK comments. :large_orange_diamond: * [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). :large_orange_diamond: +* [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. :large_orange_diamond: #### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From 6b52e0d1741d1c597aec767ef97d70fe88486b40 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Mon, 13 Feb 2017 23:45:25 +0700 Subject: [PATCH 0836/2606] Added TinyConstraints to Layout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5513ac717..6393ce3cf 100644 --- a/README.md +++ b/README.md @@ -574,6 +574,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Compose](https://github.com/VivaReal/Compose) - Compose is a library that helps you compose complex and dynamic views. :large_orange_diamond: * [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. :large_orange_diamond: * [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. :large_orange_diamond: +* [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. :large_orange_diamond: #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 1289b2df0327c667b8c50651ac74459680a920eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fl=C3=A1vio=20Caetano?= Date: Tue, 14 Feb 2017 11:16:10 -0200 Subject: [PATCH 0837/2606] Added RxWebSockets --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dc0ad1f65..3dee362d4 100644 --- a/README.md +++ b/README.md @@ -1073,6 +1073,7 @@ Most of these are paid services, some have free tiers. * [Listenable](https://github.com/MerrickSapsford/Listenable) - Swift object that provides an observable platform. :large_orange_diamond: * [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . :large_orange_diamond: * [Snail](https://github.com/UrbanCompass/Snail) - An observables framework for Swift :large_orange_diamond: +* [RxWebSocket](https://github.com/fjcaetano/RxWebSocket) - Reactive extension over Starscream for websockets :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 2283824f48ffa3bfccc2d0edddfe98c2fff16dfe Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Wed, 15 Feb 2017 03:04:32 +0700 Subject: [PATCH 0838/2606] Added AnimatedCollectionViewLayout to Animation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 077ca2b52..77f2ac4f1 100644 --- a/README.md +++ b/README.md @@ -1565,6 +1565,7 @@ Most of these are paid services, some have free tiers. * [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. :large_orange_diamond: * [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. * [Overlap](https://github.com/ML-Works/Overlap) - Tiny iOS library to achieve overlap visual effect. :large_orange_diamond: +* [AnimatedCollectionViewLayout](https://github.com/KelvinJin/AnimatedCollectionViewLayout) - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView. :large_orange_diamond: ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From e26be812ce53d38e3f3894298bef693a79eeca00 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 15 Feb 2017 05:51:01 +0530 Subject: [PATCH 0839/2606] Add Motion (#1454) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e4f404266..b79e81f50 100644 --- a/README.md +++ b/README.md @@ -1587,6 +1587,7 @@ Most of these are paid services, some have free tiers. * [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. :large_orange_diamond: * [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. :large_orange_diamond: * [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. :large_orange_diamond: +* [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. :large_orange_diamond: #### Alerts From 4a64088149453a6a483c50ee81462547964c96de Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 16 Feb 2017 10:44:44 +0530 Subject: [PATCH 0840/2606] Add Stanford's 2017 iTunes U course --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b79e81f50..941e66082 100644 --- a/README.md +++ b/README.md @@ -174,7 +174,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. * [Stanford - Developing Apps to iOS](https://itunes.apple.com/us/itunes-u/developing-apps-for-ios-hd/id395605774?mt=10) - Stanford's iTunes U App Development Course (Audio and Video). * [Stanford - Developing iOS 8 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099) - Stanford's 2015 iTunes U App Development Course. :large_orange_diamond: -* [Stanford - Developing iOS 9 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961) - Stanford's iTunes U course. :large_orange_diamond: +* [Stanford - Developing iOS 9 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961) - Stanford's 2016 iTunes U course. :large_orange_diamond: +* [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. :large_orange_diamond: * [Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [Object-Oriented Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) * [Udacity: Start A Career Developing iOS Apps](https://www.udacity.com/course/ios-developer-nanodegree--nd003?v=ios1) - Udacity's intro course on writing iOS apps [Paid Resource] :large_orange_diamond: From c6897de357eff8a13c80d6c68d6d84a9906f1608 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 16 Feb 2017 11:39:49 +0530 Subject: [PATCH 0841/2606] Add FSPagerView in UI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 941e66082..4f2e00f8b 100644 --- a/README.md +++ b/README.md @@ -1463,6 +1463,7 @@ Most of these are paid services, some have free tiers. * [CRPageViewController](https://github.com/Cleveroad/CRPageViewController) - While a standard page view allows you to navigate between pages by using simple gestures, our component goes further. * [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. :large_orange_diamond: * [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts +* [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. :large_orange_diamond: #### Activity Indicator From e2ac6752fbc6c142c7353de8d3135945de653470 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 16 Feb 2017 11:46:10 +0530 Subject: [PATCH 0842/2606] Update OWUProximityManager link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f2e00f8b..683686e2e 100644 --- a/README.md +++ b/README.md @@ -537,7 +537,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### iBeacon * [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. -* [OWUProximityManager](https://github.com/ohwutup/OWUProximityManager) - iBeacons + CoreBluetooth. +* [OWUProximityManager](https://github.com/ohayon/OWUProximityManager) - iBeacons + CoreBluetooth. * [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy bluetooth devices in the background. * [BeaconEmitter](https://github.com/lgaches/BeaconEmitter) - Turn your Mac as an iBeacon. * [MOCA Proximity](https://mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. From edf0636cf0b182d1d3103ce9a6a30d4d0107b246 Mon Sep 17 00:00:00 2001 From: David Cordero Date: Thu, 16 Feb 2017 11:20:03 +0100 Subject: [PATCH 0843/2606] Add TvOSTextViewer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 683686e2e..4e11a48ee 100644 --- a/README.md +++ b/README.md @@ -201,6 +201,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! :large_orange_diamond: * [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. :large_orange_diamond: * [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. :large_orange_diamond: +* [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: From e4d9acb414297ddac4feb16b6213bfab470f79bf Mon Sep 17 00:00:00 2001 From: David Cordero Date: Thu, 16 Feb 2017 11:29:34 +0100 Subject: [PATCH 0844/2606] Add Swift diamond --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4e11a48ee..1b2921d4e 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! :large_orange_diamond: * [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. :large_orange_diamond: * [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. :large_orange_diamond: -* [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text +* [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text :large_orange_diamond: ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: From 71ff4905dbfda7e3cfefabc8211b3193a5af273c Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Fri, 17 Feb 2017 10:05:34 +0530 Subject: [PATCH 0845/2606] Add Dance in Animation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b2921d4e..d81138b8b 100644 --- a/README.md +++ b/README.md @@ -1570,6 +1570,7 @@ Most of these are paid services, some have free tiers. * [Overlap](https://github.com/ML-Works/Overlap) - Tiny iOS library to achieve overlap visual effect. :large_orange_diamond: * [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. :large_orange_diamond: * [AnimatedCollectionViewLayout](https://github.com/KelvinJin/AnimatedCollectionViewLayout) - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView. :large_orange_diamond: +* [Dance](https://github.com/saoudrizwan/Dance) - A radical & elegant animation library built for iOS. :large_orange_diamond: ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 87c3a2718c46ea104287f565d478a9090c1d4baf Mon Sep 17 00:00:00 2001 From: Merrick Sapsford Date: Fri, 17 Feb 2017 10:12:39 +0000 Subject: [PATCH 0846/2606] Add Pageboy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d81138b8b..c51c66ca1 100644 --- a/README.md +++ b/README.md @@ -1514,6 +1514,7 @@ Most of these are paid services, some have free tiers. * [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. * [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. :large_orange_diamond: * [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. :large_orange_diamond: +* [Pageboy](https://github.com/MerrickSapsford/Pageboy) - A simple, highly informative page view controller. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. From c8cb2eae5f35d86eea71f0f14fa9509c3cd9f9e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanpe=20Catala=CC=81n?= Date: Fri, 17 Feb 2017 15:26:44 +0100 Subject: [PATCH 0847/2606] Add Swift-VIPER-Module --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d81138b8b..cb2d2434b 100644 --- a/README.md +++ b/README.md @@ -2355,6 +2355,7 @@ Most of these are paid services, some have free tiers. * [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator * [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. * [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. +* [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for VIPER Architecture written in Swift 3 :large_orange_diamond: # Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: From 9f444f1e7c0b417768093c18b341075f713d1d59 Mon Sep 17 00:00:00 2001 From: Zev Eisenberg Date: Fri, 17 Feb 2017 16:50:02 -0500 Subject: [PATCH 0848/2606] Delete library that appears to have gone AWOL. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index d81138b8b..f61ce4aac 100644 --- a/README.md +++ b/README.md @@ -1309,7 +1309,6 @@ Most of these are paid services, some have free tiers. * [Cuckoo](https://github.com/SwiftKit/Cuckoo) - First boilerplate-free mocking framework for Swift :large_orange_diamond: * [Parallel iOS Tests](https://github.com/plu/parallel_ios_tests) - Run iOS tests on multiple simulators in parallel at the same time :large_orange_diamond: * [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift :large_orange_diamond: -* [Fetcher](https://github.com/rob-nash/Fetcher) - Mock paging data with a variable fetch time interval. * [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java :large_orange_diamond: * [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps :large_orange_diamond: * [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 From 93392733d88aad2e6f55a3020ecea7da597b7508 Mon Sep 17 00:00:00 2001 From: Zev Eisenberg Date: Fri, 17 Feb 2017 16:42:26 -0500 Subject: [PATCH 0849/2606] BonMot supports all Apple platforms, not just iOS. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f61ce4aac..a1a4448b4 100644 --- a/README.md +++ b/README.md @@ -1245,7 +1245,7 @@ Most of these are paid services, some have free tiers. * [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift 🔶[e] * [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. :large_orange_diamond: * [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set -* [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings for iOS :large_orange_diamond: +* [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings in Swift :large_orange_diamond: * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). * [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. :large_orange_diamond: * [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. :large_orange_diamond: From 222e3de3496107f4958fc35abbcead101fd0a700 Mon Sep 17 00:00:00 2001 From: Abhinav Tyagi Date: Sat, 18 Feb 2017 13:10:36 +0530 Subject: [PATCH 0850/2606] Add DSGradientProgressView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f61ce4aac..ffbade1b6 100644 --- a/README.md +++ b/README.md @@ -1513,6 +1513,7 @@ Most of these are paid services, some have free tiers. * [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. * [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. :large_orange_diamond: * [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. :large_orange_diamond: +* [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. From ab61d6de8d3d52382907cfc0c19ac9a77a0ba6cb Mon Sep 17 00:00:00 2001 From: Michael Epstein Date: Sat, 18 Feb 2017 21:41:02 -0600 Subject: [PATCH 0851/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index abc33cf6a..cca500a4f 100644 --- a/README.md +++ b/README.md @@ -1146,6 +1146,7 @@ Most of these are paid services, some have free tiers. * [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift 3 Framework to Generate Random Users - An Unofficial SDK for randomuser.me :large_orange_diamond: * [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). :large_orange_diamond: * [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. :large_orange_diamond: +* [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From c81d623741085b2a8f424687208f94b01de883ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanpe=20Catala=CC=81n?= Date: Sun, 19 Feb 2017 11:24:41 +0100 Subject: [PATCH 0852/2606] Change description Swift-VIPER-Module --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cb2d2434b..e6b25f846 100644 --- a/README.md +++ b/README.md @@ -2355,7 +2355,7 @@ Most of these are paid services, some have free tiers. * [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator * [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. * [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. -* [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for VIPER Architecture written in Swift 3 :large_orange_diamond: +* [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 :large_orange_diamond: # Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: From 5f73a0276af9329a063a0dcf625763a3daf6a783 Mon Sep 17 00:00:00 2001 From: David Cordero Date: Sun, 19 Feb 2017 11:54:41 +0100 Subject: [PATCH 0853/2606] Add FocusTvButton --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cca500a4f..7f3c689e0 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. :large_orange_diamond: * [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. :large_orange_diamond: * [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text :large_orange_diamond: +* [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS :large_orange_diamond: ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: From fbf52fb7e8b2cc3464fab9149409d2bdfb4aa22a Mon Sep 17 00:00:00 2001 From: David Cordero Date: Sun, 19 Feb 2017 12:06:20 +0100 Subject: [PATCH 0854/2606] Add tvOS to the pull request template --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 15aa5531c..c499f863d 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -13,7 +13,7 @@ - [ ] Only one project/change is in this pull request - [ ] Addition in chronological order (bottom of category) -- [ ] Supports iOS 9 or later +- [ ] Supports iOS 9 / tvOS 9 / or later - [ ] Supports Swift 3 - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English From 734dac7b109497fcc2c8f64c2535552da1636a63 Mon Sep 17 00:00:00 2001 From: David Cordero Date: Sun, 19 Feb 2017 12:11:58 +0100 Subject: [PATCH 0855/2606] Remove redundant slash and using tvOS 10 instead --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index c499f863d..de2497ecc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -13,7 +13,7 @@ - [ ] Only one project/change is in this pull request - [ ] Addition in chronological order (bottom of category) -- [ ] Supports iOS 9 / tvOS 9 / or later +- [ ] Supports iOS 9 / tvOS 10 or later - [ ] Supports Swift 3 - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English From 673c6035b5dcdd3507303c9dc7e75882a7c6a273 Mon Sep 17 00:00:00 2001 From: Chucky Date: Sun, 19 Feb 2017 07:38:14 -0800 Subject: [PATCH 0856/2606] fixing transition link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cca500a4f..e40a69f32 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Activity Indicator](#activity-indicator) - [Alert View](#alerts) - [Animation](#animation) - - [Transition](transition) + - [Transition](#transition) - [Badge](#badge) - [Button](#button) - [Calendar](#calendar) From 0094d7217e54cccb1a82184e29d45ddc953657ef Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 20 Feb 2017 12:38:15 +0530 Subject: [PATCH 0857/2606] Add WCLShineButton in Button --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5c3b2711..586baca06 100644 --- a/README.md +++ b/README.md @@ -1682,6 +1682,7 @@ Most of these are paid services, some have free tiers. * [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift :large_orange_diamond: * [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash :large_orange_diamond: * [CRNetworkButton](https://github.com/Cleveroad/CRNetworkButton) - Send Button for iOS :large_orange_diamond: +* [WCLShineButton](https://github.com/631106979/WCLShineButton) - This is a UI lib for iOS. Effects like shining. :large_orange_diamond: #### Calendar * [CVCalendar](https://github.com/Mozharovsky/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From 86a8ac0aa7f38afe88f1e4af7c5f431c4a00def3 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 20 Feb 2017 12:47:34 +0530 Subject: [PATCH 0858/2606] Update CVCalendar link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 586baca06..cfc6c3f2f 100644 --- a/README.md +++ b/README.md @@ -1685,7 +1685,7 @@ Most of these are paid services, some have free tiers. * [WCLShineButton](https://github.com/631106979/WCLShineButton) - This is a UI lib for iOS. Effects like shining. :large_orange_diamond: #### Calendar -* [CVCalendar](https://github.com/Mozharovsky/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: +* [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: * [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. * [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS :large_orange_diamond: * [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A superiorly awesome iOS7+ calendar control, compatible with both Objective-c and Swift2 :large_orange_diamond: From d1ce78f3f7f911a4bb9d4f79d5c37ef84ae3819f Mon Sep 17 00:00:00 2001 From: abdullahselek Date: Mon, 20 Feb 2017 21:17:56 +0100 Subject: [PATCH 0859/2606] - add WatchCon --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f61ce4aac..07f910030 100644 --- a/README.md +++ b/README.md @@ -594,6 +594,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. :large_orange_diamond: * [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. :large_orange_diamond: * [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. :large_orange_diamond: +* [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. ⌚️ ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From f93df72f6d3d2fbb879a8669150659f3b12d62c4 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Tue, 21 Feb 2017 10:33:38 +0530 Subject: [PATCH 0860/2606] Added SwipeCellKit. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1239505ed..53833d4f7 100644 --- a/README.md +++ b/README.md @@ -1990,6 +1990,7 @@ Most of these are paid services, some have free tiers. * [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ :large_orange_diamond: * [DTTableViewManager](https://github.com/DenHeadless/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. :large_orange_diamond: * [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView :large_orange_diamond: +* [SwipeCellKit](https://github.com/jerkoch/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From b0ddf492cc2400440c94fb4d0020dec465226f18 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Tue, 21 Feb 2017 14:28:16 +0530 Subject: [PATCH 0861/2606] Add tvOS checklist --- .github/PULL_REQUEST_TEMPLATE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index de2497ecc..1f43a6c78 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -13,7 +13,8 @@ - [ ] Only one project/change is in this pull request - [ ] Addition in chronological order (bottom of category) -- [ ] Supports iOS 9 / tvOS 10 or later +- [ ] Supports iOS 9 or later +- [ ] Supports tvOS 10 or later - [ ] Supports Swift 3 - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English From e82c6444af0a8353d1593d9a340dd31df5bf0f6b Mon Sep 17 00:00:00 2001 From: David Cordero Date: Tue, 21 Feb 2017 20:11:29 +0100 Subject: [PATCH 0862/2606] Update PULL_REQUEST_TEMPLATE.md --- .github/PULL_REQUEST_TEMPLATE.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1f43a6c78..de2497ecc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -13,8 +13,7 @@ - [ ] Only one project/change is in this pull request - [ ] Addition in chronological order (bottom of category) -- [ ] Supports iOS 9 or later -- [ ] Supports tvOS 10 or later +- [ ] Supports iOS 9 / tvOS 10 or later - [ ] Supports Swift 3 - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English From 0a82bf86d35afdf336dbc20c0c55ea510e89ddeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ezequiel=20Fran=C3=A7a=20dos=20Santos?= Date: Tue, 21 Feb 2017 16:21:37 -0300 Subject: [PATCH 0863/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4f153652a..727123b7a 100644 --- a/README.md +++ b/README.md @@ -893,6 +893,7 @@ Also see [push notifications](#push-notifications) * [XMNetworking](https://github.com/kangzubin/XMNetworking) - A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. * [Merhaba](https://github.com/abdullahselek/Merhaba) - Bonjour networking for discovery and connection between iOS, macOS and tvOS devices. * [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. :large_orange_diamond: +* [EFInternetIndicator](https://github.com/ezefranca/EFInternetIndicator) - A little swift Internet error status indicator using ReachabilitySwift. :large_orange_diamond: #### Email From 5c8294a49b8be84a76027326f5dd8285a6a825b9 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 21 Feb 2017 11:35:04 -0800 Subject: [PATCH 0864/2606] Remove Your First iOS App by Ash Furrow --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 4f153652a..f309bc2c0 100644 --- a/README.md +++ b/README.md @@ -2509,7 +2509,6 @@ Most of these are paid services, some have free tiers. * [Using Swift with Cocoa and Objective C by Apple](https://itunes.apple.com/us/book/using-swift-cocoa-objective/id888894773?mt=11) :large_orange_diamond: * [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming/) * [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) -* [Your First iOS App by Ash Furrow](https://leanpub.com/your-first-ios-app) * [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) * [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) * [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) From 3da62ebf7e9a58f42998f7a0c644c406edfdbfad Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 22 Feb 2017 09:38:02 +0530 Subject: [PATCH 0865/2606] Remove old CS193p courses --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 861217e17..be75ff7e0 100644 --- a/README.md +++ b/README.md @@ -172,9 +172,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Lifehacker](http://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? * [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. -* [Stanford - Developing Apps to iOS](https://itunes.apple.com/us/itunes-u/developing-apps-for-ios-hd/id395605774?mt=10) - Stanford's iTunes U App Development Course (Audio and Video). -* [Stanford - Developing iOS 8 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099) - Stanford's 2015 iTunes U App Development Course. :large_orange_diamond: -* [Stanford - Developing iOS 9 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-9-apps-swift/id1104579961) - Stanford's 2016 iTunes U course. :large_orange_diamond: * [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. :large_orange_diamond: * [Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [Object-Oriented Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) From 333f3df453d36396d2a4625009ef0724ced2d292 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 22 Feb 2017 09:40:04 +0530 Subject: [PATCH 0866/2606] Add CS193p iOS 7(Objective-C) course --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index be75ff7e0..8d229c517 100644 --- a/README.md +++ b/README.md @@ -172,6 +172,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Lifehacker](http://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? * [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. +* [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) * [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. :large_orange_diamond: * [Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [Object-Oriented Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) From 7cb92f911c142faa31908e9c616fe2d88a7c7ed4 Mon Sep 17 00:00:00 2001 From: Pavel Sharanda Date: Wed, 22 Feb 2017 11:35:37 +0300 Subject: [PATCH 0867/2606] Add Atributika in Text # Project URL https://github.com/psharanda/Atributika # Description Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns # Checklist - [x] Only one project/change is in this pull request - [x] Addition in chronological order (bottom of category) - [x] Supports iOS 9 / tvOS 10 or later - [x] Supports Swift 3 - [x] Has a commit from less than 2 years ago - [x] Has a clear README in English --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8d229c517..405df6fe8 100644 --- a/README.md +++ b/README.md @@ -1265,6 +1265,7 @@ Most of these are paid services, some have free tiers. * [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. :large_orange_diamond: * [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. :large_orange_diamond: * [Attributed](https://github.com/Nirma/Attributed) - A Modern interface for attributed strings. :large_orange_diamond: +* [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. :large_orange_diamond: ## Testing From 935ad52dca2c91165a1d6bce1cf2b2ab89502f04 Mon Sep 17 00:00:00 2001 From: Merrick Sapsford Date: Wed, 22 Feb 2017 11:48:43 +0000 Subject: [PATCH 0868/2606] Move Pageboy to correct category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 405df6fe8..1399bf888 100644 --- a/README.md +++ b/README.md @@ -1467,6 +1467,7 @@ Most of these are paid services, some have free tiers. * [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. :large_orange_diamond: * [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts * [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. :large_orange_diamond: +* [Pageboy](https://github.com/MerrickSapsford/Pageboy) - A simple, highly informative page view controller. :large_orange_diamond: #### Activity Indicator @@ -1516,7 +1517,6 @@ Most of these are paid services, some have free tiers. * [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. * [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. :large_orange_diamond: * [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. :large_orange_diamond: -* [Pageboy](https://github.com/MerrickSapsford/Pageboy) - A simple, highly informative page view controller. :large_orange_diamond: * [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. :large_orange_diamond: #### Animation From ad34191d7a0fc78b77c91d54a338388d029b5ae1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Wed, 22 Feb 2017 12:39:01 -0300 Subject: [PATCH 0869/2606] Update library descriptions (#1490) --- README.md | 247 +++++++++++++++++++++++++++--------------------------- 1 file changed, 123 insertions(+), 124 deletions(-) diff --git a/README.md b/README.md index 405df6fe8..7af4d0f84 100644 --- a/README.md +++ b/README.md @@ -195,7 +195,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and OS X -* [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager without client-server :large_orange_diamond: +* [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager with or without client-server :large_orange_diamond: * [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! :large_orange_diamond: * [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. :large_orange_diamond: * [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. :large_orange_diamond: @@ -208,9 +208,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. :large_orange_diamond: * [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for OS X and iOS, written in Swift. :large_orange_diamond: * [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS :large_orange_diamond: -* [SimpleAuth](https://github.com/calebd/SimpleAuth) - Simple social authentication for iOS +* [SimpleAuth](https://github.com/calebd/SimpleAuth) - Simple social authentication for iOS. * [AlamofireOauth2](https://github.com/evermeer/AlamofireOauth2) - A swift implementation of OAuth2 :large_orange_diamond: -* [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A small OAuth library with a built-in set of providers :large_orange_diamond: +* [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers :large_orange_diamond: * [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and OS X apps. :large_orange_diamond: * [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. :large_orange_diamond: * [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. :large_orange_diamond: @@ -222,7 +222,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and OS X ## Cache -* [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache :large_orange_diamond: +* [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) :large_orange_diamond: * [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content :large_orange_diamond: * [Carlos](https://github.com/WeltN24/Carlos) - A simple but flexible cache :large_orange_diamond: * [HanekeSwift](https://github.com/Haneke/HanekeSwift) - A lightweight generic cache for iOS written in Swift with extra love for images. :large_orange_diamond: @@ -231,7 +231,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MGCacheManager](https://github.com/Mortgy/MGCacheManager) - A delightful iOS Networking Cache Managing Class. * [SPTPersistentCache](https://github.com/spotify/SPTPersistentCache) - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify * [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. :large_orange_diamond: -* [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cache that cures scroll-lags on a cell instantiating +* [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cell cache that cures scroll-lags on a cell instantiating. * [RocketData](https://github.com/linkedin/RocketData) - A caching and consistency solution for immutable models. :large_orange_diamond: * [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and OS X @@ -310,7 +310,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. :large_orange_diamond: * [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. :large_orange_diamond: * [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) :large_orange_diamond: -* [XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) - :balloon: An Xcode plugin that makes working with color easier :large_orange_diamond:[e] +* [XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) - :balloon: An Xcode plugin that makes working with color easier :large_orange_diamond: * [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes * [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/publications/standards/Ecma-048.htm). :large_orange_diamond: * [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). :large_orange_diamond: @@ -350,7 +350,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. :large_orange_diamond: * [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. :large_orange_diamond: * [CoreDataDandy](https://github.com/fuzz-productions/CoreDataDandy) - A feature-light wrapper around Core Data that simplifies common database operations. :large_orange_diamond: -* [Sync](https://github.com/SyncDB/Sync) - Modern JSON synchronization to Core Data :large_orange_diamond: +* [Sync](https://github.com/SyncDB/Sync) - :arrows_counterclockwise: Modern Swift JSON synchronization to Core Data :large_orange_diamond: * [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. :large_orange_diamond: * [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. :large_orange_diamond: * [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack :large_orange_diamond: @@ -367,14 +367,14 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FMDB](https://github.com/ccgus/fmdb) - A Cocoa / Objective-C wrapper around SQLite. * [Akaibu-NSUserDefaults](https://github.com/roytang121/Akaibu-NSUserDefaults) - a Swifty Key-value store for archiving NSObject in only one line of code. Class properties are automatically mapped and archived under the hood. * [FCModel](https://github.com/marcoarment/FCModel) - An alternative to Core Data for people who like having direct SQL access. -* [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly sync NSUserDefaults over iCloud :large_orange_diamond: +* [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly synchronize NSUserDefaults over iCloud. :large_orange_diamond: * [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. :large_orange_diamond: * [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). :large_orange_diamond: * [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. :large_orange_diamond: * [swiftydb](https://github.com/Oyvindkg/swiftydb) - Making SQLite databases a blast :large_orange_diamond: * [SugarRecord](https://github.com/carambalabs/SugarRecord) - Data persistence management library written in Swift 2.0 :large_orange_diamond: * [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. :large_orange_diamond: -* [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift :large_orange_diamond: +* [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support :large_orange_diamond: * [SwiftData](https://github.com/ryanfowler/SwiftData) - Simple and Effective SQLite Handling in Swift :large_orange_diamond: * [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. :large_orange_diamond: * [RealmIncrementalStore](https://github.com/eure/RealmIncrementalStore) - Realm-powered Core Data persistent store. :large_orange_diamond: @@ -382,7 +382,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ParseAlternatives](https://github.com/relatedcode/ParseAlternatives) - A collaborative list of Parse alternative backend service providers. * [TypedDefaults](https://github.com/tasanobu/TypedDefaults) - TypedDefaults is a utility library to type-safely use NSUserDefaults. :large_orange_diamond: * [realm-cocoa-converter](https://github.com/realm/realm-cocoa-converter) - A library that provides the ability to import/export Realm files from a variety of data container formats. :large_orange_diamond: -* [YapDatabaseExtensions](https://github.com/danthorpe/YapDatabaseExtensions) - YapDatabase extensions for use with Swift :large_orange_diamond:[e] +* [YapDatabaseExtensions](https://github.com/danthorpe/YapDatabaseExtensions) - YapDatabase extensions for use with Swift :large_orange_diamond: * [RealmGeoQueries](https://github.com/mhergon/RealmGeoQueries) - RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do proximity search. :large_orange_diamond:[e] * [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift :large_orange_diamond: * [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. @@ -399,12 +399,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: -* [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another +* [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another :large_orange_diamond: * [BTree](https://github.com/lorentey/BTree) - Fast ordered collections for Swift using in-memory B-trees :large_orange_diamond: * [SwiftStructures](https://github.com/waynewbishop/SwiftStructures) - Examples of commonly used data structures and algorithms in Swift. :large_orange_diamond: * [diff](https://github.com/soffes/diff) - Simple diff library in pure Swift :large_orange_diamond: -* [Brick](https://github.com/hyperoslo/Brick) - A generic view model for both basic and complex scenarios :large_orange_diamond: -* [Algorithm](https://github.com/CosmicMind/Algorithm) - A toolset for writing algorithms and probability models in Swift :large_orange_diamond: +* [Brick](https://github.com/hyperoslo/Brick) - :droplet: A generic view model for both basic and complex scenarios :large_orange_diamond: +* [Algorithm](https://github.com/CosmicMind/Algorithm) - Algorithm is a collection of data structures that are empowered by a probability toolset. :large_orange_diamond: * [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. :large_orange_diamond: * [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript https://www.dollarswift.org/. :large_orange_diamond: * [Result](https://github.com/antitypical/Result) - Swift type modelling the success/failure of arbitrary operations. :large_orange_diamond: @@ -419,15 +419,15 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Date & Time -* [Every.swift](https://github.com/samhann/Every.swift) - Wrapper for NSTimer :large_orange_diamond: -* [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions :large_orange_diamond:[e] +* [Every.swift](https://github.com/samhann/Every.swift) - A swift wrapper for NSTimer :large_orange_diamond: +* [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions in Swift :large_orange_diamond: * [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 :large_orange_diamond: * [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 :large_orange_diamond: * [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C * [Punctual.swift](https://github.com/harlanhaskins/Punctual.swift) - Swift dates, more fun. :large_orange_diamond: -* [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond:[e] -* [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond:[e] -* [Tempo](https://github.com/remirobert/Tempo) - Date and time manager for iOS/OSX written in Swift :large_orange_diamond: +* [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond: +* [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond: +* [Tempo](https://github.com/remirobert/Tempo) - :watch: Date and time manager for iOS/OSX written in Swift :large_orange_diamond: * [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. * [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. :large_orange_diamond: * [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift :large_orange_diamond: @@ -481,8 +481,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit :large_orange_diamond: ## Gesture -* [Tactile](https://github.com/delba/Tactile) - The Swift way to add UIGestureRecognizer and to react to UIControlEvents :large_orange_diamond: -* [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond:[e] +* [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS :large_orange_diamond: +* [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond: * [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] :large_orange_diamond: * [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. :large_orange_diamond: @@ -492,7 +492,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext * [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! :large_orange_diamond: * [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). :large_orange_diamond: -* [InkKit](https://github.com/shaps80/InkKit) - Drawing and Geometry made easy for iOS -- Now in Swift! :large_orange_diamond: +* [InkKit](https://github.com/shaps80/InkKit) - Write-Once, Draw-Everywhere for iOS and OSX -- Now in Swift! :large_orange_diamond: * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. * [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone :large_orange_diamond: * [jot](https://github.com/IFTTT/jot) - An iOS framework for easily adding drawings and text to images. @@ -550,7 +550,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. * [PureLayout](https://github.com/PureLayout/PureLayout) - The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible. * [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & OS X. :large_orange_diamond: -* [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :large_orange_diamond: +* [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :iphone::triangular_ruler: :large_orange_diamond: * [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. :large_orange_diamond: * [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. :large_orange_diamond: * [MisterFusion](https://github.com/marty-suzuki/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. :large_orange_diamond: @@ -565,10 +565,10 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy :large_orange_diamond: * [SwiftBond](https://github.com/ReactiveKit/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. :large_orange_diamond: * [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift :large_orange_diamond: -* [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - The easiest way to create and maintain Auto Layout constraints :large_orange_diamond: +* [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - Auto Layout made easy :large_orange_diamond: * [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! :large_orange_diamond: * [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. :large_orange_diamond: -* [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS :large_orange_diamond: +* [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS. :large_orange_diamond: * [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications * [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally :large_orange_diamond: * [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. :large_orange_diamond: @@ -580,14 +580,14 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. * [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. -* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - CoreLocation Made Easy, 100% Swift :large_orange_diamond: +* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift :large_orange_diamond: * [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. * [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: * [LocationKit](https://locationkit.io) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information :large_orange_diamond: #### Other Hardware * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. -* [DarkLightning](https://github.com/jensmeder/DarkLightning) -Simply the fastest way to transmit data between iOS and OSX +* [DarkLightning](https://github.com/jensmeder/DarkLightning) - Simply the fastest way to transmit data between iOS/tvOS and OSX. * [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 * [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. :large_orange_diamond: * [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. :large_orange_diamond: @@ -623,7 +623,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. :large_orange_diamond: * [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread :large_orange_diamond: * [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. :large_orange_diamond: -* [puree](https://github.com/cookpad/puree-ios) - A log collector for iOS :large_orange_diamond: +* [puree](https://github.com/cookpad/puree-ios) - A log collector for iOS * [AFNetworkActivityLogger](https://github.com/AFNetworking/AFNetworkActivityLogger) - AFNetworking 2.0 Extension for Network Request Logging * [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! :large_orange_diamond:[e] * [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. :large_orange_diamond: @@ -664,7 +664,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftMath](https://github.com/madbat/SwiftMath) - :triangular_ruler: A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. :large_orange_diamond: * [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations :large_orange_diamond: * [Surge](https://github.com/mattt/Surge) - A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation. :large_orange_diamond: -* [Upsurge](https://github.com/aleph7/Upsurge) - Swift + Accelerate :large_orange_diamond: +* [Upsurge](https://github.com/aleph7/Upsurge) - Swift math :large_orange_diamond: * [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. :large_orange_diamond: * [iosMath](https://github.com/kostub/iosMath) - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS. * [swift-pons](https://github.com/dankogai/swift2-pons) - Protocol-Oriented Number System in Pure Swift :large_orange_diamond: @@ -683,9 +683,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Cephalopod](https://github.com/evgenyneu/Cephalopod) - A sound fader for AVAudioPlayer written in Swift. :large_orange_diamond: * [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! :large_orange_diamond: * [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. :large_orange_diamond: -* [AudioPlayerSwift]( https://github.com/tbaranes/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio (basic and advanced usage) in iOS, OS X and tvOS apps :large_orange_diamond: +* [AudioPlayerSwift]( https://github.com/tbaranes/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps. :large_orange_diamond: * [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). :large_orange_diamond: -* [TuningFork](https://github.com/comyar/TuningFork) - A Simple Tuner for iOS :large_orange_diamond::black_circle: +* [TuningFork](https://github.com/comyar/TuningFork) - :musical_keyboard: Simple Tuner for iOS :large_orange_diamond: * [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift :large_orange_diamond: * [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. :large_orange_diamond: * [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/OSX DSP for audio (with Novocaine) @@ -724,9 +724,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PINRemoteImage](https://github.com/pinterest/PINRemoteImage) - A thread safe, performant, feature rich image fetcher. * [SABlurImageView](https://github.com/marty-suzuki/SABlurImageView) - Easily Adding Animated Blur/Unblur Effects To An Image. :large_orange_diamond: * [FastImageCache](https://github.com/path/FastImageCache) - iOS library for quickly displaying images while scrolling. -* [BKAsciiImage](https://github.com/bkoc/BKAsciiImage) - A library to render UIImage as ASCII art +* [BKAsciiImage](https://github.com/bkoc/BKAsciiImage) - Convert UIImage to ASCII art * [AlamofireImage](https://github.com/Alamofire/AlamofireImage) - An image component library for Alamofire. :large_orange_diamond: -* [Nuke](https://github.com/kean/Nuke) - Advanced framework for managing images :large_orange_diamond: +* [Nuke](https://github.com/kean/Nuke) - Image loading, processing, caching and preheating :large_orange_diamond: * [FlagKit](https://github.com/madebybowtie/FlagKit) - Beautiful flag icons for usage in apps and on the web. :large_orange_diamond: * [YYWebImage](https://github.com/ibireme/YYWebImage) - Asynchronous image loading framework (supports WebP, APNG, GIF). * [RSKImageCropper](https://github.com/ruslanskorb/RSKImageCropper) - An image cropper for iOS like in the Contacts app with support for landscape orientation. @@ -747,16 +747,16 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Navi](https://github.com/nixzhu/Navi) - Focus on avatar caching. :large_orange_diamond: * [SwiftPhotoGallery](https://github.com/Inspirato/SwiftPhotoGallery) - Simple, fullscreen image gallery with tap, swipe, and pinch gestures. :large_orange_diamond: * [MetalAcc](https://github.com/wangjwchn/MetalAcc) - GPU-based Media processing library using Metal written in Swift.:large_orange_diamond: -* [MWPhotoBrowser](https://github.com/mwaterfall/MWPhotoBrowser) - A simple iOS photo and video browser with grid view, captions and selections +* [MWPhotoBrowser](https://github.com/mwaterfall/MWPhotoBrowser) - A simple iOS photo and video browser with grid view, captions and selections. * [UIImageColors](https://github.com/jathu/UIImageColors) - iTunes style color fetcher for UIImage. :large_orange_diamond:[e] * [CDFlipView](https://github.com/jibeex/CDFlipView) - A view that takes a set of images, make transition from one to another by using flipping effects. * [GPUImage2](https://github.com/BradLarson/GPUImage2) - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. :large_orange_diamond: * [TGLParallaxCarousel](https://github.com/taglia3/TGLParallaxCarousel) - A lightweight 3D Linear Carousel with parallax effect :large_orange_diamond: -* [ImageButter](https://github.com/dollarshaveclub/ImageButter) - Makes dealing with images buttery smooth :large_orange_diamond: +* [ImageButter](https://github.com/dollarshaveclub/ImageButter) - Makes dealing with images buttery smooth * [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by facebook, twitter photo browsers written by swift :large_orange_diamond: * [YUCIHighPassSkinSmoothing](https://github.com/YuAo/YUCIHighPassSkinSmoothing) - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework * [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up :large_orange_diamond: -* [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition :large_orange_diamond: +* [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition! :large_orange_diamond: * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond:[e] * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: * [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter :large_orange_diamond: @@ -845,22 +845,22 @@ Also see [push notifications](#push-notifications) * [Alamofire](https://github.com/Alamofire/Alamofire) - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking. :large_orange_diamond: * [Transporter](https://github.com/nghialv/Transporter) - A tiny library makes uploading and downloading easier. :large_orange_diamond: * [CDZPinger](https://github.com/cdzombak/CDZPinger) - Easy-to-use ICMP Ping. -* [NSRails](https://github.com/dingbat/nsrails) - Map client-side objects/classes to remote rest api objects/orm +* [NSRails](https://github.com/dingbat/nsrails) - iOS/Mac OS framework for Rails. * [NKMultipeer](https://github.com/nathankot/NKMultipeer) - A testable abstraction over multipeer connectivity. :large_orange_diamond: * [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket) - Asynchronous socket networking library for Mac and iOS. * [Siesta](https://bustoutsolutions.github.io/siesta/) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. :large_orange_diamond: * [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures :large_orange_diamond: * [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. -* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS network debugging library! :large_orange_diamond: +* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / OSX network debugging library! :large_orange_diamond: * [OctopusKit](https://github.com/icoco/OctopusKit) - A simplicity but graceful solution for invoke RESTful web service APIs. * [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. :large_orange_diamond: * [TWRDownloadManager](https://github.com/chasseurmic/TWRDownloadManager) - A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. * [HappyDns](https://github.com/qiniu/happy-dns-objc) - A Dns library, support custom dns server, dnspod httpdns. Only support A record. * [Bridge](https://github.com/BridgeNetworking/Bridge) - A simple extensible typed networking library. Intercept and process/alter requests and responses easily. :large_orange_diamond: -* [TRON](https://github.com/MLSDev/TRON) - Lightweight network abstraction layer, written on top of Alamofire and SwiftyJSON :large_orange_diamond: +* [TRON](https://github.com/MLSDev/TRON) - Lightweight network abstraction layer, written on top of Alamofire :large_orange_diamond: * [EVCloudKitDao](https://github.com/evermeer/EVCloudKitDao) - Simplified access to Apple's CloudKit :large_orange_diamond: * [EVURLCache](https://github.com/evermeer/EVURLCache) - a NSURLCache subclass for handling all web requests that use NSURLRequest :large_orange_diamond: -* [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer :large_orange_diamond: +* [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer. :large_orange_diamond: * [Pitaya](https://github.com/johnlui/Pitaya) - A Swift HTTP / HTTPS networking library just incidentally execute on machines :large_orange_diamond: * [Just](https://github.com/JustHTTP/Just) - Swift HTTP for Humans :large_orange_diamond: * [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and OS X :large_orange_diamond: @@ -874,12 +874,12 @@ Also see [push notifications](#push-notifications) * [NetworkKit](https://github.com/imex94/NetworkKit) - Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS. :large_orange_diamond: * [APIKit](https://github.com/ishkawa/APIKit) - A networking library for building type safe web API client in Swift. :large_orange_diamond: * [ws ☁️](https://github.com/freshOS/ws) - Elegant JSON WebService in Swift.:large_orange_diamond: -* [SPTDataLoader](https://github.com/spotify/SPTDataLoader) - The HTTP library used by the Spotify iOS client :large_orange_diamond: +* [SPTDataLoader](https://github.com/spotify/SPTDataLoader) - The HTTP library used by the Spotify iOS client. * [SWNetworking](https://github.com/skywite/SWNetworking) - Powerful high-level iOS, OS X and tvOS networking library. * [Networking](https://github.com/3lvis/Networking) - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support :large_orange_diamond: -* [SOAPEngine](https://github.com/priore/SOAPEngine) - This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app +* [SOAPEngine](https://github.com/priore/SOAPEngine) - This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app. * [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working) :large_orange_diamond: -* [Malibu](https://github.com/hyperoslo/Malibu) - Networking library built on promises :large_orange_diamond: +* [Malibu](https://github.com/hyperoslo/Malibu) - :surfer: Malibu is a networking library built on promises :large_orange_diamond: * [YTKNetwork](https://github.com/yuantiku/YTKNetwork) - YTKNetwork is a high level request util based on AFNetworking. * [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. :large_orange_diamond: * [MMLanScan](https://github.com/mavris/MMLanScan) - An iOS LAN Network Scanner library @@ -960,14 +960,14 @@ Most of these are paid services, some have free tiers. * [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. :large_orange_diamond: * [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. :large_orange_diamond: * [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. :large_orange_diamond: -* [mapper](https://github.com/lyft/mapper) - Another JSON deserialization library for Swift :large_orange_diamond: +* [mapper](https://github.com/lyft/mapper) - A JSON deserialization library for Swift :large_orange_diamond: * [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection :large_orange_diamond: * [Jay](https://github.com/DanToml/Jay) - Pure-Swift JSON parser & formatter. Linux & OS X ready. :large_orange_diamond: * [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/OSX. * [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON :large_orange_diamond: * [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder :large_orange_diamond: * [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. :large_orange_diamond: -* [Decodable](https://github.com/Anviking/Decodable) - Swift 2 JSON parsing done (more) right :large_orange_diamond: +* [Decodable](https://github.com/Anviking/Decodable) - Swift 2/3 JSON parsing done (more) right :large_orange_diamond: * [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux) :large_orange_diamond: * [Tyro](https://github.com/typelift/Tyro) - Functional JSON parsing and encoding :large_orange_diamond: * [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder :large_orange_diamond: @@ -991,14 +991,14 @@ Most of these are paid services, some have free tiers. * [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects :large_orange_diamond: * [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support :large_orange_diamond: * [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for MacOSX/iOS. :large_orange_diamond: -* [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: +* [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. * [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift :large_orange_diamond: * [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 3 :large_orange_diamond: #### Other Parsing * [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: -* [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: [e] +* [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: * [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift :large_orange_diamond: * [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. :large_orange_diamond: * [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: @@ -1048,9 +1048,9 @@ Most of these are paid services, some have free tiers. ## Reactive Programming * [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift :large_orange_diamond: -* [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extentions for Swift optionals and "Occupiable" types :large_orange_diamond:[e] +* [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extentions for Swift optionals and "Occupiable" types :large_orange_diamond: * [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes :large_orange_diamond: -* [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) - Streams of values over time :large_orange_diamond: +* [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) - Streams of values over time. * [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. :large_orange_diamond: * [ReactiveCoreData](https://github.com/apparentsoft/ReactiveCoreData) - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world. * [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux :large_orange_diamond: @@ -1165,14 +1165,14 @@ Most of these are paid services, some have free tiers. * [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. :large_orange_diamond: * [Arcane](https://github.com/onmyway133/Arcane) - 🔱 Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: * [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: -* [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift :large_orange_diamond: -* [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms :large_orange_diamond: -* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, SEM encryption in Swift with CommonCrypto in iOS and OS X :large_orange_diamond: +* [SwiftHash](https://github.com/onmyway133/SwiftHash) - 🍕 Hash in Swift :large_orange_diamond: +* [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms. :large_orange_diamond: +* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and OS X :large_orange_diamond: * [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. :large_orange_diamond: * [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift :large_orange_diamond: * [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: * [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/OS X, Android and different server side platforms. -* [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - String Obfuscation for app's executable file +* [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - Secure your app by obfuscating all the hard-coded security-sensitive strings. * [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: * [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines :large_orange_diamond: @@ -1182,7 +1182,7 @@ Most of these are paid services, some have free tiers. * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. * [Valet](https://github.com/square/Valet) - Securely store data in the iOS or OS X Keychain without knowing a thing about how the Keychain works. * [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. :large_orange_diamond: -* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and OS X :large_orange_diamond:[e] +* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and OS X :large_orange_diamond: * [Keychain](https://github.com/hyperoslo/Keychain) - Because you should care... about the security... of your shit. :large_orange_diamond: * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. * [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. @@ -1198,11 +1198,11 @@ Most of these are paid services, some have free tiers. * [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift :large_orange_diamond: * [blackfire](https://github.com/elliottminns/blackfire) - A fast HTTP web server based on Node.js and Express written in Swift :large_orange_diamond: * [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and Mac OS X :large_orange_diamond: -* [Trevi](https://github.com/Yoseob/Trevi) - A powerful Swift Web Application Server Framework Project :large_orange_diamond: +* [Trevi](https://github.com/Yoseob/Trevi) - libuv base Swift web HTTP server framework :large_orange_diamond: * [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift :large_orange_diamond: * [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift :large_orange_diamond: * [Frank](https://github.com/nestproject/Frank) - Frank is a DSL for quickly writing web applications in Swift :large_orange_diamond: -* [Kitura](https://github.com/IBM-Swift/Kitura) - Web framework and HTTP server for Swift by IBM :large_orange_diamond: +* [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server :large_orange_diamond: * [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: * [Redbird](https://github.com/vapor/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: @@ -1220,8 +1220,8 @@ Most of these are paid services, some have free tiers. * [MMMarkdown](https://github.com/mdiep/MMMarkdown) - An Objective-C static library for converting Markdown to HTML. * [DTCoreText](https://github.com/Cocoanetics/DTCoreText) - Methods to allow using HTML code with CoreText. * [DTRichTextEditor](https://github.com/Cocoanetics/DTRichTextEditor) - A rich-text editor for iOS. -* [NBEmojiSearchView](https://github.com/neerajbaid/NBEmojiSearchView) - A searchable emoji dropdown view that can be integrated with a text control -* [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension :large_orange_diamond:[e] +* [NBEmojiSearchView](https://github.com/neerajbaid/NBEmojiSearchView) - A searchable emoji dropdown view. +* [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension :large_orange_diamond: * [RichEditorView](https://github.com/cjwirth/RichEditorView) - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. :large_orange_diamond: * [Money](https://github.com/danthorpe/Money) - Swift value types for working with money & currency :large_orange_diamond: * [PhoneNumberKit](https://github.com/marmelroy/PhoneNumberKit) - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. :large_orange_diamond: @@ -1230,9 +1230,9 @@ Most of these are paid services, some have free tiers. * [Tribute](https://github.com/zats/Tribute) - Programmatic creation of NSAttributedString doesn't have to be a pain :large_orange_diamond: * [EmojiKit](https://github.com/dasmer/EmojiKit) - Effortless emoji-querying in Swift :large_orange_diamond: * [Roman](https://github.com/nvzqz/Roman) - Seamless Roman numeral conversion in Swift. :large_orange_diamond: -* [ZSSRichTextEditor](https://github.com/nnhubbard/ZSSRichTextEditor) - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view :large_orange_diamond: +* [ZSSRichTextEditor](https://github.com/nnhubbard/ZSSRichTextEditor) - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view. * [pangu.Objective-C](https://github.com/Cee/pangu.objective-c) - Paranoid text spacing in Objective-C. -* [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift :large_orange_diamond:[e] +* [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift :large_orange_diamond: * [Marklight](https://github.com/macteo/Marklight) - Markdown syntax highlighter for iOS :large_orange_diamond: * [MarkdownTextView](https://github.com/indragiek/MarkdownTextView) - Rich Markdown editing control for iOS :large_orange_diamond: * [TextAttributes](https://github.com/delba/TextAttributes) - An easier way to compose attributed strings. :large_orange_diamond:[e] @@ -1240,7 +1240,7 @@ Most of these are paid services, some have free tiers. * [SmarkDown](https://github.com/SwiftStudies/SmarkDown) - A Pure Swift implementation of the markdown mark-up language :large_orange_diamond: * [SwiftyMarkdown](https://github.com/SimonFairbairn/SwiftyMarkdown) - Converts Markdown files and strings into NSAttributedString :large_orange_diamond: * [SZMentions](https://github.com/szweier/SZMentions) - Library to help handle mentions -* [SZMentionsSwift](https://github.com/szweier/SZMentionsSwift) - Library to help handle mentions, written in Swift 🔶 +* [SZMentionsSwift](https://github.com/szweier/SZMentionsSwift) - Library to help handle mentions. * [Heimdall](https://github.com/henrinormak/Heimdall) - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. :large_orange_diamond: * [NoOptionalInterpolation](https://github.com/T-Pham/NoOptionalInterpolation) - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.🔶[e] * [Smile](https://github.com/onmyway133/Smile) 😄 Emoji in Swift @@ -1297,8 +1297,8 @@ Most of these are paid services, some have free tiers. * [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any IOS native, hybrid, or mobile web application using Selenium / WebDriver. * [Zucchini](https://github.com/zucchini-src/zucchini) - A visual iOS testing framework that loves your apps. * [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. -* [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations :large_orange_diamond: -* [EarlGrey](https://github.com/google/EarlGrey) - iOS UI Automation Test Framework by Google +* [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations. +* [EarlGrey](https://github.com/google/EarlGrey) - :tea: iOS UI Automation Test Framework. * [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? :large_orange_diamond: * [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo :large_orange_diamond: * [Bluepill](https://github.com/linkedin/bluepill) - Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine @@ -1327,8 +1327,7 @@ Most of these are paid services, some have free tiers. * [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. * [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. :large_orange_diamond: * [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported :large_orange_diamond: -* [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for Swift (FontAwesome, Ionicons, Octicons, Iconic) - :large_orange_diamond: +* [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon) :large_orange_diamond: * [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. * [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS :large_orange_diamond: * [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. :large_orange_diamond: @@ -1358,12 +1357,12 @@ Most of these are paid services, some have free tiers. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [WobbleView](https://github.com/inFullMobile/WobbleView) - WobbleView is an implementation of a recently popular wobble effect for any view in your app. It can be used to easily add dynamics to user interactions and transitions. :large_orange_diamond: * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. -* [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit +* [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit :large_orange_diamond: * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift :large_orange_diamond: * [DLWBouncyView](https://github.com/cute/DLWBouncyView) - BouncyView is an implementation of a recently popular bouncy effect for any view. * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. * [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. -* [CardAnimation](https://github.com/seedante/CardAnimation) - Card flipping-style animation :large_orange_diamond: +* [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. :large_orange_diamond: * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) * [HorizontalProgress](https://github.com/AliThink/HorizontalProgress) - Simple horizontal progress bar with animation * [JRSplitVC](https://github.com/tommypeps/JRSplitVC) - UISplitViewController with adaptative layouts @@ -1376,7 +1375,7 @@ Most of these are paid services, some have free tiers. * [StackPageView](https://github.com/noppefoxwolf/StackPageView) - Vertical page view with UIViewControllers stacked on the top of each other :large_orange_diamond: * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. :large_orange_diamond: * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. -* [Pages](https://github.com/hyperoslo/Pages) - UIPageViewController made simple :large_orange_diamond: +* [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple :large_orange_diamond: * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. :large_orange_diamond: * [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop :large_orange_diamond: * [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. :large_orange_diamond: @@ -1389,7 +1388,7 @@ Most of these are paid services, some have free tiers. * [FXBlurView](https://github.com/nicklockwood/FXBlurView) - UIView subclass that replicates the iOS 7 realtime background blur effect, but works on iOS 5 and above. * [NGAParallaxMotion](https://github.com/michaeljbishop/NGAParallaxMotion) - A tiny category on UIView that allows you to set one property: "parallaxIntensity" to achieve a parallax effect with UIMotionEffect * [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. :large_orange_diamond: -* [CRParticleEffect](https://github.com/Cleveroad/CRParticleEffect) - A CocoaPod that simplifies creation of the particle effects +* [CRParticleEffect](https://github.com/Cleveroad/CRParticleEffect) - A CocoaPod that simplifies creation of the particle effects. * [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. :large_orange_diamond: * [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book * [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. :large_orange_diamond: @@ -1397,18 +1396,18 @@ Most of these are paid services, some have free tiers. * [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library :large_orange_diamond: * [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. * [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. :large_orange_diamond: -* [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities :large_orange_diamond: +* [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities. * [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. * [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. 🔶 * [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift :large_orange_diamond: * [CoreDragon](https://github.com/nevyn/CoreDragon) - [iOS] Stop using context menus. Drag and drop instead, even between apps! * [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. :large_orange_diamond: -* [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face :large_orange_diamond: +* [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face. * [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. :large_orange_diamond: * [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. :large_orange_diamond: * [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. * [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. :large_orange_diamond: -* [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app +* [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app. * [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. :large_orange_diamond: * [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). :large_orange_diamond: * [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller :large_orange_diamond: @@ -1420,13 +1419,13 @@ Most of these are paid services, some have free tiers. * [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. :large_orange_diamond: * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: * [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller :large_orange_diamond: -* [DCKit](https://github.com/andrew8712/DCKit) - Set of `@IBDesignable` iOS controls, which have useful `@IBInspectable` properties (border width and color, corner radius and much more) :large_orange_diamond: -* [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views :large_orange_diamond: +* [DCKit](https://github.com/andrew8712/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. :large_orange_diamond: +* [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views. * [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects :large_orange_diamond: * [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ :large_orange_diamond: * [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. :large_orange_diamond: * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ -* [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app :large_orange_diamond: +* [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. :large_orange_diamond: * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. * [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS * [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift :large_orange_diamond: @@ -1472,7 +1471,7 @@ Most of these are paid services, some have free tiers. * [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. :large_orange_diamond: * [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift :large_orange_diamond: -* [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations by using Swift CALayer :large_orange_diamond: +* [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations :cyclone: by using Swift CALayer :large_orange_diamond: * [LiquidLoader](https://github.com/yoavlt/LiquidLoader) - Spinner loader components with liquid animation :large_orange_diamond: * [iOS-CircleProgressView](https://github.com/CardinalNow/iOS-CircleProgressView) - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view. :large_orange_diamond: * [iOS Circle Progress Bar](https://github.com/Eclair/CircleProgressBar) - iOS Circle Progress Bar @@ -1480,7 +1479,7 @@ Most of these are paid services, some have free tiers. * [STLoadingGroup](https://github.com/saitjr/STLoadingGroup) - loading views :large_orange_diamond: * [ALThreeCircleSpinner](https://github.com/AlexLittlejohn/ALThreeCircleSpinner) - A pulsing spinner view written in swift :large_orange_diamond: * [MHRadialProgressView](https://github.com/mehfuzh/MHRadialProgressView) - iOS 7 radial animated progress view. -* [Loader](https://github.com/Ekhoo/Loader) - Amazing animated switch activity indicator written in swift +* [Loader](https://github.com/Ekhoo/Loader) - Amazing animated switch activity indicator written in swift :large_orange_diamond: * [MBProgressHUD](https://github.com/jdg/MBProgressHUD) - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. * [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD) - A clean and lightweight progress HUD for your iOS app. * [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - ProgressHUD is a lightweight and easy-to-use HUD. @@ -1501,7 +1500,7 @@ Most of these are paid services, some have free tiers. * [Hexacon](https://github.com/gautier-gdx/Hexacon) - A new way to display content in your app like the Apple Watch SpringBoard, written in Swift. 🔶 * [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list :large_orange_diamond: * [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. :large_orange_diamond: -* [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - Circular progress UIView subclass with UIProgressView properties :large_orange_diamond: +* [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - (Swift) Circular progress UIView subclass with UIProgressView properties :large_orange_diamond: * [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. * [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beauful hud view for iPhone & iPad * [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. :large_orange_diamond: @@ -1540,7 +1539,7 @@ Most of these are paid services, some have free tiers. * [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining :large_orange_diamond: * [SYBlinkAnimationKit](https://github.com/shoheiyokoyama/SYBlinkAnimationKit) - A blink effect animation framework for iOS, written in Swift. :large_orange_diamond: * [PulsingHalo](https://github.com/shu223/PulsingHalo) - iOS Component for creating a pulsing animation. -* [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - :star: Chainable animations in Swift :large_orange_diamond:[e] +* [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - Chainable animations in Swift :large_orange_diamond: * [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift :large_orange_diamond: * [Advance](https://github.com/storehouse/Advance) - A powerful animation framework for iOS. :large_orange_diamond: * [UIView-Shake](https://github.com/andreamazz/UIView-Shake) - UIView category that adds shake animation @@ -1551,13 +1550,13 @@ Most of these are paid services, some have free tiers. * [SAConfettiView](https://github.com/sudeepag/SAConfettiView) - Confetti! Who doesn't like confetti? :large_orange_diamond: * [CCMRadarView](https://github.com/cacmartinez/CCMRadarView) - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation :large_orange_diamond: * [Pulsator](https://github.com/shu223/Pulsator) - Pulse animation for iOS :large_orange_diamond: -* [Interpolate](https://github.com/marmelroy/Interpolate) - Interpolation framework for creating interactive gesture-driven animations :large_orange_diamond: +* [Interpolate](https://github.com/marmelroy/Interpolate) - Swift interpolation for gesture-driven animations :large_orange_diamond: * [ADPuzzleAnimation](https://github.com/Antondomashnev/ADPuzzleAnimation) - Custom animation for UIView inspired by Fabric - Answers animation. :large_orange_diamond: -* [Wave](https://github.com/onmyway133/Wave) - 🏄 Declarative chainable animations in Swift +* [Wave](https://github.com/onmyway133/Wave) - :ocean: Declarative chainable animations in Swift :large_orange_diamond: * [Stellar](https://github.com/AugustRush/Stellar) - A fantastic Physical animation library for swift :large_orange_diamond: * [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. :large_orange_diamond: * [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. -* [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes :large_orange_diamond: +* [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes. :large_orange_diamond: * [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax :large_orange_diamond: * [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. :large_orange_diamond: * [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. :large_orange_diamond: @@ -1662,24 +1661,24 @@ Most of these are paid services, some have free tiers. * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. * [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. :large_orange_diamond: * [SDevBootstrapButton](https://github.com/0x73/SDevBootstrapButton) - Twitter Bootstrap buttons for Swift :large_orange_diamond: -* [SDevCircleButton](https://github.com/0x73/SDevCircleButton) - Circle Button for Swift :large_orange_diamond: +* [SDevCircleButton](https://github.com/0x73/SDevCircleButton) - Flat circle button :large_orange_diamond: * [VBFPopFlatButton](https://github.com/victorBaro/VBFPopFlatButton) - Flat button with 9 different states animated using Facebook POP. * [HTPressableButton](https://github.com/Famolus/HTPressableButton) - Flat design pressable button. -* [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state +* [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state :large_orange_diamond: * [JTFadingInfoView](https://github.com/JunichiT/JTFadingInfoView) - An UIButton-based view with fade in/out animation features. -* [KCFloatingActionButton](https://github.com/kciter/KCFloatingActionButton) - Simple Floating Action Button for iOS :large_orange_diamond: +* [KCFloatingActionButton](https://github.com/kciter/KCFloatingActionButton) - :heart: Floating Action Button for iOS :large_orange_diamond: * [Hamburger-Menu-Button](https://github.com/toannt/Hamburger-Menu-Button) - A hamburger menu button with full customization. :large_orange_diamond: * [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). :large_orange_diamond: * [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift :large_orange_diamond: * [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. :large_orange_diamond: * [VCFloatingActionButton](https://github.com/gizmoboy7/VCFloatingActionButton) - A Floating Action Button just like Google inbox for iOS * [FlowBarButtonItem](https://github.com/noppefoxwolf/FlowBarButtonItem) - Bar Button Item that can be moved anywhere in the screen, like Android's stickers button. :large_orange_diamond: -* [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - UIButton Inspired by Apple’s download progress buttons in the app store +* [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - Inspired by Apple’s download progress buttons in the App Store. * [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design :large_orange_diamond: * [ProgressButton](https://github.com/sprint84/ProgressButton) - Custom button class that displays a progress bar around it to gauge :large_orange_diamond: -* [JOEmojiableBtn](https://github.com/lojals/JOEmojiableBtn) - Custom button that opens a popover with more buttons, similar to the new 'Like' button of Facebook :large_orange_diamond: -* [EMEmojiableBtn](https://github.com/Eke/EMEmojiableBtn) - Custom button that opens a popover with more buttons, similar to the new 'Like' button of Facebook -* [WYMaterialButton](https://github.com/Yu-w/WYMaterialButton) - Animated button with material design effect using Facebook's POP, working well for both flat and image button :large_orange_diamond: +* [JOEmojiableBtn](https://github.com/lojals/JOEmojiableBtn) - Emoji selector like Facebook Reactions. +* [EMEmojiableBtn](https://github.com/Eke/EMEmojiableBtn) - Option selector that works similar to Reactions by fb. Objective-c version. +* [WYMaterialButton](https://github.com/Yu-w/WYMaterialButton) - Interactive and fully animated Material Design button for iOS developers. * [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift :large_orange_diamond: * [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash :large_orange_diamond: * [CRNetworkButton](https://github.com/Cleveroad/CRNetworkButton) - Send Button for iOS :large_orange_diamond: @@ -1689,7 +1688,7 @@ Most of these are paid services, some have free tiers. * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: * [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. * [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS :large_orange_diamond: -* [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A superiorly awesome iOS7+ calendar control, compatible with both Objective-c and Swift2 :large_orange_diamond: +* [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A superiorly awesome iOS7+ calendar control, compatible with both Objective-C and Swift2. * [GLCalendarView](https://github.com/Glow-Inc/GLCalendarView) - A fully customizable calendar view acting as a date range picker * [JTCalendar](https://github.com/jonathantribouharet/JTCalendar) - A customizable calendar view for iOS. * [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The Unofficial Swift Apple Calendar Library. View. Control. for iOS & tvOS :large_orange_diamond: @@ -1710,7 +1709,7 @@ Most of these are paid services, some have free tiers. * [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. :large_orange_diamond: * [APValidators](https://github.com/Alterplay/APValidators) - Codeless solution for form validation in iOS! * [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS :large_orange_diamond: -* [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - Framework for creating forms with validation rules :large_orange_diamond: +* [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - SwiftyFORM is a form framework for iOS written in Swift :large_orange_diamond: * [FXForms](https://github.com/nicklockwood/FXForms) - FXForms is an Objective-C library for easily creating table-based forms on iOS. It is ideal for settings pages, or user data entry tasks. * [SwiftValidator](https://github.com/jpotts18/SwiftValidator) - A rule-based validation library for Swift :large_orange_diamond: * [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. @@ -1735,7 +1734,7 @@ Most of these are paid services, some have free tiers. #### Label * [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. :large_orange_diamond: -* [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) :large_orange_diamond: +* [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift :large_orange_diamond: * [MZTimerLabel](https://github.com/mineschan/MZTimerLabel) - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App. * [CountdownLabel](https://github.com/suzuki-0000/CountdownLabel) - Simple countdown UILabel with morphing animation, and some useful function. :large_orange_diamond: * [IncrementableLabel](https://github.com/tbaranes/IncrementableLabel) - Incrementable label for iOS, OS X, and tvOS. :large_orange_diamond: @@ -1759,7 +1758,7 @@ Most of these are paid services, some have free tiers. * [RadialMenu](https://github.com/bradjasper/radialmenu) - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP :large_orange_diamond: * [cariocamenu](https://github.com/arn00s/cariocamenu) - The fastest zero-tap iOS menu. :large_orange_diamond: * [VLDContextSheet](https://github.com/vangelov/VLDContextSheet) - Context menu similar to the one in the Pinterest iOS app -* [GuillotineMenu](https://github.com/Yalantis/GuillotineMenu) - Guillotine (Drop down) transitioning animation menu :large_orange_diamond: +* [GuillotineMenu](https://github.com/Yalantis/GuillotineMenu) - Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine. :large_orange_diamond: * [MediumMenu](https://github.com/pixyzehn/MediumMenu) - A menu based on Medium iOS app. :large_orange_diamond: * [SwiftySideMenu](https://github.com/hossamghareeb/SwiftySideMenu) - SwiftySideMenu is a lightweight and easy to use side menu controller to add left menu and center view controllers with scale animation based on Pop framework. * [LLSlideMenu](https://github.com/lilei644/LLSlideMenu) - This is a spring slide menu for iOS apps @@ -1809,7 +1808,7 @@ Most of these are paid services, some have free tiers. #### PickerView * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. * [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. :large_orange_diamond: -* [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - A Swift library that displays an UIDatePicker within an UIAlertView :large_orange_diamond: +* [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - Date picker dialog for iOS :large_orange_diamond: * [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. * [AIDatePickerController](https://github.com/alikaragoz/AIDatePickerController) - :date: UIDatePicker modally presented with iOS 7 custom transitions. @@ -1841,21 +1840,21 @@ Most of these are paid services, some have free tiers. * [HTPullToRefresh](https://github.com/hoang-tran/HTPullToRefresh) - Easily add vertical and horizontal pull to refresh to any UIScrollView. Can also add multiple pull-to-refesh views at once. * [PullToRefreshSwift](https://github.com/dekatotoro/PullToRefreshSwift) - iOS Simple Cool PullToRefresh Library. It is written in pure swift. :large_orange_diamond: * [GIFRefreshControl](https://github.com/delannoyk/GIFRefreshControl) - GIFRefreshControl is a pull to refresh that supports GIF images as track animations. :large_orange_diamond: -* [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: +* [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: :large_orange_diamond: * [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView :large_orange_diamond: * [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). :large_orange_diamond: #### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: * [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. :large_orange_diamond: -* [StarryStars](https://github.com/peterprokop/StarryStars) - iOS GUI library for displaying and editing ratings +* [StarryStars](https://github.com/peterprokop/StarryStars) - StarryStars is iOS GUI library for displaying and editing ratings :large_orange_diamond: * [Cosmos](https://github.com/marketplacer/Cosmos) - A star rating control for iOS / Swift :large_orange_diamond: * [HCSStarRatingView](https://github.com/hsousa/HCSStarRatingView) - Simple star rating view for iOS written in Objective-C * [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift :large_orange_diamond: #### ScrollView * [ScrollingFollowView](https://github.com/ktanaka117/ScrollingFollowView) - ScrollingFollowView is a simple view which follows UIScrollView scrolling. -* [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category :large_orange_diamond: +* [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category. * [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. * [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. :large_orange_diamond: * [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. :large_orange_diamond: @@ -1869,7 +1868,7 @@ Most of these are paid services, some have free tiers. * [MARKRangeSlider](https://github.com/vadymmarkov/MARKRangeSlider) - A custom reusable slider control with 2 thumbs (range slider). * [ASValueTrackingSlider](https://github.com/alskipp/ASValueTrackingSlider) - A UISlider subclass that displays the slider value in a popup view * [TTRangeSlider](https://github.com/TomThorpe/TTRangeSlider) - A slider, similar in style to UISlider, but which allows you to pick a minimum and maximum range. -* [MMSegmentSlider](https://github.com/MedvedevMax/MMSegmentSlider) - An easy-to-use customizable animated segment slider for iOS +* [MMSegmentSlider](https://github.com/MedvedevMax/MMSegmentSlider) - Customizable animated slider for iOS. * [StepSlider](https://github.com/spromicky/StepSlider) - StepSlider its custom implementation of slider such as UISlider for preset integer values. * [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. :large_orange_diamond: * [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: @@ -1900,7 +1899,7 @@ Most of these are paid services, some have free tiers. * [SevenSwitch](https://github.com/bvogelzang/SevenSwitch) - iOS7 style drop in replacement for UISwitch. :large_orange_diamond: * [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) :large_orange_diamond: * [PMZSwitch](https://github.com/kovpas/PMZSwitch) - Yet another animated toggle :large_orange_diamond: -* [Switcher](https://github.com/knn90/Switcher) - Custom UISwitcher with animation :large_orange_diamond: +* [Switcher](https://github.com/knn90/Switcher) - Swift - Custom UISwitcher with animation when change status :large_orange_diamond: * [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. :large_orange_diamond: * [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. :large_orange_diamond: * [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: @@ -1920,7 +1919,7 @@ Most of these are paid services, some have free tiers. * [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. :large_orange_diamond: * [FoldingTabBar.iOS](https://github.com/Yalantis/FoldingTabBar.iOS) - Folding Tab Bar and Tab Bar Controller * [GGTabBar](https://github.com/Goles/GGTabBar) - Another UITabBar & UITabBarController (iOS Tab Bar) replacement, but uses Auto Layout for arranging it's views hierarchy. -* [adaptive-tab-bar](https://github.com/Ramotion/adaptive-tab-bar) - AdaptiveController is a 'Progressive Reduction' Swift module for adding custom states to Native or Custom iOS UI elements +* [adaptive-tab-bar](https://github.com/Ramotion/adaptive-tab-bar) - AdaptiveController is a 'Progressive Reduction' Swift module for adding custom states to Native or Custom iOS UI elements :large_orange_diamond: * [Pager](https://github.com/lucoceano/Pager) - Easily create sliding tabs with Pager :large_orange_diamond: * [XLPagerTabStrip](https://github.com/xmartlabs/XLPagerTabStrip) - Android PagerTabStrip for iOS. :large_orange_diamond: * [TabPageViewController](https://github.com/EndouMari/TabPageViewController) - Paging view controller and scroll tab view. 🔶 @@ -1928,7 +1927,7 @@ Most of these are paid services, some have free tiers. * [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers :large_orange_diamond: * [ColorMatchTabs](https://github.com/Yalantis/ColorMatchTabs) - Interesting way to display tabs :large_orange_diamond: * [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection -* [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager similar to the one in Flipboard :large_orange_diamond: +* [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager that displays a list of tabs (segments) and manages paging between given views :large_orange_diamond: * [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. :large_orange_diamond: * [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. :large_orange_diamond: * [SuperBadges](https://github.com/odedharth/SuperBadges) - Add emojis and colored dots as badges for your Tab Bar buttons 🔶 @@ -1943,23 +1942,23 @@ Most of these are paid services, some have free tiers. * [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. * [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ :large_orange_diamond: * [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. :large_orange_diamond: -* [folding-cell](https://github.com/Ramotion/folding-cell) - TableViewCell replacement with parallax detail view for Swift :large_orange_diamond: +* [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material :large_orange_diamond: * [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. * [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. :large_orange_diamond: * [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. * [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. -* [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews :large_orange_diamond: -* [Dwifft](https://github.com/jflinter/Dwifft) - Automatic updates of UITableView with animations in Swift :large_orange_diamond: +* [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. +* [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff :large_orange_diamond: * [CollapsableTable](https://github.com/rob-nash/CollapsableTable) - A kit for building tableviews with a collapsable animation, for each section. * [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). :large_orange_diamond: * [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) -* [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView :large_orange_diamond: +* [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy :large_orange_diamond: * [BWSwipeRevealCell](https://github.com/bitwit/BWSwipeRevealCell) - A Swift library for swipeable table cells :large_orange_diamond: * [preview-transition](https://github.com/Ramotion/preview-transition) - PreviewTransition is a simple preview gallery controller :large_orange_diamond: -* [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A quick way to create settings tableview with switches, tap buttons, icons and more :large_orange_diamond: -* [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views :large_orange_diamond: +* [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A simple way to create a UITableView for settings in Swift. :large_orange_diamond: +* [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views with Swift :large_orange_diamond: * [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView :large_orange_diamond: -* [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu +* [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu :large_orange_diamond: * [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts :large_orange_diamond: * [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. @@ -2046,9 +2045,9 @@ Most of these are paid services, some have free tiers. * [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. * [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. * [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks :large_orange_diamond: -* [Compass](https://github.com/hyperoslo/Compass) - Compass helps you setup a central navigation system for your application :large_orange_diamond: +* [Compass](https://github.com/hyperoslo/Compass) - :earth_africa: Compass helps you setup a central navigation system for your application :large_orange_diamond: * [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. :large_orange_diamond: -* [URLNavigator](https://github.com/devxoul/URLNavigator) - :boat: Elegant URL Routing for Swift :large_orange_diamond: +* [URLNavigator](https://github.com/devxoul/URLNavigator) - ⛵️ Elegant URL Routing for Swift :large_orange_diamond: ## Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. @@ -2070,7 +2069,7 @@ Most of these are paid services, some have free tiers. * [BFKit-Swift](https://github.com/FabrizioBrancati/BFKit-Swift) - A Swift collection of useful classes to develop Apps faster. :large_orange_diamond: * [Scale](https://github.com/onmyway133/scale) - Unit converter in Swift (available via CocoaPods) :large_orange_diamond: * [Standard Template Protocols](https://github.com/cconeil/Standard-Template-Protocols) - Protocols for your every day iOS needs :large_orange_diamond: - * [TimeLord](https://github.com/JonFir/TimeLord) - Easy DateTime (`NSDate`, `NSCalendar`, `NSDateComponents`, `NSDateFormatter`) management :large_orange_diamond: + * [TimeLord](https://github.com/JonFir/TimeLord) - Easly DateTime (NSDate) managment in Swift :large_orange_diamond: * [AppVersionMonitor](https://github.com/eure/AppVersionMonitor) - Monitor iOS app version easily. * [Sugar](https://github.com/hyperoslo/Sugar) - Something sweet that goes great with your Cocoa. :large_orange_diamond:[e] * [Then](https://github.com/devxoul/Then) - ✨ Super sweet syntactic sugar for Swift initializers. :large_orange_diamond:[e] @@ -2081,14 +2080,14 @@ Most of these are paid services, some have free tiers. * [VersionTrackerSwift](https://github.com/tbaranes/VersionTrackerSwift) - Track which versions of your app a user has previously installed. :large_orange_diamond: * [DeviceGuru](https://github.com/InderKumarRathore/DeviceGuru/) - DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s. :large_orange_diamond: * [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! :large_orange_diamond: - * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight iOS App Version Tracking written in Swift :large_orange_diamond: + * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight App Version Tracking for iOS written in Swift :large_orange_diamond: * [BlocksKit](https://github.com/zwaldowski/BlocksKit) - The Objective-C block utilities you always wish you had. * [SwiftyUtils](https://github.com/tbaranes/swiftyutils) - All the reusable code that we need in each project. :large_orange_diamond:[e] * [RateLimit](https://github.com/soffes/RateLimit) - Simple utility for only executing code every so often. :large_orange_diamond: * [Outlets](https://github.com/phatblat/Outlets) - Utility functions for validating IBOutlet and IBAction connections :large_orange_diamond: * [EasyAbout](https://github.com/JARMourato/EasyAbout) - A way to easily add Cocoapod licenses and App Version to your iOS App using the Settings Bundle * [Validated](https://github.com/Ben-G/Validated) - A Swift μ-Library for Somewhat Dependent Types :large_orange_diamond: - * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes :large_orange_diamond:[e] + * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes :large_orange_diamond: * [AssistantKit](https://github.com/anatoliyv/AssistantKit) - Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift. :large_orange_diamond: * [SwiftLinkPreview](https://github.com/LeonardoCardoso/SwiftLinkPreview) - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. 🔶 * [BundleInfos](https://github.com/singcodes/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. 🔶 @@ -2124,7 +2123,7 @@ Most of these are paid services, some have free tiers. * [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. :large_orange_diamond: * [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. :large_orange_diamond: * [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. :large_orange_diamond: -* [VideoSplashKit](https://github.com/mojilala/VideoSplashKit) - Video based UIViewController :large_orange_diamond: +* [VideoSplashKit](https://github.com/mojilala/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos :large_orange_diamond: * [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. :large_orange_diamond: * [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. * [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. :large_orange_diamond: @@ -2140,7 +2139,7 @@ Most of these are paid services, some have free tiers. * [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and OSX :large_orange_diamond: * [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. :large_orange_diamond: * [Socks](https://github.com/vapor/Socks) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: -* [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iO :large_orange_diamond: +* [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS :large_orange_diamond: * [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. :large_orange_diamond: #### GCD @@ -2172,7 +2171,7 @@ Most of these are paid services, some have free tiers. * [Alcatraz](http://alcatraz.io/) - The package manager for Xcode. * [CocoaSeeds](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. * [Podage](https://github.com/jensmeder/Podage) - A simple tool to bundle any Cocoapod and its dependencies into frameworks. -* [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language, by Apple :large_orange_diamond: +* [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language :large_orange_diamond: * [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool # Tools @@ -2202,7 +2201,7 @@ Most of these are paid services, some have free tiers. * [XCSwiftr](https://github.com/dzenbot/XCSwiftr) - An Xcode Plugin to convert Objective-C to Swift :large_orange_diamond: * [SwiftKitten](https://github.com/johncsnyder/SwiftKitten) - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework :large_orange_diamond: * [Kin](https://github.com/Karumi/Kin) - Have you ever found yourself undoing a merge due to a broken Xcode build? Then Kin is your tool. It will parse your project configuration file and detect errors. :large_orange_diamond: -* [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click +* [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click :large_orange_diamond: * [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. :large_orange_diamond: * [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. :large_orange_diamond: * [Localizations](https://github.com/athiercelin/localizations) - OS X app that manages localizations of Xcode projects. :large_orange_diamond: @@ -2321,20 +2320,20 @@ Most of these are paid services, some have free tiers. * [You-Can-Do-It](https://github.com/orta/You-Can-Do-It) - Is learning a new language getting you down? Worry not, this Xcode plugin will keep you motivated. * [PreciseCoverage](https://github.com/zats/PreciseCoverage) - Make Xcode code coverage more informative * [AutoIndentWithSave](https://github.com/ThilinaHewagama/AutoIndentWithSave) Xcode plugin which indent the source code when save -* [Refactorator](https://github.com/johnno1962/Refactorator) - SourceKit Xcode Plugin that Refactors Swift :large_orange_diamond: +* [Refactorator](https://github.com/johnno1962/Refactorator) - Xcode Plugin that Refactors Swift & Objective-C :large_orange_diamond: * [VWInstantRun](https://github.com/wangshengjia/VWInstantRun) - An Xcode plugin let you build & run your selected lines of code in Xcode without running the whole project, you'll have the output instantly in your Xcode console. :large_orange_diamond: * [TTPasteHistory](https://github.com/tutumagi/TTPasteHistory) - A Xcode plugin. Recording you copy-and-paste history easily to write the code * [xSendIssue](https://github.com/hungri-yeti/xSendIssue) - Plugin for Xcode to submit github issues directly from within Xcode. * [Swimat](https://github.com/Jintin/Swimat) - An Xcode formatter plug-in to format your swift code. * [Fastlane-Plugin](https://github.com/RishabhTayal/Fastlane-Plugin) - The awesome Fastlane tools brought into your Xcode. * [Gradle Xcode plugin](https://openbakery.org/gxp/) - Build iOS or Mac OS X Projects using Gradle. -* [SYXcodeIconVersion](https://github.com/dvkch/SYXcodeIconVersion) - This Xcode plugin shows Xcode app version in the Dock and App Switcher icon :large_orange_diamond: -* [Gradle](https://github.com/openbakery/gradle-xcodePlugin) - makes it easier to build Xcode projects by specifying the build settings in a single configuration file :large_orange_diamond: +* [SYXcodeIconVersion](https://github.com/dvkch/SYXcodeIconVersion) - This Xcode plugin shows Xcode app version in the Dock and App Switcher icon. +* [Gradle](https://github.com/openbakery/gradle-xcodePlugin) - gradle xcodePlugin to build iOS and Mac projects. * [HOStringSense-for-Xcode](https://github.com/holtwick/HOStringSense-for-Xcode) - Plugin for Xcode to make perfect editing regular expressions, multi line texts, inline HTML and many more use cases. Also provides quick feedback on string length. * [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. :large_orange_diamond: -* [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode 8 Source Editor Extension Toolset +* [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8) :large_orange_diamond: * [FastStub-Xcode](https://github.com/music4kid/FastStub-Xcode) - Xcode Plugin helps you find missing methods in your class header, protocols, and super class, also makes fast inserting. -* [JSPatchX](https://github.com/bang590/JSPatchX) - A XCode plugin that provides autocompletion for JSPatch +* [JSPatchX](https://github.com/bang590/JSPatchX) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. * [Dash](https://kapeli.com/dash) - Dash is a great documentation browser which integrates closely into Xcode with its plugin. * [SFJumpToLine](https://github.com/sferrini/SFJumpToLine) - Xcode plugin that moves the instruction pointer to the selected line * [ClangFormat-Xcode](https://github.com/travisjeffery/ClangFormat-Xcode) - An Xcode plug-in to format your code using Clang's format tools. @@ -2380,7 +2379,7 @@ Most of these are paid services, some have free tiers. * [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). * [Swift-Community-Best-Practices](https://github.com/schwa/Swift-Community-Best-Practices/) - Best practices for software development with Swift :large_orange_diamond: * [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift :large_orange_diamond: -* [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift made by Prolific Interactive :large_orange_diamond: +* [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. # Good Websites @@ -2434,7 +2433,7 @@ Most of these are paid services, some have free tiers. * [Use Your Loaf](http://useyourloaf.com) * [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) :large_orange_diamond: * [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - :fire: All of the resources for Learning About Swift :large_orange_diamond: -* [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - A List of Awesome Swift Playgrounds! :large_orange_diamond: +* [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - ⭐ A List of Awesome Swift Playgrounds! :large_orange_diamond: * [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. :large_orange_diamond: * [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. * [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. :large_orange_diamond: @@ -2526,7 +2525,7 @@ Other amazingly awesome lists can be found in the * Awesome-swift * [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. * [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. - * [Education](https://github.com/hsavit1/Awesome-Swift-Education) - All the resources you need to learn Swift + * [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift :large_orange_diamond: * [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. :watch: * [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. * [awesome-ios-animation](https://github.com/ameizi/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. From b741c2f415dc02de4597196773b563aed3efdd73 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 22 Feb 2017 21:10:23 +0530 Subject: [PATCH 0870/2606] Add PanelKit in UI (#1491) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7af4d0f84..0c888fc65 100644 --- a/README.md +++ b/README.md @@ -1466,6 +1466,7 @@ Most of these are paid services, some have free tiers. * [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. :large_orange_diamond: * [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts * [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. :large_orange_diamond: +* [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. :large_orange_diamond: #### Activity Indicator From c56a1dee181a261f151b33b20ad3c1727d875c41 Mon Sep 17 00:00:00 2001 From: Seungyoun Yi Date: Fri, 24 Feb 2017 00:59:30 +0900 Subject: [PATCH 0871/2606] Add YNDropDownMenu (#1495) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0c888fc65..ad7fd84b4 100644 --- a/README.md +++ b/README.md @@ -1796,6 +1796,8 @@ Most of these are paid services, some have free tiers. * [Swift-CircleMenu](https://github.com/Sufi-Al-Hussaini/Swift-CircleMenu) - Rotating circle menu written in Swift 3. :large_orange_diamond: * [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. :large_orange_diamond: * [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. :large_orange_diamond: +* [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. :large_orange_diamond: + #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 3eb402d11cb082662ed598118482927bbff8a9e0 Mon Sep 17 00:00:00 2001 From: Abdullah Selek Date: Thu, 23 Feb 2017 19:49:22 +0100 Subject: [PATCH 0872/2606] Update description of Lighty (#1496) [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ad7fd84b4..f76ead32c 100644 --- a/README.md +++ b/README.md @@ -642,7 +642,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [StoryTeller](https://github.com/drekka/StoryTeller) - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important. * [LumberMill](https://github.com/ubclaunchpad/LumberMill) - Stupidly simple logging for iOS 10 and Swift 3.0 * [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. Written in Swift 3. :large_orange_diamond: -* [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger with Swift 3. :large_orange_diamond: +* [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger for iOS, macOS, tvOS, watchOS and Linux with Swift 3. :large_orange_diamond: * [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. :large_orange_diamond: ## Machine Learning From 6d20bc780ed9d6fc99dfda919b073d8ae405a2c2 Mon Sep 17 00:00:00 2001 From: Abdurahim Jauzee Date: Fri, 24 Feb 2017 00:35:31 +0300 Subject: [PATCH 0873/2606] added `ElongationPreview` --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f76ead32c..62a3bf998 100644 --- a/README.md +++ b/README.md @@ -1467,6 +1467,7 @@ Most of these are paid services, some have free tiers. * [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts * [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. :large_orange_diamond: * [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. :large_orange_diamond: +* [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. :large_orange_diamond: #### Activity Indicator From f8ca1ce9f7294af1e95427b92481358c203285f6 Mon Sep 17 00:00:00 2001 From: Aleksandr Shoshiashvili Date: Sat, 25 Feb 2017 21:13:50 +0300 Subject: [PATCH 0874/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aa0637018..baf1cf896 100644 --- a/README.md +++ b/README.md @@ -2135,6 +2135,7 @@ Most of these are paid services, some have free tiers. * [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider :large_orange_diamond: * [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. :large_orange_diamond: * [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. :large_orange_diamond: +* [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. :large_orange_diamond: ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From 7e563265dfc073a5fd57879baecdd72c5c1db188 Mon Sep 17 00:00:00 2001 From: Sahil Mahajan Date: Sun, 26 Feb 2017 16:53:49 +0530 Subject: [PATCH 0875/2606] Updated README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aa0637018..63a0f8dc3 100644 --- a/README.md +++ b/README.md @@ -1938,6 +1938,7 @@ Most of these are paid services, some have free tiers. * [AZTabBarController](https://github.com/Minitour/AZTabBarController) - A custom tab bar controller for iOS written in Swift 3.0 🔶 * [MiniTabBar](https://github.com/D-32/MiniTabBar) - A clean simple alternative to the UITabBar 🔶 * [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) - UITabBarController with swipe interaction between its tabs. 🔶 +* [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) 🔶 #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From f6e29220157de3a01f1989ec1949e5721b9053f7 Mon Sep 17 00:00:00 2001 From: Andrew Boryk Date: Sun, 26 Feb 2017 16:57:56 -0500 Subject: [PATCH 0876/2606] Added ABMediaView ABMediaView is for drop-in image, video, GIF, and audio display. Has functionality for fullscreen and minimized mode --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aa0637018..cd302ed43 100644 --- a/README.md +++ b/README.md @@ -816,6 +816,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. :large_orange_diamond: * [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. * [swift-360-videos](https://github.com/team-pie/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. +* [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. ## Messaging From bdc38ed2c3aabdce95e8a23400ad5c83fa2af2e9 Mon Sep 17 00:00:00 2001 From: Andrew Boryk Date: Sun, 26 Feb 2017 18:32:17 -0500 Subject: [PATCH 0877/2606] Removed http://www.teehanlax.com/tools/iphone/ link Link is not working and is causing Travis-CI to throw errors --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index cd302ed43..a45765dab 100644 --- a/README.md +++ b/README.md @@ -2445,7 +2445,6 @@ Most of these are paid services, some have free tiers. * [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. :large_orange_diamond: #### iOS UI Template -* [iOS 8 GUI PSD Template](http://www.teehanlax.com/tools/iphone/) * [iOS UI Design Kit](https://www.invisionapp.com/tethr) * [iOS Design Guidelines](http://ivomynttinen.com/blog/ios-design-guidelines) * [iOS GUI by Facebook Design Resources](http://facebook.design/) From 99399813652fe345b27db3c2922bab80219a6e1c Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 27 Feb 2017 16:37:33 +0530 Subject: [PATCH 0878/2606] Add CleanArchitectureRxSwift in Code Quality --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 419d1fa98..ff263458d 100644 --- a/README.md +++ b/README.md @@ -290,6 +290,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. :large_orange_diamond: * [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. :large_orange_diamond: * [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. +* [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. :large_orange_diamond: #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 8833733abdf43cf24ce49b48f7fcf5b11e5e2777 Mon Sep 17 00:00:00 2001 From: Kazuhiro Hayashi Date: Tue, 28 Feb 2017 00:43:47 +0900 Subject: [PATCH 0879/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 419d1fa98..05a916cd9 100644 --- a/README.md +++ b/README.md @@ -1998,6 +1998,7 @@ Most of these are paid services, some have free tiers. * [DTTableViewManager](https://github.com/DenHeadless/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. :large_orange_diamond: * [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView :large_orange_diamond: * [SwipeCellKit](https://github.com/jerkoch/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. :large_orange_diamond: +* [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From f3596b409105a27aa32e36e6ec9f5a43d193500c Mon Sep 17 00:00:00 2001 From: Andrea Antonioni Date: Mon, 27 Feb 2017 17:30:14 +0100 Subject: [PATCH 0880/2606] Added IGColorPicker in UI section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ff263458d..81cd72fbb 100644 --- a/README.md +++ b/README.md @@ -1471,6 +1471,7 @@ Most of these are paid services, some have free tiers. * [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. :large_orange_diamond: * [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. :large_orange_diamond: * [Pageboy](https://github.com/MerrickSapsford/Pageboy) - A simple, highly informative page view controller. :large_orange_diamond: +* [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift 🔶 #### Activity Indicator From eda48d2f2333d3fb16a00d8b71e179c3a9740fa8 Mon Sep 17 00:00:00 2001 From: Lasithih Date: Tue, 28 Feb 2017 10:14:17 +0530 Subject: [PATCH 0881/2606] New UI Library - LIHAlert LIHAlert added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 81cd72fbb..c37d28c97 100644 --- a/README.md +++ b/README.md @@ -1655,6 +1655,7 @@ Most of these are paid services, some have free tiers. * [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift 🔶 * [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. * [NoticeBar](https://github.com/qiuncheng/NoticeBar) - 😍A simple NoticeBar written by Swift 3, similar with QQ notice view. :large_orange_diamond: +* [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From a50e638deb16897eee6604d81bde1602c572d07d Mon Sep 17 00:00:00 2001 From: Amir Abbas Mousavian Date: Tue, 28 Feb 2017 19:30:59 +0330 Subject: [PATCH 0882/2606] Updated FileProvider description (#1510) [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81cd72fbb..16fc90dbf 100644 --- a/README.md +++ b/README.md @@ -459,7 +459,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: * [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: -* [FileProvider](https://github.com/amosavian/FileProvider) - FileManager replacement for Local and Remote (WebDAV/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS. :large_orange_diamond: +* [FileProvider](https://github.com/amosavian/FileProvider) - FileManager replacement for Local, iCloud and Remote (WebDAV/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS. :large_orange_diamond: * [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. :large_orange_diamond: * [ZipArchive](https://github.com/ZipArchive/ZipArchive) - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac. * [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. :large_orange_diamond: From 1a84cf57b80857563f80979b031440934b7e8847 Mon Sep 17 00:00:00 2001 From: Oleksandr Kirichenko Date: Tue, 28 Feb 2017 18:03:55 +0200 Subject: [PATCH 0883/2606] Add AKVideoImageView (#1511) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 16fc90dbf..4c397bbe6 100644 --- a/README.md +++ b/README.md @@ -1579,6 +1579,7 @@ Most of these are paid services, some have free tiers. * [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. :large_orange_diamond: * [AnimatedCollectionViewLayout](https://github.com/KelvinJin/AnimatedCollectionViewLayout) - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView. :large_orange_diamond: * [Dance](https://github.com/saoudrizwan/Dance) - A radical & elegant animation library built for iOS. :large_orange_diamond: +* [AKVideoImageView](https://github.com/numen31337/AKVideoImageView) - UIImageView subclass which allows you to display a looped video as a background. ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From b9c329a85b55cb6f36f7dcbf45b75ef838aeaab1 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 28 Feb 2017 08:04:50 -0800 Subject: [PATCH 0884/2606] Update Use Your Loaf --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4c397bbe6..58cbef56d 100644 --- a/README.md +++ b/README.md @@ -2439,7 +2439,7 @@ Most of these are paid services, some have free tiers. * [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) :large_orange_diamond: * [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. :large_orange_diamond: * [Cocoa Dev Central](http://cocoadevcentral.com) -* [Use Your Loaf](http://useyourloaf.com) +* [Use Your Loaf](https://useyourloaf.com/) * [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) :large_orange_diamond: * [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - :fire: All of the resources for Learning About Swift :large_orange_diamond: * [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - ⭐ A List of Awesome Swift Playgrounds! :large_orange_diamond: From 882b36894eb311fc8f9924e71d97e680e56d5226 Mon Sep 17 00:00:00 2001 From: Marius Constantinescu Date: Wed, 1 Mar 2017 16:28:06 +0100 Subject: [PATCH 0885/2606] Added Serpent (#1514) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 26a716bb1..2637706e1 100644 --- a/README.md +++ b/README.md @@ -985,6 +985,7 @@ Most of these are paid services, some have free tiers. * [Marshal](https://github.com/utahiosmac/Marshal) - Marshaling the typeless wild west of [String: Any] (Protocol based). * [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). * [NSTEasyJSON](https://github.com/bernikowich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). +* [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. :large_orange_diamond: #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From 2a882562eb7a6d8c0ced41995fed35e4b70f6ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=B8=E3=83=A5=E3=83=A9=E3=82=AD=E3=83=A5=E3=83=BC?= =?UTF-8?q?=E3=83=AB=E3=83=BB=E3=83=9F=E3=83=9B=E3=83=BC=E3=82=AF?= Date: Wed, 1 Mar 2017 22:28:06 +0700 Subject: [PATCH 0886/2606] Add KPActionSheet A replacement of default action sheet, but has very simple usage. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 26a716bb1..660fe0a71 100644 --- a/README.md +++ b/README.md @@ -1472,6 +1472,7 @@ Most of these are paid services, some have free tiers. * [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. :large_orange_diamond: * [Pageboy](https://github.com/MerrickSapsford/Pageboy) - A simple, highly informative page view controller. :large_orange_diamond: * [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift 🔶 +* [KPActionSheet](https://github.com/khuong291/KPActionSheet) - 🔶 A replacement of default action sheet, but has very simple usage. 🔶 #### Activity Indicator From 6bdc1eb00ea0b8bd7da1d4ce45363722763a65ea Mon Sep 17 00:00:00 2001 From: Salih Cihan Tek Date: Wed, 1 Mar 2017 17:32:47 +0200 Subject: [PATCH 0887/2606] Added CTPanoramaView (#1513) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2637706e1..dc9638c8d 100644 --- a/README.md +++ b/README.md @@ -775,6 +775,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AvatarImageView](https://github.com/ayushn21/AvatarImageView) - AvatarImageView is a UIImageView subclass designed to show a user's profile picture, falling back to their initials when a picture is unavailable. :large_orange_diamond: * [Ebblink](https://github.com/ebbapp/ebblinkSDK) - An iOS SDK for sharing photos that automatically expire and can be deleted at any time. * [Sharaku](https://github.com/makomori/Sharaku) - Instagram-like image filter ViewController. :large_orange_diamond: +* [CTPanoramaView](https://github.com/scihant/CTPanoramaView) - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 3ea1c75bac74c463669eecc5e4f9878bdc415729 Mon Sep 17 00:00:00 2001 From: Ivan Sosnovik Date: Wed, 1 Mar 2017 18:33:26 +0300 Subject: [PATCH 0888/2606] Add pidor (#1512) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dc9638c8d..de8fda8de 100644 --- a/README.md +++ b/README.md @@ -291,6 +291,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. :large_orange_diamond: * [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. * [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. :large_orange_diamond: +* [PIDOR](https://github.com/applepride/pidor) - Simple design pattern with the best iOS dev experience. #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 833c8f0542b51c0d51f8e41ed155e1034364e709 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 2 Mar 2017 12:28:20 +0530 Subject: [PATCH 0889/2606] Add RequestPermission in Permissions --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a74d16796..440ada9bd 100644 --- a/README.md +++ b/README.md @@ -1045,6 +1045,7 @@ Most of these are paid services, some have free tiers. * [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: * [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS :large_orange_diamond: * [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. :large_orange_diamond: +* [RequestPermission](https://github.com/IvanVorobei/RequestPermission) - simple permission request with beautiful UI :large_orange_diamond: ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. From 1ffb9d60d82a80abf084ab80711967b319e44a3b Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 2 Mar 2017 12:59:25 +0530 Subject: [PATCH 0890/2606] Add Twitter Image Pipline in Image --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a74d16796..71bf162ab 100644 --- a/README.md +++ b/README.md @@ -777,6 +777,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Ebblink](https://github.com/ebbapp/ebblinkSDK) - An iOS SDK for sharing photos that automatically expire and can be deleted at any time. * [Sharaku](https://github.com/makomori/Sharaku) - Instagram-like image filter ViewController. :large_orange_diamond: * [CTPanoramaView](https://github.com/scihant/CTPanoramaView) - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options. :large_orange_diamond: +* [Twitter Image Pipline](https://github.com/twitter/ios-twitter-image-pipeline) - streamlined framework for fetching and storing images in an application. #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 6f718e3a611ac45fbe38bb5d25615f27e8cba1a4 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 2 Mar 2017 19:51:06 +0530 Subject: [PATCH 0891/2606] Add Twitter Logging Service in Logging (#1521) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a74d16796..599361e7e 100644 --- a/README.md +++ b/README.md @@ -646,6 +646,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. Written in Swift 3. :large_orange_diamond: * [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger for iOS, macOS, tvOS, watchOS and Linux with Swift 3. :large_orange_diamond: * [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. :large_orange_diamond: +* [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. ## Machine Learning * [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: From f6889684dd5858ff564ccb0e6aa02f167851bf73 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Thu, 2 Mar 2017 07:48:29 -0800 Subject: [PATCH 0892/2606] Update README URLs based on HTTP redirects (#1523) --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 599361e7e..939080281 100644 --- a/README.md +++ b/README.md @@ -1080,7 +1080,7 @@ Most of these are paid services, some have free tiers. * [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: * [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: * [ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) - Streams of values over time by ReactiveCocoa group -* [Listenable](https://github.com/MerrickSapsford/Listenable) - Swift object that provides an observable platform. :large_orange_diamond: +* [Listenable](https://github.com/msaps/Listenable) - Swift object that provides an observable platform. :large_orange_diamond: * [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . :large_orange_diamond: * [Snail](https://github.com/UrbanCompass/Snail) - An observables framework for Swift :large_orange_diamond: * [RxWebSocket](https://github.com/fjcaetano/RxWebSocket) - Reactive extension over Starscream for websockets :large_orange_diamond: @@ -1207,7 +1207,7 @@ Most of these are paid services, some have free tiers. * [Trevi](https://github.com/Yoseob/Trevi) - libuv base Swift web HTTP server framework :large_orange_diamond: * [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift :large_orange_diamond: * [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift :large_orange_diamond: -* [Frank](https://github.com/nestproject/Frank) - Frank is a DSL for quickly writing web applications in Swift :large_orange_diamond: +* [Frank](https://github.com/kylef/Frank) - Frank is a DSL for quickly writing web applications in Swift :large_orange_diamond: * [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server :large_orange_diamond: * [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: @@ -1474,7 +1474,7 @@ Most of these are paid services, some have free tiers. * [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. :large_orange_diamond: * [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. :large_orange_diamond: * [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. :large_orange_diamond: -* [Pageboy](https://github.com/MerrickSapsford/Pageboy) - A simple, highly informative page view controller. :large_orange_diamond: +* [Pageboy](https://github.com/msaps/Pageboy) - A simple, highly informative page view controller. :large_orange_diamond: * [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift 🔶 * [KPActionSheet](https://github.com/khuong291/KPActionSheet) - 🔶 A replacement of default action sheet, but has very simple usage. 🔶 @@ -2240,7 +2240,7 @@ Most of these are paid services, some have free tiers. * [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. :large_orange_diamond: * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. -* [IBM Swift Sandbox](https://swiftlang.ng.bluemix.net/verify) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: +* [IBM Swift Sandbox](https://swift.sandbox.bluemix.net/verify) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A Mac OS X library for managing and manipulating iOS Simulators * [IconResizer](https://iconresizer.com/) - A simple web application to resize iPhone and iPad app icons for the App Store * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. From 622c456d8f41aa0a0399e53d888f2b41738c0d77 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Fri, 3 Mar 2017 12:24:53 +0530 Subject: [PATCH 0893/2606] Add JustPersist in Core Data --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7d139b6b0..3829dc5ee 100644 --- a/README.md +++ b/README.md @@ -361,6 +361,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. :large_orange_diamond: * [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. :large_orange_diamond: * [DATAStack](https://github.com/SyncDB/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: +* [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. ## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. From 9859fd748950241d69d39810fef77f08a14351ec Mon Sep 17 00:00:00 2001 From: dnKaratzas Date: Fri, 3 Mar 2017 11:41:15 -0800 Subject: [PATCH 0894/2606] Add SlidingText for Swift Swift UIView for sliding text with page indicator . --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3829dc5ee..1310bd73c 100644 --- a/README.md +++ b/README.md @@ -1764,6 +1764,7 @@ Most of these are paid services, some have free tiers. * [Preloader.Ophiuchus](https://github.com/Yalantis/Preloader.Ophiuchus) - Custom Label to apply animations on whole text or letters. * [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. :large_orange_diamond: * [UICountingLabel](https://github.com/dataxpress/UICountingLabel/) - Adds animated counting support to UILabel. +* [SlidingText](https://github.com/dnKaratzas/SlidingText) - Swift UIView for sliding text with page indicator. :large_orange_diamond: #### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: From efccd095e54871ed082024daa9bf18f316f2d671 Mon Sep 17 00:00:00 2001 From: Felix M Date: Sat, 4 Mar 2017 10:45:22 +0100 Subject: [PATCH 0895/2606] Update README.md * added "GradientProgressBar" --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3829dc5ee..6aa83852b 100644 --- a/README.md +++ b/README.md @@ -1530,6 +1530,7 @@ Most of these are paid services, some have free tiers. * [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. :large_orange_diamond: * [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. :large_orange_diamond: * [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. :large_orange_diamond: +* [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. From 0e126deec8ab11b85f099f7f9f3b57034156f7ed Mon Sep 17 00:00:00 2001 From: Dylan Marriott Date: Sat, 4 Mar 2017 13:24:16 -0800 Subject: [PATCH 0896/2606] Added SegmentedProgressBar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3829dc5ee..8ad4b9aba 100644 --- a/README.md +++ b/README.md @@ -1480,6 +1480,7 @@ Most of these are paid services, some have free tiers. * [Pageboy](https://github.com/msaps/Pageboy) - A simple, highly informative page view controller. :large_orange_diamond: * [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift 🔶 * [KPActionSheet](https://github.com/khuong291/KPActionSheet) - 🔶 A replacement of default action sheet, but has very simple usage. 🔶 +* [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator :large_orange_diamond: #### Activity Indicator From 6a3ae1e5b8bbba6810c5aa43e9ae5683978a70ad Mon Sep 17 00:00:00 2001 From: Skazochnij Date: Sun, 5 Mar 2017 00:04:09 +0200 Subject: [PATCH 0897/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ad4b9aba..6e07e3109 100644 --- a/README.md +++ b/README.md @@ -191,6 +191,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MOCA Analytics](https://mocaplatform.com/features) - Paid cross-platform analytics backend. * [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. * [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. +* [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 9d3690d9c220c8396bb6c6adf71e955ac214a711 Mon Sep 17 00:00:00 2001 From: Adrian Mateoaea Date: Tue, 28 Feb 2017 11:58:06 +0200 Subject: [PATCH 0898/2606] Add MagicMapper in Parsing section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ad4b9aba..f3f6fcb38 100644 --- a/README.md +++ b/README.md @@ -991,6 +991,7 @@ Most of these are paid services, some have free tiers. * [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). * [NSTEasyJSON](https://github.com/bernikowich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). * [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. :large_orange_diamond: +* [MagicMapper](https://github.com/adrianitech/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. :large_orange_diamond: #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From ac9a12bfdd91415bda2c3afdf744364e4619be5b Mon Sep 17 00:00:00 2001 From: Alexander Shoshiashvili Date: Sun, 5 Mar 2017 19:06:10 +0300 Subject: [PATCH 0899/2606] Add AwesomeTextFieldSwift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f3f6fcb38..76808e107 100644 --- a/README.md +++ b/README.md @@ -2053,6 +2053,7 @@ Most of these are paid services, some have free tiers. * [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS :large_orange_diamond: * [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. :large_orange_diamond: * [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) :large_orange_diamond: +* [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple libriary for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. :large_orange_diamond: #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 892489021943e7abb6b237b0715622aedc004960 Mon Sep 17 00:00:00 2001 From: Florian Gabach Date: Sun, 5 Mar 2017 18:23:09 +0100 Subject: [PATCH 0900/2606] Add OpenSourceController Hello Just to add OpenSourceController : The simplest way to display the librarie's licences used in your application. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 25d5ff92c..395eea481 100644 --- a/README.md +++ b/README.md @@ -2129,6 +2129,7 @@ Most of these are paid services, some have free tiers. * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift :large_orange_diamond: + * [OpenSourceController](https://github.com/terflogag/OpenSourceController) - The simplest way to display the librarie's licences used in your application. :large_orange_diamond: ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 8f0de79f4947531ee7809ff79643f1bb78b4e3a4 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 7 Mar 2017 01:07:24 -0300 Subject: [PATCH 0901/2606] Add Guitar by @ArtSabintsev --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 395eea481..1b53ee5d4 100644 --- a/README.md +++ b/README.md @@ -1276,6 +1276,7 @@ Most of these are paid services, some have free tiers. * [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. :large_orange_diamond: * [Attributed](https://github.com/Nirma/Attributed) - A Modern interface for attributed strings. :large_orange_diamond: * [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. :large_orange_diamond: +* [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. :large_orange_diamond: ## Testing From 6aa09f5a04551adf51a39fc4da40f0ea43327f77 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 7 Mar 2017 10:04:50 -0800 Subject: [PATCH 0902/2606] Remove FBNotifications broken link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b53ee5d4..019c3d06b 100644 --- a/README.md +++ b/README.md @@ -917,7 +917,7 @@ Also see [push notifications](#push-notifications) * [Orbiter](https://github.com/mattt/Orbiter) - Push Notification Registration for iOS. * [PEM](https://github.com/fastlane/fastlane/tree/master/pem) - Automatically generate and renew your push notification profiles. * [Knuff](https://github.com/KnuffApp/Knuff) - The debug application for Apple Push Notification Service (APNS). -* [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework https://developers.facebook.com/docs/analytics/push-campaigns +* [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework. * [NWPusher](https://github.com/noodlewerk/NWPusher) - OS X and iOS application and framework to play with the Apple Push Notification service (APNs) * [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator From 3a31198b015462a9e1ee0ebc25d53998e8c150f1 Mon Sep 17 00:00:00 2001 From: BenEmdon Date: Tue, 7 Mar 2017 14:09:44 -0500 Subject: [PATCH 0903/2606] added 'CenterCollectionView' --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 019c3d06b..e1a249fad 100644 --- a/README.md +++ b/README.md @@ -2016,6 +2016,8 @@ Most of these are paid services, some have free tiers. * [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView :large_orange_diamond: * [SwipeCellKit](https://github.com/jerkoch/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. :large_orange_diamond: * [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView :large_orange_diamond: +* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight CollectionView that _'pages'_ and _centers_ it's cells 🎡 written in Swift. :large_orange_diamond: + #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 89e709ca300c9920087970e3903e81937a836ecf Mon Sep 17 00:00:00 2001 From: BenEmdon Date: Tue, 7 Mar 2017 22:55:20 -0500 Subject: [PATCH 0904/2606] =?UTF-8?q?removed=20extra=20line=20=F0=9F=98=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index e1a249fad..f04452a65 100644 --- a/README.md +++ b/README.md @@ -2018,7 +2018,6 @@ Most of these are paid services, some have free tiers. * [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView :large_orange_diamond: * [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight CollectionView that _'pages'_ and _centers_ it's cells 🎡 written in Swift. :large_orange_diamond: - #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. * [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. From 4441b3043089433e68bbae692f8f26cc2e5160d3 Mon Sep 17 00:00:00 2001 From: Yassir Barchi Date: Wed, 8 Mar 2017 10:33:47 +0100 Subject: [PATCH 0905/2606] Add 'YBSlantedCollectionViewLayout' --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f57412e6a..d06e6405d 100644 --- a/README.md +++ b/README.md @@ -1484,6 +1484,7 @@ Most of these are paid services, some have free tiers. * [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift 🔶 * [KPActionSheet](https://github.com/khuong291/KPActionSheet) - 🔶 A replacement of default action sheet, but has very simple usage. 🔶 * [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator :large_orange_diamond: +* [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content. #### Activity Indicator From ca9cf4cd1f5d30eaf038d4892b100a6fec0a2431 Mon Sep 17 00:00:00 2001 From: Christopher Lozinski Date: Wed, 8 Mar 2017 11:43:14 +0100 Subject: [PATCH 0906/2606] Added ioscompanies.info --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f57412e6a..0089c7e4d 100644 --- a/README.md +++ b/README.md @@ -2563,6 +2563,7 @@ Other amazingly awesome lists can be found in the * [Awesome Reactive Programming in Swift](https://github.com/SideEffects-xyz/Awesome-Reactive-Programming-Swift) - A collection of frameworks, talks and resources about reactive programming in Swift. * [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects * [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. +* [Awesome-iOS-Companies](https://ioscompanies.info/about/welcome) - A curated geographical directory of companies doing iOS development. # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From c809cd6151583bcad23ef0b6ba2bb884e31a958f Mon Sep 17 00:00:00 2001 From: Yassir Barchi Date: Wed, 8 Mar 2017 16:26:49 +0100 Subject: [PATCH 0907/2606] Move `YBSlantedCollectionViewLayout` Move `YBSlantedCollectionViewLayout` to *TableView / CollectionView* section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d06e6405d..03621590e 100644 --- a/README.md +++ b/README.md @@ -1484,7 +1484,6 @@ Most of these are paid services, some have free tiers. * [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift 🔶 * [KPActionSheet](https://github.com/khuong291/KPActionSheet) - 🔶 A replacement of default action sheet, but has very simple usage. 🔶 * [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator :large_orange_diamond: -* [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content. #### Activity Indicator @@ -2019,6 +2018,7 @@ Most of these are paid services, some have free tiers. * [SwipeCellKit](https://github.com/jerkoch/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. :large_orange_diamond: * [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView :large_orange_diamond: * [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight CollectionView that _'pages'_ and _centers_ it's cells 🎡 written in Swift. :large_orange_diamond: +* [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content. #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 36345d16de1e29672f6f77870a5dcd8a38832dcd Mon Sep 17 00:00:00 2001 From: Rhys Date: Wed, 8 Mar 2017 21:14:52 +0000 Subject: [PATCH 0908/2606] Added struct to Tools (#1542) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f57412e6a..2873ab44e 100644 --- a/README.md +++ b/README.md @@ -2262,6 +2262,7 @@ Most of these are paid services, some have free tiers. * [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar :large_orange_diamond: * [GDPerformanceView-Swift](https://github.com/dani-gavrilov/GDPerformanceView-Swift) - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate. :large_orange_diamond: * [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). :large_orange_diamond: +* [Struct](https://www.get-struct.tools) - A tool for iOS and Mac developers to automate the creation and management of Xcode projects. # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 251c3d3b04cf31428be54665e5829324f58d0b89 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 9 Mar 2017 01:18:15 -0300 Subject: [PATCH 0909/2606] Added Guise by @prosumma --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c8cccd5f5..6b50ea8eb 100644 --- a/README.md +++ b/README.md @@ -2280,6 +2280,7 @@ Most of these are paid services, some have free tiers. * [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). * [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: * [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. +* [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift :large_orange_diamond: # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. From 5e222a58d95eec90c4888a365c06daff0ecdc276 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 9 Mar 2017 01:29:45 -0300 Subject: [PATCH 0910/2606] Added Nori by @yukiasai (#1543) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c8cccd5f5..01149da8d 100644 --- a/README.md +++ b/README.md @@ -2264,6 +2264,7 @@ Most of these are paid services, some have free tiers. * [GDPerformanceView-Swift](https://github.com/dani-gavrilov/GDPerformanceView-Swift) - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate. :large_orange_diamond: * [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). :large_orange_diamond: * [Struct](https://www.get-struct.tools) - A tool for iOS and Mac developers to automate the creation and management of Xcode projects. +* [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 12a5b958283db5efc15d27b07cd66ff881c6d0a3 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 9 Mar 2017 01:30:51 -0300 Subject: [PATCH 0911/2606] Added PresenterKit by @jessesquires (#1545) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 01149da8d..54ad65c29 100644 --- a/README.md +++ b/README.md @@ -1614,6 +1614,7 @@ Most of these are paid services, some have free tiers. * [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. :large_orange_diamond: * [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. :large_orange_diamond: * [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. :large_orange_diamond: +* [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS :large_orange_diamond: #### Alerts From c3240048b0ea0aa23816ed2e4f6f274f5e7b95f3 Mon Sep 17 00:00:00 2001 From: abdullahselek Date: Thu, 9 Mar 2017 11:31:49 +0100 Subject: [PATCH 0912/2606] add ViperC --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2184c4059..67072c3a3 100644 --- a/README.md +++ b/README.md @@ -2395,6 +2395,7 @@ Most of these are paid services, some have free tiers. * [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. * [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. * [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 :large_orange_diamond: +* [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture written in Objective-C # Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: From f6eb8585a98ac414ebe4d46d2f89be902e50d59e Mon Sep 17 00:00:00 2001 From: David Cordero Date: Thu, 9 Mar 2017 14:42:03 +0100 Subject: [PATCH 0913/2606] Add TvOSMoreButton --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 67072c3a3..221d59aa4 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. :large_orange_diamond: * [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text :large_orange_diamond: * [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS :large_orange_diamond: +* [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. :large_orange_diamong: ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: From dbcb4e4b975174a8f05fea365b414e0e210b15ce Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 9 Mar 2017 18:55:49 -0300 Subject: [PATCH 0914/2606] Added Swicon by @UglyTroLL (#1550) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 67072c3a3..369dd2467 100644 --- a/README.md +++ b/README.md @@ -1347,6 +1347,7 @@ Most of these are paid services, some have free tiers. * [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: * [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. :large_orange_diamond: * [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Make working with UIFont faster and less error-prone. :large_orange_diamond: +* [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! :large_orange_diamond: ## UI * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. From 8e9d052217561a4b2c09677aecd3be4f1bc58ead Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 10 Mar 2017 00:00:23 -0300 Subject: [PATCH 0915/2606] Launched AwesomeiOS.Weekly Website --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 369dd2467..6826db936 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,7 @@ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) ## We've launched our Newsletter!! ✅🚀📰 -* [You can sign up over here 🗞](http://eepurl.com/bSQZ89) -* [You can read more about it over here](https://github.com/vsouza/awesome-ios/issues/1263) +* [Check out our new website 🗞](http://weekly.awesomeios.com/) # About A curated list of awesome iOS frameworks, libraries, tutorials, Xcode plugins, components and much more. From aedbb7be635f00d429ee5d968721fc709518708c Mon Sep 17 00:00:00 2001 From: Boisney Philippe Date: Fri, 10 Mar 2017 15:59:19 +0100 Subject: [PATCH 0916/2606] Adding ModernSearchBar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6826db936..33b83bd05 100644 --- a/README.md +++ b/README.md @@ -2061,6 +2061,7 @@ Most of these are paid services, some have free tiers. * [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. :large_orange_diamond: * [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) :large_orange_diamond: * [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple libriary for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. :large_orange_diamond: +* [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. :large_orange_diamond: #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From bee44a3ed115aa4343a28a2eb4cc9535de1ed00f Mon Sep 17 00:00:00 2001 From: WorldDownTown Date: Mon, 13 Mar 2017 01:48:03 +0900 Subject: [PATCH 0917/2606] Add RangeSeekSlider --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6826db936..dbcafea8b 100644 --- a/README.md +++ b/README.md @@ -1901,6 +1901,7 @@ Most of these are paid services, some have free tiers. * [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. :large_orange_diamond: * [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. :large_orange_diamond: * [PivotSlider](https://github.com/lab111/pivot-slider) - Slider that pivots :large_orange_diamond: +* [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. :large_orange_diamond: #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. From 6474ab87f5200b6e5cbd9fcf76045d3451a260fc Mon Sep 17 00:00:00 2001 From: coderyi <517576002@qq.com> Date: Mon, 13 Mar 2017 23:20:51 +0800 Subject: [PATCH 0918/2606] Add DecouplingKit to Code Quality (#1556) [ci skip] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index adc47b787..1dec2ab5e 100644 --- a/README.md +++ b/README.md @@ -292,6 +292,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. * [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. :large_orange_diamond: * [PIDOR](https://github.com/applepride/pidor) - Simple design pattern with the best iOS dev experience. +* [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From b786213a03fc1ab3bc0d5597b06edc10fbad8ed9 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Mon, 13 Mar 2017 22:21:25 +0700 Subject: [PATCH 0919/2606] Add SelectableTextView to TextField & TextView (#1557) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1dec2ab5e..fa2d41e4e 100644 --- a/README.md +++ b/README.md @@ -2064,6 +2064,7 @@ Most of these are paid services, some have free tiers. * [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) :large_orange_diamond: * [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple libriary for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. :large_orange_diamond: * [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. :large_orange_diamond: +* [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion :large_orange_diamond: #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 3f750ba1ae1d599f98daa0e2443209162cf590db Mon Sep 17 00:00:00 2001 From: Kuniwak Date: Tue, 14 Mar 2017 13:42:50 +0900 Subject: [PATCH 0920/2606] Add MirrorDiffKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c526497c8..55e4a5942 100644 --- a/README.md +++ b/README.md @@ -1333,6 +1333,7 @@ Most of these are paid services, some have free tiers. * [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift :large_orange_diamond: * [AcceptanceMark](https://github.com/bizz84/AcceptanceMark) Tool to auto-generate Xcode tests classes from Markdown tables * [MetovaTestKit](https://github.com/metova/MetovaTestKit) - A collection of testing utilities to turn crashing test suites into failing test suites. :large_orange_diamond: +* [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes :large_orange_diamond: #### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: From 35ee0c0083483387a5aafab797af9cce5463299f Mon Sep 17 00:00:00 2001 From: chili-ios Date: Tue, 14 Mar 2017 16:06:20 +0200 Subject: [PATCH 0921/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 55e4a5942..8653f6979 100644 --- a/README.md +++ b/README.md @@ -1538,6 +1538,7 @@ Most of these are paid services, some have free tiers. * [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. :large_orange_diamond: * [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. :large_orange_diamond: * [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). :large_orange_diamond: +* [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. From a6e481f953310eb7619754ebf49dfe8ab1915263 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 14 Mar 2017 11:52:16 -0300 Subject: [PATCH 0922/2606] add iOS-Playbook by @bakkenbaeck --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ec018fd7..24d5ac00a 100644 --- a/README.md +++ b/README.md @@ -2576,6 +2576,7 @@ Other amazingly awesome lists can be found in the * [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects * [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. * [Awesome-iOS-Companies](https://ioscompanies.info/about/welcome) - A curated geographical directory of companies doing iOS development. +* [iOS-Playbook](https://github.com/bakkenbaeck/iOS-playbook) - Guidelines and best practices for excellent iOS apps # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 9325c92b5430247da103232c4894fea77e4163f8 Mon Sep 17 00:00:00 2001 From: Chucky Date: Tue, 14 Mar 2017 14:55:55 -0700 Subject: [PATCH 0923/2606] Added MyLinearLayout by @youngsoft to Layout section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 24d5ac00a..9e99a14fe 100644 --- a/README.md +++ b/README.md @@ -581,6 +581,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. :large_orange_diamond: * [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. :large_orange_diamond: * [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. :large_orange_diamond: +* [MyLinearLayout](https://github.com/youngsoft/MyLinearLayout) - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 5c6888f61b74a714419491b1d9fd792d4fed334f Mon Sep 17 00:00:00 2001 From: kaiomedau Date: Tue, 14 Mar 2017 21:17:21 -0300 Subject: [PATCH 0924/2606] Add RealTimeCurrencyFormatter utility to README file --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9e99a14fe..d3929ceaf 100644 --- a/README.md +++ b/README.md @@ -293,7 +293,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. * [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. :large_orange_diamond: * [PIDOR](https://github.com/applepride/pidor) - Simple design pattern with the best iOS dev experience. -* [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. +* [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. @@ -1280,6 +1280,7 @@ Most of these are paid services, some have free tiers. * [Attributed](https://github.com/Nirma/Attributed) - A Modern interface for attributed strings. :large_orange_diamond: * [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. :large_orange_diamond: * [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. :large_orange_diamond: +* [RealTimeCurrencyFormatter](https://github.com/kaiomedau/realtime-currency-formatter-objc) - An ObjC international currency formatting utility. ## Testing From f0dad6f00ef1688064f6b8aed699894143a05c43 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 15 Mar 2017 10:34:20 +0530 Subject: [PATCH 0925/2606] Add QuietModemKit in Audio (#1562) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3929ceaf..65bde1649 100644 --- a/README.md +++ b/README.md @@ -701,6 +701,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TheAmazingAudioEngine2](https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine2) - The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to. * [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view :large_orange_diamond: * [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift :large_orange_diamond: +* [QuietModemKit](https://github.com/quiet/QuietModemKit) - iOS framework for the Quiet Modem (data over sound) #### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. From 75b8627907c45a3f2d60b7341d427b143620633a Mon Sep 17 00:00:00 2001 From: chili-ios Date: Wed, 15 Mar 2017 09:06:27 +0200 Subject: [PATCH 0926/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8653f6979..f1b40f9f4 100644 --- a/README.md +++ b/README.md @@ -1487,6 +1487,7 @@ Most of these are paid services, some have free tiers. * [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift 🔶 * [KPActionSheet](https://github.com/khuong291/KPActionSheet) - 🔶 A replacement of default action sheet, but has very simple usage. 🔶 * [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator :large_orange_diamond: +* [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. :large_orange_diamond: #### Activity Indicator @@ -1538,7 +1539,6 @@ Most of these are paid services, some have free tiers. * [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. :large_orange_diamond: * [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. :large_orange_diamond: * [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). :large_orange_diamond: -* [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. From 564bbd439799c26a19fb7295eb12e87cfd6e8626 Mon Sep 17 00:00:00 2001 From: Lisa Dziuba Date: Wed, 15 Mar 2017 16:34:41 +0200 Subject: [PATCH 0927/2606] Add Spruce iOS Animation Library (#1563) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0b6bee7f3..11c4d9d3a 100644 --- a/README.md +++ b/README.md @@ -1600,6 +1600,7 @@ Most of these are paid services, some have free tiers. * [AnimatedCollectionViewLayout](https://github.com/KelvinJin/AnimatedCollectionViewLayout) - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView. :large_orange_diamond: * [Dance](https://github.com/saoudrizwan/Dance) - A radical & elegant animation library built for iOS. :large_orange_diamond: * [AKVideoImageView](https://github.com/numen31337/AKVideoImageView) - UIImageView subclass which allows you to display a looped video as a background. +* [Spruce iOS Animation Library](https://github.com/willowtreeapps/spruce-ios) - Swift library for choreographing animations on the screen.:large_orange_diamond: ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From d63740248cc8f0ee52a7ca563b104574acd6205d Mon Sep 17 00:00:00 2001 From: Paul Melnikow Date: Wed, 15 Mar 2017 15:58:47 -0400 Subject: [PATCH 0928/2606] Add AFNetworking-Synchronous (#1564) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 11c4d9d3a..2c91ecb95 100644 --- a/README.md +++ b/README.md @@ -903,6 +903,7 @@ Also see [push notifications](#push-notifications) * [Merhaba](https://github.com/abdullahselek/Merhaba) - Bonjour networking for discovery and connection between iOS, macOS and tvOS devices. * [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. :large_orange_diamond: * [EFInternetIndicator](https://github.com/ezefranca/EFInternetIndicator) - A little swift Internet error status indicator using ReachabilitySwift. :large_orange_diamond: +* [AFNetworking-Synchronous](https://github.com/paulmelnikow/AFNetworking-Synchronous) - Synchronous requests for AFNetworking 1.x, 2.x, and 3.x. #### Email From 241affa59aae2906e8f3619ca7d199a494948b01 Mon Sep 17 00:00:00 2001 From: sonique6784 Date: Fri, 17 Mar 2017 15:12:00 +1100 Subject: [PATCH 0929/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2c91ecb95..1c378f9f6 100644 --- a/README.md +++ b/README.md @@ -1876,6 +1876,7 @@ Most of these are paid services, some have free tiers. * [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: :large_orange_diamond: * [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView :large_orange_diamond: * [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). :large_orange_diamond: +* [ESPullToRefresh](https://github.com/eggswift/pull-to-refresh) - Customisable pull-to-refresh, including nice animation on the top :large_orange_diamond: #### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From 5f0845c5f578db0c227e9feffac36cdb494eaeff Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 20 Mar 2017 10:03:10 +0530 Subject: [PATCH 0930/2606] Added ReverseExtension. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1c378f9f6..db55efb91 100644 --- a/README.md +++ b/README.md @@ -2031,6 +2031,7 @@ Most of these are paid services, some have free tiers. * [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView :large_orange_diamond: * [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight CollectionView that _'pages'_ and _centers_ it's cells 🎡 written in Swift. :large_orange_diamond: * [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content. +* [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 0fe81444693b4861143cbd25530e76d31cedcdc4 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 20 Mar 2017 14:32:26 +0530 Subject: [PATCH 0931/2606] Update FHSTwitterEngine link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index db55efb91..238228405 100644 --- a/README.md +++ b/README.md @@ -1142,7 +1142,7 @@ Most of these are paid services, some have free tiers. #### Unofficial * [STTwitter](https://github.com/nst/STTwitter) A stable, mature and comprehensive Objective-C library for Twitter REST API 1.1 -* [FHSTwitterEngine](https://github.com/fhsjaagshs/FHSTwitterEngine) Twitter API for Cocoa developers. +* [FHSTwitterEngine](https://github.com/natesymer/FHSTwitterEngine) Twitter API for Cocoa developers. * [Giphy](https://github.com/heyalexchoi/Giphy-iOS) Giphy API client for iOS in Objective-C. * [UberKit](https://github.com/sachinkesiraju/UberKit) - A simple, easy-to-use Objective-C wrapper for the Uber API. * [InstagramKit](https://github.com/shyambhat/InstagramKit) - Instagram iOS SDK. From b71d9461d6197619b51a68666addf22513d0d3fa Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 20 Mar 2017 14:33:42 +0530 Subject: [PATCH 0932/2606] Update Redbird link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 238228405..4bb4bbb0e 100644 --- a/README.md +++ b/README.md @@ -1220,7 +1220,7 @@ Most of these are paid services, some have free tiers. * [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server :large_orange_diamond: * [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: -* [Redbird](https://github.com/vapor/Redbird) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: +* [Redbird](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: * [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: * [Edge](https://github.com/SwiftOnEdge/Edge) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: From e249b2ab716cdee83cfb9edfc5744c36d0238643 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 20 Mar 2017 14:34:22 +0530 Subject: [PATCH 0933/2606] Update WCLShineButton link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4bb4bbb0e..c58d90231 100644 --- a/README.md +++ b/README.md @@ -1712,7 +1712,7 @@ Most of these are paid services, some have free tiers. * [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift :large_orange_diamond: * [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash :large_orange_diamond: * [CRNetworkButton](https://github.com/Cleveroad/CRNetworkButton) - Send Button for iOS :large_orange_diamond: -* [WCLShineButton](https://github.com/631106979/WCLShineButton) - This is a UI lib for iOS. Effects like shining. :large_orange_diamond: +* [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. :large_orange_diamond: #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From e6ed40610aabc9e9b6039eb292d3686c822c19d5 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 20 Mar 2017 14:37:21 +0530 Subject: [PATCH 0934/2606] Update Socks link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c58d90231..1d0564816 100644 --- a/README.md +++ b/README.md @@ -2183,7 +2183,7 @@ Most of these are paid services, some have free tiers. * [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and OSX. :large_orange_diamond: * [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and OSX :large_orange_diamond: * [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. :large_orange_diamond: -* [Socks](https://github.com/vapor/Socks) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: +* [Socks](https://github.com/vapor/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: * [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS :large_orange_diamond: * [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. :large_orange_diamond: From 9d8298d2c09d86b815016a444a2ebb85de9d4fe7 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Mon, 20 Mar 2017 14:39:05 +0530 Subject: [PATCH 0935/2606] Update Redis name --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1d0564816..5d4e12426 100644 --- a/README.md +++ b/README.md @@ -1220,7 +1220,7 @@ Most of these are paid services, some have free tiers. * [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server :large_orange_diamond: * [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: -* [Redbird](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: +* [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: * [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: * [Edge](https://github.com/SwiftOnEdge/Edge) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: From 6dc21f006ed2873b7859d58a8a22fc52e1e9a3ce Mon Sep 17 00:00:00 2001 From: Seungyoun Yi Date: Mon, 20 Mar 2017 04:19:44 -0700 Subject: [PATCH 0936/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5d4e12426..57b40ecee 100644 --- a/README.md +++ b/README.md @@ -2032,6 +2032,7 @@ Most of these are paid services, some have free tiers. * [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight CollectionView that _'pages'_ and _centers_ it's cells 🎡 written in Swift. :large_orange_diamond: * [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content. * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. +* [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 746a1f8d08a46317abb57a60cc02089c6b64cb7f Mon Sep 17 00:00:00 2001 From: Chris Byatt Date: Mon, 20 Mar 2017 11:28:05 +0000 Subject: [PATCH 0937/2606] Add CBPinEntryView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5d4e12426..6c9707c8a 100644 --- a/README.md +++ b/README.md @@ -2075,6 +2075,7 @@ Most of these are paid services, some have free tiers. * [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple libriary for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. :large_orange_diamond: * [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. :large_orange_diamond: * [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion :large_orange_diamond: +* [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 3.0 for any numerical pin or code entry. :large_orange_diamond: #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 2c8582fe167c2fa29d1f6785d92ba62f58a0c626 Mon Sep 17 00:00:00 2001 From: Merrick Sapsford Date: Mon, 20 Mar 2017 15:32:29 +0000 Subject: [PATCH 0938/2606] Add Tabman --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5d4e12426..d2ec2db3a 100644 --- a/README.md +++ b/README.md @@ -1970,6 +1970,7 @@ Most of these are paid services, some have free tiers. * [MiniTabBar](https://github.com/D-32/MiniTabBar) - A clean simple alternative to the UITabBar 🔶 * [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) - UITabBarController with swipe interaction between its tabs. 🔶 * [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) 🔶 +* [Tabman](https://github.com/msaps/Tabman) - A powerful paging view controller with indicator bar for iOS. 🔶 #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From 2f526d73b7b1f8862d05308904671a81a727e4ab Mon Sep 17 00:00:00 2001 From: "Ben.Park" Date: Tue, 21 Mar 2017 11:35:13 +0900 Subject: [PATCH 0939/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ab37436c..81d7e6190 100644 --- a/README.md +++ b/README.md @@ -1680,7 +1680,7 @@ Most of these are paid services, some have free tiers. * [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. * [NoticeBar](https://github.com/qiuncheng/NoticeBar) - 😍A simple NoticeBar written by Swift 3, similar with QQ notice view. :large_orange_diamond: * [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS :large_orange_diamond: - +* [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook).🔶 #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] From 84f553eb68ec03c2bdab54934e23486a22c74a25 Mon Sep 17 00:00:00 2001 From: Adam Cichy Date: Tue, 21 Mar 2017 09:56:07 +0100 Subject: [PATCH 0940/2606] Add SwiftySound --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c8380edfc..cb469ab17 100644 --- a/README.md +++ b/README.md @@ -702,6 +702,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view :large_orange_diamond: * [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift :large_orange_diamond: * [QuietModemKit](https://github.com/quiet/QuietModemKit) - iOS framework for the Quiet Modem (data over sound) +* [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. Cocoapods and Carthage compatible. :large_orange_diamond: #### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. From a41cea19ea1501d4fe25752395396326f7ad3cf1 Mon Sep 17 00:00:00 2001 From: Tsang Kenneth Date: Tue, 21 Mar 2017 17:34:09 +0800 Subject: [PATCH 0941/2606] Added GrowingTextView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c8380edfc..6fdaa8971 100644 --- a/README.md +++ b/README.md @@ -2078,6 +2078,7 @@ Most of these are paid services, some have free tiers. * [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. :large_orange_diamond: * [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion :large_orange_diamond: * [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 3.0 for any numerical pin or code entry. :large_orange_diamond: +* [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. :large_orange_diamond: #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 71c11f3ee3121d80a14e2c6fac3deefbce78a73d Mon Sep 17 00:00:00 2001 From: dbukowski Date: Wed, 22 Mar 2017 10:42:06 +0100 Subject: [PATCH 0942/2606] Added DBDebugToolkit. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a0388e3eb..d0ddef64f 100644 --- a/README.md +++ b/README.md @@ -2285,6 +2285,7 @@ Most of these are paid services, some have free tiers. * [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). :large_orange_diamond: * [Struct](https://www.get-struct.tools) - A tool for iOS and Mac developers to automate the creation and management of Xcode projects. * [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. :large_orange_diamond: +* [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 5f136461a2a8fa472b727d2720febac233402761 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 22 Mar 2017 15:44:11 +0530 Subject: [PATCH 0943/2606] Update Pageboy link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d0ddef64f..70b99160b 100644 --- a/README.md +++ b/README.md @@ -1488,7 +1488,7 @@ Most of these are paid services, some have free tiers. * [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. :large_orange_diamond: * [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. :large_orange_diamond: * [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. :large_orange_diamond: -* [Pageboy](https://github.com/msaps/Pageboy) - A simple, highly informative page view controller. :large_orange_diamond: +* [Pageboy](https://github.com/uias/Pageboy) - A simple, highly informative page view controller. :large_orange_diamond: * [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift 🔶 * [KPActionSheet](https://github.com/khuong291/KPActionSheet) - 🔶 A replacement of default action sheet, but has very simple usage. 🔶 * [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator :large_orange_diamond: From c3b9d7f1ff328331646b8cb34e26a2b82504e857 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 22 Mar 2017 15:45:06 +0530 Subject: [PATCH 0944/2606] Update Tabman link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 70b99160b..c7bade334 100644 --- a/README.md +++ b/README.md @@ -1971,7 +1971,7 @@ Most of these are paid services, some have free tiers. * [MiniTabBar](https://github.com/D-32/MiniTabBar) - A clean simple alternative to the UITabBar 🔶 * [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) - UITabBarController with swipe interaction between its tabs. 🔶 * [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) 🔶 -* [Tabman](https://github.com/msaps/Tabman) - A powerful paging view controller with indicator bar for iOS. 🔶 +* [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. 🔶 #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From 745892af286bc12243a8d4976ab8ece47034074f Mon Sep 17 00:00:00 2001 From: Wilbert Liu Date: Wed, 22 Mar 2017 17:56:21 +0700 Subject: [PATCH 0945/2606] Add NavKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c7bade334..6af747e7c 100644 --- a/README.md +++ b/README.md @@ -1838,6 +1838,7 @@ Most of these are paid services, some have free tiers. * [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects :large_orange_diamond: * [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. :large_orange_diamond: * [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView :large_orange_diamond: +* [NavKit](https://github.com/wilbertliu/NavKit) - Simple and integrated way to customize navigation bar experience on iOS app. :large_orange_diamond: #### PickerView * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. From 82121197ff984595c487ac3b54df74ec989c6e7d Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Thu, 23 Mar 2017 10:24:52 +0700 Subject: [PATCH 0946/2606] Add CFAlertViewController to Alerts --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6af747e7c..ff2aa972a 100644 --- a/README.md +++ b/README.md @@ -1682,6 +1682,8 @@ Most of these are paid services, some have free tiers. * [NoticeBar](https://github.com/qiuncheng/NoticeBar) - 😍A simple NoticeBar written by Swift 3, similar with QQ notice view. :large_orange_diamond: * [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS :large_orange_diamond: * [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook).🔶 +* [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone.🔶 + #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] From cbcce07a6c4975ffcd9860126cef672013a1f1c7 Mon Sep 17 00:00:00 2001 From: Yohannes Wijaya Date: Thu, 23 Mar 2017 17:28:13 +0700 Subject: [PATCH 0947/2606] Add Transition to Animation:Transition --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ff2aa972a..86b8a6a1b 100644 --- a/README.md +++ b/README.md @@ -1625,6 +1625,7 @@ Most of these are paid services, some have free tiers. * [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. :large_orange_diamond: * [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. :large_orange_diamond: * [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS :large_orange_diamond: +* [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. :large_orange_diamond: #### Alerts From cdf8f9910971b8df6b002f938ca5c6a43412f63c Mon Sep 17 00:00:00 2001 From: Mikhail Vasilev Date: Thu, 23 Mar 2017 23:55:03 +0700 Subject: [PATCH 0948/2606] Update README.md Added SquareMosaicLayout - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 86b8a6a1b..dff959b9f 100644 --- a/README.md +++ b/README.md @@ -2039,6 +2039,7 @@ Most of these are paid services, some have free tiers. * [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content. * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. * [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 +* [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From b362dc9c083886cbc01623ea8271107922ec2c5f Mon Sep 17 00:00:00 2001 From: Misbah Khan Date: Fri, 24 Mar 2017 13:39:14 -0700 Subject: [PATCH 0949/2606] Add Down (#1580) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dff959b9f..7d7fec81c 100644 --- a/README.md +++ b/README.md @@ -1284,6 +1284,7 @@ Most of these are paid services, some have free tiers. * [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. :large_orange_diamond: * [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. :large_orange_diamond: * [RealTimeCurrencyFormatter](https://github.com/kaiomedau/realtime-currency-formatter-objc) - An ObjC international currency formatting utility. +* [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. 🔶 ## Testing From ab225e7562778f60a98feaa9d457af33b9416c25 Mon Sep 17 00:00:00 2001 From: Jon-Schneider Date: Sat, 25 Mar 2017 08:45:23 -0400 Subject: [PATCH 0950/2606] Adds 'NSLock+Synchronized' to Concurrency libraries. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7d7fec81c..c77138c32 100644 --- a/README.md +++ b/README.md @@ -337,6 +337,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. :large_orange_diamond: * [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. * [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. :large_orange_diamond: +* [NSLock+Synchronized](https://github.com/Jon-Schneider/NSLock-Synchronized) - Do you miss @synchronized in Swift? NSLock+Synchronized gives you back @synchronized in Swift via a global function and NSLock class and instance methods, conveniently usable via Cocoapod and Carthage Framework. :large_orange_diamond:[e] ## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From 99b334ddc309c68facd50d7262f8d8b231d7a7b0 Mon Sep 17 00:00:00 2001 From: Kiran Date: Sun, 26 Mar 2017 21:07:39 -0700 Subject: [PATCH 0951/2606] Updated description of Apple Family (#1582) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d7fec81c..70db87020 100644 --- a/README.md +++ b/README.md @@ -514,7 +514,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CocoaMultipeer](https://github.com/manavgabhawala/CocoaMultipeer) - This repository is a peer to peer framework for OS X, iOS and watchOS 2 that presents a similar interface to the MultipeerConnectivity framework (which is iOS only) that lets you connect any 2 devices from any platform. :large_orange_diamond: * [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift :large_orange_diamond: * [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework :large_orange_diamond: -* [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with bluetooth or wifi. :large_orange_diamond: +* [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with bluetooth, wifi, and USB. :large_orange_diamond: #### Camera * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. From 39013ad2d4ac9101bcd8a72d76e6722bdf79bfda Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 27 Mar 2017 11:08:20 -0300 Subject: [PATCH 0952/2606] Added Marathon by @JohnSundell --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 70db87020..bc8bf11b0 100644 --- a/README.md +++ b/README.md @@ -328,6 +328,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift :large_orange_diamond: * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: * [Guaka](https://github.com/oarrabi/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift :large_orange_diamond: +* [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts :large_orange_diamond: ## Concurrency * [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: From de3a7349904f071cedc105e18b6ad9d9d3765970 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 27 Mar 2017 11:13:36 -0300 Subject: [PATCH 0953/2606] Added Johnny by @zolomatok --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 70db87020..4ace09397 100644 --- a/README.md +++ b/README.md @@ -235,6 +235,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cell cache that cures scroll-lags on a cell instantiating. * [RocketData](https://github.com/linkedin/RocketData) - A caching and consistency solution for immutable models. :large_orange_diamond: * [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and OS X +* [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift :large_orange_diamond: ## Charts * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: From 53142ae929e6958f6f12899a51e22fc6c30f3e55 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 27 Mar 2017 11:25:59 -0300 Subject: [PATCH 0954/2606] Added Attabench by @lorentey --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 70db87020..131f23d3f 100644 --- a/README.md +++ b/README.md @@ -2292,6 +2292,7 @@ Most of these are paid services, some have free tiers. * [Struct](https://www.get-struct.tools) - A tool for iOS and Mac developers to automate the creation and management of Xcode projects. * [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. :large_orange_diamond: * [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. +* [Attabench](https://github.com/lorentey/Attabench) - Microbenchmarking app for Swift with nice log-log plots :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 2dc4815b3c449fca9e49ac3a944c924d7be5ceb7 Mon Sep 17 00:00:00 2001 From: Lasha Efremidze Date: Tue, 28 Mar 2017 13:38:10 -0700 Subject: [PATCH 0955/2606] Add Magnetic (#1587) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ec06555c7..6b6f113f6 100644 --- a/README.md +++ b/README.md @@ -1496,6 +1496,7 @@ Most of these are paid services, some have free tiers. * [KPActionSheet](https://github.com/khuong291/KPActionSheet) - 🔶 A replacement of default action sheet, but has very simple usage. 🔶 * [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator :large_orange_diamond: * [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. :large_orange_diamond: +* [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). 🔶 #### Activity Indicator From 1a6760d429e3344e9cde2b8322a0494bd7015a22 Mon Sep 17 00:00:00 2001 From: Gleb Karpushkin Date: Wed, 29 Mar 2017 16:44:46 +0300 Subject: [PATCH 0956/2606] Added BPM Analyser --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 39345dd95..d1ef051e2 100644 --- a/README.md +++ b/README.md @@ -687,6 +687,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Audio * [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing. * [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. :large_orange_diamond: +* [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: * [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/OSX audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. * [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and Mac OS X. * [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). From 0674aae423f7f3fcaced8afcb8bb2c26ee2c86dc Mon Sep 17 00:00:00 2001 From: Gleb Karpushkin Date: Wed, 29 Mar 2017 16:46:35 +0300 Subject: [PATCH 0957/2606] Update README.md fix bottom of category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d1ef051e2..67d82b2b4 100644 --- a/README.md +++ b/README.md @@ -687,7 +687,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Audio * [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing. * [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. :large_orange_diamond: -* [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: * [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/OSX audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. * [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and Mac OS X. * [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). @@ -707,6 +706,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift :large_orange_diamond: * [QuietModemKit](https://github.com/quiet/QuietModemKit) - iOS framework for the Quiet Modem (data over sound) * [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. Cocoapods and Carthage compatible. :large_orange_diamond: +* [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: #### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. From 55f5b9b39a5e3b6fa3c893566444ea5f2a6995b1 Mon Sep 17 00:00:00 2001 From: Lucas Huang Date: Sat, 1 Apr 2017 00:47:32 -0700 Subject: [PATCH 0958/2606] add OTTextChatAccelerator --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5cc64e8ca..d4c273820 100644 --- a/README.md +++ b/README.md @@ -828,6 +828,7 @@ Also see [push notifications](#push-notifications) * [NMessenger](https://github.com/eBay/NMessenger) - A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift :large_orange_diamond: * [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. * [Messenger](https://github.com/relatedcode/Messenger) - This is a native iOS Messenger app, making realtime chat conversations and audio calls with full offline support. +* [OTTextChatAccelerator](https://github.com/opentok/accelerator-textchat-ios) - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices. ## Networking * [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and OS X networking framework. From c0522921b053945394f879cadad42691a59a2d86 Mon Sep 17 00:00:00 2001 From: Sergey Tursunov Date: Sat, 1 Apr 2017 17:54:14 +0300 Subject: [PATCH 0959/2606] Added AmazingBubbles by @GlebRadchenko --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 39345dd95..6e80b1660 100644 --- a/README.md +++ b/README.md @@ -1498,6 +1498,7 @@ Most of these are paid services, some have free tiers. * [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator :large_orange_diamond: * [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. :large_orange_diamond: * [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). 🔶 +* [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 #### Activity Indicator From 2284cda270d383aa7c72e38c889c400122e43939 Mon Sep 17 00:00:00 2001 From: Wojtek Kordylewski Date: Sun, 2 Apr 2017 19:49:16 +0200 Subject: [PATCH 0960/2606] Added SwiftSpreadSheet to CollectionView section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 39345dd95..b12fd9aaf 100644 --- a/README.md +++ b/README.md @@ -2045,6 +2045,7 @@ Most of these are paid services, some have free tiers. * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. * [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 * [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations 🔶 +* [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From a16429b25ccac4f57a5bd749aa46224274a227e2 Mon Sep 17 00:00:00 2001 From: Wojtek Kordylewski Date: Sun, 2 Apr 2017 20:14:57 +0200 Subject: [PATCH 0961/2606] Fixed link for cookie-cutter --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b12fd9aaf..992456cd9 100644 --- a/README.md +++ b/README.md @@ -2288,7 +2288,7 @@ Most of these are paid services, some have free tiers. * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A Mac OS X library for managing and manipulating iOS Simulators * [IconResizer](https://iconresizer.com/) - A simple web application to resize iPhone and iPad app icons for the App Store * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. -* [Cookiecutter](https://github.com/cookiecutter-swift/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: +* [Cookiecutter](https://github.com/JetpackSwift/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: * [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. :large_orange_diamond: * [AssetChecker 👮](https://github.com/freshOS/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. :large_orange_diamond: * [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar :large_orange_diamond: From 9d79f2836cf517a2c9eea1a72f63bceddc2697f1 Mon Sep 17 00:00:00 2001 From: Juan Pablo Fernandez Date: Sun, 2 Apr 2017 18:45:37 -0700 Subject: [PATCH 0962/2606] Add SwiftyOnboard (#1594) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 39345dd95..3564b7aa5 100644 --- a/README.md +++ b/README.md @@ -2191,6 +2191,7 @@ Most of these are paid services, some have free tiers. * [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. :large_orange_diamond: * [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. :large_orange_diamond: * [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. :large_orange_diamond: +* [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. :large_orange_diamond: ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From 106c2808213506036e93506779fa72bfb6253464 Mon Sep 17 00:00:00 2001 From: Anton Mironov Date: Tue, 4 Apr 2017 11:37:24 +0300 Subject: [PATCH 0963/2606] Add AsyncNinja to Concurrency category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b10c29714..c3b87c32b 100644 --- a/README.md +++ b/README.md @@ -340,6 +340,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. * [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. :large_orange_diamond: * [NSLock+Synchronized](https://github.com/Jon-Schneider/NSLock-Synchronized) - Do you miss @synchronized in Swift? NSLock+Synchronized gives you back @synchronized in Swift via a global function and NSLock class and instance methods, conveniently usable via Cocoapod and Carthage Framework. :large_orange_diamond:[e] +* [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. :large_orange_diamond: ## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From 8ea20d560cea6d967a13712c78bafba7ee8b7c30 Mon Sep 17 00:00:00 2001 From: Kawoou Date: Tue, 4 Apr 2017 23:54:34 +0900 Subject: [PATCH 0964/2606] Add KWDrawerController to Menu category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c3b87c32b..5b507d840 100644 --- a/README.md +++ b/README.md @@ -1839,6 +1839,7 @@ Most of these are paid services, some have free tiers. * [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. :large_orange_diamond: * [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. :large_orange_diamond: * [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. :large_orange_diamond: +* [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! #### Navigation Bar From 65781e3d9589fd513e8dadb6e831f934704fe3ee Mon Sep 17 00:00:00 2001 From: Dalton Hinterscher Date: Tue, 4 Apr 2017 21:16:36 -0500 Subject: [PATCH 0965/2606] Added NotificationBanner to the README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c3b87c32b..60cb83071 100644 --- a/README.md +++ b/README.md @@ -1692,6 +1692,7 @@ Most of these are paid services, some have free tiers. * [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS :large_orange_diamond: * [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook).🔶 * [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone.🔶 +* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS 🔶 #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 5d3db20db5c1724158ca4ca2d3f150fe4a7e3769 Mon Sep 17 00:00:00 2001 From: Dalton Hinterscher Date: Tue, 4 Apr 2017 21:49:24 -0500 Subject: [PATCH 0966/2606] Added BigBoard to the README --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 60cb83071..8052020c1 100644 --- a/README.md +++ b/README.md @@ -1169,6 +1169,7 @@ Most of these are paid services, some have free tiers. * [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). :large_orange_diamond: * [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. :large_orange_diamond: * [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. :large_orange_diamond: +* [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. @@ -1692,7 +1693,7 @@ Most of these are paid services, some have free tiers. * [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS :large_orange_diamond: * [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook).🔶 * [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone.🔶 -* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS 🔶 +* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. 🔶 #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 0e71a1c76006d7a029ae46549f905aecdaf473bf Mon Sep 17 00:00:00 2001 From: Dalton Hinterscher Date: Tue, 4 Apr 2017 21:54:25 -0500 Subject: [PATCH 0967/2606] Removed BigBoard from README. Will add in separate pull request. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 8052020c1..984e6df33 100644 --- a/README.md +++ b/README.md @@ -1169,7 +1169,6 @@ Most of these are paid services, some have free tiers. * [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). :large_orange_diamond: * [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. :large_orange_diamond: * [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. :large_orange_diamond: -* [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 6335fb2bf15aa280f51c3c0231a25a17c35ae2cc Mon Sep 17 00:00:00 2001 From: Dalton Hinterscher Date: Tue, 4 Apr 2017 22:02:12 -0500 Subject: [PATCH 0968/2606] Added Spartan to the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 984e6df33..bba4584f3 100644 --- a/README.md +++ b/README.md @@ -1169,6 +1169,7 @@ Most of these are paid services, some have free tiers. * [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). :large_orange_diamond: * [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. :large_orange_diamond: * [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. :large_orange_diamond: +* [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. @@ -1692,7 +1693,6 @@ Most of these are paid services, some have free tiers. * [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS :large_orange_diamond: * [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook).🔶 * [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone.🔶 -* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. 🔶 #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 2cdd4af891a4efdbff0327413cd40675892e0158 Mon Sep 17 00:00:00 2001 From: Dalton Hinterscher Date: Tue, 4 Apr 2017 22:24:01 -0500 Subject: [PATCH 0969/2606] Add BigBoard (#1599) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c3b87c32b..ba37fb9ba 100644 --- a/README.md +++ b/README.md @@ -1169,6 +1169,7 @@ Most of these are paid services, some have free tiers. * [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). :large_orange_diamond: * [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. :large_orange_diamond: * [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. :large_orange_diamond: +* [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 0a07821f214cf2ce528e6f05fad895af89508cba Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 5 Apr 2017 09:38:41 +0530 Subject: [PATCH 0970/2606] Added LoginKit. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ba37fb9ba..0beda4f55 100644 --- a/README.md +++ b/README.md @@ -1502,6 +1502,7 @@ Most of these are paid services, some have free tiers. * [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. :large_orange_diamond: * [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). 🔶 * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 +* [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 #### Activity Indicator From 4c04b6eab1eab1d8376f8d6580b249122900560b Mon Sep 17 00:00:00 2001 From: Amir Abbas Mousavian Date: Wed, 5 Apr 2017 10:12:19 +0430 Subject: [PATCH 0971/2606] Edited FileProcider description Added FTP --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ba37fb9ba..695310881 100644 --- a/README.md +++ b/README.md @@ -467,7 +467,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: * [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: -* [FileProvider](https://github.com/amosavian/FileProvider) - FileManager replacement for Local, iCloud and Remote (WebDAV/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS. :large_orange_diamond: +* [FileProvider](https://github.com/amosavian/FileProvider) - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS. :large_orange_diamond: * [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. :large_orange_diamond: * [ZipArchive](https://github.com/ZipArchive/ZipArchive) - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac. * [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. :large_orange_diamond: From 9ae1a04b0d1d38e41dbf3f2fc212588fd34f6475 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 5 Apr 2017 16:44:05 +0530 Subject: [PATCH 0972/2606] Add large_orange_diamond: --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5b507d840..effdfad99 100644 --- a/README.md +++ b/README.md @@ -1839,7 +1839,7 @@ Most of these are paid services, some have free tiers. * [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. :large_orange_diamond: * [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. :large_orange_diamond: * [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. :large_orange_diamond: -* [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! +* [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! large_orange_diamond: #### Navigation Bar From 7742427c143fb9618188bdd8c4ad933c588ee495 Mon Sep 17 00:00:00 2001 From: Mohamed Afifi Date: Wed, 5 Apr 2017 14:20:41 +0200 Subject: [PATCH 0973/2606] Adding GenericDataSource --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 143e46c1e..07b5cc4b8 100644 --- a/README.md +++ b/README.md @@ -2053,6 +2053,7 @@ Most of these are paid services, some have free tiers. * [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 * [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations 🔶 * [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. 🔶 +* [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 8ae2ff0ea39626ca4f45487a461e0caf76f9b2e4 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 5 Apr 2017 18:32:54 +0530 Subject: [PATCH 0974/2606] =?UTF-8?q?Add=20=F0=9F=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 07b5cc4b8..64f5e3d47 100644 --- a/README.md +++ b/README.md @@ -2053,7 +2053,7 @@ Most of these are paid services, some have free tiers. * [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 * [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations 🔶 * [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. 🔶 -* [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. +* [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 76d1b5062ef3de1ae381c8b3aa397226aea7e0d8 Mon Sep 17 00:00:00 2001 From: Steven Deutsch Date: Wed, 5 Apr 2017 20:33:38 -0500 Subject: [PATCH 0975/2606] Add Nora to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 64f5e3d47..e1f116b89 100644 --- a/README.md +++ b/README.md @@ -405,6 +405,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Redis](https://github.com/PerfectlySoft/Perfect-Redis) - A Swift wrapper around the Redis client library, enabling access to Redis. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [PostgreSQL](https://github.com/PerfectlySoft/Perfect-PostgreSQL) - A Swift wrapper around the libpq client library, enabling access to PostgreSQL servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [FileMaker](https://github.com/PerfectlySoft/Perfect-FileMaker) - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. +* [Nora](https://github.com/SD10/Nora) - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage. :large_orange_diamond: ## Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: From b3f1ca9b74a505113bcacdaa3883800590931cc3 Mon Sep 17 00:00:00 2001 From: EyreFree Date: Thu, 6 Apr 2017 13:59:26 +0800 Subject: [PATCH 0976/2606] Add EFQRCode Add EFQRCode, A better way to operate two-dimensional code in Swift. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e1f116b89..f6507e0df 100644 --- a/README.md +++ b/README.md @@ -795,6 +795,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: * [QR Code Scanner](http://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. * [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. :large_orange_diamond: +* [EFQRCode](https://github.com/EyreFree/EFQRCode) - A better way to operate two-dimensional code in Swift. :large_orange_diamond: #### PDF * [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. From 0e52893dc59d9f87589d401e6b5c5e432d912c51 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 6 Apr 2017 12:29:49 +0530 Subject: [PATCH 0977/2606] Update Swift-AI link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f6507e0df..619a94642 100644 --- a/README.md +++ b/README.md @@ -658,7 +658,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. ## Machine Learning -* [Swift-AI](https://github.com/collinhundley/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: +* [Swift-AI](https://github.com/Swift-AI/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: * [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. :large_orange_diamond: * [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. :large_orange_diamond: * [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/ios_examples/) - The official Google-built powerful neural network library port for iOS. From f7cfb29f27f12c467fd6d74a84ff5ba2213f460b Mon Sep 17 00:00:00 2001 From: Dalton Hinterscher Date: Thu, 6 Apr 2017 08:32:47 -0500 Subject: [PATCH 0978/2606] Added NotificationBanner to the README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 619a94642..beb03e2b8 100644 --- a/README.md +++ b/README.md @@ -1697,6 +1697,7 @@ Most of these are paid services, some have free tiers. * [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS :large_orange_diamond: * [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook).🔶 * [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone.🔶 +* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. Effectively uses a built in banner queue system which makes displaying multiple banners that happen within the same timeframe easier than ever. 🔶 #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 4375a970c6bd40a8f3c962885bb7c3e1e60f212a Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Thu, 6 Apr 2017 19:41:03 +0530 Subject: [PATCH 0979/2606] Remove extra description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index beb03e2b8..cd963a6a7 100644 --- a/README.md +++ b/README.md @@ -1697,7 +1697,7 @@ Most of these are paid services, some have free tiers. * [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS :large_orange_diamond: * [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook).🔶 * [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone.🔶 -* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. Effectively uses a built in banner queue system which makes displaying multiple banners that happen within the same timeframe easier than ever. 🔶 +* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. 🔶 #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 5fee4b8ad62dae0cd869953470ef006f6e59f35f Mon Sep 17 00:00:00 2001 From: 4taras4 <4taras4@gmail.com> Date: Fri, 7 Apr 2017 16:19:02 +0300 Subject: [PATCH 0980/2606] Added-PickerView-CountryPicker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit UIPickerView with Country names flags and phoneCodes 🔶 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd963a6a7..d29372591 100644 --- a/README.md +++ b/README.md @@ -1864,6 +1864,7 @@ Most of these are paid services, some have free tiers. * [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - Date picker dialog for iOS :large_orange_diamond: * [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. * [AIDatePickerController](https://github.com/alikaragoz/AIDatePickerController) - :date: UIDatePicker modally presented with iOS 7 custom transitions. +* [CountryPicker](https://github.com/4taras4/CountryCode) - :date: UIPickerView with Country names flags and phoneCodes 🔶 #### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). From 3d28ce11bb1de1a02d230d168ff670b4209370e7 Mon Sep 17 00:00:00 2001 From: Antonio Zaitoun Date: Sat, 8 Apr 2017 16:43:08 +0300 Subject: [PATCH 0981/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd963a6a7..78cb773ea 100644 --- a/README.md +++ b/README.md @@ -1876,6 +1876,7 @@ Most of these are paid services, some have free tiers. * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: * [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. :large_orange_diamond: * [KCSelectionDialog](https://github.com/kciter/KCSelectionDialog) - Simple selection dialog. :large_orange_diamond: +* [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. :large_orange_diamond: #### Pull to Refresh * [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: From 6611516c859876196a7960f72ed33a7a78392652 Mon Sep 17 00:00:00 2001 From: Dhaval Thanki Date: Sun, 9 Apr 2017 12:27:26 +0530 Subject: [PATCH 0982/2606] Update README.md DTTextField library added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd963a6a7..3909179fb 100644 --- a/README.md +++ b/README.md @@ -2102,6 +2102,7 @@ Most of these are paid services, some have free tiers. * [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion :large_orange_diamond: * [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 3.0 for any numerical pin or code entry. :large_orange_diamond: * [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. :large_orange_diamond: +* [DTTextField](https://github.com/iDhaval/DTTextField) - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0.🔶 #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 50448eede3cf3d3fcd6b7bcbe04d018c3c006008 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Olejni=CC=81k?= Date: Sun, 9 Apr 2017 09:46:39 +0200 Subject: [PATCH 0983/2606] Add ACKReactiveExtensions --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd963a6a7..b07bd7838 100644 --- a/README.md +++ b/README.md @@ -1101,6 +1101,7 @@ Most of these are paid services, some have free tiers. * [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . :large_orange_diamond: * [Snail](https://github.com/UrbanCompass/Snail) - An observables framework for Swift :large_orange_diamond: * [RxWebSocket](https://github.com/fjcaetano/RxWebSocket) - Reactive extension over Starscream for websockets :large_orange_diamond: +* [ACKReactiveExtensions](https://github.com/AckeeCZ/ACKReactiveExtensions) - Useful extensions for ReactiveCocoa :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From fcc334c218ee8b993c2223ec6b9b5edd85e43bf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Olejni=CC=81k?= Date: Sun, 9 Apr 2017 09:48:08 +0200 Subject: [PATCH 0984/2606] Add ReactiveLocation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd963a6a7..3a2869bab 100644 --- a/README.md +++ b/README.md @@ -1101,6 +1101,7 @@ Most of these are paid services, some have free tiers. * [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . :large_orange_diamond: * [Snail](https://github.com/UrbanCompass/Snail) - An observables framework for Swift :large_orange_diamond: * [RxWebSocket](https://github.com/fjcaetano/RxWebSocket) - Reactive extension over Starscream for websockets :large_orange_diamond: +* [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From eb20175c586697414bd4629524bc40437c423661 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Olejni=CC=81k?= Date: Sun, 9 Apr 2017 09:49:01 +0200 Subject: [PATCH 0985/2606] Add Reqres --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd963a6a7..ff63d711b 100644 --- a/README.md +++ b/README.md @@ -656,6 +656,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger for iOS, macOS, tvOS, watchOS and Linux with Swift 3. :large_orange_diamond: * [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. :large_orange_diamond: * [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. +* [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support :large_orange_diamond: ## Machine Learning * [Swift-AI](https://github.com/Swift-AI/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: From 5bae98c888628bd34d0de7bcb984bfcc2988d5e5 Mon Sep 17 00:00:00 2001 From: WorldDownTown Date: Mon, 10 Apr 2017 01:09:23 +0900 Subject: [PATCH 0986/2606] Add TapticEngine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd963a6a7..53c8f2075 100644 --- a/README.md +++ b/README.md @@ -605,6 +605,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. :large_orange_diamond: * [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. :large_orange_diamond: * [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. ⌚️ +* [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. :large_orange_diamond: ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From c7884a95d50ed274831e427bd3877b2ef6412afe Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sun, 9 Apr 2017 15:35:18 -0300 Subject: [PATCH 0987/2606] Move SBConstants to Tools (Fix #1608) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c9635233d..6a13df59f 100644 --- a/README.md +++ b/README.md @@ -2128,7 +2128,6 @@ Most of these are paid services, some have free tiers. ## Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. - * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. * [XExtensionItem](https://github.com/tumblr/XExtensionItem) - Easier sharing of structured data between iOS applications and share extensions. * [ReflectableEnum](https://github.com/fastred/ReflectableEnum) - Reflection for enumerations in Objective-C. * [ObjectiveSugar](https://github.com/supermarin/ObjectiveSugar) - ObjectiveC additions for humans. Ruby style. @@ -2256,6 +2255,7 @@ Most of these are paid services, some have free tiers. # Tools * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: +* [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. * [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. :large_orange_diamond: * [SwiftGen](https://github.com/SwiftGen/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). :large_orange_diamond: * [Blade](https://github.com/jondot/blade) - Generate Xcode image catalogs for iOS / OSX app icons, universal images, and more. From 620d9995c292c553e10c0e685b6fb11d9b42fbfe Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sun, 9 Apr 2017 15:43:38 -0300 Subject: [PATCH 0988/2606] Rename Alerts to Alerts & Action Sheet (Fix #1051) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6a13df59f..52e40f468 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Font](#font) - [UI](#ui) - [Activity Indicator](#activity-indicator) - - [Alert View](#alerts) + - [Alert & Action Sheet](#alert--action-sheet) - [Animation](#animation) - [Transition](#transition) - [Badge](#badge) @@ -1645,7 +1645,7 @@ Most of these are paid services, some have free tiers. * [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS :large_orange_diamond: * [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. :large_orange_diamond: -#### Alerts +#### Alert & Action Sheet * [NZAlertView](https://github.com/NZN/NZAlertView) - Simple and intuitive alert view. Similar to push notification effect. * [AMSmoothAlert](https://github.com/mtonio91/AMSmoothAlert) - A cool AlertView. From 7e2b18340769b15c5a3ae699598ab10e972070fd Mon Sep 17 00:00:00 2001 From: Logan Sease Date: Mon, 10 Apr 2017 15:19:12 -0400 Subject: [PATCH 0989/2606] added qwikhttp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e0625221..df0d4aec8 100644 --- a/README.md +++ b/README.md @@ -915,6 +915,7 @@ Also see [push notifications](#push-notifications) * [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. :large_orange_diamond: * [EFInternetIndicator](https://github.com/ezefranca/EFInternetIndicator) - A little swift Internet error status indicator using ReachabilitySwift. :large_orange_diamond: * [AFNetworking-Synchronous](https://github.com/paulmelnikow/AFNetworking-Synchronous) - Synchronous requests for AFNetworking 1.x, 2.x, and 3.x. +* [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. 🔶 #### Email From a6d351ade7d6a9d60a0ea956dc5a844e901af2c3 Mon Sep 17 00:00:00 2001 From: Bing Hu Date: Tue, 11 Apr 2017 05:13:49 -0700 Subject: [PATCH 0990/2606] Add TinyCrayon (#1617) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e0625221..7f16a618b 100644 --- a/README.md +++ b/README.md @@ -793,6 +793,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Sharaku](https://github.com/makomori/Sharaku) - Instagram-like image filter ViewController. :large_orange_diamond: * [CTPanoramaView](https://github.com/scihant/CTPanoramaView) - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options. :large_orange_diamond: * [Twitter Image Pipline](https://github.com/twitter/ios-twitter-image-pipeline) - streamlined framework for fetching and storing images in an application. +* [TinyCrayon](https://github.com/TinyCrayon/TinyCrayon-iOS-SDK) - A smart and easy-to-use image masking and cutout SDK for mobile apps. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From b5ff8aa0e01c374029bbb77746806228c0c3db18 Mon Sep 17 00:00:00 2001 From: Wilbert Liu Date: Tue, 11 Apr 2017 21:29:51 +0700 Subject: [PATCH 0991/2606] Add Gluten --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f16a618b..213d07442 100644 --- a/README.md +++ b/README.md @@ -2319,6 +2319,7 @@ Most of these are paid services, some have free tiers. * [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. :large_orange_diamond: * [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. * [Attabench](https://github.com/lorentey/Attabench) - Microbenchmarking app for Swift with nice log-log plots :large_orange_diamond: +* [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. :large_orange_diamond: # Rapid Development * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 45dd92ab0983a693ce3e7a8c6cff7d26a7480551 Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 12 Apr 2017 16:34:29 +0530 Subject: [PATCH 0992/2606] Add GodEye in Logging (#1619) Close #1565 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 213d07442..9da21a986 100644 --- a/README.md +++ b/README.md @@ -658,6 +658,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. :large_orange_diamond: * [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. * [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support :large_orange_diamond: +* [GodEye](https://github.com/zixun/GodEye) - Automaticly display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. :large_orange_diamond: ## Machine Learning * [Swift-AI](https://github.com/Swift-AI/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: From 82d01e06ab0274ec1d667c9b797416d6c99ad750 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 14 Apr 2017 10:07:57 +0530 Subject: [PATCH 0993/2606] Add playkit-ios. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9da21a986..6dea0f4ec 100644 --- a/README.md +++ b/README.md @@ -712,6 +712,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [QuietModemKit](https://github.com/quiet/QuietModemKit) - iOS framework for the Quiet Modem (data over sound) * [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. Cocoapods and Carthage compatible. :large_orange_diamond: * [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: +* [playkit-ios](https://github.com/kaltura/playkit-ios) - PlayKit: Kaltura Player SDK for iOS. :large_orange_diamond: #### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. From cb1c986b837873e4107806ada1080fb5187d6df5 Mon Sep 17 00:00:00 2001 From: Nicholas Maccharoli Date: Fri, 14 Apr 2017 16:00:25 +0900 Subject: [PATCH 0994/2606] Update README.md Update description line for library `Attributed` --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9da21a986..c0d72c50a 100644 --- a/README.md +++ b/README.md @@ -1296,7 +1296,7 @@ Most of these are paid services, some have free tiers. * [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts * [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. :large_orange_diamond: * [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. :large_orange_diamond: -* [Attributed](https://github.com/Nirma/Attributed) - A Modern interface for attributed strings. :large_orange_diamond: +* [Attributed](https://github.com/Nirma/Attributed) - Modern Swift µframework for attributed strings. :large_orange_diamond: * [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. :large_orange_diamond: * [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. :large_orange_diamond: * [RealTimeCurrencyFormatter](https://github.com/kaiomedau/realtime-currency-formatter-objc) - An ObjC international currency formatting utility. From d3c3cf42e0e012a85e3bf7cf2383192950d65534 Mon Sep 17 00:00:00 2001 From: Antonio Zaitoun Date: Sun, 16 Apr 2017 01:55:41 +0300 Subject: [PATCH 0995/2606] Added EasySocialButton --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b4667802a..6e31fb0f3 100644 --- a/README.md +++ b/README.md @@ -1739,6 +1739,7 @@ Most of these are paid services, some have free tiers. * [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash :large_orange_diamond: * [CRNetworkButton](https://github.com/Cleveroad/CRNetworkButton) - Send Button for iOS :large_orange_diamond: * [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. :large_orange_diamond: +* [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. :large_orange_diamond: #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From 7260a8613e76e5064bb57b7e1364c5229f2a598f Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 17 Apr 2017 10:33:25 +0530 Subject: [PATCH 0996/2606] Add PersistentStorageSerializable --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6e31fb0f3..65c7d0a17 100644 --- a/README.md +++ b/README.md @@ -406,6 +406,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PostgreSQL](https://github.com/PerfectlySoft/Perfect-PostgreSQL) - A Swift wrapper around the libpq client library, enabling access to PostgreSQL servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [FileMaker](https://github.com/PerfectlySoft/Perfect-FileMaker) - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [Nora](https://github.com/SD10/Nora) - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage. :large_orange_diamond: +* [PersistentStorageSerializable](https://github.com/IvanRublev/PersistentStorageSerializable) - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. :large_orange_diamond: ## Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: From b2aaa1103d09844988e19cf2cfa00e24fdb2ec6e Mon Sep 17 00:00:00 2001 From: Pedro Paulo Amorim Date: Mon, 17 Apr 2017 19:43:01 +0100 Subject: [PATCH 0997/2606] Adding CircularRevealKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 65c7d0a17..1a7b857d4 100644 --- a/README.md +++ b/README.md @@ -1515,6 +1515,7 @@ Most of these are paid services, some have free tiers. * [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). 🔶 * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 +* [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. 🔶 #### Activity Indicator From 4a300761d399ca0965bd2f629e4eee5fdd971054 Mon Sep 17 00:00:00 2001 From: Seungyoun Yi Date: Tue, 18 Apr 2017 10:52:59 +0900 Subject: [PATCH 0998/2606] Add YNSearch (#1625) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 65c7d0a17..904b305a8 100644 --- a/README.md +++ b/README.md @@ -2079,6 +2079,7 @@ Most of these are paid services, some have free tiers. * [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. * [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags :large_orange_diamond: * [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. :large_orange_diamond: +* [YNSearch](https://github.com/younatics/YNSearch) - Awesome fully customizable search view like Pinterest written in Swift 3 🔶 #### TextField & TextView * [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. From 9eb1965475c6e996a977ce117f1019037a6e7c8a Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Tue, 18 Apr 2017 09:51:00 +0530 Subject: [PATCH 0999/2606] Add Haptica. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 904b305a8..e5e2caa79 100644 --- a/README.md +++ b/README.md @@ -1515,6 +1515,7 @@ Most of these are paid services, some have free tiers. * [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). 🔶 * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 +* [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: #### Activity Indicator From 0613fb11604ed359161b8c23a9efd85aaebfc6be Mon Sep 17 00:00:00 2001 From: Ahmed Sulaiman Date: Tue, 18 Apr 2017 13:58:32 +0300 Subject: [PATCH 1000/2606] Add Clue iOS framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e5e2caa79..f8739a318 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. :large_orange_diamond: * [PIDOR](https://github.com/applepride/pidor) - Simple design pattern with the best iOS dev experience. * [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. +* [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 215691c15b61fba99a1cc81b3ad2c6eccafaa547 Mon Sep 17 00:00:00 2001 From: Pedro Paulo Amorim Date: Tue, 18 Apr 2017 14:17:20 +0100 Subject: [PATCH 1001/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1a7b857d4..cc6dcc0e4 100644 --- a/README.md +++ b/README.md @@ -1515,7 +1515,6 @@ Most of these are paid services, some have free tiers. * [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). 🔶 * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 -* [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. 🔶 #### Activity Indicator @@ -1626,6 +1625,7 @@ Most of these are paid services, some have free tiers. * [Dance](https://github.com/saoudrizwan/Dance) - A radical & elegant animation library built for iOS. :large_orange_diamond: * [AKVideoImageView](https://github.com/numen31337/AKVideoImageView) - UIImageView subclass which allows you to display a looped video as a background. * [Spruce iOS Animation Library](https://github.com/willowtreeapps/spruce-ios) - Swift library for choreographing animations on the screen.:large_orange_diamond: +* [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. 🔶 ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 0df26530b393800adb3e8246e8ff52ada8ab824b Mon Sep 17 00:00:00 2001 From: Lasha Efremidze Date: Fri, 21 Apr 2017 12:06:14 -0700 Subject: [PATCH 1002/2606] Add Cluster (#1628) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a46a96e96..62cbebfaf 100644 --- a/README.md +++ b/README.md @@ -675,6 +675,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CMMapLauncher](https://github.com/citymapper/CMMapLauncher) - iOS library that makes it quick and easy to show directions in various mapping applications. * [GEOSwift](https://github.com/andreacremaschi/GEOSwift) - The Swift Geographic Engine. :large_orange_diamond: * [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift :large_orange_diamond: +* [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. :large_orange_diamond: ## Math * [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation :large_orange_diamond: From 23321b25d6419e04d2ad3ddc7218a89f85506fe4 Mon Sep 17 00:00:00 2001 From: DexterXie Date: Sun, 23 Apr 2017 08:39:22 -0500 Subject: [PATCH 1003/2606] Add XJYChart (#1629) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 62cbebfaf..6c181ae5d 100644 --- a/README.md +++ b/README.md @@ -241,6 +241,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: * [JTChartView](https://github.com/kubatruhlar/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. * [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS +* [XJYChart](https://github.com/JunyiXie/XJYChart) - A Beautiful chart for iOS. Support animation, click, slide, area highlight. * [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Elegant Line Graphs for iOS (charting library). * [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. * [XYPieChart](https://github.com/xyfeng/XYPieChart) - A simple and animated Pie Chart for your iOS app. From af6d8aebe0197bfc38ca97c5bda4835f1669f4f0 Mon Sep 17 00:00:00 2001 From: Benzamin Basher Date: Mon, 24 Apr 2017 11:32:49 +0600 Subject: [PATCH 1004/2606] Adding BBLocationManager. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6c181ae5d..05681c80c 100644 --- a/README.md +++ b/README.md @@ -598,6 +598,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. * [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: * [LocationKit](https://locationkit.io) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information :large_orange_diamond: +* [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. #### Other Hardware * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. From 8e79d7202e337a39bdaef9d40a9900a478178dcd Mon Sep 17 00:00:00 2001 From: Saeid Basirnia Date: Mon, 24 Apr 2017 18:55:37 +0430 Subject: [PATCH 1005/2606] add GDCheckbox --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 05681c80c..46592ce97 100644 --- a/README.md +++ b/README.md @@ -1520,6 +1520,7 @@ Most of these are paid services, some have free tiers. * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: +* [GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector :large_orange_diamond: #### Activity Indicator From 2a4fa33bc39d4fc3c82a4612462a41d859073500 Mon Sep 17 00:00:00 2001 From: Saeid Basirnia Date: Mon, 24 Apr 2017 19:14:40 +0430 Subject: [PATCH 1006/2606] add GDCheckbox --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 46592ce97..d3dbec871 100644 --- a/README.md +++ b/README.md @@ -1520,7 +1520,7 @@ Most of these are paid services, some have free tiers. * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: -* [GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector :large_orange_diamond: +* [GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 #### Activity Indicator From 33c49e502834714404c0073c343817ab7ce7339a Mon Sep 17 00:00:00 2001 From: "Ben.Park" Date: Tue, 25 Apr 2017 00:36:31 +0900 Subject: [PATCH 1007/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 05681c80c..47f15e63e 100644 --- a/README.md +++ b/README.md @@ -1571,6 +1571,7 @@ Most of these are paid services, some have free tiers. * [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. :large_orange_diamond: * [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. :large_orange_diamond: * [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). :large_orange_diamond: +* [BPCircleActivityIndicator](https://github.com/ppth0608/BPCircleActivityIndicator) - A lightweight and awesome Loading Activity Indicator for your iOS app. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. From 7bd1d19bb85d80f536cd190baecba0961e3fc5a1 Mon Sep 17 00:00:00 2001 From: Fabricio Serralvo Date: Mon, 24 Apr 2017 12:59:00 -0300 Subject: [PATCH 1008/2606] Added TextFieldCounter --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 05681c80c..71771bb51 100644 --- a/README.md +++ b/README.md @@ -2122,6 +2122,7 @@ Most of these are paid services, some have free tiers. * [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 3.0 for any numerical pin or code entry. :large_orange_diamond: * [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. :large_orange_diamond: * [DTTextField](https://github.com/iDhaval/DTTextField) - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0.🔶 +* [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. 🔶 #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 2a739d2d2d5d66e4f494d0c638b6303e5a1db808 Mon Sep 17 00:00:00 2001 From: Saeid Basirnia Date: Mon, 24 Apr 2017 21:14:43 +0430 Subject: [PATCH 1009/2606] add SwiftyHelpOverlay --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3dbec871..d971f8659 100644 --- a/README.md +++ b/README.md @@ -1521,6 +1521,7 @@ Most of these are paid services, some have free tiers. * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: * [GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 +* [SwiftyGuideOverlay](https://github.com/SaeidBsn/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional image real-time!. 🔶 #### Activity Indicator From 6e82c1565d5290d251050cb48ae04c6f05bbcaac Mon Sep 17 00:00:00 2001 From: Saeid Basirnia Date: Mon, 24 Apr 2017 21:19:19 +0430 Subject: [PATCH 1010/2606] Revert "add SwiftyHelpOverlay" This reverts commit 2a739d2d2d5d66e4f494d0c638b6303e5a1db808. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index d971f8659..d3dbec871 100644 --- a/README.md +++ b/README.md @@ -1521,7 +1521,6 @@ Most of these are paid services, some have free tiers. * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: * [GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 -* [SwiftyGuideOverlay](https://github.com/SaeidBsn/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional image real-time!. 🔶 #### Activity Indicator From 8884a8464e5ccae4ea331d13e522a04019d3831f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ferran=20Abell=C3=B3?= Date: Wed, 26 Apr 2017 14:32:47 +0200 Subject: [PATCH 1011/2606] Add Viperit (#1636) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 05681c80c..8f8026bc4 100644 --- a/README.md +++ b/README.md @@ -297,6 +297,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PIDOR](https://github.com/applepride/pidor) - Simple design pattern with the best iOS dev experience. * [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. * [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. +* [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. :large_orange_diamond: #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From f7d8c928789a117eab0584ca92e48463fe858f6b Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 26 Apr 2017 20:11:36 +0530 Subject: [PATCH 1012/2606] Add TweenKit (#1635) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8f8026bc4..89b1c1734 100644 --- a/README.md +++ b/README.md @@ -1632,6 +1632,7 @@ Most of these are paid services, some have free tiers. * [AKVideoImageView](https://github.com/numen31337/AKVideoImageView) - UIImageView subclass which allows you to display a looped video as a background. * [Spruce iOS Animation Library](https://github.com/willowtreeapps/spruce-ios) - Swift library for choreographing animations on the screen.:large_orange_diamond: * [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. 🔶 +* [TweenKit](https://github.com/SteveBarnegren/TweenKit) - Animation library for iOS in Swift. 🔶 ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 491746ac5dd7d7b4856a28f38df5119bdd7f8e57 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Wed, 26 Apr 2017 07:50:53 -0700 Subject: [PATCH 1013/2606] Update README URLs based on HTTP redirects (#1637) --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 89b1c1734..6a53de201 100644 --- a/README.md +++ b/README.md @@ -1180,7 +1180,7 @@ Most of these are paid services, some have free tiers. * [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. * [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project :large_orange_diamond: * [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & OS X written in Swift :large_orange_diamond: -* [SlackKit](https://github.com/pvzig/SlackKit) - a Slack client library for iOS and OS X written in Swift :large_orange_diamond: +* [SlackKit](https://github.com/SlackKit/SlackKit) - a Slack client library for iOS and OS X written in Swift :large_orange_diamond: * [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift 3 Framework to Generate Random Users - An Unofficial SDK for randomuser.me :large_orange_diamond: * [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). :large_orange_diamond: * [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. :large_orange_diamond: @@ -1351,7 +1351,7 @@ Most of these are paid services, some have free tiers. * [ios-snapshot-test-case](https://github.com/facebook/ios-snapshot-test-case) - Snapshot view unit tests for iOS. * [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. :large_orange_diamond: * [DVR](https://github.com/venmo/DVR) - Network testing for Swift :large_orange_diamond: -* [Cuckoo](https://github.com/SwiftKit/Cuckoo) - First boilerplate-free mocking framework for Swift :large_orange_diamond: +* [Cuckoo](https://github.com/Brightify/Cuckoo) - First boilerplate-free mocking framework for Swift :large_orange_diamond: * [Parallel iOS Tests](https://github.com/plu/parallel_ios_tests) - Run iOS tests on multiple simulators in parallel at the same time :large_orange_diamond: * [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift :large_orange_diamond: * [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java :large_orange_diamond: @@ -1463,7 +1463,7 @@ Most of these are paid services, some have free tiers. * [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. :large_orange_diamond: * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: * [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller :large_orange_diamond: -* [DCKit](https://github.com/andrew8712/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. :large_orange_diamond: +* [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. :large_orange_diamond: * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views. * [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects :large_orange_diamond: * [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ :large_orange_diamond: @@ -2252,7 +2252,7 @@ Most of these are paid services, some have free tiers. # Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. -* [liftoff](https://github.com/thoughtbot/liftoff) - Another CLI for creating iOS projects. +* [liftoff](https://github.com/liftoffcli/liftoff) - Another CLI for creating iOS projects. * [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents * [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. :large_orange_diamond: From 4745b2a43c52fcd3a9cb4c2c841470f77e65bdcf Mon Sep 17 00:00:00 2001 From: Pavel Tikhoneko Date: Wed, 26 Apr 2017 15:44:49 -0700 Subject: [PATCH 1014/2606] Add TPInAppReceipt. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a53de201..db3af6fa1 100644 --- a/README.md +++ b/README.md @@ -1061,6 +1061,7 @@ Most of these are paid services, some have free tiers. * [ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn) - Luhn Credit Card Validation Algorithm * [RMStore](https://github.com/robotmedia/RMStore) - A lightweight iOS library for In-App Purchases * [MFCard](https://github.com/mobilefirstinc/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI +* [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt :large_orange_diamond: ## Permissions * [PermissionScope](https://github.com/nickoneill/PermissionScope) - Intelligent iOS permissions UI and unified API (Supports Location, Notifications, Camera, Contacts, Calendar, Photos, Microphone, BT, Activity Monitoring, HealthKit and CloudKit). :large_orange_diamond: From f1ad9763223396834077c01fc4db429392dcb420 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 27 Apr 2017 18:02:06 +0530 Subject: [PATCH 1015/2606] Add Water in animation category. (#1639) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a53de201..1db0372a9 100644 --- a/README.md +++ b/README.md @@ -1633,6 +1633,7 @@ Most of these are paid services, some have free tiers. * [Spruce iOS Animation Library](https://github.com/willowtreeapps/spruce-ios) - Swift library for choreographing animations on the screen.:large_orange_diamond: * [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. 🔶 * [TweenKit](https://github.com/SteveBarnegren/TweenKit) - Animation library for iOS in Swift. 🔶 +* [Water](https://github.com/KrisYu/Water) - Simple calculation to render cheap water effects. 🔶 ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From f51816e5e3b5b1501b84572cc943ebf5e5aa7c26 Mon Sep 17 00:00:00 2001 From: Praagya Joshi Date: Thu, 27 Apr 2017 19:56:25 +0530 Subject: [PATCH 1016/2606] Add WVWalkthroughView (#1590) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1db0372a9..6819cb194 100644 --- a/README.md +++ b/README.md @@ -2226,6 +2226,7 @@ Most of these are paid services, some have free tiers. * [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. :large_orange_diamond: * [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. :large_orange_diamond: * [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. :large_orange_diamond: +* [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From d2de60756cb4970128a95d50e0079fc6b7ac8c48 Mon Sep 17 00:00:00 2001 From: Robert-Hein Hooijmans Date: Thu, 27 Apr 2017 16:27:50 +0200 Subject: [PATCH 1017/2606] Add BouncyLayout (#1631) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6819cb194..73c8c7c40 100644 --- a/README.md +++ b/README.md @@ -2078,6 +2078,7 @@ Most of these are paid services, some have free tiers. * [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations 🔶 * [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. 🔶 * [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. 🔶 +* [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 3fccc9eacd7960a76023c64716010e9d434fec33 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Thu, 27 Apr 2017 07:50:08 -0700 Subject: [PATCH 1018/2606] Update README URLs based on HTTP redirects (#1642) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 73c8c7c40..805950f35 100644 --- a/README.md +++ b/README.md @@ -1396,7 +1396,7 @@ Most of these are paid services, some have free tiers. * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and OS X. * [HoneycombView](https://github.com/suzuki-0000/HoneycombView) - HoneycombView is the iOS UIView for displaying like Honyecomb layout written by swift. :large_orange_diamond: * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. -* [KCHorizontalDial](https://github.com/kciter/KCHorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: +* [KCHorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: * [ComponentKit](http://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [WobbleView](https://github.com/inFullMobile/WobbleView) - WobbleView is an implementation of a recently popular wobble effect for any view in your app. It can be used to easily add dynamics to user interactions and transitions. :large_orange_diamond: @@ -1732,7 +1732,7 @@ Most of these are paid services, some have free tiers. * [HTPressableButton](https://github.com/Famolus/HTPressableButton) - Flat design pressable button. * [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state :large_orange_diamond: * [JTFadingInfoView](https://github.com/JunichiT/JTFadingInfoView) - An UIButton-based view with fade in/out animation features. -* [KCFloatingActionButton](https://github.com/kciter/KCFloatingActionButton) - :heart: Floating Action Button for iOS :large_orange_diamond: +* [KCFloatingActionButton](https://github.com/kciter/Floaty) - :heart: Floating Action Button for iOS :large_orange_diamond: * [Hamburger-Menu-Button](https://github.com/toannt/Hamburger-Menu-Button) - A hamburger menu button with full customization. :large_orange_diamond: * [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). :large_orange_diamond: * [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift :large_orange_diamond: @@ -1895,7 +1895,7 @@ Most of these are paid services, some have free tiers. * [SubscriptionPrompt](https://github.com/binchik/SubscriptionPrompt) - Subscription View Controller like the Tinder uses :large_orange_diamond: * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: * [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. :large_orange_diamond: -* [KCSelectionDialog](https://github.com/kciter/KCSelectionDialog) - Simple selection dialog. :large_orange_diamond: +* [KCSelectionDialog](https://github.com/kciter/SelectionDialog) - Simple selection dialog. :large_orange_diamond: * [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. :large_orange_diamond: #### Pull to Refresh From 49800694cca023761ffbac36cad80a18f077180a Mon Sep 17 00:00:00 2001 From: Antonio Alves Date: Thu, 27 Apr 2017 22:27:07 -0700 Subject: [PATCH 1019/2606] Add set-simulator-location by @lyft to Location section (#1644) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b77191527..066eb3d54 100644 --- a/README.md +++ b/README.md @@ -600,6 +600,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: * [LocationKit](https://locationkit.io) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information :large_orange_diamond: * [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. +* [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. :large_orange_diamond: #### Other Hardware * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. From 0b133138a4e729b6a454031ac6da33b5df7f7cb4 Mon Sep 17 00:00:00 2001 From: sgr-ksmt Date: Fri, 28 Apr 2017 18:43:26 +0900 Subject: [PATCH 1020/2606] Added Alertift in Alert & Action Sheet. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 066eb3d54..07c708332 100644 --- a/README.md +++ b/README.md @@ -1719,6 +1719,7 @@ Most of these are paid services, some have free tiers. * [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook).🔶 * [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone.🔶 * [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. 🔶 +* [Alertift](https://github.com/sgr-ksmt/Alertift) - Swifty, modern UIAlertController wrapper. :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 687b17815491c699c486e3a9adc7a437582987de Mon Sep 17 00:00:00 2001 From: 1amageek Date: Fri, 28 Apr 2017 23:31:50 +0900 Subject: [PATCH 1021/2606] Add Blue in Bluetooth (#1645) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 066eb3d54..3ad3982f1 100644 --- a/README.md +++ b/README.md @@ -524,6 +524,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift :large_orange_diamond: * [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework :large_orange_diamond: * [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with bluetooth, wifi, and USB. :large_orange_diamond: +* [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U :large_orange_diamond: #### Camera * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. From a2be68dadbcb02a9c4812e4c2ec1521e66d59b4e Mon Sep 17 00:00:00 2001 From: Saurabh Rane Date: Fri, 28 Apr 2017 11:45:20 -0500 Subject: [PATCH 1022/2606] Add SwiftIcons (#1647) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3ad3982f1..35a40e3d8 100644 --- a/README.md +++ b/README.md @@ -1382,6 +1382,7 @@ Most of these are paid services, some have free tiers. * [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. :large_orange_diamond: * [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Make working with UIFont faster and less error-prone. :large_orange_diamond: * [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! :large_orange_diamond: +* [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. :large_orange_diamond: ## UI * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. From 502ba27e1ebdc4958b1a43fb5d4daee4a9b0b614 Mon Sep 17 00:00:00 2001 From: nikola9core Date: Sat, 29 Apr 2017 20:20:25 +0200 Subject: [PATCH 1023/2606] Added DottedProgressBar to Activity Indicator --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35a40e3d8..a4df36132 100644 --- a/README.md +++ b/README.md @@ -1577,6 +1577,7 @@ Most of these are paid services, some have free tiers. * [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. :large_orange_diamond: * [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). :large_orange_diamond: * [BPCircleActivityIndicator](https://github.com/ppth0608/BPCircleActivityIndicator) - A lightweight and awesome Loading Activity Indicator for your iOS app. :large_orange_diamond: +* [DottedProgressBar](https://github.com/nikola9core/DottedProgressBar) - Simple and customizable animated progress bar with dots for iOS. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. From c3612bb90b589cc44abec6de8d85bf344c75aa18 Mon Sep 17 00:00:00 2001 From: Howard Wang Date: Sun, 30 Apr 2017 14:06:40 -0400 Subject: [PATCH 1024/2606] Add HamsterUIKit in UI --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 35a40e3d8..29b82e2ed 100644 --- a/README.md +++ b/README.md @@ -1525,7 +1525,7 @@ Most of these are paid services, some have free tiers. * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: - +* [HamsterUIKit](https://github.com/ChromieIsDangerous/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 #### Activity Indicator * [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. :large_orange_diamond: From 95d6c554e9b2a223d5cdb24914b2205c6d240de0 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Tue, 2 May 2017 12:27:26 +0530 Subject: [PATCH 1025/2606] Add CRRefresh (#1650) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35a40e3d8..179ce5e96 100644 --- a/README.md +++ b/README.md @@ -1639,6 +1639,7 @@ Most of these are paid services, some have free tiers. * [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. 🔶 * [TweenKit](https://github.com/SteveBarnegren/TweenKit) - Animation library for iOS in Swift. 🔶 * [Water](https://github.com/KrisYu/Water) - Simple calculation to render cheap water effects. 🔶 +* [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. 🔶 ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 3f35be52993bc3fabae6d234e363cb54a389f34f Mon Sep 17 00:00:00 2001 From: Deniz Adalar Date: Tue, 2 May 2017 17:19:25 +0100 Subject: [PATCH 1026/2606] Add DDSpiderChart --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 179ce5e96..ccd421ce4 100644 --- a/README.md +++ b/README.md @@ -262,6 +262,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantasticly fast and fully customizable. Amazing animations available with MagicPie!!1 :large_orange_diamond: 🎉 ✨✨✨✨✨ * [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. :large_orange_diamond: * [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. :large_orange_diamond: +* [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. :large_orange_diamond: ## Code Quality * [KZBootstrap](https://github.com/krzysztofzablocki/KZBootstrap) - iOS project bootstrap aimed at high quality coding. From d00be8f7655cbff76845184cd2785fdece9f7410 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Tue, 2 May 2017 09:40:22 -0700 Subject: [PATCH 1027/2606] Update README URLs based on HTTP redirects (#1652) --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index fabb75667..b75eb321a 100644 --- a/README.md +++ b/README.md @@ -264,7 +264,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. :large_orange_diamond: ## Code Quality -* [KZBootstrap](https://github.com/krzysztofzablocki/KZBootstrap) - iOS project bootstrap aimed at high quality coding. +* [KZBootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. * [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL. * [PSPDFUIKitMainThreadGuard](https://gist.github.com/steipete/5664345) - Simple snippet generating assertions when UIKit is used on background threads. * [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. @@ -637,7 +637,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. :large_orange_diamond: * [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. :large_orange_diamond: * [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. :large_orange_diamond: -* [KZLinkedConsole](https://github.com/krzysztofzablocki/KZLinkedConsole) - Clickable links in your Xcode console, so you never wonder which class logged the message. http://merowing.info :large_orange_diamond: +* [KZLinkedConsole](https://github.com/krzysztofzablocki/LinkedConsole) - Clickable links in your Xcode console, so you never wonder which class logged the message. http://merowing.info :large_orange_diamond: * [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development & release in Swift 2 & 3 :large_orange_diamond: * [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. :large_orange_diamond: * [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread :large_orange_diamond: @@ -979,7 +979,7 @@ Most of these are paid services, some have free tiers. * [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. * [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. * [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. -* [KZPropertyMapper](https://github.com/krzysztofzablocki/KZPropertyMapper) - Data mapping and validation with minimal amount of code. +* [KZPropertyMapper](https://github.com/krzysztofzablocki/PropertyMapper) - Data mapping and validation with minimal amount of code. * [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modelling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. * [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. :large_orange_diamond: * [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. @@ -1390,7 +1390,7 @@ Most of these are paid services, some have free tiers. * [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! * [BLKFlexibleHeightBar](https://github.com/bryankeller/BLKFlexibleHeightBar) - Create condensing header bars like those seen in the Facebook, Square Cash, and Safari iOS apps. * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. -* [AsyncDisplayKit](https://github.com/facebook/AsyncDisplayKit/) - AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. +* [AsyncDisplayKit](https://github.com/facebookarchive/AsyncDisplayKit) - AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. * [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. :large_orange_diamond: * [MVMaterialView](https://github.com/TheMrugraj/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: @@ -1850,7 +1850,7 @@ Most of these are paid services, some have free tiers. * [CategorySliderView](https://github.com/cemolcay/CategorySliderView) - slider view for choosing categories. add any UIView type as category item view. Fully customisable * [MKDropdownMenu](https://github.com/maxkonovalov/MKDropdownMenu) - A Dropdown Menu for iOS with many customizable parameters to suit any needs. * [ExpandingMenu](https://github.com/monoqlo/ExpandingMenu) - ExpandingMenu is menu button for iOS written in Swift. :large_orange_diamond: -* [PageMenu](https://github.com/uacaps/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) :large_orange_diamond: +* [PageMenu](https://github.com/PageMenu/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) :large_orange_diamond: * [XXXRoundMenuButton](https://github.com/zsy78191/XXXRoundMenuButton) - A simple circle style menu. * [IGCMenu](https://github.com/sunilsharma08/IGCMenu) - Grid and Circular menu with animation.Easy to customise. * [EEJSelectMenu](https://github.com/eejahromi/EEJSelectMenu) - Single selection menu with cool animations, responsive with all screen sizes. @@ -2299,7 +2299,7 @@ Most of these are paid services, some have free tiers. * [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. :large_orange_diamond: * [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or OS X application. :large_orange_diamond: * [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. :large_orange_diamond: -* [ThisCouldBeUsButYouPlaying](https://github.com/segiddins/ThisCouldBeUsButYouPlaying) - :black_joker: Generate Swift Playgrounds for any library. :large_orange_diamond: +* [ThisCouldBeUsButYouPlaying](https://github.com/neonichu/ThisCouldBeUsButYouPlaying) - :black_joker: Generate Swift Playgrounds for any library. :large_orange_diamond: * [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. :large_orange_diamond:[e] * [git-xcp](https://github.com/metasmile/git-xcp) - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. * [WatchdogInspector](https://github.com/tapwork/WatchdogInspector) - Shows your current framerate (fps) in the status bar of your iOS app @@ -2348,7 +2348,7 @@ Most of these are paid services, some have free tiers. * [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. :large_orange_diamond: # Rapid Development -* [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. +* [KZPlayground](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. * [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. * [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. From 8e76472e809415537dc872768302e5329c8b68b1 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Tue, 2 May 2017 13:58:06 -0300 Subject: [PATCH 1028/2606] Update renamed projects (Fix #1654) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3a50eea49..e8278fd75 100644 --- a/README.md +++ b/README.md @@ -265,7 +265,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. :large_orange_diamond: ## Code Quality -* [KZBootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. +* [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. * [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL. * [PSPDFUIKitMainThreadGuard](https://gist.github.com/steipete/5664345) - Simple snippet generating assertions when UIKit is used on background threads. * [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. @@ -638,7 +638,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. :large_orange_diamond: * [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. :large_orange_diamond: * [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. :large_orange_diamond: -* [KZLinkedConsole](https://github.com/krzysztofzablocki/LinkedConsole) - Clickable links in your Xcode console, so you never wonder which class logged the message. http://merowing.info :large_orange_diamond: +* [LinkedConsole](https://github.com/krzysztofzablocki/LinkedConsole) - Clickable links in your Xcode console, so you never wonder which class logged the message. http://merowing.info :large_orange_diamond: * [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development & release in Swift 2 & 3 :large_orange_diamond: * [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. :large_orange_diamond: * [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread :large_orange_diamond: From 6605c01ee8645b60555fffbce61db47279314a2a Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Tue, 2 May 2017 14:09:16 -0300 Subject: [PATCH 1029/2606] Disable Travis email notifications (#1655) --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index fd598d504..b7e276f4f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,3 +9,5 @@ script: - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix,amazon - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger +notifications: + email: false From 5542f372dc8258489913279d39097d66d73f039f Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Tue, 2 May 2017 14:14:08 -0300 Subject: [PATCH 1030/2606] Update remaining renamed projects (Fix #1654) --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e8278fd75..6f1d9df89 100644 --- a/README.md +++ b/README.md @@ -926,7 +926,7 @@ Also see [push notifications](#push-notifications) * [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. :large_orange_diamond: * [EFInternetIndicator](https://github.com/ezefranca/EFInternetIndicator) - A little swift Internet error status indicator using ReachabilitySwift. :large_orange_diamond: * [AFNetworking-Synchronous](https://github.com/paulmelnikow/AFNetworking-Synchronous) - Synchronous requests for AFNetworking 1.x, 2.x, and 3.x. -* [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. 🔶 +* [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. 🔶 #### Email @@ -980,7 +980,7 @@ Most of these are paid services, some have free tiers. * [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. * [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. * [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. -* [KZPropertyMapper](https://github.com/krzysztofzablocki/PropertyMapper) - Data mapping and validation with minimal amount of code. +* [PropertyMapper](https://github.com/krzysztofzablocki/PropertyMapper) - Data mapping and validation with minimal amount of code. * [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modelling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. * [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. :large_orange_diamond: * [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. @@ -1401,7 +1401,7 @@ Most of these are paid services, some have free tiers. * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and OS X. * [HoneycombView](https://github.com/suzuki-0000/HoneycombView) - HoneycombView is the iOS UIView for displaying like Honyecomb layout written by swift. :large_orange_diamond: * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. -* [KCHorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: +* [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: * [ComponentKit](http://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [WobbleView](https://github.com/inFullMobile/WobbleView) - WobbleView is an implementation of a recently popular wobble effect for any view in your app. It can be used to easily add dynamics to user interactions and transitions. :large_orange_diamond: @@ -1743,7 +1743,7 @@ Most of these are paid services, some have free tiers. * [HTPressableButton](https://github.com/Famolus/HTPressableButton) - Flat design pressable button. * [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state :large_orange_diamond: * [JTFadingInfoView](https://github.com/JunichiT/JTFadingInfoView) - An UIButton-based view with fade in/out animation features. -* [KCFloatingActionButton](https://github.com/kciter/Floaty) - :heart: Floating Action Button for iOS :large_orange_diamond: +* [Floaty](https://github.com/kciter/Floaty) - :heart: Floating Action Button for iOS :large_orange_diamond: * [Hamburger-Menu-Button](https://github.com/toannt/Hamburger-Menu-Button) - A hamburger menu button with full customization. :large_orange_diamond: * [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). :large_orange_diamond: * [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift :large_orange_diamond: @@ -1906,7 +1906,7 @@ Most of these are paid services, some have free tiers. * [SubscriptionPrompt](https://github.com/binchik/SubscriptionPrompt) - Subscription View Controller like the Tinder uses :large_orange_diamond: * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: * [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. :large_orange_diamond: -* [KCSelectionDialog](https://github.com/kciter/SelectionDialog) - Simple selection dialog. :large_orange_diamond: +* [SelectionDialog](https://github.com/kciter/SelectionDialog) - Simple selection dialog. :large_orange_diamond: * [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. :large_orange_diamond: #### Pull to Refresh @@ -2350,7 +2350,7 @@ Most of these are paid services, some have free tiers. * [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. :large_orange_diamond: # Rapid Development -* [KZPlayground](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. +* [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. * [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. * [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. From dc702b8806c2b93b901a7e7804be746f88a66e49 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 3 May 2017 09:41:13 +0530 Subject: [PATCH 1031/2606] Move to SDK/Official. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e1dcb5b7f..782ae7a92 100644 --- a/README.md +++ b/README.md @@ -721,7 +721,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [QuietModemKit](https://github.com/quiet/QuietModemKit) - iOS framework for the Quiet Modem (data over sound) * [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. Cocoapods and Carthage compatible. :large_orange_diamond: * [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: -* [playkit-ios](https://github.com/kaltura/playkit-ios) - PlayKit: Kaltura Player SDK for iOS. :large_orange_diamond: #### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. @@ -1165,6 +1164,7 @@ Most of these are paid services, some have free tiers. * [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple :large_orange_diamond: * [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. * [Pinterest](https://github.com/pinterest/ios-pdk) - Pinterest iOS SDK +* [playkit-ios](https://github.com/kaltura/playkit-ios) - PlayKit: Kaltura Player SDK for iOS. #### Unofficial From 5ad835997e84fe83479b75cbfa071c3368d25bfd Mon Sep 17 00:00:00 2001 From: Naeem Shaikh Date: Wed, 3 May 2017 18:00:51 +0530 Subject: [PATCH 1032/2606] Replace AsyncDisplayKit with Texture (#1656) Close #1653 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 782ae7a92..c193282b5 100644 --- a/README.md +++ b/README.md @@ -1392,7 +1392,7 @@ Most of these are paid services, some have free tiers. * [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! * [BLKFlexibleHeightBar](https://github.com/bryankeller/BLKFlexibleHeightBar) - Create condensing header bars like those seen in the Facebook, Square Cash, and Safari iOS apps. * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. -* [AsyncDisplayKit](https://github.com/facebookarchive/AsyncDisplayKit) - AsyncDisplayKit is an iOS framework that keeps even the most complex user interfaces smooth and responsive. +* [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. * [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. :large_orange_diamond: * [MVMaterialView](https://github.com/TheMrugraj/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: From 91f978fb86feae1370a3ad9ee2850c77344f2d4d Mon Sep 17 00:00:00 2001 From: Javal Nanda Date: Wed, 3 May 2017 19:11:40 +0530 Subject: [PATCH 1033/2606] Add JNDropDownMenu in Menu --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c193282b5..1f21341f9 100644 --- a/README.md +++ b/README.md @@ -1877,7 +1877,7 @@ Most of these are paid services, some have free tiers. * [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. :large_orange_diamond: * [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. :large_orange_diamond: * [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! large_orange_diamond: - +* [JNDropDownMenu](https://github.com/javalnanda/JNDropDownMenu) - Easy to use tableview style drop down menu with multi-column support written in Swift3. :large_orange_diamond: #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 05290d630462047c60fbf206912fee3374f3533c Mon Sep 17 00:00:00 2001 From: Jeungwon An Date: Fri, 5 May 2017 01:19:53 +0900 Subject: [PATCH 1034/2606] Add FlexibleImage (#1659) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c193282b5..ffdb39ea3 100644 --- a/README.md +++ b/README.md @@ -804,6 +804,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CTPanoramaView](https://github.com/scihant/CTPanoramaView) - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options. :large_orange_diamond: * [Twitter Image Pipline](https://github.com/twitter/ios-twitter-image-pipeline) - streamlined framework for fetching and storing images in an application. * [TinyCrayon](https://github.com/TinyCrayon/TinyCrayon-iOS-SDK) - A smart and easy-to-use image masking and cutout SDK for mobile apps. :large_orange_diamond: +* [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: @@ -1876,7 +1877,7 @@ Most of these are paid services, some have free tiers. * [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. :large_orange_diamond: * [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. :large_orange_diamond: * [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. :large_orange_diamond: -* [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! large_orange_diamond: +* [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! :large_orange_diamond: #### Navigation Bar From cbf686a0e220d47f3a0c854077156a00d993981a Mon Sep 17 00:00:00 2001 From: Saeid Basirnia Date: Sat, 6 May 2017 11:20:00 +0430 Subject: [PATCH 1035/2606] add SwiftyHelpOverlay --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3dbec871..3100a0c4a 100644 --- a/README.md +++ b/README.md @@ -1521,6 +1521,7 @@ Most of these are paid services, some have free tiers. * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: * [GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 +* [SwiftyGuideOverlay](https://github.com/SaeidBsn/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 #### Activity Indicator From df1aa26d40f622f1cefb6a5120a8318eb69906d9 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sun, 7 May 2017 11:05:09 -0300 Subject: [PATCH 1036/2606] Get rid of Ry's Obj-C tutorial (Fix #1660) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 362b21e4e..c3344d8ea 100644 --- a/README.md +++ b/README.md @@ -2541,7 +2541,6 @@ Most of these are paid services, some have free tiers. * [Code School - Try Objective-C](http://tryobjectivec.codeschool.com/) * [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. :large_orange_diamond: * [RAYWENDERLICH](https://www.raywenderlich.com/tutorials) - Tutorials for developers and gamers -* [Ry’s Objective-C Tutorial](http://rypress.com/tutorials/objective-c/index) * [Mike Ash](https://www.mikeash.com/pyblog/) * [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) :large_orange_diamond: * [Tuts+](https://code.tutsplus.com/categories/ios-sdk) :large_orange_diamond: From 2b80f218bd948d4a4802c0343ed35b22d8a33f1b Mon Sep 17 00:00:00 2001 From: Saeid Basirnia Date: Sun, 7 May 2017 19:29:01 +0430 Subject: [PATCH 1037/2606] change subset to walkthrough section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ab087c7de..45580b78f 100644 --- a/README.md +++ b/README.md @@ -1530,7 +1530,6 @@ Most of these are paid services, some have free tiers. * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: * [GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 * [HamsterUIKit](https://github.com/ChromieIsDangerous/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 -* [SwiftyGuideOverlay](https://github.com/SaeidBsn/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 #### Activity Indicator @@ -2243,6 +2242,7 @@ Most of these are paid services, some have free tiers. * [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. :large_orange_diamond: * [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. :large_orange_diamond: * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. +* [SwiftyGuideOverlay](https://github.com/SaeidBsn/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From a51e54547ffa42950f83b176f2d90312ca51dc1c Mon Sep 17 00:00:00 2001 From: Devinsuit Date: Tue, 9 May 2017 17:41:32 +0300 Subject: [PATCH 1038/2606] Update PlaceKit (#1662) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cc108ade3..150e373fc 100644 --- a/README.md +++ b/README.md @@ -600,7 +600,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift :large_orange_diamond: * [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. * [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: -* [LocationKit](https://locationkit.io) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information :large_orange_diamond: +* [PlaceKit](http://www.placekit.io/) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information :large_orange_diamond: * [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. * [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. :large_orange_diamond: From fffaa09067c21683d352a2c4933553a4deffd62e Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 10 May 2017 10:20:20 +0530 Subject: [PATCH 1039/2606] Add Pastel. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 150e373fc..278e53cd6 100644 --- a/README.md +++ b/README.md @@ -1646,6 +1646,7 @@ Most of these are paid services, some have free tiers. * [TweenKit](https://github.com/SteveBarnegren/TweenKit) - Animation library for iOS in Swift. 🔶 * [Water](https://github.com/KrisYu/Water) - Simple calculation to render cheap water effects. 🔶 * [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. 🔶 +* [Pastel](https://github.com/cruisediary/Pastel) - Gradient animation effect like Instagram. 🔶 ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From f73bfaab71b039b984a696cc5b133a6e397ef0aa Mon Sep 17 00:00:00 2001 From: Aaron Date: Wed, 10 May 2017 00:53:18 -0700 Subject: [PATCH 1040/2606] Added App-Update-Tracker to Utility category. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 150e373fc..107c31041 100644 --- a/README.md +++ b/README.md @@ -2213,6 +2213,7 @@ Most of these are paid services, some have free tiers. * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift :large_orange_diamond: * [OpenSourceController](https://github.com/terflogag/OpenSourceController) - The simplest way to display the librarie's licences used in your application. :large_orange_diamond: + * [App-Update-Tracker](https://github.com/Stunner/App-Update-Tracker) - Easily detect and run code upon app installation or update. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 8c5fd92bc46b4a0213b0e49091fd3841104926b7 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Thu, 11 May 2017 07:19:12 -0700 Subject: [PATCH 1041/2606] Update README URLs based on HTTP redirects --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 366c804ac..b149c7b8f 100644 --- a/README.md +++ b/README.md @@ -327,12 +327,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. :large_orange_diamond: ## Command Line -* [Swiftline](https://github.com/oarrabi/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: +* [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: * [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces :large_orange_diamond: * [Colors](https://github.com/paulot/Colors) - Terminal Colors for Swift :large_orange_diamond: * [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift :large_orange_diamond: * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: -* [Guaka](https://github.com/oarrabi/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift :large_orange_diamond: +* [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift :large_orange_diamond: * [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts :large_orange_diamond: ## Concurrency @@ -1486,7 +1486,7 @@ Most of these are paid services, some have free tiers. * [Blurable](https://github.com/FlexMonkey/Blurable) - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions :large_orange_diamond: * [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code :large_orange_diamond: * [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. :large_orange_diamond: -* [OAStackView](https://github.com/oarrabi/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. +* [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: * [planet](https://github.com/kwallet/planet) - A country picker :large_orange_diamond: * [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. :large_orange_diamond: From d5646fbfbbe20cab74a1f253b2c3b518f5c0d3aa Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 11 May 2017 07:46:31 -0700 Subject: [PATCH 1042/2606] Update CONTRIBUTING.md (#1668) Deleting projects --- .github/CONTRIBUTING.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d45864bbc..e76281f43 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -15,6 +15,14 @@ Please ensure your pull request adheres to the following guidelines: - If project is a Swift Extension, add :large_orange_diamond:[e] in the end of description. - If project has been made for Apple Watch, add ⌚ in the end of description. +#### Deleting + +Typical reasons for deleting project: + +- No updates / no longer works +- Deprecated +- Lacks license + #### Projects are ineligible if: - Doesn't have commit for more than two years. - Doesn't support iOS 9 or later. From 588934f5851645aa42c6484755c80ec6fc341d8e Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Thu, 11 May 2017 14:32:13 -0300 Subject: [PATCH 1043/2606] Add HxSTLParser to Graphics (Fix #1469) (#1669) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b149c7b8f..61efcaab1 100644 --- a/README.md +++ b/README.md @@ -513,6 +513,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [jot](https://github.com/IFTTT/jot) - An iOS framework for easily adding drawings and text to images. * [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / OS X, using native rendering (CoreAnimation) (currently only supported for iOS - OS X code needs updating). * [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. :large_orange_diamond: +* [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit ## Hardware #### Bluetooth From af2097b05af880127e5005e9f5fe195d49c288ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Rup=C3=A9rez?= Date: Fri, 12 May 2017 16:32:52 +0200 Subject: [PATCH 1044/2606] Add Kommander (#1671) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 61efcaab1..2e1b39cb8 100644 --- a/README.md +++ b/README.md @@ -345,6 +345,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. :large_orange_diamond: * [NSLock+Synchronized](https://github.com/Jon-Schneider/NSLock-Synchronized) - Do you miss @synchronized in Swift? NSLock+Synchronized gives you back @synchronized in Swift via a global function and NSLock class and instance methods, conveniently usable via Cocoapod and Carthage Framework. :large_orange_diamond:[e] * [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. :large_orange_diamond: +* [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. :large_orange_diamond: ## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From b99cd3aee570eb96ed4cb664d17ddce36e0cc5ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Rup=C3=A9rez?= Date: Fri, 12 May 2017 18:47:15 +0200 Subject: [PATCH 1045/2606] Add NetClient (#1672) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e1b39cb8..a493aa500 100644 --- a/README.md +++ b/README.md @@ -930,6 +930,7 @@ Also see [push notifications](#push-notifications) * [EFInternetIndicator](https://github.com/ezefranca/EFInternetIndicator) - A little swift Internet error status indicator using ReachabilitySwift. :large_orange_diamond: * [AFNetworking-Synchronous](https://github.com/paulmelnikow/AFNetworking-Synchronous) - Synchronous requests for AFNetworking 1.x, 2.x, and 3.x. * [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. 🔶 +* [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. :large_orange_diamond: #### Email From d2ee3ffed123a4c24da3fc3d455c76e8637a0712 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Fri, 12 May 2017 10:02:31 -0700 Subject: [PATCH 1046/2606] Update README URLs based on HTTP redirects --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a493aa500..e3e17683d 100644 --- a/README.md +++ b/README.md @@ -2659,7 +2659,7 @@ Other amazingly awesome lists can be found in the * [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects * [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. * [Awesome-iOS-Companies](https://ioscompanies.info/about/welcome) - A curated geographical directory of companies doing iOS development. -* [iOS-Playbook](https://github.com/bakkenbaeck/iOS-playbook) - Guidelines and best practices for excellent iOS apps +* [iOS-Playbook](https://github.com/bakkenbaeck/iOS-handbook) - Guidelines and best practices for excellent iOS apps # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 6bc8faaaf96d0ebc1f81affe79e17505fd6d086b Mon Sep 17 00:00:00 2001 From: Ashik Uddin Ahmad Date: Sun, 14 May 2017 12:38:59 +0600 Subject: [PATCH 1047/2606] Added suggestion for SugarAnchor in Layout category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e3e17683d..20bb1de68 100644 --- a/README.md +++ b/README.md @@ -595,6 +595,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. :large_orange_diamond: * [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. :large_orange_diamond: * [MyLinearLayout](https://github.com/youngsoft/MyLinearLayout) - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. +* [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. :large_orange_diamond: #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 65cee181c43e085d29dc48f45349693e8b957e51 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 15 May 2017 20:05:47 +0530 Subject: [PATCH 1048/2606] Add TLPhotoPicker (#1676) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e3e17683d..5f6f136f4 100644 --- a/README.md +++ b/README.md @@ -807,6 +807,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Twitter Image Pipline](https://github.com/twitter/ios-twitter-image-pipeline) - streamlined framework for fetching and storing images in an application. * [TinyCrayon](https://github.com/TinyCrayon/TinyCrayon-iOS-SDK) - A smart and easy-to-use image masking and cutout SDK for mobile apps. :large_orange_diamond: * [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! :large_orange_diamond: +* [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 070020897836d6a8e3ec3db10f4f9b94412c0ac4 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Tue, 16 May 2017 11:43:14 +0530 Subject: [PATCH 1049/2606] Add SpreadsheetView. (#1677) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f6f136f4..9239064ff 100644 --- a/README.md +++ b/README.md @@ -1951,6 +1951,7 @@ Most of these are paid services, some have free tiers. * [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. * [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. :large_orange_diamond: * [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. :large_orange_diamond: +* [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. :large_orange_diamond: #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. From f27ab231632597e8f08b0677595ec376bbe76d50 Mon Sep 17 00:00:00 2001 From: Toto Tvalavadze Date: Thu, 18 May 2017 13:28:42 +0900 Subject: [PATCH 1050/2606] Added JSONFeed --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9239064ff..4e83f1fda 100644 --- a/README.md +++ b/README.md @@ -1045,6 +1045,7 @@ Most of these are paid services, some have free tiers. * [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. :large_orange_diamond: * [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: * [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. :large_orange_diamond: +* [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. :large_orange_diamond: ## Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. From 42a5d9c787a6660c92e150ad404e0837ddfb016c Mon Sep 17 00:00:00 2001 From: Isaac Date: Fri, 19 May 2017 10:08:36 +1200 Subject: [PATCH 1051/2606] Fixed typos in README.md (#1679) --- README.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 9239064ff..69599e6ca 100644 --- a/README.md +++ b/README.md @@ -255,11 +255,11 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. :large_orange_diamond: * [Scrollable-GraphView](https://github.com/philackm/Scrollable-GraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: * [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. -* [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generater for iOS. :large_orange_diamond: +* [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generator for iOS. :large_orange_diamond: * [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS! * [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. * [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift :large_orange_diamond: -* [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantasticly fast and fully customizable. Amazing animations available with MagicPie!!1 :large_orange_diamond: 🎉 ✨✨✨✨✨ +* [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantastically fast and fully customizable. Amazing animations available with MagicPie!!1 :large_orange_diamond: 🎉 ✨✨✨✨✨ * [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. :large_orange_diamond: * [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. :large_orange_diamond: * [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. :large_orange_diamond: @@ -423,7 +423,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Algorithm](https://github.com/CosmicMind/Algorithm) - Algorithm is a collection of data structures that are empowered by a probability toolset. :large_orange_diamond: * [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. :large_orange_diamond: * [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript https://www.dollarswift.org/. :large_orange_diamond: -* [Result](https://github.com/antitypical/Result) - Swift type modelling the success/failure of arbitrary operations. :large_orange_diamond: +* [Result](https://github.com/antitypical/Result) - Swift type modeling the success/failure of arbitrary operations. :large_orange_diamond: * [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. * [Monaka](https://github.com/naru-jpn/Monaka) - Convert custom struct and fundamental values to NSData. * [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. :large_orange_diamond: @@ -526,7 +526,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CocoaMultipeer](https://github.com/manavgabhawala/CocoaMultipeer) - This repository is a peer to peer framework for OS X, iOS and watchOS 2 that presents a similar interface to the MultipeerConnectivity framework (which is iOS only) that lets you connect any 2 devices from any platform. :large_orange_diamond: * [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift :large_orange_diamond: * [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework :large_orange_diamond: -* [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with bluetooth, wifi, and USB. :large_orange_diamond: +* [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. :large_orange_diamond: * [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U :large_orange_diamond: #### Camera @@ -556,7 +556,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### iBeacon * [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. * [OWUProximityManager](https://github.com/ohayon/OWUProximityManager) - iBeacons + CoreBluetooth. -* [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy bluetooth devices in the background. +* [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy Bluetooth devices in the background. * [BeaconEmitter](https://github.com/lgaches/BeaconEmitter) - Turn your Mac as an iBeacon. * [MOCA Proximity](https://mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. * [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. 🔶 @@ -636,7 +636,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Logging * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: * [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. -* [NSLogger](https://github.com/fpillet/NSLogger) - a high perfomance logging utility which displays traces emitted by client applications running on Mac OS X, iOS and Android. +* [NSLogger](https://github.com/fpillet/NSLogger) - a high performance logging utility which displays traces emitted by client applications running on Mac OS X, iOS and Android. * [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. :large_orange_diamond: * [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. :large_orange_diamond: * [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. :large_orange_diamond: @@ -668,7 +668,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. :large_orange_diamond: * [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. * [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support :large_orange_diamond: -* [GodEye](https://github.com/zixun/GodEye) - Automaticly display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. :large_orange_diamond: +* [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. :large_orange_diamond: ## Machine Learning * [Swift-AI](https://github.com/Swift-AI/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: @@ -678,7 +678,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. -* [NAMapKit](https://github.com/neilang/NAMapKit) - Allows you to use custom maps in iphone applications and attempts to mimics some of the behaviour of the MapKit framework. +* [NAMapKit](https://github.com/neilang/NAMapKit) - Allows you to use custom maps in iPhone applications and attempts to mimics some of the behaviour of the MapKit framework. * [Mapbox GL](https://github.com/mapbox/mapbox-gl-native) - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS. * [CMMapLauncher](https://github.com/citymapper/CMMapLauncher) - iOS library that makes it quick and easy to show directions in various mapping applications. * [GEOSwift](https://github.com/andreacremaschi/GEOSwift) - The Swift Geographic Engine. :large_orange_diamond: @@ -782,7 +782,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GPUImage2](https://github.com/BradLarson/GPUImage2) - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. :large_orange_diamond: * [TGLParallaxCarousel](https://github.com/taglia3/TGLParallaxCarousel) - A lightweight 3D Linear Carousel with parallax effect :large_orange_diamond: * [ImageButter](https://github.com/dollarshaveclub/ImageButter) - Makes dealing with images buttery smooth -* [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by facebook, twitter photo browsers written by swift :large_orange_diamond: +* [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by Facebook, Twitter photo browsers written by swift :large_orange_diamond: * [YUCIHighPassSkinSmoothing](https://github.com/YuAo/YUCIHighPassSkinSmoothing) - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework * [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up :large_orange_diamond: * [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition! :large_orange_diamond: @@ -986,7 +986,7 @@ Most of these are paid services, some have free tiers. * [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. * [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. * [PropertyMapper](https://github.com/krzysztofzablocki/PropertyMapper) - Data mapping and validation with minimal amount of code. -* [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modelling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. +* [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modeling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. * [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. :large_orange_diamond: * [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. * [OCMapper](https://github.com/aryaxt/OCMapper) - Objective-C & Swift library to easily map NSDictionary to model objects. :large_orange_diamond: @@ -1053,7 +1053,7 @@ Most of these are paid services, some have free tiers. ## Payments * [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. :large_orange_diamond: -* [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowlege on Backend. +* [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend. * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. * [Moltin](https://www.moltin.com/ios-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. @@ -1134,7 +1134,7 @@ Most of these are paid services, some have free tiers. ## Regex * [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type :large_orange_diamond: -* [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like regex =~ operator for Swift :large_orange_diamond: +* [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like Regex =~ operator for Swift :large_orange_diamond: * [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way :large_orange_diamond: * [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift :large_orange_diamond: * [Regex](https://github.com/brynbellomy/Regex) - Regex class for Swift. Wraps NSRegularExpression. :large_orange_diamond: @@ -1499,7 +1499,7 @@ Most of these are paid services, some have free tiers. * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. * [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. :large_orange_diamond: * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. -* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementating a video background in Swift 3 :large_orange_diamond: +* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background in Swift 3 :large_orange_diamond: * [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. :large_orange_diamond: * [iCheckbox](https://github.com/mancunianetz/iCheckbox) - A checkbox like component for iOS apps. :large_orange_diamond: * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. :large_orange_diamond: @@ -1570,7 +1570,7 @@ Most of these are paid services, some have free tiers. * [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. :large_orange_diamond: * [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - (Swift) Circular progress UIView subclass with UIProgressView properties :large_orange_diamond: * [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. -* [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beauful hud view for iPhone & iPad +* [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beautiful hud view for iPhone & iPad * [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. :large_orange_diamond: * [FillableLoaders](https://github.com/poolqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: * [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: @@ -1667,7 +1667,7 @@ Most of these are paid services, some have free tiers. * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. * [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: * [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. :large_orange_diamond: -* [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like ios task manager :large_orange_diamond: +* [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like iOS task manager :large_orange_diamond: * [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. :large_orange_diamond: * [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. :large_orange_diamond: * [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. :large_orange_diamond: @@ -1692,7 +1692,7 @@ Most of these are paid services, some have free tiers. * [JDStatusBarNotification](https://github.com/calimarkus/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. * [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. :large_orange_diamond: * [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController :large_orange_diamond: -* [SnowGlobeFramework](https://github.com/stringcode86/SnowGlobeFramework) - Delightful / slightly cheese easter egg for christmas season. Turns your awesome app into a snow globe, when user shake the device. :large_orange_diamond: +* [SnowGlobeFramework](https://github.com/stringcode86/SnowGlobeFramework) - Delightful / slightly cheese easter egg for Christmas season. Turns your awesome app into a snow globe, when user shake the device. :large_orange_diamond: * [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. :large_orange_diamond: * [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. :large_orange_diamond: * [GSAlert](https://github.com/wxxsw/GSAlert) - If you want to use UIAlertController, but still need to support iOS 7 this project is for you. :large_orange_diamond: @@ -1727,7 +1727,7 @@ Most of these are paid services, some have free tiers. * [Hedwig](https://github.com/Lab111/Hedwig) - Interactive notification :large_orange_diamond: * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: * [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift 🔶 -* [RAlertView](https://github.com/roycms/AlertView) - AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. +* [RAlertView](https://github.com/roycms/AlertView) - AlertView, iOS popup window, A pop-up framework, Can be simple and convenient to join your project. * [NoticeBar](https://github.com/qiuncheng/NoticeBar) - 😍A simple NoticeBar written by Swift 3, similar with QQ notice view. :large_orange_diamond: * [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS :large_orange_diamond: * [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook).🔶 @@ -2065,7 +2065,7 @@ Most of these are paid services, some have free tiers. * [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). * [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager :large_orange_diamond: * [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift :large_orange_diamond: -* [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout whitch can move item with drag and drop. +* [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout which can move item with drag and drop. * [PageFeedControl](https://github.com/rob-nash/PageFeedControl) - Add paging to your table views with a cool animation. * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: * [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. @@ -2139,7 +2139,7 @@ Most of these are paid services, some have free tiers. * [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS :large_orange_diamond: * [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. :large_orange_diamond: * [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) :large_orange_diamond: -* [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple libriary for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. :large_orange_diamond: +* [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple library for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. :large_orange_diamond: * [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. :large_orange_diamond: * [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion :large_orange_diamond: * [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 3.0 for any numerical pin or code entry. :large_orange_diamond: @@ -2182,7 +2182,7 @@ Most of these are paid services, some have free tiers. * [BFKit-Swift](https://github.com/FabrizioBrancati/BFKit-Swift) - A Swift collection of useful classes to develop Apps faster. :large_orange_diamond: * [Scale](https://github.com/onmyway133/scale) - Unit converter in Swift (available via CocoaPods) :large_orange_diamond: * [Standard Template Protocols](https://github.com/cconeil/Standard-Template-Protocols) - Protocols for your every day iOS needs :large_orange_diamond: - * [TimeLord](https://github.com/JonFir/TimeLord) - Easly DateTime (NSDate) managment in Swift :large_orange_diamond: + * [TimeLord](https://github.com/JonFir/TimeLord) - Easy DateTime (NSDate) management in Swift :large_orange_diamond: * [AppVersionMonitor](https://github.com/eure/AppVersionMonitor) - Monitor iOS app version easily. * [Sugar](https://github.com/hyperoslo/Sugar) - Something sweet that goes great with your Cocoa. :large_orange_diamond:[e] * [Then](https://github.com/devxoul/Then) - ✨ Super sweet syntactic sugar for Swift initializers. :large_orange_diamond:[e] @@ -2218,7 +2218,7 @@ Most of these are paid services, some have free tiers. * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift :large_orange_diamond: - * [OpenSourceController](https://github.com/terflogag/OpenSourceController) - The simplest way to display the librarie's licences used in your application. :large_orange_diamond: + * [OpenSourceController](https://github.com/terflogag/OpenSourceController) - The simplest way to display the libraries licences used in your application. :large_orange_diamond: * [App-Update-Tracker](https://github.com/Stunner/App-Update-Tracker) - Easily detect and run code upon app installation or update. ## VR @@ -2449,7 +2449,7 @@ Most of these are paid services, some have free tiers. * [Refactorator](https://github.com/johnno1962/Refactorator) - Xcode Plugin that Refactors Swift & Objective-C :large_orange_diamond: * [VWInstantRun](https://github.com/wangshengjia/VWInstantRun) - An Xcode plugin let you build & run your selected lines of code in Xcode without running the whole project, you'll have the output instantly in your Xcode console. :large_orange_diamond: * [TTPasteHistory](https://github.com/tutumagi/TTPasteHistory) - A Xcode plugin. Recording you copy-and-paste history easily to write the code -* [xSendIssue](https://github.com/hungri-yeti/xSendIssue) - Plugin for Xcode to submit github issues directly from within Xcode. +* [xSendIssue](https://github.com/hungri-yeti/xSendIssue) - Plugin for Xcode to submit GitHub issues directly from within Xcode. * [Swimat](https://github.com/Jintin/Swimat) - An Xcode formatter plug-in to format your swift code. * [Fastlane-Plugin](https://github.com/RishabhTayal/Fastlane-Plugin) - The awesome Fastlane tools brought into your Xcode. * [Gradle Xcode plugin](https://openbakery.org/gxp/) - Build iOS or Mac OS X Projects using Gradle. @@ -2646,7 +2646,7 @@ Most of these are paid services, some have free tiers. # Other Awesome Lists Other amazingly awesome lists can be found in the * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. -* [Open Source apps](https://github.com/dkhamsing/open-source-ios-apps) list of open source ios apps +* [Open Source apps](https://github.com/dkhamsing/open-source-ios-apps) list of open source iOS apps * Awesome-swift * [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. * [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. From 47dd0c0dfec4c5929f412e266eaf749fb188b112 Mon Sep 17 00:00:00 2001 From: Roy Ng Date: Fri, 19 May 2017 10:11:00 +0800 Subject: [PATCH 1052/2606] Add RSLoadingView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69599e6ca..7275cbe07 100644 --- a/README.md +++ b/README.md @@ -1587,6 +1587,7 @@ Most of these are paid services, some have free tiers. * [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). :large_orange_diamond: * [BPCircleActivityIndicator](https://github.com/ppth0608/BPCircleActivityIndicator) - A lightweight and awesome Loading Activity Indicator for your iOS app. :large_orange_diamond: * [DottedProgressBar](https://github.com/nikola9core/DottedProgressBar) - Simple and customizable animated progress bar with dots for iOS. :large_orange_diamond: +* [RSLoadingView](https://github.com/roytornado/RSLoadingView) - Awesome loading animations using 3D engine written with Swift. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. From 23b1968379642ba4bb45b6c2941ead090116ebba Mon Sep 17 00:00:00 2001 From: roytornado Date: Fri, 19 May 2017 10:28:19 +0800 Subject: [PATCH 1053/2606] Add RSFloatInputView (#1681) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69599e6ca..ab4802136 100644 --- a/README.md +++ b/README.md @@ -2146,6 +2146,7 @@ Most of these are paid services, some have free tiers. * [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. :large_orange_diamond: * [DTTextField](https://github.com/iDhaval/DTTextField) - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0.🔶 * [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. 🔶 +* [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. 🔶 #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From aab36ea397dc32887d8ed29250fcf95d1f9c598b Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Fri, 19 May 2017 10:34:56 -0700 Subject: [PATCH 1054/2606] Update README URLs based on HTTP redirects (#1682) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dda952c01..6f7ca06ed 100644 --- a/README.md +++ b/README.md @@ -1308,7 +1308,7 @@ Most of these are paid services, some have free tiers. * [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. :large_orange_diamond: * [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for IOS. With UITextField extension. :large_orange_diamond: * [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. :large_orange_diamond: -* [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/Ranks/emojione). :large_orange_diamond: +* [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/emojione/emojione). :large_orange_diamond: * [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. :large_orange_diamond: * [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). * [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). @@ -2091,7 +2091,7 @@ Most of these are paid services, some have free tiers. * [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ :large_orange_diamond: * [DTTableViewManager](https://github.com/DenHeadless/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. :large_orange_diamond: * [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView :large_orange_diamond: -* [SwipeCellKit](https://github.com/jerkoch/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. :large_orange_diamond: +* [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. :large_orange_diamond: * [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView :large_orange_diamond: * [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight CollectionView that _'pages'_ and _centers_ it's cells 🎡 written in Swift. :large_orange_diamond: * [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content. From fdb5af687f9217ab7bbf6ab4c42edc6c0f9b5527 Mon Sep 17 00:00:00 2001 From: 4taras4 <4taras4@gmail.com> Date: Fri, 19 May 2017 21:00:10 +0300 Subject: [PATCH 1055/2606] Added ExtensionalSwift (#1666) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6f7ca06ed..5398d0a4d 100644 --- a/README.md +++ b/README.md @@ -2224,6 +2224,7 @@ Most of these are paid services, some have free tiers. * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift :large_orange_diamond: * [OpenSourceController](https://github.com/terflogag/OpenSourceController) - The simplest way to display the libraries licences used in your application. :large_orange_diamond: * [App-Update-Tracker](https://github.com/Stunner/App-Update-Tracker) - Easily detect and run code upon app installation or update. + * [ExtensionalSwift](https://github.com/4taras4/SwiftExtension) - Useful swift extensions in one place 🔶[e] ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 97643abd38f52931e153b2cf44ea683ad5cfe557 Mon Sep 17 00:00:00 2001 From: Nandiin Date: Sat, 20 May 2017 22:35:43 +0800 Subject: [PATCH 1056/2606] Added Nandiin/Savory --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5398d0a4d..6a246c3ac 100644 --- a/README.md +++ b/README.md @@ -2101,6 +2101,7 @@ Most of these are paid services, some have free tiers. * [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. 🔶 * [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. 🔶 * [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. 🔶 +* [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From d612c22ff1612227c2f0e469e7650af40eb9bda7 Mon Sep 17 00:00:00 2001 From: Siavash Date: Mon, 22 May 2017 09:58:49 +1000 Subject: [PATCH 1057/2606] Add SAPinViewController (#1675) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5398d0a4d..791552dad 100644 --- a/README.md +++ b/README.md @@ -1210,6 +1210,7 @@ Most of these are paid services, some have free tiers. * [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. * [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. * [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application 🔶 +* [SAPinViewController](https://github.com/siavashalipour/SAPinViewController) - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen. 🔶 #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 1402b5bfd752c0775b35796b7e69a51fa00b5541 Mon Sep 17 00:00:00 2001 From: Igor Zapletnev Date: Mon, 22 May 2017 18:40:36 +0700 Subject: [PATCH 1058/2606] Add FanMenu --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 791552dad..d59842a15 100644 --- a/README.md +++ b/README.md @@ -1888,6 +1888,7 @@ Most of these are paid services, some have free tiers. * [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. :large_orange_diamond: * [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! :large_orange_diamond: * [JNDropDownMenu](https://github.com/javalnanda/JNDropDownMenu) - Easy to use tableview style drop down menu with multi-column support written in Swift3. :large_orange_diamond: +* [FanMenu](https://github.com/exyte/fan-menu) - Menu with a circular layout based on Macaw. :large_orange_diamond: #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 0f7827c7ee8f18d5c548215550d112c7a0ec61b9 Mon Sep 17 00:00:00 2001 From: Leonardo Cardoso Date: Mon, 22 May 2017 16:11:39 +0200 Subject: [PATCH 1059/2606] NFDownloadButton (#1684) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 791552dad..181f9a4ad 100644 --- a/README.md +++ b/README.md @@ -1772,6 +1772,7 @@ Most of these are paid services, some have free tiers. * [CRNetworkButton](https://github.com/Cleveroad/CRNetworkButton) - Send Button for iOS :large_orange_diamond: * [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. :large_orange_diamond: * [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. :large_orange_diamond: +* [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. 🔶 #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From aa0396b64281da1c3a2a5cc39f52894e8393b872 Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Mon, 22 May 2017 19:42:04 +0530 Subject: [PATCH 1060/2606] Add PCLBlurEffectAlert to Alerts (#1686) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 181f9a4ad..1dd965c99 100644 --- a/README.md +++ b/README.md @@ -1738,6 +1738,7 @@ Most of these are paid services, some have free tiers. * [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone.🔶 * [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. 🔶 * [Alertift](https://github.com/sgr-ksmt/Alertift) - Swifty, modern UIAlertController wrapper. :large_orange_diamond: +* [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From ac9931661bdbbbbc01033079d46d1799212a5852 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Mon, 22 May 2017 12:54:51 -0300 Subject: [PATCH 1061/2606] Update SwiftWeekly URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 73d647573..a85977bda 100644 --- a/README.md +++ b/README.md @@ -2597,7 +2597,7 @@ Most of these are paid services, some have free tiers. * [iOS Trivia Weekly](http://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday * [Indie iOS Focus Weekly](https://indieiosfocus.curated.co) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. * [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. -* [Swift Weekly Brief](http://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday +* [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday * [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) #### Medium From 9a7ded3a2ba953a500354cf57f3123d826e14d71 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Mon, 22 May 2017 13:01:34 -0300 Subject: [PATCH 1062/2606] Update StackOverflow link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a85977bda..d289b473d 100644 --- a/README.md +++ b/README.md @@ -2549,7 +2549,7 @@ Most of these are paid services, some have free tiers. #### Forums and discuss lists * [iPhone Dev SDK Forum](http://iphonedevsdk.com/) -* ["iOS" on Stackoverflow](http://stackoverflow.com/questions/tagged/ios) +* ["iOS" on Stackoverflow](https://stackoverflow.com/questions/tagged/ios) #### Tutorials and Keynotes * [AppCoda](http://www.appcoda.com) From bc3324ee6494433b292486e32196c4cf3282306d Mon Sep 17 00:00:00 2001 From: Khoa Pham Date: Tue, 23 May 2017 20:05:59 +0200 Subject: [PATCH 1063/2606] Add Anchor (#1691) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d289b473d..7641445d9 100644 --- a/README.md +++ b/README.md @@ -596,6 +596,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. :large_orange_diamond: * [MyLinearLayout](https://github.com/youngsoft/MyLinearLayout) - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. * [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. :large_orange_diamond: +* [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+ :large_orange_diamond: #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 8e667b969549abf99faeb409b82f354e1be56f2b Mon Sep 17 00:00:00 2001 From: jimvanzummeren Date: Wed, 24 May 2017 16:03:38 +0200 Subject: [PATCH 1064/2606] Add Marky Mark (#1692) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7641445d9..c32a200e9 100644 --- a/README.md +++ b/README.md @@ -1322,6 +1322,7 @@ Most of these are paid services, some have free tiers. * [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. :large_orange_diamond: * [RealTimeCurrencyFormatter](https://github.com/kaiomedau/realtime-currency-formatter-objc) - An ObjC international currency formatting utility. * [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. 🔶 +* [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. 🔶 ## Testing From 780acdd446a38361eb97963e0fb984e1e03b6709 Mon Sep 17 00:00:00 2001 From: Luc Dion Date: Wed, 24 May 2017 20:18:04 -0400 Subject: [PATCH 1065/2606] Add PinLayout, Layout framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c32a200e9..6ef15ca57 100644 --- a/README.md +++ b/README.md @@ -597,6 +597,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MyLinearLayout](https://github.com/youngsoft/MyLinearLayout) - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. * [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. :large_orange_diamond: * [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+ :large_orange_diamond: +* [PinLayout](https://github.com/mirego/PinLayout) - Layout most views using a single line without constraints. Stateless, so it can be used with any other Layout frameworks without conflicts. Consise syntax, readable & chainable. 🔶 #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 523495ade41a7b12848568b6bc89f2d51e4c29bc Mon Sep 17 00:00:00 2001 From: Javal Nanda Date: Thu, 25 May 2017 17:52:18 +0530 Subject: [PATCH 1066/2606] Add NumericAnimatedLabel control --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c32a200e9..df9b2e8ef 100644 --- a/README.md +++ b/README.md @@ -1843,6 +1843,7 @@ Most of these are paid services, some have free tiers. * [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. :large_orange_diamond: * [UICountingLabel](https://github.com/dataxpress/UICountingLabel/) - Adds animated counting support to UILabel. * [SlidingText](https://github.com/dnKaratzas/SlidingText) - Swift UIView for sliding text with page indicator. :large_orange_diamond: +* [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. :large_orange_diamond: #### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: From 43ad1153c331faac70d65058c5cb82e0eac0135e Mon Sep 17 00:00:00 2001 From: Masayuki Ono Date: Fri, 26 May 2017 23:09:20 +0900 Subject: [PATCH 1067/2606] Add LicensePlist (#1696) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c32a200e9..ed0ab9cff 100644 --- a/README.md +++ b/README.md @@ -2370,6 +2370,7 @@ Most of these are paid services, some have free tiers. * [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. * [Attabench](https://github.com/lorentey/Attabench) - Microbenchmarking app for Swift with nice log-log plots :large_orange_diamond: * [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. :large_orange_diamond: +* [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. :large_orange_diamond: # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 1ed726a4be09a30ad6988ecce4d25bb2424fb5bf Mon Sep 17 00:00:00 2001 From: Masayuki Ono Date: Fri, 26 May 2017 23:09:37 +0900 Subject: [PATCH 1068/2606] Update VCFloatingActionButton (#1697) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ed0ab9cff..928f3549d 100644 --- a/README.md +++ b/README.md @@ -1762,7 +1762,7 @@ Most of these are paid services, some have free tiers. * [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). :large_orange_diamond: * [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift :large_orange_diamond: * [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. :large_orange_diamond: -* [VCFloatingActionButton](https://github.com/gizmoboy7/VCFloatingActionButton) - A Floating Action Button just like Google inbox for iOS +* [VCFloatingActionButton](https://github.com/giridharvc7/VCFloatingActionButton) - A Floating Action Button just like Google inbox for iOS * [FlowBarButtonItem](https://github.com/noppefoxwolf/FlowBarButtonItem) - Bar Button Item that can be moved anywhere in the screen, like Android's stickers button. :large_orange_diamond: * [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - Inspired by Apple’s download progress buttons in the App Store. * [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design :large_orange_diamond: From 7f77c351a27e4e0f482201b3687aa57e312fbf34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Fri, 26 May 2017 13:37:44 -0300 Subject: [PATCH 1069/2606] Rename ApacheExpress (#1700) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 928f3549d..fe1281da7 100644 --- a/README.md +++ b/README.md @@ -1264,7 +1264,7 @@ Most of these are paid services, some have free tiers. * [Edge](https://github.com/SwiftOnEdge/Edge) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: * [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. :large_orange_diamond: * [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. :large_orange_diamond: -* [mod_swift](https://github.com/AlwaysRightInstitute/mod_swift) - Write Apache Modules in Swift! :large_orange_diamond: +* [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! :large_orange_diamond: ## Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From 567dfe2d8c75e301454065622aa30716334a5b90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Fri, 26 May 2017 14:36:37 -0300 Subject: [PATCH 1070/2606] Add Runes (#1701) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fe1281da7..edefa3495 100644 --- a/README.md +++ b/README.md @@ -490,6 +490,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. :large_orange_diamond:[e] * [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: +* [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. :large_orange_diamond: ## Games * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: From 2a4c0c568c1bdc021752abe2a47beb1daa6d720c Mon Sep 17 00:00:00 2001 From: Joost van Dijk Date: Fri, 26 May 2017 19:37:58 +0200 Subject: [PATCH 1071/2606] Add Hanson (#1698) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index edefa3495..b78309cb1 100644 --- a/README.md +++ b/README.md @@ -1128,6 +1128,7 @@ Most of these are paid services, some have free tiers. * [RxWebSocket](https://github.com/fjcaetano/RxWebSocket) - Reactive extension over Starscream for websockets :large_orange_diamond: * [ACKReactiveExtensions](https://github.com/AckeeCZ/ACKReactiveExtensions) - Useful extensions for ReactiveCocoa :large_orange_diamond: * [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive :large_orange_diamond: +* [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 55b2cd68e89f0c099e95990068c7e3c1c4ee0b61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Fri, 26 May 2017 15:03:00 -0300 Subject: [PATCH 1072/2606] Add PredKit to CoreData section (#1702) Close #840 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b78309cb1..7f31a2aa7 100644 --- a/README.md +++ b/README.md @@ -373,6 +373,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. :large_orange_diamond: * [DATAStack](https://github.com/SyncDB/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: * [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. +* [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, OSX, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. :large_orange_diamond: ## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. From 367782895ae256ae625484015632f1331714127a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Fri, 26 May 2017 18:19:31 -0300 Subject: [PATCH 1073/2606] Add InAppSettingsKit to Utility section (#1706) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 18d22f53b..cd2f982b7 100644 --- a/README.md +++ b/README.md @@ -2237,6 +2237,7 @@ Most of these are paid services, some have free tiers. * [OpenSourceController](https://github.com/terflogag/OpenSourceController) - The simplest way to display the libraries licences used in your application. :large_orange_diamond: * [App-Update-Tracker](https://github.com/Stunner/App-Update-Tracker) - Easily detect and run code upon app installation or update. * [ExtensionalSwift](https://github.com/4taras4/SwiftExtension) - Useful swift extensions in one place 🔶[e] + * [InAppSettingsKit](https://github.com/futuretap/InAppSettingsKit) - This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 1ed39495c703a76c874db8ad7b32206c99a04995 Mon Sep 17 00:00:00 2001 From: Satinder Singh Date: Fri, 26 May 2017 12:39:45 -0700 Subject: [PATCH 1074/2606] Added SnapLayout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd2f982b7..c345c88ff 100644 --- a/README.md +++ b/README.md @@ -600,6 +600,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. :large_orange_diamond: * [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+ :large_orange_diamond: * [PinLayout](https://github.com/mirego/PinLayout) - Layout most views using a single line without constraints. Stateless, so it can be used with any other Layout frameworks without conflicts. Consise syntax, readable & chainable. 🔶 +* [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. 🔶[e] #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 8d4cb6e5f4edebae71c0463dab7297bb27c34a0c Mon Sep 17 00:00:00 2001 From: Antonio Zaitoun Date: Sat, 27 May 2017 02:37:52 +0300 Subject: [PATCH 1075/2606] Added AZEmptyState --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd2f982b7..a290b70c3 100644 --- a/README.md +++ b/README.md @@ -1543,6 +1543,7 @@ Most of these are paid services, some have free tiers. * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: * [GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 * [HamsterUIKit](https://github.com/ChromieIsDangerous/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 +* [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. 🔶 #### Activity Indicator From 3c84cf5fc1a11e67ff325112fde7c979af4c9e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=20=EC=9B=90=20=28=E8=B6=99=20=E5=85=83=29?= Date: Sat, 27 May 2017 11:12:07 +0900 Subject: [PATCH 1076/2606] Added ifAction ifAction ## Project URL --- https://github.com/trilliwon/ifAction ## Description --- Customized `if` for Optional and Boolean ## Why it should be included to `awesome-ios` (optional) --- ## Checklist - [x] Only one project/change is in this pull request - [x] Addition in chronological order (bottom of category) - [x] Supports iOS 9 / tvOS 10 or later - [x] Supports Swift 3 - [x] Has a commit from less than 2 years ago - [x] Has a clear README in English --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c345c88ff..e3034bf21 100644 --- a/README.md +++ b/README.md @@ -492,6 +492,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: * [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. :large_orange_diamond: +* [ifAction](https://github.com/trilliwon/ifAction) - Custom if for Optional and Boolean :large_orange_diamond: ## Games * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: From c5e8079d1835e6a131a637ccb33c1e6ce1819696 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=20=EC=9B=90=20=28=E8=B6=99=20=E5=85=83=29?= Date: Sat, 27 May 2017 11:46:49 +0900 Subject: [PATCH 1077/2606] added extension indicator to ifAction I added extension indicator. Thank you. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e3034bf21..03db38342 100644 --- a/README.md +++ b/README.md @@ -492,7 +492,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: * [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. :large_orange_diamond: -* [ifAction](https://github.com/trilliwon/ifAction) - Custom if for Optional and Boolean :large_orange_diamond: +* [ifAction](https://github.com/trilliwon/ifAction) - Custom if for Optional and Boolean :large_orange_diamond: [e] ## Games * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: From 8c705f04bd3788ad2340ec513f49895a64f01ac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=20=EC=9B=90=20=28=E8=B6=99=20=E5=85=83=29?= Date: Sat, 27 May 2017 12:15:41 +0900 Subject: [PATCH 1078/2606] Added JDropDownAlert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit JDropDownAlert ## Project URL --- https://github.com/trilliwon/JDropDownAlert ## Description --- Multi dirction dropdown alert view. 🔶 ## Why it should be included to `awesome-ios` (optional) --- ## Checklist - [x] Only one project/change is in this pull request - [x] Addition in chronological order (bottom of category) - [x] Supports iOS 9 / tvOS 10 or later - [x] Supports Swift 3 - [x] Has a commit from less than 2 years ago - [x] Has a clear README in English --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 03db38342..3a9b34c40 100644 --- a/README.md +++ b/README.md @@ -1747,6 +1747,7 @@ Most of these are paid services, some have free tiers. * [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. 🔶 * [Alertift](https://github.com/sgr-ksmt/Alertift) - Swifty, modern UIAlertController wrapper. :large_orange_diamond: * [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. :large_orange_diamond: +* [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. 🔶 #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 58427a39d3aedc8d3bf9eb552f5e7a1b44c63486 Mon Sep 17 00:00:00 2001 From: Ashley Date: Sat, 27 May 2017 09:53:19 -0400 Subject: [PATCH 1079/2606] Add CommandCougar to README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 149276f25..65483897d 100644 --- a/README.md +++ b/README.md @@ -334,6 +334,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: * [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift :large_orange_diamond: * [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts :large_orange_diamond: +* [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. :large_orange_diamond: ## Concurrency * [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: From 32e12fe57fc37cc9f0b40dee760e0d8345db8e98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Tue, 30 May 2017 18:16:19 -0300 Subject: [PATCH 1080/2606] Add PagingView to Collection View section (#1711) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6309129d2..9b2ffe214 100644 --- a/README.md +++ b/README.md @@ -2117,7 +2117,8 @@ Most of these are paid services, some have free tiers. * [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. 🔶 * [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. 🔶 * [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. 🔶 -* [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. 🔶 +* [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. :large_orange_diamond: +* [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. :large_orange_diamond:🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From bc8ff12b75b7dbf782106f053abb4ca5f0e62e4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Tue, 30 May 2017 18:44:13 -0300 Subject: [PATCH 1081/2606] Remove Podage (#1714) Page returns `404` --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9b2ffe214..8065fdc4d 100644 --- a/README.md +++ b/README.md @@ -2313,7 +2313,6 @@ Most of these are paid services, some have free tiers. * [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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. :large_orange_diamond: * [Alcatraz](http://alcatraz.io/) - The package manager for Xcode. * [CocoaSeeds](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. -* [Podage](https://github.com/jensmeder/Podage) - A simple tool to bundle any Cocoapod and its dependencies into frameworks. * [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language :large_orange_diamond: * [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool From b0c2783e8c0defd7d73f8734de6960a24a9938b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Tue, 30 May 2017 18:44:34 -0300 Subject: [PATCH 1082/2606] Add FlatBuffersSwift to JSON section (#1713) Close #826 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8065fdc4d..d1a9d0fbb 100644 --- a/README.md +++ b/README.md @@ -1033,6 +1033,7 @@ Most of these are paid services, some have free tiers. * [NSTEasyJSON](https://github.com/bernikowich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). * [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. :large_orange_diamond: * [MagicMapper](https://github.com/adrianitech/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. :large_orange_diamond: +* [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. :large_orange_diamond: #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From 0b5f2109f745113031a06ea146b63929ecf1602d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Wed, 31 May 2017 10:13:31 -0300 Subject: [PATCH 1083/2606] Rename mosaic-layout (#1715) Related to #1713 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d1a9d0fbb..b65725526 100644 --- a/README.md +++ b/README.md @@ -2079,7 +2079,7 @@ Most of these are paid services, some have free tiers. * [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts :large_orange_diamond: * [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. -* [TRMosaicLayout](https://github.com/vinnyoodles/TRMosaicLayout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift 🔶 +* [mosaic-layout](https://github.com/vinnyoodles/mosaic-layout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift :large_orange_diamond: * [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells :large_orange_diamond: * [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. * [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). From 4038ec4a8bf57cc940308344f68bdd309195e445 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 31 May 2017 18:58:00 +0530 Subject: [PATCH 1084/2606] Add MarkdownView (#1717) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b65725526..d032fcdcc 100644 --- a/README.md +++ b/README.md @@ -1331,6 +1331,7 @@ Most of these are paid services, some have free tiers. * [RealTimeCurrencyFormatter](https://github.com/kaiomedau/realtime-currency-formatter-objc) - An ObjC international currency formatting utility. * [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. 🔶 * [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. 🔶 +* [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. 🔶 ## Testing From 8b208c47c71963c3eb63f40cc7a8d8406218560b Mon Sep 17 00:00:00 2001 From: Leonardo Cardoso Date: Wed, 31 May 2017 17:52:44 +0200 Subject: [PATCH 1085/2606] Add SendIndicator (#1716) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d032fcdcc..2b203cb60 100644 --- a/README.md +++ b/README.md @@ -1603,6 +1603,7 @@ Most of these are paid services, some have free tiers. * [BPCircleActivityIndicator](https://github.com/ppth0608/BPCircleActivityIndicator) - A lightweight and awesome Loading Activity Indicator for your iOS app. :large_orange_diamond: * [DottedProgressBar](https://github.com/nikola9core/DottedProgressBar) - Simple and customizable animated progress bar with dots for iOS. :large_orange_diamond: * [RSLoadingView](https://github.com/roytornado/RSLoadingView) - Awesome loading animations using 3D engine written with Swift. :large_orange_diamond: +* [SendIndicator](https://github.com/LeonardoCardoso/SendIndicator) - Yet another task indicator :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. From fa6be1c91410c092131a11274730db5b78674acc Mon Sep 17 00:00:00 2001 From: Bartosz Janda Date: Thu, 1 Jun 2017 10:12:41 +0200 Subject: [PATCH 1086/2606] Added WeeklyCocoa.News --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2b203cb60..492a6d1ce 100644 --- a/README.md +++ b/README.md @@ -2616,6 +2616,7 @@ Most of these are paid services, some have free tiers. * [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. * [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday * [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) +* [WeeklyCocoa.News](https://weeklycocoa.news) - Weekly updated newsletter about iOS, Swift, Objective-C, CocoaTouch, and other Apple connected development technologies. #### Medium * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone From e170b822a71a103cff08ddf030627d1a56ed6df7 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 2 Jun 2017 18:50:44 +0530 Subject: [PATCH 1087/2606] Add Toolbar. (#1720) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2b203cb60..d456560b8 100644 --- a/README.md +++ b/README.md @@ -1836,6 +1836,7 @@ Most of these are paid services, some have free tiers. * [MakemojiSDK](https://github.com/makemoji/MakemojiSDK) - Emoji Keyboard SDK (iOS) * [Typist](https://github.com/totocaster/Typist) - Small, drop-in Swift UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center. :large_orange_diamond: * [KeyboardHideManager](https://github.com/bonyadmitr/KeyboardHideManager) - Codeless manager to hide keyboard by tapping on views for iOS written in Swift :large_orange_diamond: +* [Toolbar](https://github.com/1amageek/Toolbar) - Awesome autolayout Toolbar. :large_orange_diamond: #### Label * [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. :large_orange_diamond: From ed146cbbbe6ee5f38f8bf0112dfc2043da9e225e Mon Sep 17 00:00:00 2001 From: Mario Iannotta Date: Fri, 2 Jun 2017 19:05:11 +0200 Subject: [PATCH 1088/2606] Add MIBlurPopup (#1722) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d456560b8..8e9535a43 100644 --- a/README.md +++ b/README.md @@ -1938,6 +1938,7 @@ Most of these are paid services, some have free tiers. * [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. :large_orange_diamond: * [SelectionDialog](https://github.com/kciter/SelectionDialog) - Simple selection dialog. :large_orange_diamond: * [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. :large_orange_diamond: +* [MIBlurPopup](https://github.com/MarioIannotta/MIBlurPopup) - MIBlurPopup let you create amazing popups with a blurred background. #### Pull to Refresh * [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: From 527bb9ed4d4cd6b8ec776389fa592f5b146c7587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Sun, 4 Jun 2017 10:32:07 -0300 Subject: [PATCH 1089/2606] Swift-Community-Best-Practices link returns 404 (#1726) Related to #1723 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 50ed7a3a6..553c52773 100644 --- a/README.md +++ b/README.md @@ -2533,7 +2533,6 @@ Most of these are paid services, some have free tiers. * [Spotify Objective-C Coding Style](https://github.com/spotify/ios-style) - Guidelines for iOS development in use at Spotify. * [Github - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. :large_orange_diamond: * [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). -* [Swift-Community-Best-Practices](https://github.com/schwa/Swift-Community-Best-Practices/) - Best practices for software development with Swift :large_orange_diamond: * [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift :large_orange_diamond: * [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. From cff06e26014f8d2098443e9a3a52e651ca74ac1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Sun, 4 Jun 2017 10:32:42 -0300 Subject: [PATCH 1090/2606] Update links to HTTPS (#1725) Related to #1723 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 553c52773..47a945c8b 100644 --- a/README.md +++ b/README.md @@ -2540,7 +2540,7 @@ Most of these are paid services, some have free tiers. #### News, Blogs and more * [BGR](http://bgr.com/ios-7/) -* [iMore](http://www.imore.com/) +* [iMore](https://www.imore.com/) * [Lifehacker](http://lifehacker.com/tag/ios) * [NSHipster](http://nshipster.com) * [Objc.io](https://www.objc.io/) @@ -2644,7 +2644,7 @@ Most of these are paid services, some have free tiers. # Podcasts * [The Ray Wenderlich Podcast](https://www.raywenderlich.com/rwpodcast) -* [Debug](http://www.imore.com/debug) +* [Debug](https://www.imore.com/debug) * [iDeveloper](http://blog.ideveloper.co/) * [App Story](http://www.appstorypodcast.com) * [Mobile Couch](http://mobilecouch.co/) From 4261dec297e5d90592893d5befe977cfa4e221e2 Mon Sep 17 00:00:00 2001 From: Henry Huck Date: Sun, 4 Jun 2017 15:33:31 +0200 Subject: [PATCH 1091/2606] Add prynt trimmer view (#1724) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 47a945c8b..06ae3816a 100644 --- a/README.md +++ b/README.md @@ -860,6 +860,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. * [swift-360-videos](https://github.com/team-pie/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. * [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. +* [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. :large_orange_diamond: ## Messaging From 5f4ca6791a7ec29a761b45f42be6aed82eadaa91 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 7 Jun 2017 12:09:36 +0530 Subject: [PATCH 1092/2606] Add SwiftCssParser (#1728) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 06ae3816a..e1afaa8ca 100644 --- a/README.md +++ b/README.md @@ -1056,6 +1056,7 @@ Most of these are paid services, some have free tiers. * [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: * [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. :large_orange_diamond: * [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. :large_orange_diamond: +* [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. :large_orange_diamond: ## Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. From 0ba8e8c94ca2af1652cebbe0506d284221b749ca Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Tue, 6 Jun 2017 23:47:34 -0700 Subject: [PATCH 1093/2606] Update README URLs based on HTTP redirects (#1729) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e1afaa8ca..b223333df 100644 --- a/README.md +++ b/README.md @@ -1734,7 +1734,7 @@ Most of these are paid services, some have free tiers. * [JLToast](https://github.com/devxoul/Toaster) - Toast for iOS with very simple interface. :large_orange_diamond: * [CuckooAlert](https://github.com/singcodes/CuckooAlert) - Multiple use of presentViewController for UIAlertController. 🔶 * [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. :large_orange_diamond: -* [Dodo](https://github.com/marketplacer/Dodo) - A message bar for iOS written in Swift. :large_orange_diamond: +* [Dodo](https://github.com/evgenyneu/Dodo) - A message bar for iOS written in Swift. :large_orange_diamond: * [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. :large_orange_diamond: * [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: * [FCAlertView](https://github.com/krispenney/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) :large_orange_diamond: @@ -1760,7 +1760,7 @@ Most of these are paid services, some have free tiers. * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] * [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. -* [swift-badge](https://github.com/marketplacer/swift-badge) - Badge view for iOS written in swift :large_orange_diamond: +* [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift :large_orange_diamond: #### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. @@ -1967,7 +1967,7 @@ Most of these are paid services, some have free tiers. * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: * [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. :large_orange_diamond: * [StarryStars](https://github.com/peterprokop/StarryStars) - StarryStars is iOS GUI library for displaying and editing ratings :large_orange_diamond: -* [Cosmos](https://github.com/marketplacer/Cosmos) - A star rating control for iOS / Swift :large_orange_diamond: +* [Cosmos](https://github.com/evgenyneu/Cosmos) - A star rating control for iOS / Swift :large_orange_diamond: * [HCSStarRatingView](https://github.com/hsousa/HCSStarRatingView) - Simple star rating view for iOS written in Objective-C * [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift :large_orange_diamond: From 19ebb20f42764c64302a7c034f201fd00d4c412d Mon Sep 17 00:00:00 2001 From: monofire Date: Fri, 9 Jun 2017 00:06:57 +0300 Subject: [PATCH 1094/2606] FTFoldingPaper - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b223333df..7e08e188b 100644 --- a/README.md +++ b/README.md @@ -2126,6 +2126,7 @@ Most of these are paid services, some have free tiers. * [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. 🔶 * [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. :large_orange_diamond: * [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. :large_orange_diamond:🔶 +* [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 621727aa1ed17ba369ac472565ca75d2cd8b7602 Mon Sep 17 00:00:00 2001 From: Nikita Ermolenko Date: Mon, 12 Jun 2017 20:53:05 +0600 Subject: [PATCH 1095/2606] Add CodableAlamofire (#1738) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b223333df..55475bb79 100644 --- a/README.md +++ b/README.md @@ -1035,6 +1035,7 @@ Most of these are paid services, some have free tiers. * [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. :large_orange_diamond: * [MagicMapper](https://github.com/adrianitech/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. :large_orange_diamond: * [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. :large_orange_diamond: +* [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). :large_orange_diamond: #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From d4c243f235a495516b12685790a50809aaa2d4de Mon Sep 17 00:00:00 2001 From: Luc Dion Date: Mon, 12 Jun 2017 10:53:54 -0400 Subject: [PATCH 1096/2606] Update PinLayout description (#1736) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 55475bb79..c7f942583 100644 --- a/README.md +++ b/README.md @@ -601,7 +601,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MyLinearLayout](https://github.com/youngsoft/MyLinearLayout) - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. * [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. :large_orange_diamond: * [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+ :large_orange_diamond: -* [PinLayout](https://github.com/mirego/PinLayout) - Layout most views using a single line without constraints. Stateless, so it can be used with any other Layout frameworks without conflicts. Consise syntax, readable & chainable. 🔶 +* [PinLayout](https://github.com/mirego/PinLayout) - Extremely Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. 🔶 * [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. 🔶[e] #### Location From 00b16cd1f286eb02536d6121f88046c06933d4a0 Mon Sep 17 00:00:00 2001 From: Daniel Khamsing Date: Mon, 12 Jun 2017 07:59:04 -0700 Subject: [PATCH 1097/2606] Update TensorFlow link #1737 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c7f942583..c109e467f 100644 --- a/README.md +++ b/README.md @@ -682,7 +682,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swift-AI](https://github.com/Swift-AI/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: * [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. :large_orange_diamond: * [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. :large_orange_diamond: -* [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/ios_examples/) - The official Google-built powerful neural network library port for iOS. +* [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios) - The official Google-built powerful neural network library port for iOS. ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From a4d485318a9a228abc8c416cb4029fb56e6a9b2c Mon Sep 17 00:00:00 2001 From: S4cha Date: Mon, 12 Jun 2017 16:59:45 +0200 Subject: [PATCH 1098/2606] Adds Komponents (#1732) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c109e467f..d900efe71 100644 --- a/README.md +++ b/README.md @@ -1138,6 +1138,7 @@ Most of these are paid services, some have free tiers. * [ACKReactiveExtensions](https://github.com/AckeeCZ/ACKReactiveExtensions) - Useful extensions for ReactiveCocoa :large_orange_diamond: * [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive :large_orange_diamond: * [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. :large_orange_diamond: +* [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 72522184689da7aea46041fc4da15e72d74cc6a3 Mon Sep 17 00:00:00 2001 From: Leonardo Cardoso Date: Mon, 12 Jun 2017 17:00:27 +0200 Subject: [PATCH 1099/2606] Add SectionedSlider (#1731) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d900efe71..5a9c9aec9 100644 --- a/README.md +++ b/README.md @@ -2000,6 +2000,7 @@ Most of these are paid services, some have free tiers. * [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. :large_orange_diamond: * [PivotSlider](https://github.com/lab111/pivot-slider) - Slider that pivots :large_orange_diamond: * [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. :large_orange_diamond: +* [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. :large_orange_diamond: #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. From 50cbdcfb86637d704c526ddf6ad2f893fdf733e9 Mon Sep 17 00:00:00 2001 From: Mario Iannotta Date: Mon, 12 Jun 2017 17:02:17 +0200 Subject: [PATCH 1100/2606] Add SplitViewDragAndDrop (#1723) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a9c9aec9..f43de0ca2 100644 --- a/README.md +++ b/README.md @@ -505,6 +505,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond: * [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] :large_orange_diamond: * [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. :large_orange_diamond: +* [SplitViewDragAndDrop](https://github.com/MarioIannotta/SplitViewDragAndDrop) - Easily add drag and drop to pass data between your apps in split view mode. :large_orange_diamond: ## Graphics * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! :large_orange_diamond: From 678eb8821fe079aff30f4f5e16f42e7cafbc64dd Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Mon, 12 Jun 2017 08:07:18 -0700 Subject: [PATCH 1101/2606] Update README URLs based on HTTP redirects (#1740) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f43de0ca2..ca444b967 100644 --- a/README.md +++ b/README.md @@ -523,7 +523,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Hardware #### Bluetooth -* [Discovery](https://github.com/omergul123/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). +* [Discovery](https://github.com/omergul/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). * [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. * [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. :large_orange_diamond: * [simple-share](https://github.com/lauraskelton/simple-share) - Easy Proximity-based Bluetooth LE Sharing for iOS. @@ -543,7 +543,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ImagePicker](https://github.com/hyperoslo/ImagePicker) - Reinventing the way ImagePicker works. :large_orange_diamond: * [CameraManager](https://github.com/imaginary-cloud/CameraManager) - Simple Swift class to provide all the configurations you need to create custom camera view in your app. :large_orange_diamond: * [RSBarcodes_Swift](https://github.com/yeahdongcn/RSBarcodes_Swift) - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. :large_orange_diamond: -* [LLSimpleCamera](https://github.com/omergul123/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. +* [LLSimpleCamera](https://github.com/omergul/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. * [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. :large_orange_diamond: * [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. :large_orange_diamond: * [JVTImageFilePicker](https://github.com/mcmatan/JVTImageFilePicker) - Easy and beautiful way for a user to pick content, files or images. Written in Objective C. From 0a52f9b75edc4e6dce744f55227653a7a312c17f Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Mon, 12 Jun 2017 12:48:55 -0700 Subject: [PATCH 1102/2606] Remove JHProgressHUD Outdated Close #1739 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ca444b967..4846b47cf 100644 --- a/README.md +++ b/README.md @@ -1572,7 +1572,6 @@ Most of these are paid services, some have free tiers. * [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD) - A clean and lightweight progress HUD for your iOS app. * [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - ProgressHUD is a lightweight and easy-to-use HUD. * [M13ProgressSuite](https://github.com/Marxon13/M13ProgressSuite) - A suite containing many tools to display progress information on iOS. -* [JHProgressHUD](https://github.com/harikrishnant1991/JHProgressHUD) - An easy and lightweight Swift library to show HUD in IOS applications. :large_orange_diamond: * [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. :large_orange_diamond: * [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. :large_orange_diamond: * [FFCircularProgressView](https://github.com/elbryan/FFCircularProgressView) - FFCircularProgressView - An iOS 7-inspired blue circular progress view From 15ec3e9c61c4139ab10313c9ed28ed0e906abac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Przemys=C5=82aw=20Stasiak?= Date: Tue, 13 Jun 2017 16:05:47 +0200 Subject: [PATCH 1103/2606] Added SnappyTestCase. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4846b47cf..fc1b7698d 100644 --- a/README.md +++ b/README.md @@ -1392,6 +1392,7 @@ Most of these are paid services, some have free tiers. * [AcceptanceMark](https://github.com/bizz84/AcceptanceMark) Tool to auto-generate Xcode tests classes from Markdown tables * [MetovaTestKit](https://github.com/metova/MetovaTestKit) - A collection of testing utilities to turn crashing test suites into failing test suites. :large_orange_diamond: * [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes :large_orange_diamond: +* [SnappyTestCase](https://github.com/tooploox/SnappyTestCase) - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. :large_orange_diamond: #### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: From 87783f5caaaced1b51a3a358bac944a6ef21a529 Mon Sep 17 00:00:00 2001 From: Santiago Castro Date: Tue, 13 Jun 2017 22:54:02 -0300 Subject: [PATCH 1104/2606] Add Bender (#1744) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4846b47cf..9f2a038d6 100644 --- a/README.md +++ b/README.md @@ -684,6 +684,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. :large_orange_diamond: * [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. :large_orange_diamond: * [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios) - The official Google-built powerful neural network library port for iOS. +* [Bender](https://github.com/xmartlabs/Bender) - Easily craft fast Neural Networks. Use TensorFlow models. Metal under the hood. ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From 218ce55c06aaeb1dfa47b0d13f1fa576973daeb4 Mon Sep 17 00:00:00 2001 From: Emory Al-Imam Date: Fri, 16 Jun 2017 10:10:34 -0700 Subject: [PATCH 1105/2606] Add YapImageManager --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9f2a038d6..14ee6d8bf 100644 --- a/README.md +++ b/README.md @@ -818,6 +818,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TinyCrayon](https://github.com/TinyCrayon/TinyCrayon-iOS-SDK) - A smart and easy-to-use image masking and cutout SDK for mobile apps. :large_orange_diamond: * [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! :large_orange_diamond: * [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. :large_orange_diamond: +* [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 47cf68e3de3add6037fac6f8a00d8eff2878b0a0 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Mon, 19 Jun 2017 07:07:57 -0700 Subject: [PATCH 1106/2606] Update README URLs based on HTTP redirects (#1751) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9f2a038d6..53f76e311 100644 --- a/README.md +++ b/README.md @@ -1250,7 +1250,7 @@ Most of these are paid services, some have free tiers. * [Valet](https://github.com/square/Valet) - Securely store data in the iOS or OS X Keychain without knowing a thing about how the Keychain works. * [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. :large_orange_diamond: * [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and OS X :large_orange_diamond: -* [Keychain](https://github.com/hyperoslo/Keychain) - Because you should care... about the security... of your shit. :large_orange_diamond: +* [Keychains](https://github.com/hyperoslo/Keychains) - Because you should care... about the security... of your shit. :large_orange_diamond: * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. * [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. * [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. Written in Swift. :large_orange_diamond: @@ -2580,7 +2580,7 @@ Most of these are paid services, some have free tiers. * [Tutorials Point](http://www.tutorialspoint.com/ios/) * [Code with Chris](http://codewithchris.com/) * [Cocoa with Love](http://www.cocoawithlove.com/) -* [Code School - Try Objective-C](http://tryobjectivec.codeschool.com/) +* [Code School - Try Objective-C](https://www.codeschool.com/courses/try-objective-c) * [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. :large_orange_diamond: * [RAYWENDERLICH](https://www.raywenderlich.com/tutorials) - Tutorials for developers and gamers * [Mike Ash](https://www.mikeash.com/pyblog/) From 06aa16fc105b3a2a02d171a3d8551226656afbe2 Mon Sep 17 00:00:00 2001 From: nerdycat Date: Mon, 19 Jun 2017 22:19:04 +0800 Subject: [PATCH 1107/2606] Add Cupcake (#1749) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 53f76e311..801602c14 100644 --- a/README.md +++ b/README.md @@ -604,6 +604,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+ :large_orange_diamond: * [PinLayout](https://github.com/mirego/PinLayout) - Extremely Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. 🔶 * [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. 🔶[e] +* [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. :large_orange_diamond: #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 593fd41378b4f84fa6894f955391b70c43ec5434 Mon Sep 17 00:00:00 2001 From: WenRong Date: Mon, 19 Jun 2017 22:29:08 +0800 Subject: [PATCH 1108/2606] Add VGPlayer (#1742) --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 801602c14..f0982f406 100644 --- a/README.md +++ b/README.md @@ -864,6 +864,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [swift-360-videos](https://github.com/team-pie/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. * [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. * [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. :large_orange_diamond: +* [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. :large_orange_diamond: ## Messaging @@ -2702,3 +2703,5 @@ Other amazingly awesome lists can be found in the # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) * Distributed under the MIT license. See LICENSE for more information. + + From 3be1f9d7366564d89adeec2dadfe4e5c4c1eb850 Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Wed, 21 Jun 2017 10:29:28 +0300 Subject: [PATCH 1109/2606] Add MultiSelectSegmentedControl --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f0982f406..345a6f177 100644 --- a/README.md +++ b/README.md @@ -2039,6 +2039,7 @@ Most of these are paid services, some have free tiers. * [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) - A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products. * [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. :large_orange_diamond: * [YUSegment](https://github.com/afishhhhh/YUSegment) - A customizable segmented control for iOS. Supports both text and image. +* [MultiSelectSegmentedControl](https://github.com/yonat/MultiSelectSegmentedControl) - adds Multiple-Selection to the standard `UISegmentedControl`. #### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From a532d5d9b60100d6dadc81b72c3e07a8a2c01f8c Mon Sep 17 00:00:00 2001 From: Ahmed Anwer Date: Wed, 21 Jun 2017 23:05:18 +0300 Subject: [PATCH 1110/2606] Add Instabug (#1733) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f0982f406..7879b97c5 100644 --- a/README.md +++ b/README.md @@ -2429,6 +2429,7 @@ Most of these are paid services, some have free tiers. * [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. * [AppLaunchpad](https://theapplaunchpad.com/) - Free App Store screenshot builder. * [LaunchKit](https://github.com/LaunchKit/LaunchKit) - A set of web-based tools for mobile app developers, now open source! +* [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. # App Store * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. From b21927a822979d7af9001089c10233757440917d Mon Sep 17 00:00:00 2001 From: Lorenzo Greco Date: Wed, 21 Jun 2017 23:31:15 +0200 Subject: [PATCH 1111/2606] Add LGButton (#1748) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7879b97c5..7cce0421a 100644 --- a/README.md +++ b/README.md @@ -1795,6 +1795,7 @@ Most of these are paid services, some have free tiers. * [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. :large_orange_diamond: * [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. :large_orange_diamond: * [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. 🔶 +* [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. :large_orange_diamond: #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From a02b73d1f886361c8547168f14f10932eb5d5ec8 Mon Sep 17 00:00:00 2001 From: Urtaq Date: Thu, 22 Jun 2017 14:18:39 +0900 Subject: [PATCH 1112/2606] Add URWeatherView (#1756) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7cce0421a..1f1a6f42b 100644 --- a/README.md +++ b/README.md @@ -1557,6 +1557,7 @@ Most of these are paid services, some have free tiers. * [GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 * [HamsterUIKit](https://github.com/ChromieIsDangerous/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 * [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. 🔶 +* [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. 🔶 #### Activity Indicator From 04c1cb403f824d95901aac86b6453c68e280a840 Mon Sep 17 00:00:00 2001 From: Okhan Okbay Date: Thu, 22 Jun 2017 17:16:14 +0300 Subject: [PATCH 1113/2606] Add ExpyTableView (#1755) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1f1a6f42b..42b9f17c1 100644 --- a/README.md +++ b/README.md @@ -2134,6 +2134,7 @@ Most of these are paid services, some have free tiers. * [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. 🔶 * [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. :large_orange_diamond: * [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. :large_orange_diamond:🔶 +* [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 102f7f227bd6c1d76448a30c53621dfec5aca239 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 23 Jun 2017 11:48:46 +0530 Subject: [PATCH 1114/2606] Add Gagat (#1758) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 42b9f17c1..d36307da4 100644 --- a/README.md +++ b/README.md @@ -1699,6 +1699,7 @@ Most of these are paid services, some have free tiers. * [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. :large_orange_diamond: * [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS :large_orange_diamond: * [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. :large_orange_diamond: +* [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. :large_orange_diamond: #### Alert & Action Sheet From 7e7202a32717dc8b8d2427007f05a91f48662935 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 22 Jun 2017 23:19:28 -0700 Subject: [PATCH 1115/2606] GitHub updates (#1752) * [misc] minor requirements update * [contributing] cleanup language --- .github/CONTRIBUTING.md | 12 ++++++------ .github/PULL_REQUEST_TEMPLATE.md | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index e76281f43..cf2f7476f 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -24,11 +24,11 @@ Typical reasons for deleting project: - Lacks license #### Projects are ineligible if: -- Doesn't have commit for more than two years. -- Doesn't support iOS 9 or later. -- Doesn't support Swift 3. -- Only have README in another language (Chinese, Japanese, Portuguese and etc) -- We cannot clearly understand the objective. -- Without clear README + +- Lack recent commit +- Don't support iOS 9 or later +- Don't support Swift 3 or later +- Not written in English +- README is not clear Your contributions are always welcome! Thank you for your suggestions! :smiley: diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index de2497ecc..1d9dfbc87 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -14,6 +14,6 @@ - [ ] Only one project/change is in this pull request - [ ] Addition in chronological order (bottom of category) - [ ] Supports iOS 9 / tvOS 10 or later -- [ ] Supports Swift 3 +- [ ] Supports Swift 3 or later - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English From fed9f5cb7acd7d6e13f6195f497f8c4c8ce3d215 Mon Sep 17 00:00:00 2001 From: Nikolai Vazquez Date: Fri, 23 Jun 2017 08:53:56 -0400 Subject: [PATCH 1116/2606] Add Threadly --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d36307da4..cd7d04bbf 100644 --- a/README.md +++ b/README.md @@ -347,6 +347,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [NSLock+Synchronized](https://github.com/Jon-Schneider/NSLock-Synchronized) - Do you miss @synchronized in Swift? NSLock+Synchronized gives you back @synchronized in Swift via a global function and NSLock class and instance methods, conveniently usable via Cocoapod and Carthage Framework. :large_orange_diamond:[e] * [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. :large_orange_diamond: * [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. :large_orange_diamond: +* [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift :large_orange_diamond: ## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From 3500f9716e49c106f98783fff2256bb503b6077c Mon Sep 17 00:00:00 2001 From: Santiago Castro Date: Tue, 13 Jun 2017 20:19:06 -0300 Subject: [PATCH 1117/2606] Add Caffe2 --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 2df1f36a0..f0ded32f7 100644 --- a/README.md +++ b/README.md @@ -687,6 +687,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. :large_orange_diamond: * [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios) - The official Google-built powerful neural network library port for iOS. * [Bender](https://github.com/xmartlabs/Bender) - Easily craft fast Neural Networks. Use TensorFlow models. Metal under the hood. +* [Caffe2](https://github.com/caffe2/caffe2) - Lightweight, modular, and scalable deep learning framework. ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. @@ -2711,5 +2712,3 @@ Other amazingly awesome lists can be found in the # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) * Distributed under the MIT license. See LICENSE for more information. - - From d11b41a275335bc8d7d1d41f97fd1801522f36fd Mon Sep 17 00:00:00 2001 From: Daniel Hauschildt Date: Tue, 6 Jun 2017 13:30:09 +0200 Subject: [PATCH 1118/2606] Added PhotoEditorSDK to the list of Image Editing Hi there, my name is Daniel, CTO of imgly, the creators of the PhotoEditorSDK. I came across your awesome-ios list and wondered if you would be so kind to enlist PhotoEditorSDK in your list. Check out the product/sdk yourself to see if it is a fit for list. We would appreciate if it would be possible to get enlisted. Regards, Daniel --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2df1f36a0..7dfb2bfa1 100644 --- a/README.md +++ b/README.md @@ -821,6 +821,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! :large_orange_diamond: * [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. :large_orange_diamond: * [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. :large_orange_diamond: +* [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 015c57d62016b722aa15994a52327baace7de689 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 26 Jun 2017 17:13:40 -0300 Subject: [PATCH 1119/2606] add "Classic Computer Science Problems in Swift" book --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2df1f36a0..7faa570ed 100644 --- a/README.md +++ b/README.md @@ -2687,6 +2687,7 @@ Most of these are paid services, some have free tiers. * [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) :large_orange_diamond: * [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) :large_orange_diamond: * [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) :large_orange_diamond: +* [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) :large_orange_diamond: # Other Awesome Lists Other amazingly awesome lists can be found in the From f0b268f934987c1c91d3d6ff44b2ed016ba7512d Mon Sep 17 00:00:00 2001 From: Emory Al-Imam Date: Mon, 26 Jun 2017 13:37:33 -0700 Subject: [PATCH 1120/2606] Add YapAnimator. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7faa570ed..6b6e67aed 100644 --- a/README.md +++ b/README.md @@ -1679,6 +1679,7 @@ Most of these are paid services, some have free tiers. * [Water](https://github.com/KrisYu/Water) - Simple calculation to render cheap water effects. 🔶 * [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. 🔶 * [Pastel](https://github.com/cruisediary/Pastel) - Gradient animation effect like Instagram. 🔶 +* [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. :large_orange_diamond: ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From b0a58f765c44da8acd1e403510ba2b55e8c31e43 Mon Sep 17 00:00:00 2001 From: Karthick Date: Tue, 27 Jun 2017 06:26:42 +0530 Subject: [PATCH 1121/2606] Add Metron to Math (#1760) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7faa570ed..d1bf3c26e 100644 --- a/README.md +++ b/README.md @@ -710,6 +710,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. :large_orange_diamond: * [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics :large_orange_diamond: * [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime :large_orange_diamond: +* [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. :large_orange_diamond: ## Media #### Audio From be1ac0b617d51922cd1865cb247332fde5605c1c Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Tue, 27 Jun 2017 10:23:41 +0300 Subject: [PATCH 1122/2606] Add StepProgressView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e4e40fa93..f191b32e7 100644 --- a/README.md +++ b/README.md @@ -1617,6 +1617,7 @@ Most of these are paid services, some have free tiers. * [DottedProgressBar](https://github.com/nikola9core/DottedProgressBar) - Simple and customizable animated progress bar with dots for iOS. :large_orange_diamond: * [RSLoadingView](https://github.com/roytornado/RSLoadingView) - Awesome loading animations using 3D engine written with Swift. :large_orange_diamond: * [SendIndicator](https://github.com/LeonardoCardoso/SendIndicator) - Yet another task indicator :large_orange_diamond: +* [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. From efe82154ea8a95271485f54642eb7ea8ff724547 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 27 Jun 2017 19:47:36 -0700 Subject: [PATCH 1123/2606] Add InstagramSimpleOAuth, DropboxSimpleOAuth and BoxSimpleOAuth --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 38f9f9bea..61d91f046 100644 --- a/README.md +++ b/README.md @@ -215,6 +215,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and OS X apps. :large_orange_diamond: * [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. :large_orange_diamond: * [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. :large_orange_diamond: +* [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. +* [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. +* [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. ## Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac, all using the Ruby language. From 8a6c04492842b7aa8d8ec46b8dc26fc25c8ec700 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 27 Jun 2017 20:01:27 -0700 Subject: [PATCH 1124/2606] Add Swizzlean --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 38f9f9bea..098e3cf84 100644 --- a/README.md +++ b/README.md @@ -2425,6 +2425,7 @@ Most of these are paid services, some have free tiers. * [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: * [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. * [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift :large_orange_diamond: +* [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. From 46e04ead9970783065b9ddf997c1b17ecaab5364 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 27 Jun 2017 20:02:46 -0700 Subject: [PATCH 1125/2606] Move Swizzlean to correct category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 098e3cf84..51d6f62e1 100644 --- a/README.md +++ b/README.md @@ -2408,6 +2408,7 @@ Most of these are paid services, some have free tiers. * [Attabench](https://github.com/lorentey/Attabench) - Microbenchmarking app for Swift with nice log-log plots :large_orange_diamond: * [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. :large_orange_diamond: * [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. :large_orange_diamond: +* [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. @@ -2425,7 +2426,6 @@ Most of these are paid services, some have free tiers. * [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: * [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. * [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift :large_orange_diamond: -* [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. From 993ff673958bd0dcaf287f5885a824bfe124442c Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Tue, 27 Jun 2017 17:39:56 +0300 Subject: [PATCH 1126/2606] Fix stale links to pacify Danger --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 610d3ace4..3b9b806d2 100644 --- a/README.md +++ b/README.md @@ -2245,7 +2245,7 @@ Most of these are paid services, some have free tiers. * [DeviceGuru](https://github.com/InderKumarRathore/DeviceGuru/) - DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s. :large_orange_diamond: * [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! :large_orange_diamond: * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight App Version Tracking for iOS written in Swift :large_orange_diamond: - * [BlocksKit](https://github.com/zwaldowski/BlocksKit) - The Objective-C block utilities you always wish you had. + * [BlocksKit](https://github.com/BlocksKit/BlocksKit) - The Objective-C block utilities you always wish you had. * [SwiftyUtils](https://github.com/tbaranes/swiftyutils) - All the reusable code that we need in each project. :large_orange_diamond:[e] * [RateLimit](https://github.com/soffes/RateLimit) - Simple utility for only executing code every so often. :large_orange_diamond: * [Outlets](https://github.com/phatblat/Outlets) - Utility functions for validating IBOutlet and IBAction connections :large_orange_diamond: @@ -2395,7 +2395,7 @@ Most of these are paid services, some have free tiers. * [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. :large_orange_diamond: * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. -* [IBM Swift Sandbox](https://swift.sandbox.bluemix.net/verify) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: +* [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A Mac OS X library for managing and manipulating iOS Simulators * [IconResizer](https://iconresizer.com/) - A simple web application to resize iPhone and iPad app icons for the App Store * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. @@ -2635,7 +2635,6 @@ Most of these are paid services, some have free tiers. * [iOS Goodies](http://ios-goodies.com) - Weekly iOS newsletter * [This Week in Swift](https://swiftnews.curated.co) - I'm @NatashaTheRobot and I'm programmed to love #Swift! Every week, I put together a list of the best Swift resources for you. Happy Learning! * [The iOS Times](http://theiostimes.com) - A weekly publication with news and trending projects in the open source iOS ecosystem. -* [Swift Sandbox](http://swiftsandbox.io) - Swift developer newsletter, curated collection of Swift open source news, projects & resources. :large_orange_diamond: * [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week * [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. * [iOS Trivia Weekly](http://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday @@ -2657,7 +2656,6 @@ Most of these are paid services, some have free tiers. * [@CocoaPods](https://twitter.com/CocoaPods) * [@CocoaPodsFeed](https://twitter.com/CocoaPodsFeed) * [@RubyMotion](https://twitter.com/RubyMotion) -* [@SwiftSandbox](https://twitter.com/SwiftSandbox) - Swift open source news, projects and resources. #### Facebook Groups From 15106626d539da641c7268c383374c450a577bd6 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 27 Jun 2017 20:01:27 -0700 Subject: [PATCH 1127/2606] Add Swizzlean --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b9b806d2..5d8326e27 100644 --- a/README.md +++ b/README.md @@ -2429,6 +2429,7 @@ Most of these are paid services, some have free tiers. * [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: * [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. * [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift :large_orange_diamond: +* [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. From ac55dc23dbe2ed765de1ed8e3dd4e7fbfe669ae7 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 27 Jun 2017 20:02:46 -0700 Subject: [PATCH 1128/2606] Move Swizzlean to correct category --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5d8326e27..3b9b806d2 100644 --- a/README.md +++ b/README.md @@ -2429,7 +2429,6 @@ Most of these are paid services, some have free tiers. * [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: * [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. * [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift :large_orange_diamond: -* [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. From 2738da834fe91d9b6db444549db4f5f7036e9cfb Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Wed, 28 Jun 2017 08:48:25 +0300 Subject: [PATCH 1129/2606] Add MultiSlider --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cfda8c4c3..3c4b9aea2 100644 --- a/README.md +++ b/README.md @@ -2018,6 +2018,7 @@ Most of these are paid services, some have free tiers. * [PivotSlider](https://github.com/lab111/pivot-slider) - Slider that pivots :large_orange_diamond: * [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. :large_orange_diamond: * [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. :large_orange_diamond: +* [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels.. :large_orange_diamond: #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. From 5a17520104684ccc2fb25b4a536f2669860c90ed Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Wed, 28 Jun 2017 08:59:27 +0300 Subject: [PATCH 1130/2606] Add MiniLayout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c4b9aea2..c609180fa 100644 --- a/README.md +++ b/README.md @@ -609,6 +609,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PinLayout](https://github.com/mirego/PinLayout) - Extremely Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. 🔶 * [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. 🔶[e] * [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. :large_orange_diamond: +* [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. :large_orange_diamond: #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 20f2d9e6b85419e913dbf300757627c02266f7af Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Wed, 28 Jun 2017 09:12:50 +0300 Subject: [PATCH 1131/2606] Add CameraBackground --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c609180fa..f334987df 100644 --- a/README.md +++ b/README.md @@ -557,6 +557,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [NextLevel](https://github.com/NextLevel/NextLevel) - Next Level is a media capture camera library for iOS. :large_orange_diamond: * [CameraEngine](https://github.com/remirobert/CameraEngine) - 🐒📷 Camera engine for iOS, written in Swift, above AVFoundation. 🐒 :large_orange_diamond: * [SwiftyCam](https://github.com/Awalz/SwiftyCam) - A Snapchat Inspired iOS Camera Framework written in Swift. :large_orange_diamond: +* [CameraBackground](https://github.com/yonat/CameraBackground) - Show camera layer as a background to any UIView. :large_orange_diamond: + #### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: From 590592eb4a336c98ebcdf61c13c8061bffe414d3 Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Wed, 28 Jun 2017 09:18:24 +0300 Subject: [PATCH 1132/2606] removed empty line --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f334987df..b7d506c40 100644 --- a/README.md +++ b/README.md @@ -559,7 +559,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyCam](https://github.com/Awalz/SwiftyCam) - A Snapchat Inspired iOS Camera Framework written in Swift. :large_orange_diamond: * [CameraBackground](https://github.com/yonat/CameraBackground) - Show camera layer as a background to any UIView. :large_orange_diamond: - #### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: * [JustPeek](https://github.com/justeat/JustPeek) - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. :large_orange_diamond: From a79e29bae7b60add536020a415ae8d0af11d3c2e Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Wed, 28 Jun 2017 09:19:53 +0300 Subject: [PATCH 1133/2606] Add MultiToggleButton --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b7d506c40..3fc43708b 100644 --- a/README.md +++ b/README.md @@ -1811,6 +1811,7 @@ Most of these are paid services, some have free tiers. * [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. :large_orange_diamond: * [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. 🔶 * [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. :large_orange_diamond: +* [MultiToggleButton](https://github.com/yonat/MultiToggleButton) - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons). :large_orange_diamond: #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From 5510c09b5e8f7adcd53bd76aa9a71a81fda66538 Mon Sep 17 00:00:00 2001 From: Sascha Schwabbauer Date: Wed, 28 Jun 2017 17:11:38 +0200 Subject: [PATCH 1134/2606] Add Swift mark to PhotoEditorSDK --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3fc43708b..75eb0da1f 100644 --- a/README.md +++ b/README.md @@ -828,7 +828,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! :large_orange_diamond: * [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. :large_orange_diamond: * [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. :large_orange_diamond: -* [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. +* [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From e8746285f63a59cfe2618d15704f9f38c8f7c3f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Wed, 28 Jun 2017 21:11:03 -0300 Subject: [PATCH 1135/2606] Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 75eb0da1f..c0de69ed2 100644 --- a/README.md +++ b/README.md @@ -2034,7 +2034,7 @@ Most of these are paid services, some have free tiers. * [GMStepper](https://github.com/gmertk/GMStepper) - A stepper with a sliding label in the middle. :large_orange_diamond: * [barceloneta](https://github.com/arn00s/barceloneta) - The right way to increment/decrement values with a simple gesture on iOS. :large_orange_diamond: * [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift :large_orange_diamond: -* [SMNumberWheel] (https://github.com/SinaMoetakef/SMNumberWheel) - A custom control written in Swift, which is ideal for picking numbers very fast but yet very accurate using a rotating wheel :large_orange_diamond: +* [SMNumberWheel](https://github.com/SinaMoetakef/SMNumberWheel) - A custom control written in Swift, which is ideal for picking numbers very fast but yet very accurate using a rotating wheel :large_orange_diamond: #### Switch * [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. :large_orange_diamond: From 13afa5936c2d2bc6ad79c2ef6e14ef2dc89eb7c3 Mon Sep 17 00:00:00 2001 From: Linh Chu Date: Thu, 29 Jun 2017 16:40:55 +1000 Subject: [PATCH 1136/2606] Adding LCUIComponents to UI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c0de69ed2..9af9cbaf6 100644 --- a/README.md +++ b/README.md @@ -1569,6 +1569,7 @@ Most of these are paid services, some have free tiers. * [HamsterUIKit](https://github.com/ChromieIsDangerous/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 * [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. 🔶 * [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. 🔶 +* [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover. 🔶 #### Activity Indicator From 62527f0c64ad4649e79c9a9035d367edee0a2361 Mon Sep 17 00:00:00 2001 From: Linh Chu Date: Thu, 29 Jun 2017 16:47:17 +1000 Subject: [PATCH 1137/2606] Adding LCUIComponents to UI --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9af9cbaf6..7cae77246 100644 --- a/README.md +++ b/README.md @@ -1569,7 +1569,7 @@ Most of these are paid services, some have free tiers. * [HamsterUIKit](https://github.com/ChromieIsDangerous/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 * [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. 🔶 * [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. 🔶 -* [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover. 🔶 +* [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. 🔶 #### Activity Indicator From 0f8fef781a74afe6777aa305a62fb02cbc3a8b62 Mon Sep 17 00:00:00 2001 From: Ben Emdon Date: Thu, 29 Jun 2017 22:14:46 -0400 Subject: [PATCH 1138/2606] Updated description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c0de69ed2..32532ae68 100644 --- a/README.md +++ b/README.md @@ -2141,7 +2141,7 @@ Most of these are paid services, some have free tiers. * [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView :large_orange_diamond: * [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. :large_orange_diamond: * [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView :large_orange_diamond: -* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight CollectionView that _'pages'_ and _centers_ it's cells 🎡 written in Swift. :large_orange_diamond: +* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that 'pages' and centers it's cells 🎡 written in Swift. :large_orange_diamond: * [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content. * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. * [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 From a56575d42a202352dffe1c9e73af48caeda5a909 Mon Sep 17 00:00:00 2001 From: Ben Emdon Date: Thu, 29 Jun 2017 22:44:09 -0400 Subject: [PATCH 1139/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 32532ae68..858e8f77f 100644 --- a/README.md +++ b/README.md @@ -2141,7 +2141,7 @@ Most of these are paid services, some have free tiers. * [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView :large_orange_diamond: * [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. :large_orange_diamond: * [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView :large_orange_diamond: -* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that 'pages' and centers it's cells 🎡 written in Swift. :large_orange_diamond: +* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. :large_orange_diamond: * [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content. * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. * [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 From 2afbb6b746477225fba62bdfed0ac90d26c3168b Mon Sep 17 00:00:00 2001 From: Damian Date: Sat, 1 Jul 2017 14:38:27 +0200 Subject: [PATCH 1140/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c0de69ed2..f7172366d 100644 --- a/README.md +++ b/README.md @@ -328,6 +328,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). :large_orange_diamond: * [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. :large_orange_diamond: * [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. :large_orange_diamond: +* [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library. :large_orange_diamond: ## Command Line * [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: From 18bec64ca4ee762d9d749cb93a9033a786abd1d3 Mon Sep 17 00:00:00 2001 From: Damian Date: Sat, 1 Jul 2017 14:51:34 +0200 Subject: [PATCH 1141/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f7172366d..b12f7ebfe 100644 --- a/README.md +++ b/README.md @@ -328,7 +328,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). :large_orange_diamond: * [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. :large_orange_diamond: * [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. :large_orange_diamond: -* [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library. :large_orange_diamond: +* [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. :large_orange_diamond: ## Command Line * [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: From 616013ecadbc429c4c0d49d4ec607ccab16ab9e3 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sun, 2 Jul 2017 20:35:55 -0300 Subject: [PATCH 1142/2606] Add AppDevKit to Tools (Fix #921) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59c821087..61abcbf0d 100644 --- a/README.md +++ b/README.md @@ -2418,6 +2418,7 @@ Most of these are paid services, some have free tiers. * [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. :large_orange_diamond: * [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. :large_orange_diamond: * [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class +* [AppDevKit](https://github.com/yahoo/AppDevKit) - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From ff7336b5eb465c8dd1e3ce5926fb554839d23c58 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sun, 2 Jul 2017 20:37:08 -0300 Subject: [PATCH 1143/2606] Add Tweaks to Tools (Fix #996) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 61abcbf0d..c39fe9e23 100644 --- a/README.md +++ b/README.md @@ -2419,6 +2419,7 @@ Most of these are paid services, some have free tiers. * [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. :large_orange_diamond: * [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class * [AppDevKit](https://github.com/yahoo/AppDevKit) - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. +* [Tweaks](https://github.com/facebook/Tweaks) - An easy way to fine-tune, and adjust parameters for iOS apps in development. # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From e3ac639b03b1fa2dbb5d5f38664582deb0473df4 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sun, 2 Jul 2017 20:38:37 -0300 Subject: [PATCH 1144/2606] Add GCDWebServer to Server (Fix #991) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c39fe9e23..bb775aa5d 100644 --- a/README.md +++ b/README.md @@ -1291,6 +1291,7 @@ Most of these are paid services, some have free tiers. * [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. :large_orange_diamond: * [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. :large_orange_diamond: * [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! :large_orange_diamond: +* [GCDWebServer](https://github.com/swisspol/GCDWebServer) - Lightweight GCD based HTTP server for OS X & iOS (includes web based uploader & WebDAV server) ## Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From f84d2a6494a54aca8aace526624b3bdbbd4fba81 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sun, 2 Jul 2017 20:39:40 -0300 Subject: [PATCH 1145/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb775aa5d..553bb452a 100644 --- a/README.md +++ b/README.md @@ -2280,6 +2280,7 @@ Most of these are paid services, some have free tiers. * [App-Update-Tracker](https://github.com/Stunner/App-Update-Tracker) - Easily detect and run code upon app installation or update. * [ExtensionalSwift](https://github.com/4taras4/SwiftExtension) - Useful swift extensions in one place 🔶[e] * [InAppSettingsKit](https://github.com/futuretap/InAppSettingsKit) - This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app. + * [MMWormhole](https://github.com/mutualmobile/MMWormhole) - Message passing between iOS apps and extensions. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 524a3b190b2b5d9c156bc919981aca42cb17a7fe Mon Sep 17 00:00:00 2001 From: Lisa Dziuba Date: Mon, 3 Jul 2017 19:23:42 +0300 Subject: [PATCH 1146/2606] Add iOS Cookies Newsletter iOS Cookies Newsletter sends the collection of cool libraries weekly. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 553bb452a..30a51f8c3 100644 --- a/README.md +++ b/README.md @@ -2653,6 +2653,7 @@ Most of these are paid services, some have free tiers. * [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday * [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) * [WeeklyCocoa.News](https://weeklycocoa.news) - Weekly updated newsletter about iOS, Swift, Objective-C, CocoaTouch, and other Apple connected development technologies. +* [iOS Cookies Newsletter](http://us11.campaign-archive1.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. #### Medium * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone From 48aaa74dcc45f520acc36915be4559b93caf3df5 Mon Sep 17 00:00:00 2001 From: Saeid Date: Tue, 4 Jul 2017 11:29:36 +0430 Subject: [PATCH 1147/2606] Add GDPersianCalendar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 45580b78f..ca282ecc2 100644 --- a/README.md +++ b/README.md @@ -1779,6 +1779,7 @@ Most of these are paid services, some have free tiers. * [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time :large_orange_diamond: * [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. * [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. :large_orange_diamond: +* [GDPersianCalendar](https://github.com/SaeidBsn/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. 🔶 #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From a9adfc3e4dec3b99aaa713ed67abe4ed24143e44 Mon Sep 17 00:00:00 2001 From: Lucas Date: Tue, 4 Jul 2017 16:55:56 +0200 Subject: [PATCH 1148/2606] Add SimpleImageViewer (#1780) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d5e42f5e1..ec6f30e3d 100644 --- a/README.md +++ b/README.md @@ -830,6 +830,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. :large_orange_diamond: * [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. :large_orange_diamond: * [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. :large_orange_diamond: +* [SimpleImageViewer](https://github.com/aFrogleap/SimpleImageViewer) - A snappy image viewer with zoom and interactive dismissal transition. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 180a0659e72eafab557927941bca4b27df8a3e26 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 5 Jul 2017 12:37:25 +0530 Subject: [PATCH 1149/2606] Add Bluejay (#1782) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ec6f30e3d..391ba73f9 100644 --- a/README.md +++ b/README.md @@ -538,6 +538,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework :large_orange_diamond: * [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. :large_orange_diamond: * [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U :large_orange_diamond: +* [Bluejay](https://github.com/steamclock/bluejay) - A simple Swift framework for building reliable Bluetooth LE apps. :large_orange_diamond: #### Camera * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. From 5394067b87a16619929e5a5a1fff580c54654b98 Mon Sep 17 00:00:00 2001 From: Paolo Musolino Date: Wed, 5 Jul 2017 12:12:02 +0200 Subject: [PATCH 1150/2606] Added PMSuperButton to Button category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 391ba73f9..c626b47fc 100644 --- a/README.md +++ b/README.md @@ -1817,6 +1817,7 @@ Most of these are paid services, some have free tiers. * [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. 🔶 * [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. :large_orange_diamond: * [MultiToggleButton](https://github.com/yonat/MultiToggleButton) - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons). :large_orange_diamond: +* [PMSuperButton](https://github.com/Codeido/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! 🔶 #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From 6839ff468c2d29c74c038f6f5709b264228c1e74 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 5 Jul 2017 09:21:57 -0700 Subject: [PATCH 1151/2606] Update Dangerfile close #1781 --- Dangerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dangerfile b/Dangerfile index 7dd607a00..eba72b2a7 100644 --- a/Dangerfile +++ b/Dangerfile @@ -15,6 +15,8 @@ require 'json' results = File.read 'ab-results-README.md-markdown-table.json' j = JSON.parse results if j['error']==true - fail j['title'] + m = j['title'] + m << ', a project collaborator will take care of these, thanks: )' + warn m markdown j['message'] end From cbf9077a1ae7448c4f6ac8668a601416f06a0385 Mon Sep 17 00:00:00 2001 From: Armaan Bindra Date: Wed, 5 Jul 2017 14:54:58 -0500 Subject: [PATCH 1152/2606] Add VoiceItAPI1IosSDK --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 391ba73f9..22060d9e7 100644 --- a/README.md +++ b/README.md @@ -218,6 +218,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. * [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. * [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. +* [VoiceItAPI1IosSDK](https://github.com/voiceittech/VoiceItAPI1IosSDK) - A super easy way to add Voice Authentication(Biometrics) to your iOS apps, conveniently usable via cocoapods :large_orange_diamond: ## Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac, all using the Ruby language. From faa69c2571d158c740ed29ad081313f05ee9232e Mon Sep 17 00:00:00 2001 From: Armaan Bindra Date: Wed, 5 Jul 2017 15:06:55 -0500 Subject: [PATCH 1153/2606] Add VoiceItAPI1IosSDK --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 22060d9e7..beaae2e1c 100644 --- a/README.md +++ b/README.md @@ -218,7 +218,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. * [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. * [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. -* [VoiceItAPI1IosSDK](https://github.com/voiceittech/VoiceItAPI1IosSDK) - A super easy way to add Voice Authentication(Biometrics) to your iOS apps, conveniently usable via cocoapods :large_orange_diamond: ## Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac, all using the Ruby language. @@ -1242,6 +1241,7 @@ Most of these are paid services, some have free tiers. * [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. * [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application 🔶 * [SAPinViewController](https://github.com/siavashalipour/SAPinViewController) - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen. 🔶 +* [VoiceItAPI1IosSDK](https://github.com/voiceittech/VoiceItAPI1IosSDK) - A super easy way to add Voice Authentication(Biometrics) to your iOS apps, conveniently usable via cocoapods :large_orange_diamond: #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From df37704c7789f66220bb1c33feabddca970fead4 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Wed, 5 Jul 2017 14:33:44 -0700 Subject: [PATCH 1154/2606] Update README URLs based on HTTP redirects (#1785) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 391ba73f9..ff6324ae7 100644 --- a/README.md +++ b/README.md @@ -701,7 +701,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [NAMapKit](https://github.com/neilang/NAMapKit) - Allows you to use custom maps in iPhone applications and attempts to mimics some of the behaviour of the MapKit framework. * [Mapbox GL](https://github.com/mapbox/mapbox-gl-native) - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS. * [CMMapLauncher](https://github.com/citymapper/CMMapLauncher) - iOS library that makes it quick and easy to show directions in various mapping applications. -* [GEOSwift](https://github.com/andreacremaschi/GEOSwift) - The Swift Geographic Engine. :large_orange_diamond: +* [GEOSwift](https://github.com/GEOSwift/GEOSwift) - The Swift Geographic Engine. :large_orange_diamond: * [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift :large_orange_diamond: * [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. :large_orange_diamond: @@ -764,7 +764,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. * [SDWebImage](https://github.com/rs/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. * [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. -* [MapleBacon](https://github.com/zalando-incubator/MapleBacon) - An image download and caching library for iOS written in Swift. :large_orange_diamond: +* [MapleBacon](https://github.com/JanGorman/MapleBacon) - An image download and caching library for iOS written in Swift. :large_orange_diamond: * [NYTPhotoViewer](https://github.com/NYTimes/NYTPhotoViewer) - Slideshow and image viewer. * [IDMPhotoBrowser](https://github.com/thiagoperes/IDMPhotoBrowser) - Photo Browser / Viewer. * [JTSImageViewController](https://github.com/jaredsinclair/JTSImageViewController) - Interactive iOS image viewer. @@ -991,7 +991,7 @@ Most of these are paid services, some have free tiers. * [Boxcar](https://boxcar.io) * [Carnival](http://www.carnival.io) * [Catapush](http://www.catapush.com/) -* [Netmera](http://www.netmera.com) +* [Netmera](https://www.netmera.com/) * [OneSignal](https://onesignal.com) - Free. * [PushBots](https://pushbots.com/) * [Pushwoosh](https://www.pushwoosh.com) From 582f4334e48adf8a055e44377b6976a3555370fe Mon Sep 17 00:00:00 2001 From: Nikolai Vazquez Date: Thu, 6 Jul 2017 10:54:11 -0400 Subject: [PATCH 1155/2606] Add Optimization category and Unreachable library (#1776) --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 15fec13ba..e75d5f544 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Push Notifications](#push-notifications) - [Push Notification Providers](#push-notification-providers) - [Local Notifications](#local-notifications) + - [Optimization](#optimization) - [Parsing](#parsing) - [CSV](#csv) - [JSON](#json) @@ -1001,6 +1002,9 @@ Most of these are paid services, some have free tiers. #### Local Notifications * [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. :large_orange_diamond: +## Optimization +* [Unreachable](https://github.com/nvzqz/Unreachable) - Unreachable code path optimization hint for Swift. :large_orange_diamond: + ## Parsing #### CSV From fab520a2026d8fe84a3269ca18ac45e4ee5a32a2 Mon Sep 17 00:00:00 2001 From: sajjon Date: Thu, 15 Jun 2017 20:06:56 +0200 Subject: [PATCH 1156/2606] Adding `ViewComposer` - compose views using array literal of enums expressing view attributes. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e75d5f544..7caa3e9c1 100644 --- a/README.md +++ b/README.md @@ -1579,6 +1579,7 @@ Most of these are paid services, some have free tiers. * [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. 🔶 * [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. 🔶 * [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. 🔶 +* [ViewComposer](https://github.com/Sajjon/ViewComposer) - `let lbl: UILabel = [.text("Hello"), .textColor(.red)]` - Create views using array literal of enum expressing view attributes. #### Activity Indicator From c633115e25604ab7b988b0c2aa52df34799488e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20M=2E=20Wo=C5=BAniak?= Date: Thu, 6 Jul 2017 17:58:14 +0200 Subject: [PATCH 1157/2606] Update OS X to macOS (#1788) --- README.md | 154 +++++++++++++++++++++++++++--------------------------- 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/README.md b/README.md index e75d5f544..ded615d17 100644 --- a/README.md +++ b/README.md @@ -195,7 +195,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. -* [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and OS X +* [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS * [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager with or without client-server :large_orange_diamond: * [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! :large_orange_diamond: * [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. :large_orange_diamond: @@ -208,12 +208,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: * [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. :large_orange_diamond: * [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. :large_orange_diamond: -* [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for OS X and iOS, written in Swift. :large_orange_diamond: +* [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for macOS and iOS, written in Swift. :large_orange_diamond: * [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS :large_orange_diamond: * [SimpleAuth](https://github.com/calebd/SimpleAuth) - Simple social authentication for iOS. * [AlamofireOauth2](https://github.com/evermeer/AlamofireOauth2) - A swift implementation of OAuth2 :large_orange_diamond: * [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers :large_orange_diamond: -* [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and OS X apps. :large_orange_diamond: +* [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and macOS apps. :large_orange_diamond: * [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. :large_orange_diamond: * [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. :large_orange_diamond: * [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. @@ -221,10 +221,10 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. ## Bridging -* [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and OS X applications for iPhone, iPad and Mac, all using the Ruby language. +* [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. * [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. -* [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/OSX bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews -* [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and OS X +* [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews +* [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS ## Cache * [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) :large_orange_diamond: @@ -238,7 +238,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. :large_orange_diamond: * [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cell cache that cures scroll-lags on a cell instantiating. * [RocketData](https://github.com/linkedin/RocketData) - A caching and consistency solution for immutable models. :large_orange_diamond: -* [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and OS X +* [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS * [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift :large_orange_diamond: ## Charts @@ -315,7 +315,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. * [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. :large_orange_diamond:[e] * [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. :large_orange_diamond:[e] -* [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/OSX development life easier. +* [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier. * [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. :large_orange_diamond: * [Crayons](https://github.com/Sephiroth87/Crayons) - An Xcode plugin to improve dealing with colors in your project * [Hue](https://github.com/hyperoslo/Hue) - Hue is the all-in-one coloring utility that you'll ever need. @@ -380,7 +380,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. :large_orange_diamond: * [DATAStack](https://github.com/SyncDB/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: * [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. -* [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, OSX, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. :large_orange_diamond: +* [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. :large_orange_diamond: ## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. @@ -451,7 +451,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Punctual.swift](https://github.com/harlanhaskins/Punctual.swift) - Swift dates, more fun. :large_orange_diamond: * [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond: * [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond: -* [Tempo](https://github.com/remirobert/Tempo) - :watch: Date and time manager for iOS/OSX written in Swift :large_orange_diamond: +* [Tempo](https://github.com/remirobert/Tempo) - :watch: Date and time manager for iOS/macOS written in Swift :large_orange_diamond: * [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. * [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. :large_orange_diamond: * [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift :large_orange_diamond: @@ -462,7 +462,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## EventBus * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: -* [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and OS X. +* [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and macOS. * [Bolts](https://github.com/BoltsFramework/Bolts-ObjC) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links). * [SwiftTask](https://github.com/ReactKit/SwiftTask) - Promise + progress + pause + cancel + retry for Swift. :large_orange_diamond: * [When](https://github.com/vadymmarkov/When) - A lightweight implementation of Promises in Swift. :large_orange_diamond: @@ -471,7 +471,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RWPromiseKit](https://github.com/deput/RWPromiseKit) - A light-weighted Promise library for Objective-C * [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. :large_orange_diamond: * [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety :large_orange_diamond: -* [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for IOS and OS X. :large_orange_diamond: +* [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for iOS and macOS. :large_orange_diamond: * [signals-ios](https://github.com/uber/signals-ios) - Typeful eventing * [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. :large_orange_diamond: * [NoticeObserveKit](https://github.com/marty-suzuki/NoticeObserveKit) - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. :large_orange_diamond: @@ -519,11 +519,11 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext * [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! :large_orange_diamond: * [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). :large_orange_diamond: -* [InkKit](https://github.com/shaps80/InkKit) - Write-Once, Draw-Everywhere for iOS and OSX -- Now in Swift! :large_orange_diamond: +* [InkKit](https://github.com/shaps80/InkKit) - Write-Once, Draw-Everywhere for iOS and macOS -- Now in Swift! :large_orange_diamond: * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. * [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone :large_orange_diamond: * [jot](https://github.com/IFTTT/jot) - An iOS framework for easily adding drawings and text to images. -* [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / OS X, using native rendering (CoreAnimation) (currently only supported for iOS - OS X code needs updating). +* [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / macOS, using native rendering (CoreAnimation) (currently only supported for iOS - macOS code needs updating). * [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. :large_orange_diamond: * [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit @@ -533,8 +533,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. * [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. :large_orange_diamond: * [simple-share](https://github.com/lauraskelton/simple-share) - Easy Proximity-based Bluetooth LE Sharing for iOS. -* [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/OSX devices using BLE. :large_orange_diamond: -* [CocoaMultipeer](https://github.com/manavgabhawala/CocoaMultipeer) - This repository is a peer to peer framework for OS X, iOS and watchOS 2 that presents a similar interface to the MultipeerConnectivity framework (which is iOS only) that lets you connect any 2 devices from any platform. :large_orange_diamond: +* [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/macOS devices using BLE. :large_orange_diamond: +* [CocoaMultipeer](https://github.com/manavgabhawala/CocoaMultipeer) - This repository is a peer to peer framework for macOS, iOS and watchOS 2 that presents a similar interface to the MultipeerConnectivity framework (which is iOS only) that lets you connect any 2 devices from any platform. :large_orange_diamond: * [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift :large_orange_diamond: * [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework :large_orange_diamond: * [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. :large_orange_diamond: @@ -579,8 +579,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. * [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. * [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. -* [PureLayout](https://github.com/PureLayout/PureLayout) - The ultimate API for iOS & OS X Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible. -* [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & OS X. :large_orange_diamond: +* [PureLayout](https://github.com/PureLayout/PureLayout) - The ultimate API for iOS & macOS Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible. +* [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & macOS. :large_orange_diamond: * [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :iphone::triangular_ruler: :large_orange_diamond: * [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. :large_orange_diamond: * [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. :large_orange_diamond: @@ -627,7 +627,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Other Hardware * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. -* [DarkLightning](https://github.com/jensmeder/DarkLightning) - Simply the fastest way to transmit data between iOS/tvOS and OSX. +* [DarkLightning](https://github.com/jensmeder/DarkLightning) - Simply the fastest way to transmit data between iOS/tvOS and macOS. * [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 * [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. :large_orange_diamond: * [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. :large_orange_diamond: @@ -655,7 +655,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Logging * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: * [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. -* [NSLogger](https://github.com/fpillet/NSLogger) - a high performance logging utility which displays traces emitted by client applications running on Mac OS X, iOS and Android. +* [NSLogger](https://github.com/fpillet/NSLogger) - a high performance logging utility which displays traces emitted by client applications running on macOS, iOS and Android. * [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. :large_orange_diamond: * [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. :large_orange_diamond: * [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. :large_orange_diamond: @@ -672,13 +672,13 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. :large_orange_diamond: * [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. :large_orange_diamond: * [Evergreen](https://github.com/knly/Evergreen) - Most natural Swift logging :large_orange_diamond: -* [Logkit](https://github.com/logkit/logkit) - An efficient logging library for OS X, iOS, watchOS, and tvOS – written in Swift. Log to console, file, HTTP service, or your own endpoint. Simple to get started, but smartly customizable :large_orange_diamond: +* [Logkit](https://github.com/logkit/logkit) - An efficient logging library for macOS, iOS, watchOS, and tvOS – written in Swift. Log to console, file, HTTP service, or your own endpoint. Simple to get started, but smartly customizable :large_orange_diamond: * [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations :large_orange_diamond: * [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. :large_orange_diamond: * [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. * [LxDBAnything](https://github.com/DeveloperLx/LxDBAnything) - Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! * [XLTestLog](https://github.com/xareelee/XLTestLog) - Styling and coloring your XCTest logs on Xcode Console -* [XLFacility](https://github.com/swisspol/XLFacility) - Elegant and extensive logging facility for OS X & iOS (includes database, Telnet and HTTP servers) +* [XLFacility](https://github.com/swisspol/XLFacility) - Elegant and extensive logging facility for macOS & iOS (includes database, Telnet and HTTP servers) * [Atlantis](https://github.com/DrewKiino/Atlantis) - A powerful input-agnostic swift logging framework made to speed up development with maximum readability. :large_orange_diamond: * [StoryTeller](https://github.com/drekka/StoryTeller) - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important. * [LumberMill](https://github.com/ubclaunchpad/LumberMill) - Stupidly simple logging for iOS 10 and Swift 3.0 @@ -725,8 +725,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Audio * [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing. * [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. :large_orange_diamond: -* [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/OSX audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. -* [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and Mac OS X. +* [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/macOS audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. +* [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and macOS. * [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). * [Cephalopod](https://github.com/evgenyneu/Cephalopod) - A sound fader for AVAudioPlayer written in Swift. :large_orange_diamond: * [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! :large_orange_diamond: @@ -736,7 +736,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TuningFork](https://github.com/comyar/TuningFork) - :musical_keyboard: Simple Tuner for iOS :large_orange_diamond: * [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift :large_orange_diamond: * [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. :large_orange_diamond: -* [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/OSX DSP for audio (with Novocaine) +* [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/macOS DSP for audio (with Novocaine) * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. * [IQAudioRecorderController](https://github.com/hackiftekhar/IQAudioRecorderController) - A drop-in universal library allows to record audio within the app with a nice User Interface. * [TheAmazingAudioEngine2](https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine2) - The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to. @@ -761,7 +761,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Image * [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. -* [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - IOS UIImage processing functions using the vDSP/Accelerate framework for speed. +* [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - iOS UIImage processing functions using the vDSP/Accelerate framework for speed. * [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. * [SDWebImage](https://github.com/rs/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. * [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. @@ -852,7 +852,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Streaming * [lf.swift](https://github.com/shogo4405/lf.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. :large_orange_diamond: -* [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for OSX and iOS. +* [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for macOS and iOS. * [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. :large_orange_diamond: * [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate * [Airstream](https://github.com/qasim/Airstream) - A framework for streaming audio between Apple devices using AirPlay. @@ -861,7 +861,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. * [MobilePlayer](https://github.com/mobileplayer/mobileplayer-ios) - A powerful and completely customizable media player for iOS. -* [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and OS X +* [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS * [AVAnimator](http://www.modejong.com/AVAnimator/) - An open source iOS native library that makes it easy to implement non-trivial video/audio enabled apps. * [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control :large_orange_diamond: * [SSVideoPlayer](https://github.com/immrss/SSVideoPlayer) - A video player that support both local and network resource. @@ -900,10 +900,10 @@ Also see [push notifications](#push-notifications) * [OTTextChatAccelerator](https://github.com/opentok/accelerator-textchat-ios) - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices. ## Networking -* [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and OS X networking framework. +* [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. * [RestKit](https://github.com/RestKit/RestKit) - RestKit is an Objective-C framework for iOS that aims to make interacting with RESTful web services simple, fast and fun. * [FSNetworking](https://github.com/foursquare/FSNetworking) - Foursquare iOS networking library. -* [ASIHTTPRequest](https://github.com/pokeb/asi-http-request) - Easy to use CFNetwork wrapper for HTTP requests, Objective-C, Mac OS X and iPhone. +* [ASIHTTPRequest](https://github.com/pokeb/asi-http-request) - Easy to use CFNetwork wrapper for HTTP requests, Objective-C, macOS and iPhone. * [Overcoat](https://github.com/Overcoat/Overcoat) - Small but powerful library that makes creating REST clients simple and fun. * [ROADFramework](https://github.com/epam/road-ios-framework) - Attributed-oriented approach for interacting with web services. The framework has built-in json and xml serialization for requests and responses and can be easily extensible. * [Alamofire](https://github.com/Alamofire/Alamofire) - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking. :large_orange_diamond: @@ -915,7 +915,7 @@ Also see [push notifications](#push-notifications) * [Siesta](https://bustoutsolutions.github.io/siesta/) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. :large_orange_diamond: * [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures :large_orange_diamond: * [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. -* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / OSX network debugging library! :large_orange_diamond: +* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! :large_orange_diamond: * [OctopusKit](https://github.com/icoco/OctopusKit) - A simplicity but graceful solution for invoke RESTful web service APIs. * [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. :large_orange_diamond: * [TWRDownloadManager](https://github.com/chasseurmic/TWRDownloadManager) - A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. @@ -927,7 +927,7 @@ Also see [push notifications](#push-notifications) * [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer. :large_orange_diamond: * [Pitaya](https://github.com/johnlui/Pitaya) - A Swift HTTP / HTTPS networking library just incidentally execute on machines :large_orange_diamond: * [Just](https://github.com/JustHTTP/Just) - Swift HTTP for Humans :large_orange_diamond: -* [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and OS X :large_orange_diamond: +* [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and macOS :large_orange_diamond: * [Reach](https://github.com/Isuru-Nanayakkara/Reach) - A simple class to check for internet connection availability in Swift. :large_orange_diamond: * [SwiftHTTP](https://github.com/daltoniam/SwiftHTTP) - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. :large_orange_diamond: * [Netdiag](https://github.com/qiniu/iOS-netdiag) - A network diagnosis library. Support Ping/TcpPing/Rtmp/TraceRoute/DNS/external IP/external DNS. @@ -939,9 +939,9 @@ Also see [push notifications](#push-notifications) * [APIKit](https://github.com/ishkawa/APIKit) - A networking library for building type safe web API client in Swift. :large_orange_diamond: * [ws ☁️](https://github.com/freshOS/ws) - Elegant JSON WebService in Swift.:large_orange_diamond: * [SPTDataLoader](https://github.com/spotify/SPTDataLoader) - The HTTP library used by the Spotify iOS client. -* [SWNetworking](https://github.com/skywite/SWNetworking) - Powerful high-level iOS, OS X and tvOS networking library. +* [SWNetworking](https://github.com/skywite/SWNetworking) - Powerful high-level iOS, macOS and tvOS networking library. * [Networking](https://github.com/3lvis/Networking) - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support :large_orange_diamond: -* [SOAPEngine](https://github.com/priore/SOAPEngine) - This generic SOAP client allows you to access web services using a your iOS app, Mac OS X app and AppleTV app. +* [SOAPEngine](https://github.com/priore/SOAPEngine) - This generic SOAP client allows you to access web services using a your iOS app, macOS app and AppleTV app. * [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working) :large_orange_diamond: * [Malibu](https://github.com/hyperoslo/Malibu) - :surfer: Malibu is a networking library built on promises :large_orange_diamond: * [YTKNetwork](https://github.com/yuantiku/YTKNetwork) - YTKNetwork is a high level request util based on AFNetworking. @@ -978,7 +978,7 @@ Also see [push notifications](#push-notifications) * [PEM](https://github.com/fastlane/fastlane/tree/master/pem) - Automatically generate and renew your push notification profiles. * [Knuff](https://github.com/KnuffApp/Knuff) - The debug application for Apple Push Notification Service (APNS). * [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework. -* [NWPusher](https://github.com/noodlewerk/NWPusher) - OS X and iOS application and framework to play with the Apple Push Notification service (APNs) +* [NWPusher](https://github.com/noodlewerk/NWPusher) - macOS and iOS application and framework to play with the Apple Push Notification service (APNs) * [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator ##### Push Notification Providers @@ -1032,8 +1032,8 @@ Most of these are paid services, some have free tiers. * [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. :large_orange_diamond: * [mapper](https://github.com/lyft/mapper) - A JSON deserialization library for Swift :large_orange_diamond: * [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection :large_orange_diamond: -* [Jay](https://github.com/DanToml/Jay) - Pure-Swift JSON parser & formatter. Linux & OS X ready. :large_orange_diamond: -* [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/OSX. +* [Jay](https://github.com/DanToml/Jay) - Pure-Swift JSON parser & formatter. Linux & macOS ready. :large_orange_diamond: +* [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/macOS. * [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON :large_orange_diamond: * [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder :large_orange_diamond: * [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. :large_orange_diamond: @@ -1043,7 +1043,7 @@ Most of these are paid services, some have free tiers. * [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder :large_orange_diamond: * [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. :large_orange_diamond: * [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects :large_orange_diamond: -* [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. :large_orange_diamond: +* [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for macOS which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. :large_orange_diamond: * [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. :large_orange_diamond: * [MJExtension](https://github.com/CoderMJLee/MJExtension) - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file. * [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper :large_orange_diamond: @@ -1061,17 +1061,17 @@ Most of these are paid services, some have free tiers. #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: * [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. :large_orange_diamond: -* [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & OS X +* [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & macOS * [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects :large_orange_diamond: * [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support :large_orange_diamond: -* [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for MacOSX/iOS. :large_orange_diamond: +* [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for macOS/iOS. :large_orange_diamond: * [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. * [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift :large_orange_diamond: * [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 3 :large_orange_diamond: #### Other Parsing -* [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/OSX to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: +* [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: * [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: * [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift :large_orange_diamond: * [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. :large_orange_diamond: @@ -1092,7 +1092,7 @@ Most of these are paid services, some have free tiers. * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. * [Moltin](https://www.moltin.com/ios-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. * [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. :large_orange_diamond: -* [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and OSX 9.0+ :large_orange_diamond: +* [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ :large_orange_diamond: * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS :large_orange_diamond: * [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework :large_orange_diamond: * [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions @@ -1137,7 +1137,7 @@ Most of these are paid services, some have free tiers. * [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire :large_orange_diamond: * [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types :large_orange_diamond: * [RxMultipeer](https://github.com/RxSwiftCommunity/RxMultipeer) - A testable RxSwift wrapper around MultipeerConnectivity :large_orange_diamond: -* [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & OSX Bluetooth library for RxSwift :large_orange_diamond: +* [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & macOS Bluetooth library for RxSwift :large_orange_diamond: * [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures :large_orange_diamond: * [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. :large_orange_diamond: * [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data :large_orange_diamond: @@ -1185,11 +1185,11 @@ Most of these are paid services, some have free tiers. * [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS * [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. * [Pocket](https://github.com/Pocket/Pocket-ObjC-SDK) SDK for saving stuff to Pocket. -* [Tumblr](https://github.com/tumblr/TMTumblrSDK) Library for easily integrating Tumblr data into your iOS or OS X application. +* [Tumblr](https://github.com/tumblr/TMTumblrSDK) Library for easily integrating Tumblr data into your iOS or macOS application. * [Evernote](https://github.com/evernote/evernote-cloud-sdk-ios) Evernote SDK for iOS. -* [Box](https://github.com/box/box-ios-sdk) iOS + OS X SDK for the Box API. +* [Box](https://github.com/box/box-ios-sdk) iOS + macOS SDK for the Box API. * [OneDrive](https://github.com/OneDrive/onedrive-sdk-ios) Live SDK for iOS. -* [Stripe](https://github.com/stripe/stripe-ios) Stripe bindings for iOS and OS X. +* [Stripe](https://github.com/stripe/stripe-ios) Stripe bindings for iOS and macOS. * [Venmo](#payments) * [AWS](https://github.com/aws/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. * [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. @@ -1217,7 +1217,7 @@ Most of these are paid services, some have free tiers. * [DribbbleSDK](https://github.com/agilie/dribbble-ios-sdk) - Dribbble iOS SDK. * [objectiveflickr](https://github.com/lukhnos/objectiveflickr) - ObjectiveFlickr, a Flickr API framework for Objective-C. * [Easy Social](https://github.com/pjebs/EasySocial) - Twitter & Facebook Integration. -* [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and OSX. :large_orange_diamond: +* [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and macOS. :large_orange_diamond: * [SocialLib](https://github.com/darkcl/SocialLib) - SocialLib handles sharing message to multiple social media. * [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift :large_orange_diamond: * [TJDropbox](https://github.com/timonus/TJDropbox) - A Dropbox v2 client library written in Objective-C @@ -1225,8 +1225,8 @@ Most of these are paid services, some have free tiers. * [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift :large_orange_diamond: * [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. * [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project :large_orange_diamond: -* [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & OS X written in Swift :large_orange_diamond: -* [SlackKit](https://github.com/SlackKit/SlackKit) - a Slack client library for iOS and OS X written in Swift :large_orange_diamond: +* [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & macOS written in Swift :large_orange_diamond: +* [SlackKit](https://github.com/SlackKit/SlackKit) - a Slack client library for iOS and macOS written in Swift :large_orange_diamond: * [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift 3 Framework to Generate Random Users - An Unofficial SDK for randomuser.me :large_orange_diamond: * [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). :large_orange_diamond: * [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. :large_orange_diamond: @@ -1254,11 +1254,11 @@ Most of these are paid services, some have free tiers. * [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: * [SwiftHash](https://github.com/onmyway133/SwiftHash) - 🍕 Hash in Swift :large_orange_diamond: * [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms. :large_orange_diamond: -* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and OS X :large_orange_diamond: +* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and macOS :large_orange_diamond: * [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. :large_orange_diamond: * [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift :large_orange_diamond: * [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: -* [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/OS X, Android and different server side platforms. +* [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/macOS, Android and different server side platforms. * [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - Secure your app by obfuscating all the hard-coded security-sensitive strings. * [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: @@ -1267,9 +1267,9 @@ Most of these are paid services, some have free tiers. #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. -* [Valet](https://github.com/square/Valet) - Securely store data in the iOS or OS X Keychain without knowing a thing about how the Keychain works. +* [Valet](https://github.com/square/Valet) - Securely store data in the iOS or macOS Keychain without knowing a thing about how the Keychain works. * [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. :large_orange_diamond: -* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and OS X :large_orange_diamond: +* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and macOS :large_orange_diamond: * [Keychains](https://github.com/hyperoslo/Keychains) - Because you should care... about the security... of your shit. :large_orange_diamond: * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. * [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. @@ -1278,28 +1278,28 @@ Most of these are paid services, some have free tiers. ## Server * [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. :large_orange_diamond: * [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. :large_orange_diamond: -* [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for Mac OS X or iOS applications. +* [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for macOS or iOS applications. * [Curassow](https://github.com/kylef/Curassow) - Swift HTTP server using the pre-fork worker model. :large_orange_diamond: * [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux :large_orange_diamond: -* [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, OS X, and Ubuntu. :large_orange_diamond: +* [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, macOS, and Ubuntu. :large_orange_diamond: * [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift :large_orange_diamond: * [blackfire](https://github.com/elliottminns/blackfire) - A fast HTTP web server based on Node.js and Express written in Swift :large_orange_diamond: -* [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and Mac OS X :large_orange_diamond: +* [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and macOS :large_orange_diamond: * [Trevi](https://github.com/Yoseob/Trevi) - libuv base Swift web HTTP server framework :large_orange_diamond: * [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift :large_orange_diamond: * [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift :large_orange_diamond: * [Frank](https://github.com/kylef/Frank) - Frank is a DSL for quickly writing web applications in Swift :large_orange_diamond: * [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server :large_orange_diamond: -* [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X :large_orange_diamond: +* [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and macOS :large_orange_diamond: * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: -* [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. OS X + Linux compatible. :large_orange_diamond: +* [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. macOS + Linux compatible. :large_orange_diamond: * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: * [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: * [Edge](https://github.com/SwiftOnEdge/Edge) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: * [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. :large_orange_diamond: * [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. :large_orange_diamond: * [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! :large_orange_diamond: -* [GCDWebServer](https://github.com/swisspol/GCDWebServer) - Lightweight GCD based HTTP server for OS X & iOS (includes web based uploader & WebDAV server) +* [GCDWebServer](https://github.com/swisspol/GCDWebServer) - Lightweight GCD based HTTP server for macOS & iOS (includes web based uploader & WebDAV server) ## Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. @@ -1340,10 +1340,10 @@ Most of these are paid services, some have free tiers. * [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. :large_orange_diamond: * [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. :large_orange_diamond: * [MarkdownKit](https://github.com/ivanbruel/MarkdownKit) - A simple and customizable Markdown Parser for Swift. :large_orange_diamond: -* [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and OS X. :large_orange_diamond: +* [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and macOS. :large_orange_diamond: * [Apodimark](https://github.com/loiclec/Apodimark) - Fast, flexible markdown parser written in Swift. :large_orange_diamond: * [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. :large_orange_diamond: -* [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for IOS. With UITextField extension. :large_orange_diamond: +* [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for iOS. With UITextField extension. :large_orange_diamond: * [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. :large_orange_diamond: * [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/emojione/emojione). :large_orange_diamond: * [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. :large_orange_diamond: @@ -1387,7 +1387,7 @@ Most of these are paid services, some have free tiers. * [Cucumber](https://cucumber.io/) - Behavior driver development for iOS. * [Kif](https://github.com/kif-framework/KIF) - An iOS Functional Testing Framework. * [Subliminal](https://github.com/inkling/Subliminal) - An understated approach to iOS integration testing. -* [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any IOS native, hybrid, or mobile web application using Selenium / WebDriver. +* [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any iOS native, hybrid, or mobile web application using Selenium / WebDriver. * [Zucchini](https://github.com/zucchini-src/zucchini) - A visual iOS testing framework that loves your apps. * [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. * [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations. @@ -1446,7 +1446,7 @@ Most of these are paid services, some have free tiers. * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. -* [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and OS X. +* [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. * [HoneycombView](https://github.com/suzuki-0000/HoneycombView) - HoneycombView is the iOS UIView for displaying like Honyecomb layout written by swift. :large_orange_diamond: * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. * [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: @@ -1636,7 +1636,7 @@ Most of these are paid services, some have free tiers. * [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. :large_orange_diamond: #### Animation -* [Pop](https://github.com/facebook/pop) - An extensible iOS and OS X animation library, useful for physics-based interactions. +* [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. * [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. * [Awesome-iOS-Animation](https://github.com/jackyzh/awesome-ios-animation) - Collection of Animation projects * [RZTransitions](https://github.com/Raizlabs/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. @@ -1878,7 +1878,7 @@ Most of these are paid services, some have free tiers. * [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift :large_orange_diamond: * [MZTimerLabel](https://github.com/mineschan/MZTimerLabel) - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App. * [CountdownLabel](https://github.com/suzuki-0000/CountdownLabel) - Simple countdown UILabel with morphing animation, and some useful function. :large_orange_diamond: -* [IncrementableLabel](https://github.com/tbaranes/IncrementableLabel) - Incrementable label for iOS, OS X, and tvOS. :large_orange_diamond: +* [IncrementableLabel](https://github.com/tbaranes/IncrementableLabel) - Incrementable label for iOS, macOS, and tvOS. :large_orange_diamond: * [TTTAttributedLabel](https://github.com/TTTAttributedLabel/TTTAttributedLabel) - A drop-in replacement for UILabel that supports attributes, data detectors, links, and more * [NumberMorphView](https://github.com/me-abhinav/NumberMorphView) - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. :large_orange_diamond: * [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. :large_orange_diamond: @@ -2273,7 +2273,7 @@ Most of these are paid services, some have free tiers. * [BundleInfos](https://github.com/singcodes/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. 🔶 * [YAML.framework](https://github.com/mirek/YAML.framework) - Proper YAML support for Objective-C based on `LibYAML`. * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. 🔶 - * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, OSX) :large_orange_diamond: + * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, macOS) :large_orange_diamond: * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! :large_orange_diamond: * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) :large_orange_diamond: * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 2.2 :large_orange_diamond: @@ -2323,11 +2323,11 @@ Most of these are paid services, some have free tiers. ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. -* [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/OS X. :large_orange_diamond: -* [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and OSX. :large_orange_diamond: -* [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and OSX :large_orange_diamond: +* [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/macOS. :large_orange_diamond: +* [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and macOS. :large_orange_diamond: +* [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and macOS :large_orange_diamond: * [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. :large_orange_diamond: -* [Socks](https://github.com/vapor/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, OS X :large_orange_diamond: +* [Socks](https://github.com/vapor/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS :large_orange_diamond: * [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS :large_orange_diamond: * [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. :large_orange_diamond: @@ -2367,7 +2367,7 @@ Most of these are paid services, some have free tiers. * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. * [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. :large_orange_diamond: * [SwiftGen](https://github.com/SwiftGen/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). :large_orange_diamond: -* [Blade](https://github.com/jondot/blade) - Generate Xcode image catalogs for iOS / OSX app icons, universal images, and more. +* [Blade](https://github.com/jondot/blade) - Generate Xcode image catalogs for iOS / macOS app icons, universal images, and more. * [Retini](https://github.com/terwanerik/Retini) - A super simple retina (2x, 3x) image converter. * [Provisioning](https://github.com/chockenberry/Provisioning) - A Quick Look plug-in to preview .mobileprovision files. * [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. :large_orange_diamond: @@ -2378,7 +2378,7 @@ Most of these are paid services, some have free tiers. * [StoryboardMerge](https://github.com/marcinolawski/StoryboardMerge) - Xcode storyboards diff and merge tool. * [ai2app](https://github.com/metasmile/ai2appiconset) - Creating AppIcon sets from Adobe Illustrator (all supported formats). * [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. :large_orange_diamond: -* [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or OS X application. :large_orange_diamond: +* [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or macOS application. :large_orange_diamond: * [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. :large_orange_diamond: * [ThisCouldBeUsButYouPlaying](https://github.com/neonichu/ThisCouldBeUsButYouPlaying) - :black_joker: Generate Swift Playgrounds for any library. :large_orange_diamond: * [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. :large_orange_diamond:[e] @@ -2393,15 +2393,15 @@ Most of these are paid services, some have free tiers. * [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click :large_orange_diamond: * [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. :large_orange_diamond: * [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. :large_orange_diamond: -* [Localizations](https://github.com/athiercelin/localizations) - OS X app that manages localizations of Xcode projects. :large_orange_diamond: +* [Localizations](https://github.com/athiercelin/localizations) - macOS app that manages localizations of Xcode projects. :large_orange_diamond: * [xcbuild](https://github.com/facebook/xcbuild) - Xcode-compatible build tool. * [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. :large_orange_diamond: * [SwiftCompilationPerformanceReporter](https://github.com/tumblr/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets :large_orange_diamond: * [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift :large_orange_diamond: * [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations :large_orange_diamond: * [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. :large_orange_diamond: -* [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your OS X file system with their metadata to your iOS simulator (Swift 2.0) :large_orange_diamond: -* [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a Mac OS X utility to open and modify realm database files. +* [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your macOS file system with their metadata to your iOS simulator (Swift 2.0) :large_orange_diamond: +* [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a macOS utility to open and modify realm database files. * [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. * [fastlane-plugin-appicon](https://github.com/KrauseFx/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. * [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. @@ -2413,7 +2413,7 @@ Most of these are paid services, some have free tiers. * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. * [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: -* [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A Mac OS X library for managing and manipulating iOS Simulators +* [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A macOS library for managing and manipulating iOS Simulators * [IconResizer](https://iconresizer.com/) - A simple web application to resize iPhone and iPad app icons for the App Store * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. * [Cookiecutter](https://github.com/JetpackSwift/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: @@ -2526,7 +2526,7 @@ Most of these are paid services, some have free tiers. * [xSendIssue](https://github.com/hungri-yeti/xSendIssue) - Plugin for Xcode to submit GitHub issues directly from within Xcode. * [Swimat](https://github.com/Jintin/Swimat) - An Xcode formatter plug-in to format your swift code. * [Fastlane-Plugin](https://github.com/RishabhTayal/Fastlane-Plugin) - The awesome Fastlane tools brought into your Xcode. -* [Gradle Xcode plugin](https://openbakery.org/gxp/) - Build iOS or Mac OS X Projects using Gradle. +* [Gradle Xcode plugin](https://openbakery.org/gxp/) - Build iOS or macOS Projects using Gradle. * [SYXcodeIconVersion](https://github.com/dvkch/SYXcodeIconVersion) - This Xcode plugin shows Xcode app version in the Dock and App Switcher icon. * [Gradle](https://github.com/openbakery/gradle-xcodePlugin) - gradle xcodePlugin to build iOS and Mac projects. * [HOStringSense-for-Xcode](https://github.com/holtwick/HOStringSense-for-Xcode) - Plugin for Xcode to make perfect editing regular expressions, multi line texts, inline HTML and many more use cases. Also provides quick feedback on string length. From 36649c21119ef5c24e13d5c75869ad6dd3895c87 Mon Sep 17 00:00:00 2001 From: Javier Date: Fri, 7 Jul 2017 11:32:20 +0800 Subject: [PATCH 1158/2606] Add Bamboo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 494d891e3..3cecfb28b 100644 --- a/README.md +++ b/README.md @@ -614,6 +614,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. 🔶[e] * [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. :large_orange_diamond: * [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. :large_orange_diamond: +* [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. :large_orange_diamond: #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 96bfd137227bec1e5f2e265c9d500e193849fbaf Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 7 Jul 2017 17:51:00 +0530 Subject: [PATCH 1159/2606] Add AGCircularPicker. (#1790) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 494d891e3..3073556eb 100644 --- a/README.md +++ b/README.md @@ -2033,7 +2033,8 @@ Most of these are paid services, some have free tiers. * [PivotSlider](https://github.com/lab111/pivot-slider) - Slider that pivots :large_orange_diamond: * [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. :large_orange_diamond: * [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. :large_orange_diamond: -* [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels.. :large_orange_diamond: +* [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. :large_orange_diamond: +* [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. :large_orange_diamond: #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. From 487719a495843ef4a0f184c66b59940de67e88df Mon Sep 17 00:00:00 2001 From: Kevin McGill Date: Sat, 8 Jul 2017 11:48:44 -0500 Subject: [PATCH 1160/2606] =?UTF-8?q?Add=20McPicker=20to=20the=20list=20of?= =?UTF-8?q?=20PickerView=E2=80=99s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9f2a038d6..0ba9e9185 100644 --- a/README.md +++ b/README.md @@ -1930,6 +1930,7 @@ Most of these are paid services, some have free tiers. * [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. * [AIDatePickerController](https://github.com/alikaragoz/AIDatePickerController) - :date: UIDatePicker modally presented with iOS 7 custom transitions. * [CountryPicker](https://github.com/4taras4/CountryCode) - :date: UIPickerView with Country names flags and phoneCodes 🔶 +* [McPicker](https://github.com/kmcgill88/McPicker-iOS) - A customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready. :large_orange_diamond: #### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). From ff80da31ddb9bdb5b8d60b9746d64aeab634589f Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Wed, 28 Jun 2017 09:30:06 +0300 Subject: [PATCH 1161/2606] Add BatteryView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3073556eb..47413412e 100644 --- a/README.md +++ b/README.md @@ -1580,6 +1580,7 @@ Most of these are paid services, some have free tiers. * [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. 🔶 * [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. 🔶 * [ViewComposer](https://github.com/Sajjon/ViewComposer) - `let lbl: UILabel = [.text("Hello"), .textColor(.red)]` - Create views using array literal of enum expressing view attributes. +* [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. 🔶 #### Activity Indicator From 1d126e1dbd5a72c37676147475f125ca6a10e8f1 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sun, 9 Jul 2017 18:31:17 -0300 Subject: [PATCH 1162/2606] Add DefaultStringConvertible (Fix #785) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 08af3268c..88d66b09f 100644 --- a/README.md +++ b/README.md @@ -2296,6 +2296,7 @@ Most of these are paid services, some have free tiers. * [ExtensionalSwift](https://github.com/4taras4/SwiftExtension) - Useful swift extensions in one place 🔶[e] * [InAppSettingsKit](https://github.com/futuretap/InAppSettingsKit) - This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app. * [MMWormhole](https://github.com/mutualmobile/MMWormhole) - Message passing between iOS apps and extensions. + * [DefaultStringConvertible](https://github.com/jessesquires/DefaultStringConvertible) - A default CustomStringConvertible implementation for Swift types 🔶[e] ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 3f8589b6f6a1c8e362015552525f09aea613e284 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sun, 9 Jul 2017 18:33:04 -0300 Subject: [PATCH 1163/2606] Add WAMapping (Fix #967) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 88d66b09f..619f28ee0 100644 --- a/README.md +++ b/README.md @@ -1058,6 +1058,7 @@ Most of these are paid services, some have free tiers. * [MagicMapper](https://github.com/adrianitech/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. :large_orange_diamond: * [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. :large_orange_diamond: * [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). :large_orange_diamond: +* [WAMapping](https://github.com/Wasappli/WAMapping) - A library to turn dictionary into object and vice versa for iOS. Designed for speed! #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From 7fed20a54e0acd24bc96ab7f275be8891db39554 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sun, 9 Jul 2017 18:34:29 -0300 Subject: [PATCH 1164/2606] Add WANetworkRouting (Fix #968) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 619f28ee0..a6e597cb4 100644 --- a/README.md +++ b/README.md @@ -960,6 +960,7 @@ Also see [push notifications](#push-notifications) * [AFNetworking-Synchronous](https://github.com/paulmelnikow/AFNetworking-Synchronous) - Synchronous requests for AFNetworking 1.x, 2.x, and 3.x. * [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. 🔶 * [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. :large_orange_diamond: +* [WANetworkRouting](https://github.com/Wasappli/WANetworkRouting) - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers #### Email From ac1b323ea54f7125000edc979858f5e798aff520 Mon Sep 17 00:00:00 2001 From: Lisa Dziuba Date: Mon, 10 Jul 2017 17:00:31 +0300 Subject: [PATCH 1165/2606] Delete @NSHipster (#1793) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a6e597cb4..08f29c3aa 100644 --- a/README.md +++ b/README.md @@ -2681,7 +2681,6 @@ Most of these are paid services, some have free tiers. #### Twitter * [@objcio](https://twitter.com/objcio) -* [@nshipster](https://twitter.com/NSHipster) * [@CocoaPods](https://twitter.com/CocoaPods) * [@CocoaPodsFeed](https://twitter.com/CocoaPodsFeed) * [@RubyMotion](https://twitter.com/RubyMotion) From 9713c3d30f4b327f38566106e79de82b803373e3 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 10 Jul 2017 19:31:41 +0530 Subject: [PATCH 1166/2606] Add ZIPFoundation (#1792) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 08f29c3aa..92f06cabe 100644 --- a/README.md +++ b/README.md @@ -486,6 +486,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. :large_orange_diamond: * [ZipArchive](https://github.com/ZipArchive/ZipArchive) - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac. * [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. :large_orange_diamond: +* [ZIPFoundation](https://github.com/weichsel/ZIPFoundation) - Effortless ZIP Handling in Swift :large_orange_diamond: ## Functional Programming * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: From 1062f7f601b424b47973e7f29f2ac21a8a7184a7 Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Tue, 11 Jul 2017 16:45:21 +0530 Subject: [PATCH 1167/2606] added JustHUD in Activity Indicator --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 92f06cabe..a5ad7eff8 100644 --- a/README.md +++ b/README.md @@ -1640,6 +1640,7 @@ Most of these are paid services, some have free tiers. * [RSLoadingView](https://github.com/roytornado/RSLoadingView) - Awesome loading animations using 3D engine written with Swift. :large_orange_diamond: * [SendIndicator](https://github.com/LeonardoCardoso/SendIndicator) - Yet another task indicator :large_orange_diamond: * [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. :large_orange_diamond: +* [JustHUD](https://github.com/shubh10/JustHUD) - JustHUD is an iOS drop-in class written in Swift that displays a translucent HUD. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From 505ae096b94b3022237b52d68dbdc5e9c60a6361 Mon Sep 17 00:00:00 2001 From: Antonio Zaitoun Date: Wed, 12 Jul 2017 14:28:02 +0300 Subject: [PATCH 1168/2606] Added AZImagePreview --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 92f06cabe..59748e6ab 100644 --- a/README.md +++ b/README.md @@ -835,6 +835,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. :large_orange_diamond: * [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. :large_orange_diamond: * [SimpleImageViewer](https://github.com/aFrogleap/SimpleImageViewer) - A snappy image viewer with zoom and interactive dismissal transition. :large_orange_diamond: +* [AZImagePreview](https://github.com/Minitour/AZImagePreview) - A framework that makes image viewing easy. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From de59db9e0279f45d002fb4da5e89a1bc7c06b24d Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 12 Jul 2017 18:34:35 +0530 Subject: [PATCH 1169/2606] Add Bubble. (#1796) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 92f06cabe..d4f557974 100644 --- a/README.md +++ b/README.md @@ -1705,6 +1705,7 @@ Most of these are paid services, some have free tiers. * [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. 🔶 * [Pastel](https://github.com/cruisediary/Pastel) - Gradient animation effect like Instagram. 🔶 * [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. :large_orange_diamond: +* [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation :large_orange_diamond: ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 445c83451b8c71835663923949b079d15fcaddc3 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Wed, 12 Jul 2017 14:56:56 -0700 Subject: [PATCH 1170/2606] Update README URLs based on HTTP redirects (#1798) --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d4f557974..4243c8b14 100644 --- a/README.md +++ b/README.md @@ -257,7 +257,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. * [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. :large_orange_diamond: * [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. :large_orange_diamond: -* [Scrollable-GraphView](https://github.com/philackm/Scrollable-GraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: +* [Scrollable-GraphView](https://github.com/philackm/ScrollableGraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: * [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. * [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generator for iOS. :large_orange_diamond: * [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS! @@ -1578,7 +1578,7 @@ Most of these are paid services, some have free tiers. * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: -* [GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 +* [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 * [HamsterUIKit](https://github.com/ChromieIsDangerous/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 * [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. 🔶 * [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. 🔶 @@ -1846,7 +1846,7 @@ Most of these are paid services, some have free tiers. * [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time :large_orange_diamond: * [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. * [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. :large_orange_diamond: -* [GDPersianCalendar](https://github.com/SaeidBsn/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. 🔶 +* [GDPersianCalendar](https://github.com/saeid/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. 🔶 #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS @@ -1859,7 +1859,7 @@ Most of these are paid services, some have free tiers. * [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS :large_orange_diamond: * [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - SwiftyFORM is a form framework for iOS written in Swift :large_orange_diamond: * [FXForms](https://github.com/nicklockwood/FXForms) - FXForms is an Objective-C library for easily creating table-based forms on iOS. It is ideal for settings pages, or user data entry tasks. -* [SwiftValidator](https://github.com/jpotts18/SwiftValidator) - A rule-based validation library for Swift :large_orange_diamond: +* [SwiftValidator](https://github.com/SwiftValidatorCommunity/SwiftValidator) - A rule-based validation library for Swift :large_orange_diamond: * [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. * [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. :large_orange_diamond: * [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. :large_orange_diamond: @@ -2330,7 +2330,7 @@ Most of these are paid services, some have free tiers. * [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. :large_orange_diamond: * [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. :large_orange_diamond: * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. -* [SwiftyGuideOverlay](https://github.com/SaeidBsn/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 +* [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From 697baa3415529a7daaad543ae49e3bcf0f23fd9a Mon Sep 17 00:00:00 2001 From: Roy Ng Date: Thu, 13 Jul 2017 17:30:54 +0800 Subject: [PATCH 1171/2606] Add Flow-iOS --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4243c8b14..8f413a7fc 100644 --- a/README.md +++ b/README.md @@ -353,6 +353,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. :large_orange_diamond: * [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. :large_orange_diamond: * [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift :large_orange_diamond: +* [Flow-iOS](https://github.com/roytornado/Flow-iOS) - Make your logic flow and data flow clean and human readable :large_orange_diamond: ## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From 93afbe48e97a639592550cd2a8536a80cf2c0487 Mon Sep 17 00:00:00 2001 From: Pilipenko Dima Date: Thu, 13 Jul 2017 14:16:49 +0300 Subject: [PATCH 1172/2606] Update README.md Add swiftmon --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 180d9186b..fc8c6a938 100644 --- a/README.md +++ b/README.md @@ -2158,6 +2158,7 @@ Most of these are paid services, some have free tiers. * [KZPlayground](https://github.com/krzysztofzablocki/KZPlayground) - Playgrounds for Objective-C for extremely fast prototyping / learning. * [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. * [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. +* [swiftmon](https://github.com/dimpiax/swiftmon) - swiftmon restarts your swift application in case of any file change. # Injection * [dyci](https://github.com/DyCI/dyci-main) - Code injection tool. From d01d83e1dd1ecbfb52e38fe0f811f98855908cd6 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 13 Jul 2017 19:12:50 +0530 Subject: [PATCH 1173/2606] Add FaceCropper. (#1801) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4243c8b14..a49075df5 100644 --- a/README.md +++ b/README.md @@ -835,6 +835,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. :large_orange_diamond: * [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. :large_orange_diamond: * [SimpleImageViewer](https://github.com/aFrogleap/SimpleImageViewer) - A snappy image viewer with zoom and interactive dismissal transition. :large_orange_diamond: +* [FaceCropper](https://github.com/KimDarren/FaceCropper) - Crop faces, inside of your image, with iOS 11 Vision api :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 6414002d486703e472b3230c88f4890ed7cd2b5d Mon Sep 17 00:00:00 2001 From: Alex Cristea Date: Sat, 15 Jul 2017 09:24:06 +0300 Subject: [PATCH 1174/2606] Add ValidationToolkit framework details --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a49075df5..648910d79 100644 --- a/README.md +++ b/README.md @@ -1866,6 +1866,7 @@ Most of these are paid services, some have free tiers. * [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. :large_orange_diamond: * [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. :large_orange_diamond: * [LightForm](https://github.com/farshidce/LightForm) - A Simple interactive and customizable library to handle form input and validations +* [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. :large_orange_diamond: #### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From ccfb8d01a108739ecd46ec844cce6b9da664d88f Mon Sep 17 00:00:00 2001 From: Jogendra Singh Date: Sat, 15 Jul 2017 12:56:10 +0530 Subject: [PATCH 1175/2606] Add JSLabel --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9f2a038d6..f4959776f 100644 --- a/README.md +++ b/README.md @@ -1862,6 +1862,7 @@ Most of these are paid services, some have free tiers. * [UICountingLabel](https://github.com/dataxpress/UICountingLabel/) - Adds animated counting support to UILabel. * [SlidingText](https://github.com/dnKaratzas/SlidingText) - Swift UIView for sliding text with page indicator. :large_orange_diamond: * [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. :large_orange_diamond: +* [JSLabel](https://github.com/imjog/JSLabel/) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. :large_orange_diamond: #### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: From 72ecf52e191bd991e91332cba6e38058f86500f7 Mon Sep 17 00:00:00 2001 From: "Ben.Park" Date: Mon, 17 Jul 2017 01:35:48 +0900 Subject: [PATCH 1176/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a49075df5..fe59fd93a 100644 --- a/README.md +++ b/README.md @@ -1641,6 +1641,7 @@ Most of these are paid services, some have free tiers. * [RSLoadingView](https://github.com/roytornado/RSLoadingView) - Awesome loading animations using 3D engine written with Swift. :large_orange_diamond: * [SendIndicator](https://github.com/LeonardoCardoso/SendIndicator) - Yet another task indicator :large_orange_diamond: * [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. :large_orange_diamond: +* [BPBlockActivityIndicator](https://github.com/ppth0608/BPBlockActivityIndicator) - A simple and awesome Loading Activity Indicator(with funny block animation) for your iOS app. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From dbcb30d14687de2f8d91d731e1186fb2323f3472 Mon Sep 17 00:00:00 2001 From: Liguo Jiao Date: Wed, 19 Jul 2017 13:49:06 +1200 Subject: [PATCH 1177/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a49075df5..79db12228 100644 --- a/README.md +++ b/README.md @@ -2224,6 +2224,7 @@ Most of these are paid services, some have free tiers. * [DTTextField](https://github.com/iDhaval/DTTextField) - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0.🔶 * [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. 🔶 * [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. 🔶 +* [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. 🔶 #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From dcce0e2e90d095d3f58c94371b55af472afee6aa Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Thu, 20 Jul 2017 10:15:40 +0530 Subject: [PATCH 1178/2606] Update link for Scrollable-GraphView --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a5ad7eff8..bd4f85f60 100644 --- a/README.md +++ b/README.md @@ -257,7 +257,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. * [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. :large_orange_diamond: * [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. :large_orange_diamond: -* [Scrollable-GraphView](https://github.com/philackm/Scrollable-GraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: +* [Scrollable-GraphView](https://github.com/philackm/ScrollableGraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: * [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. * [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generator for iOS. :large_orange_diamond: * [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS! From d64a4a06f1da61971638615dd0eb26b5f3c3c21d Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Thu, 20 Jul 2017 10:16:53 +0530 Subject: [PATCH 1179/2606] Updated link for GDCheckbox --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bd4f85f60..64077fe86 100644 --- a/README.md +++ b/README.md @@ -1578,7 +1578,7 @@ Most of these are paid services, some have free tiers. * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: -* [GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 +* [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 * [HamsterUIKit](https://github.com/ChromieIsDangerous/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 * [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. 🔶 * [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. 🔶 From 5e4fee1f8487e329c3b71925895769ce24cbf817 Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Thu, 20 Jul 2017 10:17:50 +0530 Subject: [PATCH 1180/2606] Updated link for GDPersianCalendar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 64077fe86..d67621a29 100644 --- a/README.md +++ b/README.md @@ -1846,7 +1846,7 @@ Most of these are paid services, some have free tiers. * [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time :large_orange_diamond: * [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. * [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. :large_orange_diamond: -* [GDPersianCalendar](https://github.com/SaeidBsn/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. 🔶 +* [GDPersianCalendar](https://github.com/saeid/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. 🔶 #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From a58837715193f86bf69d0c8e44c340ddced43297 Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Thu, 20 Jul 2017 10:19:45 +0530 Subject: [PATCH 1181/2606] Upldated link for SwiftValidator --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d67621a29..a59edd654 100644 --- a/README.md +++ b/README.md @@ -1859,7 +1859,7 @@ Most of these are paid services, some have free tiers. * [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS :large_orange_diamond: * [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - SwiftyFORM is a form framework for iOS written in Swift :large_orange_diamond: * [FXForms](https://github.com/nicklockwood/FXForms) - FXForms is an Objective-C library for easily creating table-based forms on iOS. It is ideal for settings pages, or user data entry tasks. -* [SwiftValidator](https://github.com/jpotts18/SwiftValidator) - A rule-based validation library for Swift :large_orange_diamond: +* [SwiftValidator](https://github.com/SwiftValidatorCommunity/SwiftValidator) - A rule-based validation library for Swift :large_orange_diamond: * [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. * [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. :large_orange_diamond: * [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. :large_orange_diamond: From 5ac5fa88d581a1f04a04d89de3891a91a610bf21 Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Thu, 20 Jul 2017 10:20:42 +0530 Subject: [PATCH 1182/2606] updated link for SwiftyGuideOverlay --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a59edd654..1d1d0a160 100644 --- a/README.md +++ b/README.md @@ -2330,7 +2330,7 @@ Most of these are paid services, some have free tiers. * [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. :large_orange_diamond: * [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. :large_orange_diamond: * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. -* [SwiftyGuideOverlay](https://github.com/SaeidBsn/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 +* [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From ea23aa1eeff755b2af593a3c9d6824d27c7ead10 Mon Sep 17 00:00:00 2001 From: Alexey Kudryavtsev Date: Thu, 20 Jul 2017 15:24:33 +0300 Subject: [PATCH 1183/2606] Add SwiftyVK (#1811) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 653e443bf..6d70b74bf 100644 --- a/README.md +++ b/README.md @@ -1239,6 +1239,7 @@ Most of these are paid services, some have free tiers. * [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. :large_orange_diamond: * [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. :large_orange_diamond: * [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. :large_orange_diamond: +* [SwiftyVK](https://github.com/west0r/SwiftyVK) Library for easy interact with VK social network API written in Swift 🔶 ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 4057e0831b8179b25a07a4fb3f767a44627deb92 Mon Sep 17 00:00:00 2001 From: Alexey Kudryavtsev Date: Thu, 20 Jul 2017 15:25:30 +0300 Subject: [PATCH 1184/2606] Add paparazzo (#1812) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6d70b74bf..bac27bed1 100644 --- a/README.md +++ b/README.md @@ -837,6 +837,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. :large_orange_diamond: * [SimpleImageViewer](https://github.com/aFrogleap/SimpleImageViewer) - A snappy image viewer with zoom and interactive dismissal transition. :large_orange_diamond: * [FaceCropper](https://github.com/KimDarren/FaceCropper) - Crop faces, inside of your image, with iOS 11 Vision api :large_orange_diamond: +* [Paparazzo](https://github.com/avito-tech/Paparazzo) - Custom iOS camera and photo picker with editing capabilities :large_orange_diamond: + #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 3f5a3218e46030b602658c2e7e42fcf1d01bb8db Mon Sep 17 00:00:00 2001 From: Alexey Kudryavtsev Date: Thu, 20 Jul 2017 15:26:36 +0300 Subject: [PATCH 1185/2606] Add Marshroute (#1813) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bac27bed1..57f669a99 100644 --- a/README.md +++ b/README.md @@ -303,6 +303,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. * [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. * [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. :large_orange_diamond: +* [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. :large_orange_diamond: #### Linter * [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. From 4f36db81a089ad6e7f67cd29dad980923ea93a43 Mon Sep 17 00:00:00 2001 From: Evgeny Matviyenko Date: Thu, 20 Jul 2017 15:30:16 +0300 Subject: [PATCH 1186/2606] Add AirBar menu library. (#1807) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 57f669a99..de588b138 100644 --- a/README.md +++ b/README.md @@ -1959,6 +1959,7 @@ Most of these are paid services, some have free tiers. * [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! :large_orange_diamond: * [JNDropDownMenu](https://github.com/javalnanda/JNDropDownMenu) - Easy to use tableview style drop down menu with multi-column support written in Swift3. :large_orange_diamond: * [FanMenu](https://github.com/exyte/fan-menu) - Menu with a circular layout based on Macaw. :large_orange_diamond: +* [AirBar](https://github.com/uptechteam/AirBar) - UIScrollView driven expandable menu written in Swift 3. :large_orange_diamond: #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 26f59daa91fbea278f5506a8c841119d1e9a63c8 Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Fri, 21 Jul 2017 11:52:11 +0530 Subject: [PATCH 1187/2606] updated link for Sync --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1d1d0a160..72eab442d 100644 --- a/README.md +++ b/README.md @@ -370,7 +370,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. :large_orange_diamond: * [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. :large_orange_diamond: * [CoreDataDandy](https://github.com/fuzz-productions/CoreDataDandy) - A feature-light wrapper around Core Data that simplifies common database operations. :large_orange_diamond: -* [Sync](https://github.com/SyncDB/Sync) - :arrows_counterclockwise: Modern Swift JSON synchronization to Core Data :large_orange_diamond: +* [Sync](https://github.com/3lvis/Sync) - :arrows_counterclockwise: Modern Swift JSON synchronization to Core Data :large_orange_diamond: * [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. :large_orange_diamond: * [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. :large_orange_diamond: * [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack :large_orange_diamond: From 8e937bd59d5a8f72536f71685c6081224571a1a8 Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Fri, 21 Jul 2017 11:53:43 +0530 Subject: [PATCH 1188/2606] update link for DATAStack --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 72eab442d..e945a57d2 100644 --- a/README.md +++ b/README.md @@ -378,7 +378,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. :large_orange_diamond: * [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. :large_orange_diamond: * [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. :large_orange_diamond: -* [DATAStack](https://github.com/SyncDB/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: +* [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: * [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. * [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. :large_orange_diamond: From d43e3476070e978fc08541c40d80309891a3579d Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Fri, 21 Jul 2017 11:54:42 +0530 Subject: [PATCH 1189/2606] update link for Awesome-iOS-Animation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e945a57d2..9ca9bce5b 100644 --- a/README.md +++ b/README.md @@ -1645,7 +1645,7 @@ Most of these are paid services, some have free tiers. #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. * [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. -* [Awesome-iOS-Animation](https://github.com/jackyzh/awesome-ios-animation) - Collection of Animation projects +* [Awesome-iOS-Animation](https://github.com/jackymelb/awesome-ios-animation) - Collection of Animation projects * [RZTransitions](https://github.com/Raizlabs/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. * [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. * [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. :large_orange_diamond: From 6c07944c97398f2288993c543484d819b25fa50f Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Fri, 21 Jul 2017 11:55:23 +0530 Subject: [PATCH 1190/2606] update link for VideoSplashKit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9ca9bce5b..bdd488718 100644 --- a/README.md +++ b/README.md @@ -2319,7 +2319,7 @@ Most of these are paid services, some have free tiers. * [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. :large_orange_diamond: * [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. :large_orange_diamond: * [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. :large_orange_diamond: -* [VideoSplashKit](https://github.com/mojilala/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos :large_orange_diamond: +* [VideoSplashKit](https://github.com/svtek/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos :large_orange_diamond: * [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. :large_orange_diamond: * [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. * [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. :large_orange_diamond: From 95b5884066af889ac3d5c5729bbcceda030a211a Mon Sep 17 00:00:00 2001 From: Guy Daher Date: Fri, 21 Jul 2017 16:04:14 +0200 Subject: [PATCH 1191/2606] Add instantsearch-ios --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a765b1c59..7b9eb6682 100644 --- a/README.md +++ b/README.md @@ -2234,6 +2234,7 @@ Most of these are paid services, some have free tiers. * [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. 🔶 * [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. 🔶 * [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. 🔶 +* [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. 🔶 #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 2b947891272d59490f7dbaafad83b372e0a415ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?JAMES=E9=83=AD=20-=20IOS=20Developer?= Date: Fri, 21 Jul 2017 23:48:15 +0800 Subject: [PATCH 1192/2606] Add JDSwiftHeatMap (#1816) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a765b1c59..f7a405131 100644 --- a/README.md +++ b/README.md @@ -709,6 +709,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GEOSwift](https://github.com/GEOSwift/GEOSwift) - The Swift Geographic Engine. :large_orange_diamond: * [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift :large_orange_diamond: * [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. :large_orange_diamond: +* [JDSwiftHeatMap](https://github.com/jamesdouble/JDSwiftHeatMap) - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. :large_orange_diamond: ## Math * [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation :large_orange_diamond: From 7f907e6052f5de6bac92258026ae684d58b5070b Mon Sep 17 00:00:00 2001 From: Yuta Akizuki Date: Sat, 22 Jul 2017 04:58:55 +0900 Subject: [PATCH 1193/2606] Add CoreML-samples (#1814) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f7a405131..98067b2ab 100644 --- a/README.md +++ b/README.md @@ -700,6 +700,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios) - The official Google-built powerful neural network library port for iOS. * [Bender](https://github.com/xmartlabs/Bender) - Easily craft fast Neural Networks. Use TensorFlow models. Metal under the hood. * [Caffe2](https://github.com/caffe2/caffe2) - Lightweight, modular, and scalable deep learning framework. +* [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. :large_orange_diamond: ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From 107e11246d27ceaf1c640b92e8d38e378b05ad8e Mon Sep 17 00:00:00 2001 From: Shubham Naik Date: Sat, 22 Jul 2017 20:03:04 +0530 Subject: [PATCH 1194/2606] Update MessageKit (#1818) Fix #1808 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 98067b2ab..507c02a75 100644 --- a/README.md +++ b/README.md @@ -901,7 +901,7 @@ Also see [push notifications](#push-notifications) * [JSQMessagesViewController](https://github.com/jessesquires/JSQMessagesViewController) - An elegant messages UI library for iOS. * [Smooch](https://smooch.io) - Simple, lightweight SDKs and interfaces that enable customer messaging inside your apps and websites. * [SlackTextViewController](https://github.com/slackhq/SlackTextViewController) - A drop-in UIViewController subclass with a growing text input view and other useful messaging features. -* [MessageKit](https://github.com/MessageKit/MessageKit-iOS) - Eventually, a Swift re-write of JSQMessagesViewController :large_orange_diamond: +* [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController :large_orange_diamond: * [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. :large_orange_diamond: * [NMessenger](https://github.com/eBay/NMessenger) - A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift :large_orange_diamond: * [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. From bc9492ccf07d7e0421acc3654c044bd63c1d2a85 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 26 Jul 2017 19:25:27 +0530 Subject: [PATCH 1195/2606] Add SearchTextField (#1819) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 507c02a75..db9833911 100644 --- a/README.md +++ b/README.md @@ -2236,6 +2236,7 @@ Most of these are paid services, some have free tiers. * [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. 🔶 * [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. 🔶 * [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. 🔶 +* [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list :large_orange_diamond: #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 29381cca54aaaa4465208de7d603650e1f93aa97 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 26 Jul 2017 14:48:04 -0300 Subject: [PATCH 1196/2606] Renamed lf.swift to HaishinKit.swift fixes #1820 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14b3e3cec..03571093d 100644 --- a/README.md +++ b/README.md @@ -860,7 +860,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TPPDF](https://github.com/Techprimate/TPPDF) - Generate PDF using commands and automatic layout. :large_orange_diamond: #### Streaming -* [lf.swift](https://github.com/shogo4405/lf.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. :large_orange_diamond: +* [HaishinKit.swift](https://github.com/shogo4405/HaishinKit.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. :large_orange_diamond: * [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for macOS and iOS. * [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. :large_orange_diamond: * [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate From a2513e2b1f6a7dfba4fe152dab8a540628fe1aec Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 27 Jul 2017 11:12:18 +0530 Subject: [PATCH 1197/2606] Add FAPanels --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 03571093d..d77b35776 100644 --- a/README.md +++ b/README.md @@ -1740,6 +1740,7 @@ Most of these are paid services, some have free tiers. * [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS :large_orange_diamond: * [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. :large_orange_diamond: * [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. :large_orange_diamond: +* [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition :large_orange_diamond: #### Alert & Action Sheet From db977f7c8ae3b2c5ade47d28b5a5fff42e65dfd6 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 27 Jul 2017 19:15:49 +0530 Subject: [PATCH 1198/2606] Add Gemini (#1822) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d77b35776..5d4120e65 100644 --- a/README.md +++ b/README.md @@ -1716,6 +1716,7 @@ Most of these are paid services, some have free tiers. * [Pastel](https://github.com/cruisediary/Pastel) - Gradient animation effect like Instagram. 🔶 * [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. :large_orange_diamond: * [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation :large_orange_diamond: +* [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift :large_orange_diamond: ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From b142cd2572df665c94ec18a2ed0412fb44e59784 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 28 Jul 2017 18:10:23 -0300 Subject: [PATCH 1199/2606] Removed HoneycombView (#1823) It isn't written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5d4120e65..a85c2cad1 100644 --- a/README.md +++ b/README.md @@ -1459,7 +1459,6 @@ Most of these are paid services, some have free tiers. * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. -* [HoneycombView](https://github.com/suzuki-0000/HoneycombView) - HoneycombView is the iOS UIView for displaying like Honyecomb layout written by swift. :large_orange_diamond: * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. * [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: * [ComponentKit](http://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. From 67a1a2643a2c6425548171c3f69e20469fb52786 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 28 Jul 2017 18:13:00 -0300 Subject: [PATCH 1200/2606] Removed WobbleView (#1824) Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a85c2cad1..f681831b6 100644 --- a/README.md +++ b/README.md @@ -1463,7 +1463,6 @@ Most of these are paid services, some have free tiers. * [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: * [ComponentKit](http://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. -* [WobbleView](https://github.com/inFullMobile/WobbleView) - WobbleView is an implementation of a recently popular wobble effect for any view in your app. It can be used to easily add dynamics to user interactions and transitions. :large_orange_diamond: * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit :large_orange_diamond: * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift :large_orange_diamond: From 4a211bd81b55973295a76eb285990c99ad9678ad Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 28 Jul 2017 18:13:17 -0300 Subject: [PATCH 1201/2606] Removed Azkaban (#1825) Project is deprecated --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f681831b6..0478417ab 100644 --- a/README.md +++ b/README.md @@ -2399,7 +2399,6 @@ Most of these are paid services, some have free tiers. * [Provisioning](https://github.com/chockenberry/Provisioning) - A Quick Look plug-in to preview .mobileprovision files. * [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. :large_orange_diamond: * [appledoc](https://github.com/tomaz/appledoc) - ObjectiveC code Apple style documentation set generator. -* [Azkaban](https://github.com/neonichu/Azkaban) - A CLI to Alcatraz, the Xcode package manager. :large_orange_diamond: * [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! :large_orange_diamond: * [Chocolat](https://github.com/pepibumur/Chocolat) - :chocolate_bar: Generate podspecs from Swift packages. :large_orange_diamond: * [StoryboardMerge](https://github.com/marcinolawski/StoryboardMerge) - Xcode storyboards diff and merge tool. From 7f611eea93a8974eb611fe6dc718824b1d69b9a2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 28 Jul 2017 18:22:17 -0300 Subject: [PATCH 1202/2606] Removed SDevBootstrapButton Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0478417ab..1b58fae04 100644 --- a/README.md +++ b/README.md @@ -1812,7 +1812,6 @@ Most of these are paid services, some have free tiers. #### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. * [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. :large_orange_diamond: -* [SDevBootstrapButton](https://github.com/0x73/SDevBootstrapButton) - Twitter Bootstrap buttons for Swift :large_orange_diamond: * [SDevCircleButton](https://github.com/0x73/SDevCircleButton) - Flat circle button :large_orange_diamond: * [VBFPopFlatButton](https://github.com/victorBaro/VBFPopFlatButton) - Flat button with 9 different states animated using Facebook POP. * [HTPressableButton](https://github.com/Famolus/HTPressableButton) - Flat design pressable button. From 20391ddc3f54e7b923beb3fb6a055d6926405de6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 28 Jul 2017 18:27:46 -0300 Subject: [PATCH 1203/2606] Removed FlowBarButtonItem Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0478417ab..41b3bb25f 100644 --- a/README.md +++ b/README.md @@ -1824,7 +1824,6 @@ Most of these are paid services, some have free tiers. * [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift :large_orange_diamond: * [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. :large_orange_diamond: * [VCFloatingActionButton](https://github.com/giridharvc7/VCFloatingActionButton) - A Floating Action Button just like Google inbox for iOS -* [FlowBarButtonItem](https://github.com/noppefoxwolf/FlowBarButtonItem) - Bar Button Item that can be moved anywhere in the screen, like Android's stickers button. :large_orange_diamond: * [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - Inspired by Apple’s download progress buttons in the App Store. * [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design :large_orange_diamond: * [ProgressButton](https://github.com/sprint84/ProgressButton) - Custom button class that displays a progress bar around it to gauge :large_orange_diamond: From 99b7bebf6ec571b41d236dcdf6affc2c22b903a8 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 28 Jul 2017 18:30:06 -0300 Subject: [PATCH 1204/2606] Removed ProgressButton Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0478417ab..4c8e38745 100644 --- a/README.md +++ b/README.md @@ -1827,7 +1827,6 @@ Most of these are paid services, some have free tiers. * [FlowBarButtonItem](https://github.com/noppefoxwolf/FlowBarButtonItem) - Bar Button Item that can be moved anywhere in the screen, like Android's stickers button. :large_orange_diamond: * [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - Inspired by Apple’s download progress buttons in the App Store. * [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design :large_orange_diamond: -* [ProgressButton](https://github.com/sprint84/ProgressButton) - Custom button class that displays a progress bar around it to gauge :large_orange_diamond: * [JOEmojiableBtn](https://github.com/lojals/JOEmojiableBtn) - Emoji selector like Facebook Reactions. * [EMEmojiableBtn](https://github.com/Eke/EMEmojiableBtn) - Option selector that works similar to Reactions by fb. Objective-c version. * [WYMaterialButton](https://github.com/Yu-w/WYMaterialButton) - Interactive and fully animated Material Design button for iOS developers. From 3103ba3cb14bf58a4958e3be5314d937f0dcbc23 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 28 Jul 2017 18:36:56 -0300 Subject: [PATCH 1205/2606] Added Reactor by @MailOnline fixes #834 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0478417ab..b0e78ac6f 100644 --- a/README.md +++ b/README.md @@ -969,6 +969,7 @@ Also see [push notifications](#push-notifications) * [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. 🔶 * [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. :large_orange_diamond: * [WANetworkRouting](https://github.com/Wasappli/WANetworkRouting) - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers +* [Reactor](https://github.com/MailOnline/Reactor) - Powering your RAC architecture :large_orange_diamond: #### Email From 312aa839f747f8f1f8104b382d663efceb53796f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 28 Jul 2017 18:38:58 -0300 Subject: [PATCH 1206/2606] Added algoliasearch-client-swift by @algolia fixes #989 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b0e78ac6f..e7190ddd9 100644 --- a/README.md +++ b/README.md @@ -1218,6 +1218,7 @@ Most of these are paid services, some have free tiers. * [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. * [Pinterest](https://github.com/pinterest/ios-pdk) - Pinterest iOS SDK * [playkit-ios](https://github.com/kaltura/playkit-ios) - PlayKit: Kaltura Player SDK for iOS. +* [algoliasearch-client-swift](https://github.com/algolia/algoliasearch-client-swift) - Algolia Search API Client for Swift :large_orange_diamond: #### Unofficial From 354214cbbbb0989c16b6b98d46c854524c6123a7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 28 Jul 2017 18:43:14 -0300 Subject: [PATCH 1207/2606] Added FengNiao by @onevcat fixes #1730 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e7190ddd9..a6a443b2a 100644 --- a/README.md +++ b/README.md @@ -2459,6 +2459,7 @@ Most of these are paid services, some have free tiers. * [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class * [AppDevKit](https://github.com/yahoo/AppDevKit) - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. * [Tweaks](https://github.com/facebook/Tweaks) - An easy way to fine-tune, and adjust parameters for iOS apps in development. +* [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. :large_orange_diamond: # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 1f71555e8ad8b59d115f1a9cf6ba919c310421fe Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 28 Jul 2017 18:46:07 -0300 Subject: [PATCH 1208/2606] Updated ClusterPrePermissions's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a6a443b2a..659f21823 100644 --- a/README.md +++ b/README.md @@ -1124,7 +1124,7 @@ Most of these are paid services, some have free tiers. * [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. * [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. * [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. -* [ClusterPrePermissions](https://github.com/clusterinc/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. +* [ClusterPrePermissions](https://github.com/rsattar/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. * [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS :large_orange_diamond: * [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: * [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS :large_orange_diamond: From c5917caface98f7bdae390e9ec50e62ae2401794 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 28 Jul 2017 23:12:23 -0300 Subject: [PATCH 1209/2606] Removed GSAlert (#1826) Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 659f21823..8206368b0 100644 --- a/README.md +++ b/README.md @@ -1763,7 +1763,6 @@ Most of these are paid services, some have free tiers. * [SnowGlobeFramework](https://github.com/stringcode86/SnowGlobeFramework) - Delightful / slightly cheese easter egg for Christmas season. Turns your awesome app into a snow globe, when user shake the device. :large_orange_diamond: * [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. :large_orange_diamond: * [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. :large_orange_diamond: -* [GSAlert](https://github.com/wxxsw/GSAlert) - If you want to use UIAlertController, but still need to support iOS 7 this project is for you. :large_orange_diamond: * [RKDropdownAlert](https://github.com/cwRichardKim/RKDropdownAlert) - Extremely simple UIAlertView alternative. * [TKSwarmAlert](https://github.com/entotsu/TKSwarmAlert) - Animated alert library like Swarm app. :large_orange_diamond: * [Whisper](https://github.com/hyperoslo/Whisper) - Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside :large_orange_diamond: From cbb7bf265d0cbb54e7883d8c66bbe520f1110896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Sat, 29 Jul 2017 12:55:36 -0300 Subject: [PATCH 1210/2606] Add PJFDataSource to Table View/Collection View (#1842) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 792e50e73..31a1046d6 100644 --- a/README.md +++ b/README.md @@ -2185,6 +2185,7 @@ Most of these are paid services, some have free tiers. * [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. :large_orange_diamond:🔶 * [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. 🔶 * [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. +* [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From e2386f2c126320a3edd89ef961f68a2413c62c4e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 29 Jul 2017 19:05:40 -0300 Subject: [PATCH 1211/2606] Removed OCMapper Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 31a1046d6..8b9c7ff23 100644 --- a/README.md +++ b/README.md @@ -1030,7 +1030,6 @@ Most of these are paid services, some have free tiers. * [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modeling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. * [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. :large_orange_diamond: * [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. -* [OCMapper](https://github.com/aryaxt/OCMapper) - Objective-C & Swift library to easily map NSDictionary to model objects. :large_orange_diamond: * [ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. :large_orange_diamond: * [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. :large_orange_diamond: * [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. :large_orange_diamond: From 1e4fbb1d8cc7e9268839417f13c9e2494bf92530 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 29 Jul 2017 19:10:30 -0300 Subject: [PATCH 1212/2606] Removed Tyro It was deprecated --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 31a1046d6..a18431554 100644 --- a/README.md +++ b/README.md @@ -1050,7 +1050,6 @@ Most of these are paid services, some have free tiers. * [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. :large_orange_diamond: * [Decodable](https://github.com/Anviking/Decodable) - Swift 2/3 JSON parsing done (more) right :large_orange_diamond: * [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux) :large_orange_diamond: -* [Tyro](https://github.com/typelift/Tyro) - Functional JSON parsing and encoding :large_orange_diamond: * [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder :large_orange_diamond: * [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. :large_orange_diamond: * [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects :large_orange_diamond: From f4404ad3cda16058a7d4cbe202e06dec007d19c3 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 29 Jul 2017 19:16:03 -0300 Subject: [PATCH 1213/2606] Removed Akaibu-NSUserDefaults Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 31a1046d6..815a0880a 100644 --- a/README.md +++ b/README.md @@ -389,7 +389,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YapDatabase](https://github.com/yapstudios/YapDatabase) - YapDatabase is an extensible database for iOS & Mac. * [Couchbase Mobile](https://developer.couchbase.com/mobile/) - Couchbase document store for mobile with cloud sync. * [FMDB](https://github.com/ccgus/fmdb) - A Cocoa / Objective-C wrapper around SQLite. -* [Akaibu-NSUserDefaults](https://github.com/roytang121/Akaibu-NSUserDefaults) - a Swifty Key-value store for archiving NSObject in only one line of code. Class properties are automatically mapped and archived under the hood. * [FCModel](https://github.com/marcoarment/FCModel) - An alternative to Core Data for people who like having direct SQL access. * [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly synchronize NSUserDefaults over iCloud. :large_orange_diamond: * [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. :large_orange_diamond: From 3ae4e4628d855f848a3e6b9ab1fdcd692d456fdb Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 29 Jul 2017 19:19:10 -0300 Subject: [PATCH 1214/2606] Removed SwiftData Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 31a1046d6..8d4867bba 100644 --- a/README.md +++ b/README.md @@ -399,7 +399,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SugarRecord](https://github.com/carambalabs/SugarRecord) - Data persistence management library written in Swift 2.0 :large_orange_diamond: * [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. :large_orange_diamond: * [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support :large_orange_diamond: -* [SwiftData](https://github.com/ryanfowler/SwiftData) - Simple and Effective SQLite Handling in Swift :large_orange_diamond: * [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. :large_orange_diamond: * [RealmIncrementalStore](https://github.com/eure/RealmIncrementalStore) - Realm-powered Core Data persistent store. :large_orange_diamond: * [Palau](https://github.com/symentis/Palau) - NSUserDefaults with Wings! Custom Validation, Swift Generics. :large_orange_diamond: From 16b542b08deb78440cd37cb07493b9fedb938937 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 29 Jul 2017 19:21:32 -0300 Subject: [PATCH 1215/2606] Removed RealmIncrementalStore Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 31a1046d6..f93a4896e 100644 --- a/README.md +++ b/README.md @@ -401,7 +401,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support :large_orange_diamond: * [SwiftData](https://github.com/ryanfowler/SwiftData) - Simple and Effective SQLite Handling in Swift :large_orange_diamond: * [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. :large_orange_diamond: -* [RealmIncrementalStore](https://github.com/eure/RealmIncrementalStore) - Realm-powered Core Data persistent store. :large_orange_diamond: * [Palau](https://github.com/symentis/Palau) - NSUserDefaults with Wings! Custom Validation, Swift Generics. :large_orange_diamond: * [ParseAlternatives](https://github.com/relatedcode/ParseAlternatives) - A collaborative list of Parse alternative backend service providers. * [TypedDefaults](https://github.com/tasanobu/TypedDefaults) - TypedDefaults is a utility library to type-safely use NSUserDefaults. :large_orange_diamond: From f41f7bd1ee00265f6fb4d8da0defa16c9f2aaacb Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 29 Jul 2017 19:22:39 -0300 Subject: [PATCH 1216/2606] Removed Palau Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 31a1046d6..c0673d12c 100644 --- a/README.md +++ b/README.md @@ -402,7 +402,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftData](https://github.com/ryanfowler/SwiftData) - Simple and Effective SQLite Handling in Swift :large_orange_diamond: * [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. :large_orange_diamond: * [RealmIncrementalStore](https://github.com/eure/RealmIncrementalStore) - Realm-powered Core Data persistent store. :large_orange_diamond: -* [Palau](https://github.com/symentis/Palau) - NSUserDefaults with Wings! Custom Validation, Swift Generics. :large_orange_diamond: * [ParseAlternatives](https://github.com/relatedcode/ParseAlternatives) - A collaborative list of Parse alternative backend service providers. * [TypedDefaults](https://github.com/tasanobu/TypedDefaults) - TypedDefaults is a utility library to type-safely use NSUserDefaults. :large_orange_diamond: * [realm-cocoa-converter](https://github.com/realm/realm-cocoa-converter) - A library that provides the ability to import/export Realm files from a variety of data container formats. :large_orange_diamond: From 629bb1992cf9c0429d836a9e79eca89540f41306 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 29 Jul 2017 19:28:28 -0300 Subject: [PATCH 1217/2606] Removed LinkedConsole Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 31a1046d6..2ddc48476 100644 --- a/README.md +++ b/README.md @@ -663,7 +663,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. :large_orange_diamond: * [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. :large_orange_diamond: * [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. :large_orange_diamond: -* [LinkedConsole](https://github.com/krzysztofzablocki/LinkedConsole) - Clickable links in your Xcode console, so you never wonder which class logged the message. http://merowing.info :large_orange_diamond: * [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development & release in Swift 2 & 3 :large_orange_diamond: * [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. :large_orange_diamond: * [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread :large_orange_diamond: From 2be0afb92311e2a1a428d5360bb035fb34f02e08 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 29 Jul 2017 19:31:51 -0300 Subject: [PATCH 1218/2606] Removed logkit Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 31a1046d6..ab0e281f0 100644 --- a/README.md +++ b/README.md @@ -676,7 +676,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. :large_orange_diamond: * [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. :large_orange_diamond: * [Evergreen](https://github.com/knly/Evergreen) - Most natural Swift logging :large_orange_diamond: -* [Logkit](https://github.com/logkit/logkit) - An efficient logging library for macOS, iOS, watchOS, and tvOS – written in Swift. Log to console, file, HTTP service, or your own endpoint. Simple to get started, but smartly customizable :large_orange_diamond: * [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations :large_orange_diamond: * [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. :large_orange_diamond: * [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. From eea27d8212234cebf5796b6a8a89f5e60dd24a18 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 29 Jul 2017 19:39:31 -0300 Subject: [PATCH 1219/2606] Updated SwiftRouter's description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 31a1046d6..1e02d82ad 100644 --- a/README.md +++ b/README.md @@ -2301,7 +2301,7 @@ Most of these are paid services, some have free tiers. * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, macOS) :large_orange_diamond: * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! :large_orange_diamond: * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) :large_orange_diamond: - * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 2.2 :large_orange_diamond: + * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 :large_orange_diamond: * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. :large_orange_diamond: * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . :large_orange_diamond: * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. :large_orange_diamond: From 22f06ebab2587f4df97fbc307642f66b41e05e76 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 29 Jul 2017 19:54:19 -0300 Subject: [PATCH 1220/2606] Removed deprecated rules, added one rule for deleting --- .github/CONTRIBUTING.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index cf2f7476f..ab189e216 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -12,13 +12,12 @@ Please ensure your pull request adheres to the following guidelines: - Make sure that your suggestion is positioned as the last item category. - Make sure your text editor is set to remove trailing whitespace. - If project has been made in Swift, add :large_orange_diamond: in the end of description. -- If project is a Swift Extension, add :large_orange_diamond:[e] in the end of description. -- If project has been made for Apple Watch, add ⌚ in the end of description. #### Deleting Typical reasons for deleting project: +- Doesn't build in the current Xcode - No updates / no longer works - Deprecated - Lacks license From 0032a25b4412d828858f13168d786f9fd3ef808e Mon Sep 17 00:00:00 2001 From: Jonathan Cardasis Date: Sun, 30 Jul 2017 15:24:33 -0400 Subject: [PATCH 1221/2606] Added ChromaColorPicker (#1858) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e02d82ad..a67ec0b11 100644 --- a/README.md +++ b/README.md @@ -331,6 +331,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. :large_orange_diamond: * [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. :large_orange_diamond: * [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. :large_orange_diamond: +* [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. :large_orange_diamond: ## Command Line * [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: From 94a205a26a4314944fbcf16e9c7b9b70385783ef Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 17:54:45 -0300 Subject: [PATCH 1222/2606] Removed BLKFlexibleHeightBar Project doesn't have an update since Jun 6, 2015, with 27 issues and 11 pull requests --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a67ec0b11..246acce0c 100644 --- a/README.md +++ b/README.md @@ -1452,7 +1452,6 @@ Most of these are paid services, some have free tiers. * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. * [BetweenKit](https://github.com/ice3-software/between-kit) - A robust drag-and-drop framework for iOS. * [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! -* [BLKFlexibleHeightBar](https://github.com/bryankeller/BLKFlexibleHeightBar) - Create condensing header bars like those seen in the Facebook, Square Cash, and Safari iOS apps. * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. * [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. * [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. :large_orange_diamond: From e808b6de7afd1fe684ee8886afdbe4459314f2d8 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 18:09:11 -0300 Subject: [PATCH 1223/2606] Added ARKit-CoreLocation by @ProjectDent (#1859) --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index a67ec0b11..30433fea3 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Library and Frameworks](#libraries-and-frameworks) - [Analytics](#analytics) - [Apple TV](#apple-tv) + - [ARKit](#arkit) - [Authentication](#authentication) - [Bridging](#bridging) - [Cache](#cache) @@ -204,6 +205,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS :large_orange_diamond: * [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. :large_orange_diamong: +## ARKit +* [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. :large_orange_diamond: + ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: * [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. :large_orange_diamond: From 985b96910e38ac36e6f14147101a35a69dd1815e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20M=C3=A1nek?= Date: Sun, 30 Jul 2017 23:45:27 +0200 Subject: [PATCH 1224/2606] Added Revolver. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 30433fea3..90d2450f6 100644 --- a/README.md +++ b/README.md @@ -706,6 +706,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Bender](https://github.com/xmartlabs/Bender) - Easily craft fast Neural Networks. Use TensorFlow models. Metal under the hood. * [Caffe2](https://github.com/caffe2/caffe2) - Lightweight, modular, and scalable deep learning framework. * [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. :large_orange_diamond: +* [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. :large_orange_diamond: ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From ab2a00d24701e2ae29fed27769fa81cab62b3086 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20M=C3=A1nek?= Date: Sun, 30 Jul 2017 23:50:54 +0200 Subject: [PATCH 1225/2606] Updated Revolver. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 90d2450f6..7c7295d41 100644 --- a/README.md +++ b/README.md @@ -706,7 +706,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Bender](https://github.com/xmartlabs/Bender) - Easily craft fast Neural Networks. Use TensorFlow models. Metal under the hood. * [Caffe2](https://github.com/caffe2/caffe2) - Lightweight, modular, and scalable deep learning framework. * [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. :large_orange_diamond: -* [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. :large_orange_diamond: +* [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. :large_orange_diamond: ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From f54e59599fdee3ebffce3c84c2cf6151beffacff Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 19:01:54 -0300 Subject: [PATCH 1226/2606] Removed DLWBouncyView Lib has a poor README, almost 2 years with no PR, few stars, 1 issue closed and no PR was ever made --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..9ed414fee 100644 --- a/README.md +++ b/README.md @@ -1473,7 +1473,6 @@ Most of these are paid services, some have free tiers. * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit :large_orange_diamond: * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift :large_orange_diamond: -* [DLWBouncyView](https://github.com/cute/DLWBouncyView) - BouncyView is an implementation of a recently popular bouncy effect for any view. * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. * [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. * [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. :large_orange_diamond: From 01882a7926efb27feb469d5aeb28b5d8799c7ca9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 19:05:25 -0300 Subject: [PATCH 1227/2606] Removed SWRevealViewController It has no activity in the past 2 years, 273 open issues and 20 open PRs --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..abd32b68b 100644 --- a/README.md +++ b/README.md @@ -1483,7 +1483,6 @@ Most of these are paid services, some have free tiers. * [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. :large_orange_diamond: * [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications :large_orange_diamond: * [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages :large_orange_diamond: -* [SWRevealViewController](https://github.com/John-Lluch/SWRevealViewController) - A UIViewController subclass for presenting side view controllers inspired on the FaceBook and Wunderlist apps, done right. * [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. :large_orange_diamond: * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. :large_orange_diamond: * [StackPageView](https://github.com/noppefoxwolf/StackPageView) - Vertical page view with UIViewControllers stacked on the top of each other :large_orange_diamond: From e58d001e5dd1875092ae3adcfbbbd0656315a3e7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 19:08:29 -0300 Subject: [PATCH 1228/2606] Removed Provisioning Project has no updates since 2014, [it looks like it doesn't work](https://github.com/chockenberry/Provisioning/issues/15) and it has open PRs from January 2014 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..19e671006 100644 --- a/README.md +++ b/README.md @@ -2400,7 +2400,6 @@ Most of these are paid services, some have free tiers. * [SwiftGen](https://github.com/SwiftGen/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). :large_orange_diamond: * [Blade](https://github.com/jondot/blade) - Generate Xcode image catalogs for iOS / macOS app icons, universal images, and more. * [Retini](https://github.com/terwanerik/Retini) - A super simple retina (2x, 3x) image converter. -* [Provisioning](https://github.com/chockenberry/Provisioning) - A Quick Look plug-in to preview .mobileprovision files. * [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. :large_orange_diamond: * [appledoc](https://github.com/tomaz/appledoc) - ObjectiveC code Apple style documentation set generator. * [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! :large_orange_diamond: From 30f468e76472c1dff1e8a18dca3a4841aa57a19a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 19:10:10 -0300 Subject: [PATCH 1229/2606] Removed Chocolat Project is not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..125817390 100644 --- a/README.md +++ b/README.md @@ -2404,7 +2404,6 @@ Most of these are paid services, some have free tiers. * [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. :large_orange_diamond: * [appledoc](https://github.com/tomaz/appledoc) - ObjectiveC code Apple style documentation set generator. * [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! :large_orange_diamond: -* [Chocolat](https://github.com/pepibumur/Chocolat) - :chocolate_bar: Generate podspecs from Swift packages. :large_orange_diamond: * [StoryboardMerge](https://github.com/marcinolawski/StoryboardMerge) - Xcode storyboards diff and merge tool. * [ai2app](https://github.com/metasmile/ai2appiconset) - Creating AppIcon sets from Adobe Illustrator (all supported formats). * [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. :large_orange_diamond: From de7e7ff6af3a229924dd7e80a116ba5b2fa012d0 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 19:16:02 -0300 Subject: [PATCH 1230/2606] Removed ThisCouldBeUsButYouPlaying In May 29, the project [stopped being maintained](https://github.com/neonichu/ThisCouldBeUsButYouPlaying/commit/5e6b05145fc18a2a4b9d21a3c6ca8b24526739d3) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..7d4558302 100644 --- a/README.md +++ b/README.md @@ -2410,7 +2410,6 @@ Most of these are paid services, some have free tiers. * [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. :large_orange_diamond: * [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or macOS application. :large_orange_diamond: * [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. :large_orange_diamond: -* [ThisCouldBeUsButYouPlaying](https://github.com/neonichu/ThisCouldBeUsButYouPlaying) - :black_joker: Generate Swift Playgrounds for any library. :large_orange_diamond: * [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. :large_orange_diamond:[e] * [git-xcp](https://github.com/metasmile/git-xcp) - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. * [WatchdogInspector](https://github.com/tapwork/WatchdogInspector) - Shows your current framerate (fps) in the status bar of your iOS app From 9f267009fb6c8f7add82f38856fb012bbfd30375 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 19:24:29 -0300 Subject: [PATCH 1231/2606] Removed NZAlertView No activity in the past 2 years --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..92cef6e42 100644 --- a/README.md +++ b/README.md @@ -1750,7 +1750,6 @@ Most of these are paid services, some have free tiers. #### Alert & Action Sheet -* [NZAlertView](https://github.com/NZN/NZAlertView) - Simple and intuitive alert view. Similar to push notification effect. * [AMSmoothAlert](https://github.com/mtonio91/AMSmoothAlert) - A cool AlertView. * [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. :large_orange_diamond: * [NYAlertViewController](https://github.com/nealyoung/NYAlertViewController) - Highly configurable iOS Alert Views with custom content views. From f0a8f80d42704a4f1777f655c969231876782dd0 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 19:35:39 -0300 Subject: [PATCH 1232/2606] Removed AMSmoothAlert [Project no longer works](https://github.com/mtonio91/AMSmoothAlert/issues/32) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..1e5084c6c 100644 --- a/README.md +++ b/README.md @@ -1751,7 +1751,6 @@ Most of these are paid services, some have free tiers. #### Alert & Action Sheet * [NZAlertView](https://github.com/NZN/NZAlertView) - Simple and intuitive alert view. Similar to push notification effect. -* [AMSmoothAlert](https://github.com/mtonio91/AMSmoothAlert) - A cool AlertView. * [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. :large_orange_diamond: * [NYAlertViewController](https://github.com/nealyoung/NYAlertViewController) - Highly configurable iOS Alert Views with custom content views. * [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. :large_orange_diamond: From acb2db8721b2b58f522fe479a5050ded34f72214 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 19:37:51 -0300 Subject: [PATCH 1233/2606] Removed TSMessages "Notice: TSMessages is no longer being maintained/updated." --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..473af272b 100644 --- a/README.md +++ b/README.md @@ -1756,7 +1756,6 @@ Most of these are paid services, some have free tiers. * [NYAlertViewController](https://github.com/nealyoung/NYAlertViewController) - Highly configurable iOS Alert Views with custom content views. * [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. :large_orange_diamond: * [TTGSnackbar](https://github.com/zekunyan/TTGSnackbar) - Show simple message and action button on the bottom of the screen with multi kinds of animation. :large_orange_diamond: -* [TSMessages](https://github.com/KrauseFx/TSMessages) - Show notification views on top of screen such as success, error, warning or messages for iOS. * [PJAlertView](https://github.com/PrajeetShrestha/PJAlertView) - Apple has deprecated beloved alert view but this library will add revamped alert view with far more customization possibility. * [Swift-Prompts](https://github.com/GabrielAlva/Swift-Prompts) - A Swift library to design custom prompts with a great scope of options to choose from. :large_orange_diamond: * [BRYXBanner](https://github.com/bryx-inc/BRYXBanner) - A lightweight dropdown notification for iOS 7+, in Swift. :large_orange_diamond: From 313eb0659ca2ad2800b46897a96f5a0b83b2c5d9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 19:39:15 -0300 Subject: [PATCH 1234/2606] Removed PJAlertView No activity in the past 2 years --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..0ab0b3300 100644 --- a/README.md +++ b/README.md @@ -1757,7 +1757,6 @@ Most of these are paid services, some have free tiers. * [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. :large_orange_diamond: * [TTGSnackbar](https://github.com/zekunyan/TTGSnackbar) - Show simple message and action button on the bottom of the screen with multi kinds of animation. :large_orange_diamond: * [TSMessages](https://github.com/KrauseFx/TSMessages) - Show notification views on top of screen such as success, error, warning or messages for iOS. -* [PJAlertView](https://github.com/PrajeetShrestha/PJAlertView) - Apple has deprecated beloved alert view but this library will add revamped alert view with far more customization possibility. * [Swift-Prompts](https://github.com/GabrielAlva/Swift-Prompts) - A Swift library to design custom prompts with a great scope of options to choose from. :large_orange_diamond: * [BRYXBanner](https://github.com/bryx-inc/BRYXBanner) - A lightweight dropdown notification for iOS 7+, in Swift. :large_orange_diamond: * [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages :large_orange_diamond: From c464effe236063d8cdb4fdebbea4282e3e61190e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 19:50:08 -0300 Subject: [PATCH 1235/2606] Removed VCFloatingActionButton No activity in the past 2 years --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..7b325849c 100644 --- a/README.md +++ b/README.md @@ -1828,7 +1828,6 @@ Most of these are paid services, some have free tiers. * [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). :large_orange_diamond: * [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift :large_orange_diamond: * [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. :large_orange_diamond: -* [VCFloatingActionButton](https://github.com/giridharvc7/VCFloatingActionButton) - A Floating Action Button just like Google inbox for iOS * [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - Inspired by Apple’s download progress buttons in the App Store. * [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design :large_orange_diamond: * [JOEmojiableBtn](https://github.com/lojals/JOEmojiableBtn) - Emoji selector like Facebook Reactions. From f8256f7828d1807d4061263d483ea6d4423e91c6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 20:02:29 -0300 Subject: [PATCH 1236/2606] Removed simple-share No updates since 2014 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..9cec1bc3f 100644 --- a/README.md +++ b/README.md @@ -540,7 +540,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Discovery](https://github.com/omergul/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). * [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. * [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. :large_orange_diamond: -* [simple-share](https://github.com/lauraskelton/simple-share) - Easy Proximity-based Bluetooth LE Sharing for iOS. * [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/macOS devices using BLE. :large_orange_diamond: * [CocoaMultipeer](https://github.com/manavgabhawala/CocoaMultipeer) - This repository is a peer to peer framework for macOS, iOS and watchOS 2 that presents a similar interface to the MultipeerConnectivity framework (which is iOS only) that lets you connect any 2 devices from any platform. :large_orange_diamond: * [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift :large_orange_diamond: From bbd4fdd3824f2007e4baa61f276850ab8bb38e67 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 20:06:07 -0300 Subject: [PATCH 1237/2606] Removed Punctual.swift I asked them to improve the README but [no answer was given](https://github.com/harlanhaskins/Punctual.swift/issues/5) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..908775924 100644 --- a/README.md +++ b/README.md @@ -455,7 +455,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 :large_orange_diamond: * [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 :large_orange_diamond: * [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C -* [Punctual.swift](https://github.com/harlanhaskins/Punctual.swift) - Swift dates, more fun. :large_orange_diamond: * [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond: * [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond: * [Tempo](https://github.com/remirobert/Tempo) - :watch: Date and time manager for iOS/macOS written in Swift :large_orange_diamond: From f9ae920b3d2d83ef6f1379aad1ef9f328da3a95f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 20:12:14 -0300 Subject: [PATCH 1238/2606] Removed SwiftCSV Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..b21703203 100644 --- a/README.md +++ b/README.md @@ -1025,7 +1025,6 @@ Most of these are paid services, some have free tiers. #### CSV * [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 :large_orange_diamond: -* [SwiftCSV](https://github.com/naoty/SwiftCSV) - CSV parser for Swift :large_orange_diamond: #### JSON * [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. From 70b20dd7e3ff6f8b4bb31dbc9c251d6dd42d4bc3 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 20:14:07 -0300 Subject: [PATCH 1239/2606] Removed Coolie README is not Awesome --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..c9dd9b99e 100644 --- a/README.md +++ b/README.md @@ -1042,7 +1042,6 @@ Most of these are paid services, some have free tiers. * [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization :large_orange_diamond: * [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift model files from JSON using either SwiftyJSON or ObjectMapper. Supports NSCoding and provides method for JSON string representation of the model. :large_orange_diamond: * [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift :large_orange_diamond: -* [Coolie](https://github.com/nixzhu/Coolie) - Coolie helps you to create models (& their constructors) from JSON file. :large_orange_diamond: * [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. :large_orange_diamond: * [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. :large_orange_diamond: * [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. :large_orange_diamond: From 6755bb7f2b25b6319f6b1d4c4ef673eb09aa2d70 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 20:16:34 -0300 Subject: [PATCH 1240/2606] Removed Lin Lin doesn't work with Xcode 8 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..ed1eb9317 100644 --- a/README.md +++ b/README.md @@ -650,7 +650,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. :large_orange_diamond: * [Rubustrings](https://github.com/dcordero/Rubustrings) - Check the format and consistency of Localizable.strings files * [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) - Incrementally update/translate your Strings files from Code and Storyboards/XIBs. :large_orange_diamond: -* [Lin](https://github.com/questbeat/Lin) - Xcode plugin that provides auto-completion for NSLocalizedString. * [LocalizationKit](https://github.com/willpowell8/LocalizationKit_iOS) - Localization management in realtime from a web portal. Easily manage your texts and translations without redeploy and resubmission. * [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching :large_orange_diamond: * [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. From c1de23a220448b09a73bd5776acdfc27ff0ab2bc Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 20:17:59 -0300 Subject: [PATCH 1241/2606] Removed extract-localizable-string-plugin-xcode No updates since 2015 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..23a1a1272 100644 --- a/README.md +++ b/README.md @@ -658,7 +658,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [lokalise](https://lokalise.co/en ) - Translation platform for software developers. Free for open source projects * [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. * [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable :large_orange_diamond: -* [extract-localizable-string-plugin-xcode](https://github.com/viniciusmo/extract-localizable-string-plugin-xcode) - Xcode plugin for quickly creating localized strings * [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings ## Logging From 4fa9bbad59c823e2211531ad0daf37c31ad2ec9f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 20:20:27 -0300 Subject: [PATCH 1242/2606] Removed AFNetworkActivityLogger No activity since 2015 + [it doesn't work](https://github.com/AFNetworking/AFNetworkActivityLogger/issues/34) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..b21ce26c9 100644 --- a/README.md +++ b/README.md @@ -674,7 +674,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread :large_orange_diamond: * [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. :large_orange_diamond: * [puree](https://github.com/cookpad/puree-ios) - A log collector for iOS -* [AFNetworkActivityLogger](https://github.com/AFNetworking/AFNetworkActivityLogger) - AFNetworking 2.0 Extension for Network Request Logging * [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! :large_orange_diamond:[e] * [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. :large_orange_diamond: * [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. :large_orange_diamond: From f30fc101fe4c2cca6efd36e81a0b29219923b5b6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 20:24:29 -0300 Subject: [PATCH 1243/2606] Removed GroundControl Project [does not currently work](https://github.com/mattt/GroundControl/pull/20) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30433fea3..e41fc0152 100644 --- a/README.md +++ b/README.md @@ -2265,7 +2265,6 @@ Most of these are paid services, some have free tiers. * [XExtensionItem](https://github.com/tumblr/XExtensionItem) - Easier sharing of structured data between iOS applications and share extensions. * [ReflectableEnum](https://github.com/fastred/ReflectableEnum) - Reflection for enumerations in Objective-C. * [ObjectiveSugar](https://github.com/supermarin/ObjectiveSugar) - ObjectiveC additions for humans. Ruby style. - * [GroundControl](https://github.com/mattt/GroundControl) - Remote configuration for iOS. * [OpinionatedC](https://github.com/leoschweizer/OpinionatedC) - Because Objective-C should have inherited more from Smalltalk. * [SwiftRandom](https://github.com/thellimist/SwiftRandom) - Generator for random data. :large_orange_diamond: * [RandomKit](https://github.com/nvzqz/RandomKit/) - Random data generation in Swift. :large_orange_diamond: From 50f61842295356546fb8d4c96a377192c0405faf Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 20:43:48 -0300 Subject: [PATCH 1244/2606] Added React-Like section #1741 --- README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7c7295d41..70aab14f4 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Permissions](#permissions) - [Products](#products) - [Reactive Programming](#reactive-programming) + - [React-Like](#react-like) - [Reflection](#reflection) - [Regex](#regex) - [SDK](#sdk) @@ -1159,7 +1160,6 @@ Most of these are paid services, some have free tiers. * [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures :large_orange_diamond: * [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. :large_orange_diamond: * [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data :large_orange_diamond: -* [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: * [RxAutomaton](https://github.com/inamiy/RxAutomaton) - RxSwift + State Machine, inspired by Redux and Elm. :large_orange_diamond: * [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. :large_orange_diamond: * [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. :large_orange_diamond: @@ -1167,8 +1167,6 @@ Most of these are paid services, some have free tiers. * [Aftermath](https://github.com/hyperoslo/Aftermath) - Stateless message-driven micro-framework in Swift. :large_orange_diamond: * [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. :large_orange_diamond: * [JASONETTE-iOS](https://github.com/Jasonette/JASONETTE-iOS) - Native App over HTTP. Create your own native iOS app with nothing but JSON. -* [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: -* [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: * [ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) - Streams of values over time by ReactiveCocoa group * [Listenable](https://github.com/msaps/Listenable) - Swift object that provides an observable platform. :large_orange_diamond: * [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . :large_orange_diamond: @@ -1177,6 +1175,11 @@ Most of these are paid services, some have free tiers. * [ACKReactiveExtensions](https://github.com/AckeeCZ/ACKReactiveExtensions) - Useful extensions for ReactiveCocoa :large_orange_diamond: * [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive :large_orange_diamond: * [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. :large_orange_diamond: + +## React-Like +* [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: +* [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: +* [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: * [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. :large_orange_diamond: ## Reflection From 59177a7c43eb63b29754409a6cf1e4c521f80fbf Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 30 Jul 2017 20:47:35 -0300 Subject: [PATCH 1245/2606] Added Reactant by @Brightify #1741 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 70aab14f4..f30529df6 100644 --- a/README.md +++ b/README.md @@ -1181,6 +1181,7 @@ Most of these are paid services, some have free tiers. * [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: * [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: * [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. :large_orange_diamond: +* [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 35cc4f8762789d901823d8bff3316076505de189 Mon Sep 17 00:00:00 2001 From: Fabrizio Brancati Date: Mon, 31 Jul 2017 12:50:53 +0200 Subject: [PATCH 1246/2606] Adding Queuer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f30529df6..4f0dd5b3e 100644 --- a/README.md +++ b/README.md @@ -361,6 +361,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. :large_orange_diamond: * [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift :large_orange_diamond: * [Flow-iOS](https://github.com/roytornado/Flow-iOS) - Make your logic flow and data flow clean and human readable :large_orange_diamond: +* [Queuer](https://github.com/FabrizioBrancati/Queuer) - A queue manager, built on top of OperationQueue and Dispatch (aka GCD). :large_orange_diamond: ## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From 94b7ca3161252a27f25f96e5eaf97fdde8d29184 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 31 Jul 2017 11:25:12 -0300 Subject: [PATCH 1247/2606] Removed Hamburger-Menu-Button (#1828) Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f30529df6..13e326855 100644 --- a/README.md +++ b/README.md @@ -1829,7 +1829,6 @@ Most of these are paid services, some have free tiers. * [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state :large_orange_diamond: * [JTFadingInfoView](https://github.com/JunichiT/JTFadingInfoView) - An UIButton-based view with fade in/out animation features. * [Floaty](https://github.com/kciter/Floaty) - :heart: Floating Action Button for iOS :large_orange_diamond: -* [Hamburger-Menu-Button](https://github.com/toannt/Hamburger-Menu-Button) - A hamburger menu button with full customization. :large_orange_diamond: * [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). :large_orange_diamond: * [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift :large_orange_diamond: * [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. :large_orange_diamond: From ed256764bcc9037d5498aec68fcb8e10247fabd2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 31 Jul 2017 11:26:36 -0300 Subject: [PATCH 1248/2606] Removed CocoaMultipeer (#1843) Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 13e326855..ad9ea36a9 100644 --- a/README.md +++ b/README.md @@ -543,7 +543,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. :large_orange_diamond: * [simple-share](https://github.com/lauraskelton/simple-share) - Easy Proximity-based Bluetooth LE Sharing for iOS. * [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/macOS devices using BLE. :large_orange_diamond: -* [CocoaMultipeer](https://github.com/manavgabhawala/CocoaMultipeer) - This repository is a peer to peer framework for macOS, iOS and watchOS 2 that presents a similar interface to the MultipeerConnectivity framework (which is iOS only) that lets you connect any 2 devices from any platform. :large_orange_diamond: * [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift :large_orange_diamond: * [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework :large_orange_diamond: * [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. :large_orange_diamond: From 2bc81d14a1aae596f322632e7a8e643cbb134512 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 31 Jul 2017 11:26:56 -0300 Subject: [PATCH 1249/2606] Removed Every.swift (#1844) Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ad9ea36a9..ea4a7b3bf 100644 --- a/README.md +++ b/README.md @@ -451,7 +451,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Date & Time -* [Every.swift](https://github.com/samhann/Every.swift) - A swift wrapper for NSTimer :large_orange_diamond: * [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions in Swift :large_orange_diamond: * [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 :large_orange_diamond: * [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 :large_orange_diamond: From 8924b97b3197c1b30dc2a7bd3b6138c4d42eef1b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 31 Jul 2017 11:44:55 -0300 Subject: [PATCH 1250/2606] Removed Tempo (#1845) Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ea4a7b3bf..f0e52e725 100644 --- a/README.md +++ b/README.md @@ -458,7 +458,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Punctual.swift](https://github.com/harlanhaskins/Punctual.swift) - Swift dates, more fun. :large_orange_diamond: * [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond: * [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond: -* [Tempo](https://github.com/remirobert/Tempo) - :watch: Date and time manager for iOS/macOS written in Swift :large_orange_diamond: * [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. * [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. :large_orange_diamond: * [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift :large_orange_diamond: From 554f4edf69a35e7cbaf35f0d702ee93828878486 Mon Sep 17 00:00:00 2001 From: Hamza Ghazouani Date: Mon, 31 Jul 2017 16:46:15 +0200 Subject: [PATCH 1251/2606] Add HGPlaceholders (#1881) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f0e52e725..23ee199d6 100644 --- a/README.md +++ b/README.md @@ -2192,6 +2192,7 @@ Most of these are paid services, some have free tiers. * [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. 🔶 * [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. * [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). +* [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From dd1d7ebe339a5a7cc56919135b3810ee42bdbb6e Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 31 Jul 2017 11:46:52 -0300 Subject: [PATCH 1252/2606] Removed ServerSync-iOS (#1846) Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 23ee199d6..6044e6a04 100644 --- a/README.md +++ b/README.md @@ -464,7 +464,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . :large_orange_diamond: * [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. :large_orange_diamond: * [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. -* [ServerSync](https://github.com/skylovely/ServerSync-iOS) - Synchronize server's UTC time and app's UTC time :large_orange_diamond:[e] ## EventBus * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: From 5f6eba6d97a21189a274a13662272790fe16d31f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 31 Jul 2017 12:38:09 -0300 Subject: [PATCH 1253/2606] Removed SDevFlatColors (#1847) Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6044e6a04..ec22be661 100644 --- a/README.md +++ b/README.md @@ -317,7 +317,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Color * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: -* [SDevFlatColors](https://github.com/0x73/SDevFlatColors) - Flat Colors on Swift :large_orange_diamond: * [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. * [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. :large_orange_diamond:[e] * [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. :large_orange_diamond:[e] From 628416e77b06229c051ab853e375143882b955b8 Mon Sep 17 00:00:00 2001 From: jeantimex Date: Mon, 31 Jul 2017 11:43:44 -0700 Subject: [PATCH 1254/2606] Add CollapsibleTableSectionViewController by @jeantimex to Table View / Collection View. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ec22be661..e9152c94a 100644 --- a/README.md +++ b/README.md @@ -2191,6 +2191,7 @@ Most of these are paid services, some have free tiers. * [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. * [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). * [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project 🔶 +* [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From b73e964aea03a562b186c0ef974c3d570bc5d6f2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 31 Jul 2017 19:06:23 -0300 Subject: [PATCH 1255/2606] Removed Crayons (#1848) Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 3d466b3f9..352a2e4a0 100644 --- a/README.md +++ b/README.md @@ -322,7 +322,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. :large_orange_diamond:[e] * [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier. * [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. :large_orange_diamond: -* [Crayons](https://github.com/Sephiroth87/Crayons) - An Xcode plugin to improve dealing with colors in your project * [Hue](https://github.com/hyperoslo/Hue) - Hue is the all-in-one coloring utility that you'll ever need. * [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. :large_orange_diamond: * [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. :large_orange_diamond: From 5073d7eda52d7f988badc3664abbfe5b2b45c662 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 1 Aug 2017 13:50:18 -0300 Subject: [PATCH 1256/2606] Removed SnowGlobeFramework (#1871) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a68daa50e..9dac0f0c5 100644 --- a/README.md +++ b/README.md @@ -1743,7 +1743,6 @@ Most of these are paid services, some have free tiers. * [JDStatusBarNotification](https://github.com/calimarkus/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. * [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. :large_orange_diamond: * [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController :large_orange_diamond: -* [SnowGlobeFramework](https://github.com/stringcode86/SnowGlobeFramework) - Delightful / slightly cheese easter egg for Christmas season. Turns your awesome app into a snow globe, when user shake the device. :large_orange_diamond: * [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. :large_orange_diamond: * [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. :large_orange_diamond: * [RKDropdownAlert](https://github.com/cwRichardKim/RKDropdownAlert) - Extremely simple UIAlertView alternative. From cc3482daa7ed301e69892498f687e191308e58ae Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 1 Aug 2017 13:51:03 -0300 Subject: [PATCH 1257/2606] Removed XcodeColorSense (#1849) Not written in Swift 3 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9dac0f0c5..a94a6486b 100644 --- a/README.md +++ b/README.md @@ -327,7 +327,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. :large_orange_diamond: * [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. :large_orange_diamond: * [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) :large_orange_diamond: -* [XcodeColorSense](https://github.com/onmyway133/XcodeColorSense) - :balloon: An Xcode plugin that makes working with color easier :large_orange_diamond: * [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes * [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/publications/standards/Ecma-048.htm). :large_orange_diamond: * [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). :large_orange_diamond: From e9d10dec6e1e9363874bd4b8d269e5309aa4854e Mon Sep 17 00:00:00 2001 From: Jogendra Singh Date: Tue, 1 Aug 2017 22:23:21 +0530 Subject: [PATCH 1258/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f4959776f..12364b003 100644 --- a/README.md +++ b/README.md @@ -1793,6 +1793,7 @@ Most of these are paid services, some have free tiers. * [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. :large_orange_diamond: * [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. :large_orange_diamond: * [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. 🔶 +* [JSButton](https://github.com/imjog/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. 🔶 #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From 98b43e045ea220230ce338b41068ad2b0ccba204 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 1 Aug 2017 13:12:28 -0700 Subject: [PATCH 1259/2606] Update OCLint, close #1883 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a94a6486b..adb981ca1 100644 --- a/README.md +++ b/README.md @@ -311,7 +311,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. :large_orange_diamond: #### Linter -* [OCLint](http://oclint.org/) - Static code analysis tool for improving quality and reducing defects. +* [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. :large_orange_diamond: * [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. :large_orange_diamond: From 3cb14d43c5d27fd08afc7c66e0146515ef756cb8 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 3 Aug 2017 19:18:30 +0530 Subject: [PATCH 1260/2606] Add TransitionButton. (#1889) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index adb981ca1..84bd658c6 100644 --- a/README.md +++ b/README.md @@ -1817,6 +1817,7 @@ Most of these are paid services, some have free tiers. * [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. :large_orange_diamond: * [MultiToggleButton](https://github.com/yonat/MultiToggleButton) - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons). :large_orange_diamond: * [PMSuperButton](https://github.com/Codeido/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! 🔶 +* [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation :large_orange_diamond: #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From 0719da30ec1139367b211e41cca25954cb34caaf Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 4 Aug 2017 01:14:10 +0530 Subject: [PATCH 1261/2606] Add ShadowView (#1888) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 84bd658c6..f0ea1e1e5 100644 --- a/README.md +++ b/README.md @@ -1579,6 +1579,7 @@ Most of these are paid services, some have free tiers. * [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. 🔶 * [ViewComposer](https://github.com/Sajjon/ViewComposer) - `let lbl: UILabel = [.text("Hello"), .textColor(.red)]` - Create views using array literal of enum expressing view attributes. * [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. 🔶 +* [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView :large_orange_diamond: #### Activity Indicator From 79d8d14709c09ab97e8ac83065a7fda64a5e0f98 Mon Sep 17 00:00:00 2001 From: chaser79 <30496230+chaser79@users.noreply.github.com> Date: Fri, 4 Aug 2017 14:09:30 +0100 Subject: [PATCH 1262/2606] Added SwiftyOnboardVC --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f0ea1e1e5..a61374c37 100644 --- a/README.md +++ b/README.md @@ -2328,6 +2328,7 @@ Most of these are paid services, some have free tiers. * [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. :large_orange_diamond: * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. * [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 +* [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. 🔶 ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From c708d9528b0938c750f252308195e32d5950c7bf Mon Sep 17 00:00:00 2001 From: Astemir Eleev Date: Fri, 4 Aug 2017 16:48:52 +0300 Subject: [PATCH 1263/2606] Added other awesome list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f0ea1e1e5..6e8fb257c 100644 --- a/README.md +++ b/README.md @@ -2741,6 +2741,7 @@ Other amazingly awesome lists can be found in the * [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. * [Awesome-iOS-Companies](https://ioscompanies.info/about/welcome) - A curated geographical directory of companies doing iOS development. * [iOS-Playbook](https://github.com/bakkenbaeck/iOS-handbook) - Guidelines and best practices for excellent iOS apps +* [iOS-Learning-Materials](https://github.com/jVirus/iOS-Learning-Materials) - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS. # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 1b18869af88f7804d664b2a83a788c9952a0035d Mon Sep 17 00:00:00 2001 From: cwwise Date: Fri, 4 Aug 2017 23:07:05 +0800 Subject: [PATCH 1264/2606] Add WCDB (#1894) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6e8fb257c..afa6fad13 100644 --- a/README.md +++ b/README.md @@ -422,6 +422,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FileMaker](https://github.com/PerfectlySoft/Perfect-FileMaker) - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [Nora](https://github.com/SD10/Nora) - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage. :large_orange_diamond: * [PersistentStorageSerializable](https://github.com/IvanRublev/PersistentStorageSerializable) - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. :large_orange_diamond: +* [WCDB](https://github.com/Tencent/wcdb) - WCDB is an efficient, complete, easy-to-use mobile database framework for iOS, macOS. + ## Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: From 97acbec26c6dfb7225e6168eea4c2e6322c62f81 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 4 Aug 2017 08:11:44 -0700 Subject: [PATCH 1265/2606] Remove broken protobuf.io link Close #1890 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index afa6fad13..313573914 100644 --- a/README.md +++ b/README.md @@ -972,7 +972,7 @@ Also see [push notifications](#push-notifications) * [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS, written in Swift :large_orange_diamond: * [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library purely written in Swift :large_orange_diamond: - * [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift http://protobuf.io/#swift :large_orange_diamond: + * [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift :large_orange_diamond: ## Notifications From 424bbf8cb2f6d8f06eb36a7530d0efb7341a861c Mon Sep 17 00:00:00 2001 From: Abdullah Selek Date: Sat, 5 Aug 2017 16:18:52 +0200 Subject: [PATCH 1266/2606] Update ViperC description (#1895) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 313573914..1096e4b03 100644 --- a/README.md +++ b/README.md @@ -2569,7 +2569,7 @@ Most of these are paid services, some have free tiers. * [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. * [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. * [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 :large_orange_diamond: -* [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture written in Objective-C +* [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift :large_orange_diamond: # Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: From 212ab2fcab604f9085190404aa6d8123b9bb1c5b Mon Sep 17 00:00:00 2001 From: Xiaodi Wu Date: Sat, 5 Aug 2017 18:21:17 -0500 Subject: [PATCH 1267/2606] Add NumericAnnex (under Math) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1096e4b03..790c77e38 100644 --- a/README.md +++ b/README.md @@ -718,6 +718,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics :large_orange_diamond: * [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime :large_orange_diamond: * [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. :large_orange_diamond: +* [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library with generic integer algorithms, complex numbers, rational numbers, and pseudorandom number generators (written in, and for, Swift 4) :large_orange_diamond: ## Media #### Audio From 22cb86ccc99c0dfb32a1736274fca30a94a6cc11 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 7 Aug 2017 00:16:23 -0300 Subject: [PATCH 1268/2606] Removed PermissionScope (#1898) No longer supported --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 1096e4b03..649b12c5b 100644 --- a/README.md +++ b/README.md @@ -1106,7 +1106,6 @@ Most of these are paid services, some have free tiers. * [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt :large_orange_diamond: ## Permissions -* [PermissionScope](https://github.com/nickoneill/PermissionScope) - Intelligent iOS permissions UI and unified API (Supports Location, Notifications, Camera, Contacts, Calendar, Photos, Microphone, BT, Activity Monitoring, HealthKit and CloudKit). :large_orange_diamond: * [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). :large_orange_diamond: * [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). :large_orange_diamond: * [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. From 862ff3df3288e5319fc41c5b95707c4dd2aea0e0 Mon Sep 17 00:00:00 2001 From: Lisa Dziuba Date: Tue, 8 Aug 2017 16:16:02 +0300 Subject: [PATCH 1269/2606] Add Flawless App to the UI Testing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73f038425..f7d0a2423 100644 --- a/README.md +++ b/README.md @@ -1399,6 +1399,7 @@ Most of these are paid services, some have free tiers. * [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? :large_orange_diamond: * [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo :large_orange_diamond: * [Bluepill](https://github.com/linkedin/bluepill) - Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine +* [Flawless App](https://flawlessapp.io/) - tool for visual quality check of mobile app in a real-time. It compares initial design with the actual implementation right inside iOS simulator. #### Other Testing * [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. From d658e4feb1e2b0b112631cdf92dd025b1ca4d4d4 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 9 Aug 2017 20:53:02 +0530 Subject: [PATCH 1270/2606] Add PandoraPlayer (#1901) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f7d0a2423..df1098e94 100644 --- a/README.md +++ b/README.md @@ -743,6 +743,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [QuietModemKit](https://github.com/quiet/QuietModemKit) - iOS framework for the Quiet Modem (data over sound) * [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. Cocoapods and Carthage compatible. :large_orange_diamond: * [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: +* [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit and completely written in Swift :large_orange_diamond: #### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. From e8942482998aca52db9894b1da6be03be4b3e0d1 Mon Sep 17 00:00:00 2001 From: Nicholas Maccharoli Date: Thu, 10 Aug 2017 12:23:34 +0900 Subject: [PATCH 1271/2606] Add UIDeviceComplete (#1899) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index df1098e94..033769423 100644 --- a/README.md +++ b/README.md @@ -635,6 +635,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. :large_orange_diamond: * [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. ⌚️ * [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. :large_orange_diamond: +* [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. :large_orange_diamond: ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From cfccbd14da36a71c78865bfc56151c614d20c167 Mon Sep 17 00:00:00 2001 From: Rob Nash Date: Thu, 10 Aug 2017 14:54:03 +0100 Subject: [PATCH 1272/2606] Add CollapsibleTable (#1903) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 033769423..02d1ab0f8 100644 --- a/README.md +++ b/README.md @@ -2174,6 +2174,7 @@ Most of these are paid services, some have free tiers. * [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). * [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project 🔶 * [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. :large_orange_diamond: +* [CollapsibleTable](https://github.com/rob-nash/CollapsibleTable) - Collapsable table view sections with custom section header views. 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 86838f1837e956432d34657837ce39e1c91efe2c Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 10 Aug 2017 06:55:09 -0700 Subject: [PATCH 1273/2606] Remove iconresizer #1815 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 02d1ab0f8..a0b09cefb 100644 --- a/README.md +++ b/README.md @@ -2425,7 +2425,6 @@ Most of these are paid services, some have free tiers. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. * [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A macOS library for managing and manipulating iOS Simulators -* [IconResizer](https://iconresizer.com/) - A simple web application to resize iPhone and iPad app icons for the App Store * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. * [Cookiecutter](https://github.com/JetpackSwift/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: * [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. :large_orange_diamond: From 6007b25e4cf1daa1e428ec7fdae5f0bf565c5a4d Mon Sep 17 00:00:00 2001 From: Bruno Wide Date: Thu, 10 Aug 2017 13:21:56 -0300 Subject: [PATCH 1274/2606] added BWCollectionView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a0b09cefb..15a402630 100644 --- a/README.md +++ b/README.md @@ -506,6 +506,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: * [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. :large_orange_diamond: * [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit :large_orange_diamond: +* [BWCollectionView](https://github.com/bwide/BWCollectionView) - A swift framework for a collectionView in SpriteKit :large_orange_diamond: ## Gesture * [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS :large_orange_diamond: From 79512cd92a2dc7a499418b74b44b47a6dd583f7e Mon Sep 17 00:00:00 2001 From: Seungyoun Yi Date: Mon, 14 Aug 2017 12:29:06 +0900 Subject: [PATCH 1275/2606] Add ExpandableCell (#1906) Add ExpandableCell --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 15a402630..38c897ffb 100644 --- a/README.md +++ b/README.md @@ -2176,6 +2176,7 @@ Most of these are paid services, some have free tiers. * [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project 🔶 * [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. :large_orange_diamond: * [CollapsibleTable](https://github.com/rob-nash/CollapsibleTable) - Collapsable table view sections with custom section header views. 🔶 +* [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From e1e05bbd07c55c1cad316c1730c97c705c7fa524 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 14 Aug 2017 00:31:34 -0300 Subject: [PATCH 1276/2606] Moved FAPanels to Menu fixes #1905 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 38c897ffb..9ba458919 100644 --- a/README.md +++ b/README.md @@ -1733,7 +1733,6 @@ Most of these are paid services, some have free tiers. * [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS :large_orange_diamond: * [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. :large_orange_diamond: * [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. :large_orange_diamond: -* [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition :large_orange_diamond: #### Alert & Action Sheet @@ -1948,6 +1947,7 @@ Most of these are paid services, some have free tiers. * [JNDropDownMenu](https://github.com/javalnanda/JNDropDownMenu) - Easy to use tableview style drop down menu with multi-column support written in Swift3. :large_orange_diamond: * [FanMenu](https://github.com/exyte/fan-menu) - Menu with a circular layout based on Macaw. :large_orange_diamond: * [AirBar](https://github.com/uptechteam/AirBar) - UIScrollView driven expandable menu written in Swift 3. :large_orange_diamond: +* [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition :large_orange_diamond: #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From ec0630c0945002f583855606bbfd78d73565d81e Mon Sep 17 00:00:00 2001 From: kawoou Date: Wed, 16 Aug 2017 11:12:34 +0900 Subject: [PATCH 1277/2606] Add AnyDate. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ba458919..c9c2c3111 100644 --- a/README.md +++ b/README.md @@ -459,6 +459,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . :large_orange_diamond: * [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. :large_orange_diamond: * [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. +* [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. :large_orange_diamond: ## EventBus * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: From cab5cccc6400db325daae7ca7a9a5b4b804c1ec5 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 17 Aug 2017 19:49:35 +0530 Subject: [PATCH 1278/2606] Add PYSearch (#1911) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ba458919..ee13fded5 100644 --- a/README.md +++ b/README.md @@ -2229,6 +2229,7 @@ Most of these are paid services, some have free tiers. * [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. 🔶 * [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. 🔶 * [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list :large_orange_diamond: +* [PYSearch](https://github.com/iphone5solo/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From e0f26fbccf976f84a41a8b3bbe8248933bad9530 Mon Sep 17 00:00:00 2001 From: Hiroshi Kimura Date: Fri, 18 Aug 2017 04:47:29 +0900 Subject: [PATCH 1279/2606] Add DataSources by @muukii (#1913) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ee13fded5..e7edfe87d 100644 --- a/README.md +++ b/README.md @@ -2177,6 +2177,7 @@ Most of these are paid services, some have free tiers. * [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. :large_orange_diamond: * [CollapsibleTable](https://github.com/rob-nash/CollapsibleTable) - Collapsable table view sections with custom section header views. 🔶 * [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 +* [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 343ded1019eeeafca6eb49da856e0af435c09a51 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 18 Aug 2017 18:23:26 +0530 Subject: [PATCH 1280/2606] Add Pulley. (#1914) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e7edfe87d..2dffcc7c7 100644 --- a/README.md +++ b/README.md @@ -1585,6 +1585,7 @@ Most of these are paid services, some have free tiers. * [ViewComposer](https://github.com/Sajjon/ViewComposer) - `let lbl: UILabel = [.text("Hello"), .textColor(.red)]` - Create views using array literal of enum expressing view attributes. * [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. 🔶 * [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView :large_orange_diamond: +* [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI :large_orange_diamond: #### Activity Indicator From 25af5a7189e65c81ae3ff791d41e87d136f178e8 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 18 Aug 2017 11:26:43 -0300 Subject: [PATCH 1281/2606] Removed iDeveloper fixes #1912 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 2dffcc7c7..e8bff22a0 100644 --- a/README.md +++ b/README.md @@ -2705,7 +2705,6 @@ Most of these are paid services, some have free tiers. # Podcasts * [The Ray Wenderlich Podcast](https://www.raywenderlich.com/rwpodcast) * [Debug](https://www.imore.com/debug) -* [iDeveloper](http://blog.ideveloper.co/) * [App Story](http://www.appstorypodcast.com) * [Mobile Couch](http://mobilecouch.co/) * [iPhreaks](https://devchat.tv/iphreaks) From b073e7214cca0633ef4a547f09da67da57188045 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 18 Aug 2017 11:47:41 -0300 Subject: [PATCH 1282/2606] Added Awesome-iOS-Twitter by @carolanitz (#1915) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e8bff22a0..4d4b25fb9 100644 --- a/README.md +++ b/README.md @@ -2752,6 +2752,7 @@ Other amazingly awesome lists can be found in the * [Awesome-iOS-Companies](https://ioscompanies.info/about/welcome) - A curated geographical directory of companies doing iOS development. * [iOS-Playbook](https://github.com/bakkenbaeck/iOS-handbook) - Guidelines and best practices for excellent iOS apps * [iOS-Learning-Materials](https://github.com/jVirus/iOS-Learning-Materials) - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS. +* [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 60328b4bac345f55d32e626fc7380bacac8950f5 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Fri, 18 Aug 2017 07:54:24 -0700 Subject: [PATCH 1283/2606] Update README URLs based on HTTP redirects (#1916) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d4b25fb9..71164393a 100644 --- a/README.md +++ b/README.md @@ -2657,7 +2657,7 @@ Most of these are paid services, some have free tiers. #### iOS UI Template * [iOS UI Design Kit](https://www.invisionapp.com/tethr) -* [iOS Design Guidelines](http://ivomynttinen.com/blog/ios-design-guidelines) +* [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) * [iOS GUI by Facebook Design Resources](http://facebook.design/) #### Prototyping From 4f5f01d5656ee80015f88efc601d5c7583ad47d7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 18 Aug 2017 18:43:08 -0300 Subject: [PATCH 1284/2606] Added TOPasscodeViewController by @timoliver fixes #1917 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 71164393a..5910fb8e6 100644 --- a/README.md +++ b/README.md @@ -1253,6 +1253,7 @@ Most of these are paid services, some have free tiers. * [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application 🔶 * [SAPinViewController](https://github.com/siavashalipour/SAPinViewController) - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen. 🔶 * [VoiceItAPI1IosSDK](https://github.com/voiceittech/VoiceItAPI1IosSDK) - A super easy way to add Voice Authentication(Biometrics) to your iOS apps, conveniently usable via cocoapods :large_orange_diamond: +* [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 0d3e389493734bd92cdfca29121502b88f97f4f1 Mon Sep 17 00:00:00 2001 From: Moshe Date: Sat, 19 Aug 2017 22:12:51 -0400 Subject: [PATCH 1285/2606] Added MBCalendarKit. (#1918) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5910fb8e6..78ac7f585 100644 --- a/README.md +++ b/README.md @@ -1843,6 +1843,7 @@ Most of these are paid services, some have free tiers. * [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. * [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. :large_orange_diamond: * [GDPersianCalendar](https://github.com/saeid/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. 🔶 +* [MBCalendarKit](https://github.com/MosheBerman/MBCalendarKit) - A calendar framework for iOS built with customization, and localization in mind. #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From 1706b12badf980cc01910681cbcf4cde423b064e Mon Sep 17 00:00:00 2001 From: Luc Dion Date: Mon, 21 Aug 2017 10:20:00 -0400 Subject: [PATCH 1286/2606] Add FlexLayout layout framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 78ac7f585..935ea3969 100644 --- a/README.md +++ b/README.md @@ -615,6 +615,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. :large_orange_diamond: * [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. :large_orange_diamond: * [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. :large_orange_diamond: +* [FlexLayout](https://github.com/lucdion/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise syntax, intuitive & chainable. 🔶 #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 7dcd4dced09e456cacdbfef62f9f343a3e8631dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20Ara=C3=BAjo?= Date: Mon, 21 Aug 2017 21:55:35 -0300 Subject: [PATCH 1287/2606] Fix typo (#1919) --- Dangerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dangerfile b/Dangerfile index eba72b2a7..f885e45ef 100644 --- a/Dangerfile +++ b/Dangerfile @@ -16,7 +16,7 @@ results = File.read 'ab-results-README.md-markdown-table.json' j = JSON.parse results if j['error']==true m = j['title'] - m << ', a project collaborator will take care of these, thanks: )' + m << ', a project collaborator will take care of these, thanks :)' warn m markdown j['message'] end From 3ef725fb042bb19e3631450e5b3ca646085a1cea Mon Sep 17 00:00:00 2001 From: Luc Dion Date: Tue, 22 Aug 2017 08:44:57 -0400 Subject: [PATCH 1288/2606] Update FlexLayout description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 935ea3969..226a701bb 100644 --- a/README.md +++ b/README.md @@ -615,7 +615,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. :large_orange_diamond: * [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. :large_orange_diamond: * [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. :large_orange_diamond: -* [FlexLayout](https://github.com/lucdion/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise syntax, intuitive & chainable. 🔶 +* [FlexLayout](https://github.com/lucdion/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. 🔶 #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 391b9bf4729a8ba917fe9bfa9ae8e573b21e1246 Mon Sep 17 00:00:00 2001 From: EnnioMa Date: Tue, 22 Aug 2017 14:05:20 +0100 Subject: [PATCH 1289/2606] Added StorageKit under the Databases section (#1921) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a2bfbbb8e..f7accb5ee 100644 --- a/README.md +++ b/README.md @@ -423,6 +423,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Nora](https://github.com/SD10/Nora) - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage. :large_orange_diamond: * [PersistentStorageSerializable](https://github.com/IvanRublev/PersistentStorageSerializable) - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. :large_orange_diamond: * [WCDB](https://github.com/Tencent/wcdb) - WCDB is an efficient, complete, easy-to-use mobile database framework for iOS, macOS. +* [StorageKit](https://github.com/StorageKit/StorageKit) - Your Data Storage Troubleshooter 🛠 ## Data Structures / Algorithms From f8a58f8eb6ec8a81e402ed4fd2a2727593b9bd71 Mon Sep 17 00:00:00 2001 From: Seungyoun Yi Date: Tue, 22 Aug 2017 23:14:27 +0800 Subject: [PATCH 1290/2606] Add Highlighter (#1907) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f7accb5ee..0daa35272 100644 --- a/README.md +++ b/README.md @@ -1369,6 +1369,7 @@ Most of these are paid services, some have free tiers. * [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. 🔶 * [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. 🔶 * [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. 🔶 +* [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. :large_orange_diamond: ## Testing From e50950ad08177159d299902e2798c659f8c45038 Mon Sep 17 00:00:00 2001 From: Don Pinkus Date: Tue, 22 Aug 2017 17:51:07 -0700 Subject: [PATCH 1291/2606] Add Bugsnag to Analytics (#1923) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0daa35272..61aacab1a 100644 --- a/README.md +++ b/README.md @@ -194,6 +194,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. * [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. * [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. +* [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting/) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From bbc79a010567eeac77cf2fd6ce1b0856f66d1db4 Mon Sep 17 00:00:00 2001 From: Michael Michailidis Date: Wed, 23 Aug 2017 11:28:50 +0200 Subject: [PATCH 1292/2606] Added KDDragAndDropCollectionView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 61aacab1a..f9ee024d8 100644 --- a/README.md +++ b/README.md @@ -2110,6 +2110,7 @@ Most of these are paid services, some have free tiers. * [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. 🔶 #### Table View / Collection View +* [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. 🔶 * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. * [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. From f6126a6aaf1289fda808a2cd6f489c0f89911bb5 Mon Sep 17 00:00:00 2001 From: Michael Michailidis Date: Wed, 23 Aug 2017 15:22:45 +0200 Subject: [PATCH 1293/2606] Conforming to the standards of awesome swift --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f9ee024d8..1682e1ac6 100644 --- a/README.md +++ b/README.md @@ -2110,7 +2110,6 @@ Most of these are paid services, some have free tiers. * [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. 🔶 #### Table View / Collection View -* [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. 🔶 * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. * [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. @@ -2186,6 +2185,7 @@ Most of these are paid services, some have free tiers. * [CollapsibleTable](https://github.com/rob-nash/CollapsibleTable) - Collapsable table view sections with custom section header views. 🔶 * [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 * [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) 🔶 +* [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From aba0105303d6b3985a63dc86e45af2f3b8138f87 Mon Sep 17 00:00:00 2001 From: Kedan Li Date: Wed, 23 Aug 2017 10:09:03 -0700 Subject: [PATCH 1294/2606] add CoreML Link and CoreML Models --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 61aacab1a..23993457b 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Command Line](#command-line) - [Concurrency](#concurrency) - [Core Data](#core-data) + - [Core ML](#core-ml) - [Database](#database) - [Data Structures / Algorithms](#data-structures--algorithms) - [Date & Time](#date--time) @@ -389,6 +390,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. * [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. :large_orange_diamond: +## Core ML +* [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of currently available Core ML Models. + ## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. * [YapDatabase](https://github.com/yapstudios/YapDatabase) - YapDatabase is an extensible database for iOS & Mac. From 63a049400c86b6f5dfd74ede8f999e3187682565 Mon Sep 17 00:00:00 2001 From: Kedan Li Date: Wed, 23 Aug 2017 10:39:12 -0700 Subject: [PATCH 1295/2606] update to Machine Learning --- README.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index 23993457b..c7e187487 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Command Line](#command-line) - [Concurrency](#concurrency) - [Core Data](#core-data) - - [Core ML](#core-ml) - [Database](#database) - [Data Structures / Algorithms](#data-structures--algorithms) - [Date & Time](#date--time) @@ -390,9 +389,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. * [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. :large_orange_diamond: -## Core ML -* [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of currently available Core ML Models. - ## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. * [YapDatabase](https://github.com/yapstudios/YapDatabase) - YapDatabase is an extensible database for iOS & Mac. @@ -702,6 +698,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Caffe2](https://github.com/caffe2/caffe2) - Lightweight, modular, and scalable deep learning framework. * [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. :large_orange_diamond: * [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. :large_orange_diamond: +* [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of unique Core ML Models. ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From aca2b3804e4b79f0bc6bc5ce70711ad4978980ec Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 23 Aug 2017 15:12:50 -0300 Subject: [PATCH 1296/2606] Updated Dispatch's url --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c7e187487..f09c499e9 100644 --- a/README.md +++ b/README.md @@ -2366,7 +2366,7 @@ Most of these are paid services, some have free tiers. * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. :large_orange_diamond: * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) :large_orange_diamond: * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. - * [Dispatch](https://github.com/Swiftification/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: + * [Dispatch](https://github.com/JARMourato/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. :large_orange_diamond: * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities :large_orange_diamond: * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. :large_orange_diamond: From 439d139b617a8fdcdfaf4188d2f08327ce874f63 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 25 Aug 2017 18:53:54 +0530 Subject: [PATCH 1297/2606] Add iCard (#1930) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5cd43a192..cf891397e 100644 --- a/README.md +++ b/README.md @@ -1112,6 +1112,7 @@ Most of these are paid services, some have free tiers. * [RMStore](https://github.com/robotmedia/RMStore) - A lightweight iOS library for In-App Purchases * [MFCard](https://github.com/mobilefirstinc/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI * [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt :large_orange_diamond: +* [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL :large_orange_diamond: ## Permissions * [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). :large_orange_diamond: From 784cbdd13170ff0806de0cf4e3cb5a0b96b5df74 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Sun, 27 Aug 2017 00:00:23 +0300 Subject: [PATCH 1298/2606] Add InitialsImageView to the Image category (#1933) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf891397e..191bb751f 100644 --- a/README.md +++ b/README.md @@ -842,6 +842,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AZImagePreview](https://github.com/Minitour/AZImagePreview) - A framework that makes image viewing easy. :large_orange_diamond: * [FaceCropper](https://github.com/KimDarren/FaceCropper) - Crop faces, inside of your image, with iOS 11 Vision api :large_orange_diamond: * [Paparazzo](https://github.com/avito-tech/Paparazzo) - Custom iOS camera and photo picker with editing capabilities :large_orange_diamond: +* [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 849345fa4415f213e8af445ec149a1c67459e1fc Mon Sep 17 00:00:00 2001 From: Karthick Date: Sun, 27 Aug 2017 22:29:28 -0700 Subject: [PATCH 1299/2606] Add saoudrizwan/Disk (#1931) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 191bb751f..c08c36bda 100644 --- a/README.md +++ b/README.md @@ -246,6 +246,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RocketData](https://github.com/linkedin/RocketData) - A caching and consistency solution for immutable models. :large_orange_diamond: * [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS * [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift :large_orange_diamond: +* [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. 🔶 ## Charts * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: From f3ccff8e4d519ec9882794043643e14f859eb53d Mon Sep 17 00:00:00 2001 From: Lucas Nelaupe Date: Wed, 23 Aug 2017 11:45:24 +0800 Subject: [PATCH 1300/2606] Add SwiftQueue --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c08c36bda..eb67d3395 100644 --- a/README.md +++ b/README.md @@ -361,6 +361,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift :large_orange_diamond: * [Flow-iOS](https://github.com/roytornado/Flow-iOS) - Make your logic flow and data flow clean and human readable :large_orange_diamond: * [Queuer](https://github.com/FabrizioBrancati/Queuer) - A queue manager, built on top of OperationQueue and Dispatch (aka GCD). :large_orange_diamond: +* [SwiftQueue](https://github.com/lucas34/SwiftQueue) - Job Scheduler with Concurrent run, failure/retry, persistence, repeat, delay and more. :large_orange_diamond: ## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From ade66de769c8c253690ab311dacdd595919f2d91 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 28 Aug 2017 18:28:00 +0530 Subject: [PATCH 1301/2606] Add DefaultsKit (#1934) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c08c36bda..7b9471b45 100644 --- a/README.md +++ b/README.md @@ -426,6 +426,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PersistentStorageSerializable](https://github.com/IvanRublev/PersistentStorageSerializable) - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. :large_orange_diamond: * [WCDB](https://github.com/Tencent/wcdb) - WCDB is an efficient, complete, easy-to-use mobile database framework for iOS, macOS. * [StorageKit](https://github.com/StorageKit/StorageKit) - Your Data Storage Troubleshooter 🛠 +* [UserDefaults](https://github.com/nmdias/DefaultsKit) - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS :large_orange_diamond: ## Data Structures / Algorithms From 78d254f41279d87c0a8b55817e7c1b44ba2f229e Mon Sep 17 00:00:00 2001 From: Simon Date: Tue, 29 Aug 2017 10:10:50 -0400 Subject: [PATCH 1302/2606] Add ARKKit #L1252 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7b9471b45..496acd9e1 100644 --- a/README.md +++ b/README.md @@ -1249,6 +1249,7 @@ Most of these are paid services, some have free tiers. * [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. :large_orange_diamond: * [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. :large_orange_diamond: * [SwiftyVK](https://github.com/west0r/SwiftyVK) Library for easy interact with VK social network API written in Swift 🔶 +* [ARKKit](https://github.com/sleepdefic1t/ARKKit) - [ARK Ecosystem](https://ark.io) Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 9dd4e1c5cb961eb0d5d5d0d6d119712b9d5234de Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 30 Aug 2017 22:32:02 -0300 Subject: [PATCH 1303/2606] Removed iCheckbox fixes #1932 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 1d789ec09..1e05f0ee5 100644 --- a/README.md +++ b/README.md @@ -1558,7 +1558,6 @@ Most of these are paid services, some have free tiers. * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. * [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background in Swift 3 :large_orange_diamond: * [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. :large_orange_diamond: -* [iCheckbox](https://github.com/mancunianetz/iCheckbox) - A checkbox like component for iOS apps. :large_orange_diamond: * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. :large_orange_diamond: * [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. * [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app :large_orange_diamond: From 255d0f5f4f3efc52a9a2e2436a0bcdcc702495fd Mon Sep 17 00:00:00 2001 From: Taras Pasichnyk Date: Fri, 1 Sep 2017 15:55:50 +0300 Subject: [PATCH 1304/2606] Remove Pidor (#1940) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 1e05f0ee5..b67bbb177 100644 --- a/README.md +++ b/README.md @@ -306,7 +306,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. :large_orange_diamond: * [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. * [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. :large_orange_diamond: -* [PIDOR](https://github.com/applepride/pidor) - Simple design pattern with the best iOS dev experience. * [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. * [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. * [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. :large_orange_diamond: From 5b77d9964145c52c39d4288f05aeba2f9bbbdec4 Mon Sep 17 00:00:00 2001 From: Roy Marmelstein Date: Fri, 1 Sep 2017 14:57:30 +0200 Subject: [PATCH 1305/2606] Add SpotifyLogin (#1939) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b67bbb177..0b4b91338 100644 --- a/README.md +++ b/README.md @@ -1194,6 +1194,7 @@ Most of these are paid services, some have free tiers. #### Official * [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. +* [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. :large_orange_diamond: * [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. * [Facebook Swift](https://github.com/facebook/facebook-sdk-swift) Integrate your iOS apps in Swift with Facebook Platform. * [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS From 3aa9ca7e879081229f190f68c188afe578485921 Mon Sep 17 00:00:00 2001 From: Yogesh-MV Date: Mon, 4 Sep 2017 21:10:27 +0530 Subject: [PATCH 1306/2606] Add blueapron/styled-text (#1944) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0b4b91338..e8e28df7a 100644 --- a/README.md +++ b/README.md @@ -2245,6 +2245,7 @@ Most of these are paid services, some have free tiers. * [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. 🔶 * [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list :large_orange_diamond: * [PYSearch](https://github.com/iphone5solo/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). +* [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. 🔶 #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 2c904bd2071b62287a6e615c556314b08ac5a481 Mon Sep 17 00:00:00 2001 From: Aman Taneja Date: Thu, 7 Sep 2017 10:56:48 +0530 Subject: [PATCH 1307/2606] Added PTEventView to Calender Module. An Event View based on Apple's Event Detail View. Written in Swift 3. Supports ARC, Autolayout and editing via StoryBoard. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e8e28df7a..19aa72a74 100644 --- a/README.md +++ b/README.md @@ -1854,6 +1854,7 @@ Most of these are paid services, some have free tiers. * [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. :large_orange_diamond: * [GDPersianCalendar](https://github.com/saeid/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. 🔶 * [MBCalendarKit](https://github.com/MosheBerman/MBCalendarKit) - A calendar framework for iOS built with customization, and localization in mind. +* [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. 🔶 #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From e2163ab725df5410120d65d0e624415a1718c503 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 7 Sep 2017 15:10:30 -0400 Subject: [PATCH 1308/2606] Updated URLs --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e8e28df7a..d5b9e0157 100644 --- a/README.md +++ b/README.md @@ -296,7 +296,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. * [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. * [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. -* [GlueKit](https://github.com/lorentey/GlueKit) - A type-safe observer framework for Swift. :large_orange_diamond: +* [GlueKit](https://github.com/attaswift/GlueKit) - A type-safe observer framework for Swift. :large_orange_diamond: * [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. :large_orange_diamond: * [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. * [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. :large_orange_diamond: @@ -432,7 +432,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: * [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another :large_orange_diamond: -* [BTree](https://github.com/lorentey/BTree) - Fast ordered collections for Swift using in-memory B-trees :large_orange_diamond: +* [BTree](https://github.com/attaswift/BTree) - Fast ordered collections for Swift using in-memory B-trees :large_orange_diamond: * [SwiftStructures](https://github.com/waynewbishop/SwiftStructures) - Examples of commonly used data structures and algorithms in Swift. :large_orange_diamond: * [diff](https://github.com/soffes/diff) - Simple diff library in pure Swift :large_orange_diamond: * [Brick](https://github.com/hyperoslo/Brick) - :droplet: A generic view model for both basic and complex scenarios :large_orange_diamond: @@ -722,7 +722,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. :large_orange_diamond: * [iosMath](https://github.com/kostub/iosMath) - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS. * [swift-pons](https://github.com/dankogai/swift2-pons) - Protocol-Oriented Number System in Pure Swift :large_orange_diamond: -* [BigInt](https://github.com/lorentey/BigInt) - Arbitrary-precision arithmetic in pure Swift :large_orange_diamond: +* [BigInt](https://github.com/attaswift/BigInt) - Arbitrary-precision arithmetic in pure Swift :large_orange_diamond: * [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. :large_orange_diamond: * [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics :large_orange_diamond: * [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime :large_orange_diamond: @@ -876,7 +876,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS * [AVAnimator](http://www.modejong.com/AVAnimator/) - An open source iOS native library that makes it easy to implement non-trivial video/audio enabled apps. * [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control :large_orange_diamond: -* [SSVideoPlayer](https://github.com/immrss/SSVideoPlayer) - A video player that support both local and network resource. +* [SSVideoPlayer](https://github.com/immrss/Mango) - A video player that support both local and network resource. * [MHVideoPhotoGallery](https://github.com/mariohahn/MHVideoPhotoGallery) - A Photo and Video Gallery * [PlayerView](https://github.com/davidlondono/PlayerView) - Player View is a delegated view using AVPlayer of Swift :large_orange_diamond: * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. @@ -1281,7 +1281,7 @@ Most of these are paid services, some have free tiers. * [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: * [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines :large_orange_diamond: -* [SipHash](https://github.com/lorentey/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. :large_orange_diamond: +* [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. :large_orange_diamond: #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. @@ -2648,7 +2648,7 @@ Most of these are paid services, some have free tiers. #### Tutorials and Keynotes * [AppCoda](http://www.appcoda.com) * [Tutorials Point](http://www.tutorialspoint.com/ios/) -* [Code with Chris](http://codewithchris.com/) +* [Code with Chris](https://codewithchris.com/) * [Cocoa with Love](http://www.cocoawithlove.com/) * [Code School - Try Objective-C](https://www.codeschool.com/courses/try-objective-c) * [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. :large_orange_diamond: From 6fb75bd3089b17e9ca3d37b7002faf72b15c2338 Mon Sep 17 00:00:00 2001 From: Alex Petuschak Date: Fri, 8 Sep 2017 15:01:32 +0300 Subject: [PATCH 1309/2606] Added Swiftify Xcode Extension to the new "Extensions" category (separated from "Plugins" for clarity) (#1943) --- README.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 0b050c5a1..a03a5bcea 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ * [Check out our new website 🗞](http://weekly.awesomeios.com/) # About -A curated list of awesome iOS frameworks, libraries, tutorials, Xcode plugins, components and much more. +A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). Projects in Swift will be marked with :large_orange_diamond:, Swift Extensions will be marked with 🔶[e] and ⌚ for Apple Watch projects. Feel free to add your project. @@ -147,6 +147,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Official](#official) - [Unofficial](#unofficial) - [Xcode](#xcode) + - [Extensions (Xcode 8+)](#extensions-xcode-8) - [Plugins](#plugins) - [Themes](#themes) - [Other Xcode](#other-xcode) @@ -2512,6 +2513,17 @@ Most of these are paid services, some have free tiers. # Xcode +#### Extensions (Xcode 8+) +* [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. :large_orange_diamond: +* [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8) :large_orange_diamond: +* [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. :large_orange_diamond: +* [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. :large_orange_diamond: +* [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. :large_orange_diamond: +* [Mark](https://github.com/velyan/Mark) - Xcode extension for generating MARK comments. :large_orange_diamond: +* [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). :large_orange_diamond: +* [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. :large_orange_diamond: +* [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. :large_orange_diamond: + #### Plugins * [FuzzyAutocompletePlugin](https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin) - A Xcode 5+ plugin that adds more flexible autocompletion rather than just prefix-matching. * [SCXcodeMiniMap](https://github.com/stefanceriu/SCXcodeMiniMap) - SCXcodeMiniMap is a plugin that adds a source editor MiniMap to Xcode. @@ -2562,8 +2574,6 @@ Most of these are paid services, some have free tiers. * [SYXcodeIconVersion](https://github.com/dvkch/SYXcodeIconVersion) - This Xcode plugin shows Xcode app version in the Dock and App Switcher icon. * [Gradle](https://github.com/openbakery/gradle-xcodePlugin) - gradle xcodePlugin to build iOS and Mac projects. * [HOStringSense-for-Xcode](https://github.com/holtwick/HOStringSense-for-Xcode) - Plugin for Xcode to make perfect editing regular expressions, multi line texts, inline HTML and many more use cases. Also provides quick feedback on string length. -* [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. :large_orange_diamond: -* [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8) :large_orange_diamond: * [FastStub-Xcode](https://github.com/music4kid/FastStub-Xcode) - Xcode Plugin helps you find missing methods in your class header, protocols, and super class, also makes fast inserting. * [JSPatchX](https://github.com/bang590/JSPatchX) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. * [Dash](https://kapeli.com/dash) - Dash is a great documentation browser which integrates closely into Xcode with its plugin. @@ -2571,12 +2581,6 @@ Most of these are paid services, some have free tiers. * [ClangFormat-Xcode](https://github.com/travisjeffery/ClangFormat-Xcode) - An Xcode plug-in to format your code using Clang's format tools. * [update_xcode_plugins](https://github.com/inket/update_xcode_plugins) - No more messing with plugin UUIDs; Plugins on Xcode 8! * [MakeXcodeGr8Again](https://github.com/fpg1503/MakeXcodeGr8Again) - Xcode + Plugins = :blue_heart: :large_orange_diamond: -* [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. :large_orange_diamond: -* [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. :large_orange_diamond: -* [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. :large_orange_diamond: -* [Mark](https://github.com/velyan/Mark) - Xcode extension for generating MARK comments. :large_orange_diamond: -* [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). :large_orange_diamond: -* [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. :large_orange_diamond: #### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. From 190def53731ecf60812d7648ead62adb1c3ca94a Mon Sep 17 00:00:00 2001 From: Ignacio Chiazzo Cardarello Date: Sat, 9 Sep 2017 10:25:48 -0400 Subject: [PATCH 1310/2606] Add ARKit - Placing Virtual Objects in Augmented Reality (#1946) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a03a5bcea..d08a20678 100644 --- a/README.md +++ b/README.md @@ -210,6 +210,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## ARKit * [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. :large_orange_diamond: +* [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: From 198d3fabde0c65797bce0b127a7ae8f13734bb80 Mon Sep 17 00:00:00 2001 From: Robert-Hein Hooijmans Date: Sat, 9 Sep 2017 17:41:04 +0200 Subject: [PATCH 1311/2606] Add Observable to the Reactive Programming category (#1925) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d08a20678..ff334709a 100644 --- a/README.md +++ b/README.md @@ -1169,6 +1169,7 @@ Most of these are paid services, some have free tiers. * [ACKReactiveExtensions](https://github.com/AckeeCZ/ACKReactiveExtensions) - Useful extensions for ReactiveCocoa :large_orange_diamond: * [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive :large_orange_diamond: * [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. :large_orange_diamond: +* [Observable](https://github.com/roberthein/Observable) - The easiest way to observe values in Swift. 🔶 ## React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: From 53b84f19f1848ce31d8e7690a7e0044861bb9aa5 Mon Sep 17 00:00:00 2001 From: ZaidSA Date: Sat, 9 Sep 2017 21:12:25 +0530 Subject: [PATCH 1312/2606] Add ZImageCropper (#1922) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ff334709a..7b72fffdc 100644 --- a/README.md +++ b/README.md @@ -846,6 +846,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AZImagePreview](https://github.com/Minitour/AZImagePreview) - A framework that makes image viewing easy. :large_orange_diamond: * [FaceCropper](https://github.com/KimDarren/FaceCropper) - Crop faces, inside of your image, with iOS 11 Vision api :large_orange_diamond: * [Paparazzo](https://github.com/avito-tech/Paparazzo) - Custom iOS camera and photo picker with editing capabilities :large_orange_diamond: +* [ZImageCropper](https://github.com/ZaidPathan/ZImageCropper) - A Swift project to crop image in any shape. :large_orange_diamond: * [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. :large_orange_diamond: #### Media Processing From 3a5211d030176e18db741301e4f981855c75951f Mon Sep 17 00:00:00 2001 From: Yusuke Morishita Date: Sun, 10 Sep 2017 00:43:17 +0900 Subject: [PATCH 1313/2606] Add SwipeMenuViewController (#1908) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7b72fffdc..54b8dc40b 100644 --- a/README.md +++ b/README.md @@ -1966,6 +1966,7 @@ Most of these are paid services, some have free tiers. * [FanMenu](https://github.com/exyte/fan-menu) - Menu with a circular layout based on Macaw. :large_orange_diamond: * [AirBar](https://github.com/uptechteam/AirBar) - UIScrollView driven expandable menu written in Swift 3. :large_orange_diamond: * [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition :large_orange_diamond: +* [SwipeMenuViewController](https://github.com/yysskk/SwipeMenuViewController) - Swipable tab and menu View and ViewController. :large_orange_diamond: #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From c332cf6f933bbc61e1bcaec26102e143d43614f4 Mon Sep 17 00:00:00 2001 From: Taiki Suzuki Date: Sat, 9 Sep 2017 11:43:51 -0400 Subject: [PATCH 1314/2606] Add FluxCapacitor by @marty-suzuki (#1910) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 54b8dc40b..fc8629632 100644 --- a/README.md +++ b/README.md @@ -2329,6 +2329,7 @@ Most of these are paid services, some have free tiers. * [InAppSettingsKit](https://github.com/futuretap/InAppSettingsKit) - This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app. * [MMWormhole](https://github.com/mutualmobile/MMWormhole) - Message passing between iOS apps and extensions. * [DefaultStringConvertible](https://github.com/jessesquires/DefaultStringConvertible) - A default CustomStringConvertible implementation for Swift types 🔶[e] + * [FluxCapacitor](https://github.com/marty-suzuki/FluxCapacitor) - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias. 🔶 ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 82bbdd39fa14dced8e4230acc5840bf2cc4496fc Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Sat, 9 Sep 2017 08:47:03 -0700 Subject: [PATCH 1315/2606] Update README URLs based on HTTP redirects (#1947) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fc8629632..8ceb4348d 100644 --- a/README.md +++ b/README.md @@ -2461,7 +2461,7 @@ Most of these are paid services, some have free tiers. * [Struct](https://www.get-struct.tools) - A tool for iOS and Mac developers to automate the creation and management of Xcode projects. * [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. :large_orange_diamond: * [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. -* [Attabench](https://github.com/lorentey/Attabench) - Microbenchmarking app for Swift with nice log-log plots :large_orange_diamond: +* [Attabench](https://github.com/attaswift/Attabench) - Microbenchmarking app for Swift with nice log-log plots :large_orange_diamond: * [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. :large_orange_diamond: * [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. :large_orange_diamond: * [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class From 75744a0dd3ec99c13d34a1b35a9f176663afc719 Mon Sep 17 00:00:00 2001 From: Ander Goig Date: Sat, 9 Sep 2017 18:12:39 +0200 Subject: [PATCH 1316/2606] Add IGAuth --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ceb4348d..33e9b6612 100644 --- a/README.md +++ b/README.md @@ -227,6 +227,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. * [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. * [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. +* [IGAuth](https://github.com/AnderGoig/IGAuth) - A simple way to authenticate Instagram accounts on iOS. :large_orange_diamond: ## Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. From 4421b7ef0f24b935ad3e0de3c7d460f4c0a413d3 Mon Sep 17 00:00:00 2001 From: Muhammad Bassio Date: Sun, 10 Sep 2017 11:07:59 +0200 Subject: [PATCH 1317/2606] Add N8iveKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 33e9b6612..655437ec6 100644 --- a/README.md +++ b/README.md @@ -1602,6 +1602,7 @@ Most of these are paid services, some have free tiers. * [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. 🔶 * [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView :large_orange_diamond: * [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI :large_orange_diamond: +* [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. #### Activity Indicator From 14ebab42a4cdb25e5b312de2324fd47ccb1a8200 Mon Sep 17 00:00:00 2001 From: Muhammad Bassio Date: Mon, 11 Sep 2017 12:54:31 +0200 Subject: [PATCH 1318/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 655437ec6..15138c83d 100644 --- a/README.md +++ b/README.md @@ -1602,7 +1602,7 @@ Most of these are paid services, some have free tiers. * [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. 🔶 * [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView :large_orange_diamond: * [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI :large_orange_diamond: -* [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. +* [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. 🔶 #### Activity Indicator From 951fc002357ea7a89efebd146285e1904f7ff803 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 11 Sep 2017 08:54:49 -0400 Subject: [PATCH 1319/2606] Updated :large_orange_diamond: --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 15138c83d..fccb6d610 100644 --- a/README.md +++ b/README.md @@ -1602,7 +1602,7 @@ Most of these are paid services, some have free tiers. * [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. 🔶 * [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView :large_orange_diamond: * [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI :large_orange_diamond: -* [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. 🔶 +* [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. :large_orange_diamond: #### Activity Indicator From 9844f04e801db63d241c9f2bcaf8d4cb4dd65de0 Mon Sep 17 00:00:00 2001 From: LeFal Date: Thu, 31 Aug 2017 03:16:35 +0900 Subject: [PATCH 1320/2606] add WaterDrops --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index fccb6d610..5c8d4ace7 100644 --- a/README.md +++ b/README.md @@ -1727,6 +1727,8 @@ Most of these are paid services, some have free tiers. * [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. :large_orange_diamond: * [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation :large_orange_diamond: * [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift :large_orange_diamond: +* [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS :large_orange_diamond: + ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From d67fde1b8d860b283ba9bbacd194af1c32493add Mon Sep 17 00:00:00 2001 From: LeFal Date: Thu, 31 Aug 2017 03:17:53 +0900 Subject: [PATCH 1321/2606] remove blank --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5c8d4ace7..9c9cf50b6 100644 --- a/README.md +++ b/README.md @@ -1729,7 +1729,6 @@ Most of these are paid services, some have free tiers. * [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift :large_orange_diamond: * [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS :large_orange_diamond: - ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. * [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. :large_orange_diamond: From cb20f15d91e332d9378e101302f655df1c64261e Mon Sep 17 00:00:00 2001 From: LeFal Date: Thu, 31 Aug 2017 03:27:15 +0900 Subject: [PATCH 1322/2606] add WaterDrops --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9c9cf50b6..6f17320c0 100644 --- a/README.md +++ b/README.md @@ -1727,7 +1727,7 @@ Most of these are paid services, some have free tiers. * [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. :large_orange_diamond: * [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation :large_orange_diamond: * [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift :large_orange_diamond: -* [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS :large_orange_diamond: +* [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS in Swift :large_orange_diamond: ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From ae48668bb3ac3788a2f3a6d6af8fa62c546b9257 Mon Sep 17 00:00:00 2001 From: isaman kumara Date: Thu, 14 Sep 2017 16:56:05 +0530 Subject: [PATCH 1323/2606] Skywite framework added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6f17320c0..bdce4d7c8 100644 --- a/README.md +++ b/README.md @@ -977,6 +977,7 @@ Also see [push notifications](#push-notifications) * [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. :large_orange_diamond: * [WANetworkRouting](https://github.com/Wasappli/WANetworkRouting) - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers * [Reactor](https://github.com/MailOnline/Reactor) - Powering your RAC architecture :large_orange_diamond: +* [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking 🔶 #### Email From 9b71c3895ebf38c27aa3603270f97cd582eba601 Mon Sep 17 00:00:00 2001 From: Gleb Karpushkin Date: Fri, 15 Sep 2017 17:55:42 +0300 Subject: [PATCH 1324/2606] Update README.md Added SonogramView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6f17320c0..7682cd7a4 100644 --- a/README.md +++ b/README.md @@ -756,6 +756,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. Cocoapods and Carthage compatible. :large_orange_diamond: * [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: * [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit and completely written in Swift :large_orange_diamond: +* [BPMAnalyser](https://github.com/Luccifer/SonogramView) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: #### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. From 0f541101dd92b0c065119524190cc64674639548 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 15 Sep 2017 21:00:44 +0530 Subject: [PATCH 1325/2606] Add TvOSPinKeyboard (#1951) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6f17320c0..3dd432792 100644 --- a/README.md +++ b/README.md @@ -207,6 +207,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text :large_orange_diamond: * [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS :large_orange_diamond: * [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. :large_orange_diamong: +* [TvOSPinKeyboard](https://github.com/zattoo/TvOSPinKeyboard) - PIN keyboard for tvOS :large_orange_diamond: ## ARKit * [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. :large_orange_diamond: From 492ccc5785c0dbd17628e4338acfcca7e5a9102f Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Sun, 17 Sep 2017 08:05:10 -0700 Subject: [PATCH 1326/2606] Update README URLs based on HTTP redirects (#1956) --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3dd432792..55e490633 100644 --- a/README.md +++ b/README.md @@ -291,7 +291,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Tailor](https://github.com/sleekbyte/tailor) - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs. * [SwiftCop](https://github.com/andresinaka/SwiftCop) - SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations. :large_orange_diamond: * [Trackable](https://github.com/VojtaStavik/Trackable) - Trackable is a simple analytics integration helper library. It’s especially designed for easy and comfortable integration with existing projects. :large_orange_diamond: -* [MLeaksFinder](https://github.com/Zepo/MLeaksFinder) - Find memory leaks in your iOS app at develop time. +* [MLeaksFinder](https://github.com/Tencent/MLeaksFinder) - Find memory leaks in your iOS app at develop time. * [HeapInspector-for-iOS](https://github.com/tapwork/HeapInspector-for-iOS) - Find memory issues & leaks in your iOS app without instruments * [FBMemoryProfiler](https://github.com/facebook/FBMemoryProfiler) - iOS tool that helps with profiling iOS Memory usage. * [FBRetainCycleDetector](https://github.com/facebook/FBRetainCycleDetector) - iOS library to help detecting retain cycles in runtime. @@ -853,7 +853,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: -* [QR Code Scanner](http://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. +* [QR Code Scanner](https://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. * [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. :large_orange_diamond: * [EFQRCode](https://github.com/EyreFree/EFQRCode) - A better way to operate two-dimensional code in Swift. :large_orange_diamond: @@ -2643,7 +2643,7 @@ Most of these are paid services, some have free tiers. * [Mathew Sanders](http://mathewsanders.com/) :large_orange_diamond: * [Little Bites of Cocoa](https://littlebitesofcocoa.com/) :large_orange_diamond: * [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) :large_orange_diamond: -* [This Week in Swift](http://swiftnews.curated.co) :large_orange_diamond: +* [This Week in Swift](https://swiftnews.curated.co/) :large_orange_diamond: * [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. * [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) :large_orange_diamond: * [Code Facebook](https://code.facebook.com/ios/) @@ -2660,7 +2660,7 @@ Most of these are paid services, some have free tiers. * ["iOS" on Stackoverflow](https://stackoverflow.com/questions/tagged/ios) #### Tutorials and Keynotes -* [AppCoda](http://www.appcoda.com) +* [AppCoda](https://www.appcoda.com/) * [Tutorials Point](http://www.tutorialspoint.com/ios/) * [Code with Chris](https://codewithchris.com/) * [Cocoa with Love](http://www.cocoawithlove.com/) From f93d682f85d2bd49274e383d2f787e93179733fc Mon Sep 17 00:00:00 2001 From: Tejas Ardeshna Date: Mon, 18 Sep 2017 17:21:56 +0530 Subject: [PATCH 1327/2606] added TJProfileImage --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 55e490633..117248d4d 100644 --- a/README.md +++ b/README.md @@ -850,6 +850,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Paparazzo](https://github.com/avito-tech/Paparazzo) - Custom iOS camera and photo picker with editing capabilities :large_orange_diamond: * [ZImageCropper](https://github.com/ZaidPathan/ZImageCropper) - A Swift project to crop image in any shape. :large_orange_diamond: * [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. :large_orange_diamond: +* [TJProfileImage](https://github.com/tejas-ardeshna/TJProfileImage) - Live rendering of componet’s properties in Interface Builder. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 9f6a47862368a9c90ea9e7f58b8ed4ba7aa9c230 Mon Sep 17 00:00:00 2001 From: RanjithKumar Matheswaran Date: Wed, 20 Sep 2017 17:43:00 +0530 Subject: [PATCH 1328/2606] Added PeekView to ReadMe (#1962) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 76bebcf67..c9e73ab94 100644 --- a/README.md +++ b/README.md @@ -574,6 +574,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: * [JustPeek](https://github.com/justeat/JustPeek) - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. :large_orange_diamond: +* [PeekView](https://github.com/itsmeichigo/PeekView) - PeekView supports peek, pop and preview actions for iOS devices without 3D Touch capibility. 🔶 #### iBeacon * [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. From f5f819a2ed8751759950123a8e8ac7b8e3b39435 Mon Sep 17 00:00:00 2001 From: Tung Vo Date: Wed, 20 Sep 2017 18:31:54 +0300 Subject: [PATCH 1329/2606] Add DTPhotoViewerController (#1961) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c9e73ab94..0583bc866 100644 --- a/README.md +++ b/README.md @@ -851,6 +851,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Paparazzo](https://github.com/avito-tech/Paparazzo) - Custom iOS camera and photo picker with editing capabilities :large_orange_diamond: * [ZImageCropper](https://github.com/ZaidPathan/ZImageCropper) - A Swift project to crop image in any shape. :large_orange_diamond: * [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. :large_orange_diamond: +* [DTPhotoViewerController](https://github.com/tungvoduc/DTPhotoViewerController) - A fully customizable photo viewer ViewController, inspired by Facebook photo viewer. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 346b0e84457f580927993e3af5028aea16be2032 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 20 Sep 2017 08:33:02 -0700 Subject: [PATCH 1330/2606] Remove PlaceKit, close #1954 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0583bc866..594015c57 100644 --- a/README.md +++ b/README.md @@ -633,7 +633,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift :large_orange_diamond: * [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. * [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: -* [PlaceKit](http://www.placekit.io/) - Advanced location SDK - highly accurate location data with very low battery drain and contextual location information :large_orange_diamond: * [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. * [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. :large_orange_diamond: From 9756ba92e33bfd224b97b94750ab1395f2c23db1 Mon Sep 17 00:00:00 2001 From: Gligor Kotushevski Date: Thu, 21 Sep 2017 14:21:50 +1200 Subject: [PATCH 1331/2606] Adding TimeZonePicker (#1964) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 594015c57..ef37e5dd1 100644 --- a/README.md +++ b/README.md @@ -468,6 +468,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. :large_orange_diamond: * [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. * [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. :large_orange_diamond: +* [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. :large_orange_diamond: ## EventBus * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: From 4bdf83de1ef21e8a4d48e82c8db64df0cf1bd887 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 22 Sep 2017 11:29:23 +0530 Subject: [PATCH 1332/2606] Add NotchKit. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef37e5dd1..55c521d55 100644 --- a/README.md +++ b/README.md @@ -1607,6 +1607,7 @@ Most of these are paid services, some have free tiers. * [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView :large_orange_diamond: * [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI :large_orange_diamond: * [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. :large_orange_diamond: +* [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X :large_orange_diamond: #### Activity Indicator From 49ed1f665156b842f98856e0910fe8b4b64970aa Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 22 Sep 2017 11:52:08 +0530 Subject: [PATCH 1333/2606] Add VegaScroll. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef37e5dd1..ab49ca1b3 100644 --- a/README.md +++ b/README.md @@ -2044,6 +2044,7 @@ Most of these are paid services, some have free tiers. * [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. :large_orange_diamond: * [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. :large_orange_diamond: * [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. :large_orange_diamond: +* [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 :large_orange_diamond: #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. From 9838933e47b4d63c4243291844985a83bbc2f6bf Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 22 Sep 2017 17:51:16 +0530 Subject: [PATCH 1334/2606] Add ListPlaceholder. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef37e5dd1..7c1af7c7a 100644 --- a/README.md +++ b/README.md @@ -2205,6 +2205,7 @@ Most of these are paid services, some have free tiers. * [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 * [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) 🔶 * [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. 🔶 +* [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From edfed82aa38a459800900e047534c69415b67085 Mon Sep 17 00:00:00 2001 From: Yogesh Murugesh Date: Sat, 23 Sep 2017 11:03:47 +0530 Subject: [PATCH 1335/2606] =?UTF-8?q?Added=20=E2=80=9Cwhats-new-in-swift-4?= =?UTF-8?q?=E2=80=9D=20library?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ef37e5dd1..7dbf1834c 100644 --- a/README.md +++ b/README.md @@ -2616,6 +2616,8 @@ Most of these are paid services, some have free tiers. * [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. * [SwiftSnippets](https://github.com/hyperoslo/SwiftSnippets) - A collection of Swift snippets to be used in Xcode * [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. +* [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. https://oleb.net. + # Style Guides * [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. From 0bc86ae8cc1e11d1020c6911eeff97bc574b6a80 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 23 Sep 2017 19:29:35 +0200 Subject: [PATCH 1336/2606] Fixed URL redirects --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4d973faa5..0a29affc1 100644 --- a/README.md +++ b/README.md @@ -172,7 +172,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *** # Getting Started * [Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. :large_orange_diamond: -* [Lifehacker](http://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? +* [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? * [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. * [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) @@ -1646,7 +1646,7 @@ Most of these are paid services, some have free tiers. * [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. * [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beautiful hud view for iPhone & iPad * [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. :large_orange_diamond: -* [FillableLoaders](https://github.com/poolqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: +* [FillableLoaders](https://github.com/polqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: * [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: * [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. :large_orange_diamond: * [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design :large_orange_diamond: @@ -2638,7 +2638,7 @@ Most of these are paid services, some have free tiers. #### News, Blogs and more * [BGR](http://bgr.com/ios-7/) * [iMore](https://www.imore.com/) -* [Lifehacker](http://lifehacker.com/tag/ios) +* [Lifehacker](https://lifehacker.com/tag/ios) * [NSHipster](http://nshipster.com) * [Objc.io](https://www.objc.io/) * [ASCIIwwdc](http://asciiwwdc.com) From 69bbcd35767dd6e630bd2351f8776747b36db550 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sat, 23 Sep 2017 19:31:24 +0200 Subject: [PATCH 1337/2606] Added Layout by @schibsted Fixes #1902 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0a29affc1..52e4e4f3d 100644 --- a/README.md +++ b/README.md @@ -627,6 +627,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. :large_orange_diamond: * [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. :large_orange_diamond: * [FlexLayout](https://github.com/lucdion/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. 🔶 +* [Layout](https://github.com/schibsted/layout) - A declarative UI framework for iOS :large_orange_diamond: #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 3d8c79684059a6d376130177f99856eab902eb5c Mon Sep 17 00:00:00 2001 From: Admin Date: Sun, 24 Sep 2017 13:32:33 +0300 Subject: [PATCH 1338/2606] add DTPagerController --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef37e5dd1..762599f76 100644 --- a/README.md +++ b/README.md @@ -1974,6 +1974,7 @@ Most of these are paid services, some have free tiers. * [AirBar](https://github.com/uptechteam/AirBar) - UIScrollView driven expandable menu written in Swift 3. :large_orange_diamond: * [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition :large_orange_diamond: * [SwipeMenuViewController](https://github.com/yysskk/SwipeMenuViewController) - Swipable tab and menu View and ViewController. :large_orange_diamond: +* [DTPagerController](https://github.com/tungvoduc/DTPagerController) - A fully customizable container view controller to display set of ViewControllers in horizontal scroller 🔶 #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From b0b37c0cb06efef5406bf4ab0434bd8e6f4ec250 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 28 Sep 2017 12:23:53 +0200 Subject: [PATCH 1339/2606] Added Marketing for Engineers by @LisaDziuba --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c4d2096ab..c83acda07 100644 --- a/README.md +++ b/README.md @@ -2790,6 +2790,7 @@ Other amazingly awesome lists can be found in the * [iOS-Playbook](https://github.com/bakkenbaeck/iOS-handbook) - Guidelines and best practices for excellent iOS apps * [iOS-Learning-Materials](https://github.com/jVirus/iOS-Learning-Materials) - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS. * [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts +* [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From eeeef8f87c20ea7ef01a5dd6bf0c48772a9c8fad Mon Sep 17 00:00:00 2001 From: Pushkar Sharma Date: Thu, 28 Sep 2017 18:45:41 +0530 Subject: [PATCH 1340/2606] Added ButtonProgressBar-iOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. Check out the example project in your browser [here](https://appetize.io/app/rcb15cyg78agt90pqa3xujx3cc). 🔶 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c4d2096ab..8db103d10 100644 --- a/README.md +++ b/README.md @@ -1850,6 +1850,7 @@ Most of these are paid services, some have free tiers. * [PMSuperButton](https://github.com/Codeido/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! 🔶 * [JSButton](https://github.com/imjog/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. 🔶 * [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation :large_orange_diamond: +* [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. Check out the example project in your browser [here](https://appetize.io/app/rcb15cyg78agt90pqa3xujx3cc). 🔶 #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From 21f43a3bdbcf7555ccdea04ce432d56b28290fa7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 29 Sep 2017 00:35:51 +0200 Subject: [PATCH 1341/2606] Added TvOSScribble by @dcordero (#1973) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c83acda07..b1cb723c2 100644 --- a/README.md +++ b/README.md @@ -208,6 +208,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS :large_orange_diamond: * [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. :large_orange_diamong: * [TvOSPinKeyboard](https://github.com/zattoo/TvOSPinKeyboard) - PIN keyboard for tvOS :large_orange_diamond: +* [TvOSScribble](https://github.com/dcordero/TvOSScribble) - Handwriting numbers recognizer for Siri Remote :large_orange_diamond: ## ARKit * [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. :large_orange_diamond: From 018ee213e6dd21634fd679a38eab0846a6b2e7d6 Mon Sep 17 00:00:00 2001 From: David Cordero Date: Fri, 29 Sep 2017 12:58:50 +0200 Subject: [PATCH 1342/2606] Add TvOSCustomizableTableViewCell --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b1cb723c2..e4cf50037 100644 --- a/README.md +++ b/README.md @@ -206,9 +206,10 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. :large_orange_diamond: * [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text :large_orange_diamond: * [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS :large_orange_diamond: -* [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. :large_orange_diamong: +* [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. :large_orange_diamond: * [TvOSPinKeyboard](https://github.com/zattoo/TvOSPinKeyboard) - PIN keyboard for tvOS :large_orange_diamond: * [TvOSScribble](https://github.com/dcordero/TvOSScribble) - Handwriting numbers recognizer for Siri Remote :large_orange_diamond: +* [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS :large_orange_diamond: ## ARKit * [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. :large_orange_diamond: From 340ebdbb75b738d20cd885b388d738d60b870c05 Mon Sep 17 00:00:00 2001 From: David Cordero Date: Fri, 29 Sep 2017 13:15:56 +0200 Subject: [PATCH 1343/2606] Fix redirected links generating errors in Travis --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e4cf50037..d9bbd4d2b 100644 --- a/README.md +++ b/README.md @@ -1805,7 +1805,7 @@ Most of these are paid services, some have free tiers. * [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. * [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. * [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. -* [Hedwig](https://github.com/Lab111/Hedwig) - Interactive notification :large_orange_diamond: +* [Hedwig](https://github.com/dereklimbus/hedwig) - Interactive notification :large_orange_diamond: * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: * [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift 🔶 * [RAlertView](https://github.com/roycms/AlertView) - AlertView, iOS popup window, A pop-up framework, Can be simple and convenient to join your project. @@ -2069,7 +2069,7 @@ Most of these are paid services, some have free tiers. * [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. :large_orange_diamond: * [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. :large_orange_diamond: * [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. :large_orange_diamond: -* [PivotSlider](https://github.com/lab111/pivot-slider) - Slider that pivots :large_orange_diamond: +* [PivotSlider](https://github.com/dereklimbus/pivot-slider) - Slider that pivots :large_orange_diamond: * [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. :large_orange_diamond: * [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. :large_orange_diamond: * [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. :large_orange_diamond: From 1947a2669605e2e5b2caed0cb4d019f72adce672 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 29 Sep 2017 16:59:07 +0200 Subject: [PATCH 1344/2606] Added Swift Unwrapped by @jpsim and @jessesquires --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d9bbd4d2b..ba9bf67b0 100644 --- a/README.md +++ b/README.md @@ -2754,6 +2754,7 @@ Most of these are paid services, some have free tiers. * [More Than Just Code](http://mtjc.fm/) * [Runtime](https://spec.fm/podcasts/runtime) * [Consult](http://consultpodcast.com/) +* [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) # Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: From 65c2ed484180688070ea7d4d5b26140e383637a2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 29 Sep 2017 17:02:00 +0200 Subject: [PATCH 1345/2606] Small fixes --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 7dbf1834c..22df05a1a 100644 --- a/README.md +++ b/README.md @@ -2616,8 +2616,7 @@ Most of these are paid services, some have free tiers. * [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. * [SwiftSnippets](https://github.com/hyperoslo/SwiftSnippets) - A collection of Swift snippets to be used in Xcode * [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. -* [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. https://oleb.net. - +* [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. :large_orange_diamond: # Style Guides * [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. From 5eeac121e4bf513ae92d88805576a82ba5d34180 Mon Sep 17 00:00:00 2001 From: Vincent Tourraine Date: Fri, 29 Sep 2017 17:10:10 +0200 Subject: [PATCH 1346/2606] =?UTF-8?q?Fix=20=E2=80=9CCocoaPods=E2=80=9D=20s?= =?UTF-8?q?yntax?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0cbd3023b..2fcd84316 100644 --- a/README.md +++ b/README.md @@ -360,7 +360,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. :large_orange_diamond: * [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. * [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. :large_orange_diamond: -* [NSLock+Synchronized](https://github.com/Jon-Schneider/NSLock-Synchronized) - Do you miss @synchronized in Swift? NSLock+Synchronized gives you back @synchronized in Swift via a global function and NSLock class and instance methods, conveniently usable via Cocoapod and Carthage Framework. :large_orange_diamond:[e] +* [NSLock+Synchronized](https://github.com/Jon-Schneider/NSLock-Synchronized) - Do you miss @synchronized in Swift? NSLock+Synchronized gives you back @synchronized in Swift via a global function and NSLock class and instance methods, conveniently usable via CocoaPods and Carthage Framework. :large_orange_diamond:[e] * [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. :large_orange_diamond: * [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. :large_orange_diamond: * [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift :large_orange_diamond: @@ -759,7 +759,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view :large_orange_diamond: * [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift :large_orange_diamond: * [QuietModemKit](https://github.com/quiet/QuietModemKit) - iOS framework for the Quiet Modem (data over sound) -* [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. Cocoapods and Carthage compatible. :large_orange_diamond: +* [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. CocoaPods and Carthage compatible. :large_orange_diamond: * [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: * [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit and completely written in Swift :large_orange_diamond: * [BPMAnalyser](https://github.com/Luccifer/SonogramView) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: @@ -2320,7 +2320,7 @@ Most of these are paid services, some have free tiers. * [SwiftyUtils](https://github.com/tbaranes/swiftyutils) - All the reusable code that we need in each project. :large_orange_diamond:[e] * [RateLimit](https://github.com/soffes/RateLimit) - Simple utility for only executing code every so often. :large_orange_diamond: * [Outlets](https://github.com/phatblat/Outlets) - Utility functions for validating IBOutlet and IBAction connections :large_orange_diamond: - * [EasyAbout](https://github.com/JARMourato/EasyAbout) - A way to easily add Cocoapod licenses and App Version to your iOS App using the Settings Bundle + * [EasyAbout](https://github.com/JARMourato/EasyAbout) - A way to easily add CocoaPods licenses and App Version to your iOS App using the Settings Bundle * [Validated](https://github.com/Ben-G/Validated) - A Swift μ-Library for Somewhat Dependent Types :large_orange_diamond: * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes :large_orange_diamond: * [AssistantKit](https://github.com/anatoliyv/AssistantKit) - Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift. :large_orange_diamond: From 877d33544e6a7c3a3b818c8f672a2be9260cfa74 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Fri, 29 Sep 2017 17:20:24 +0200 Subject: [PATCH 1347/2606] Added Awesome-ARKit by @olucurious --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0cbd3023b..a9096685e 100644 --- a/README.md +++ b/README.md @@ -2797,6 +2797,7 @@ Other amazingly awesome lists can be found in the * [iOS-Learning-Materials](https://github.com/jVirus/iOS-Learning-Materials) - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS. * [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts * [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. +* [Awesome-ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 705c82a1bddef723c25d0c101615ee3320c830f3 Mon Sep 17 00:00:00 2001 From: Pushkar Sharma Date: Fri, 29 Sep 2017 21:56:15 +0530 Subject: [PATCH 1348/2606] Fixed description of ButtonProgressBar-iOS --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8db103d10..b48ef71e0 100644 --- a/README.md +++ b/README.md @@ -1850,7 +1850,7 @@ Most of these are paid services, some have free tiers. * [PMSuperButton](https://github.com/Codeido/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! 🔶 * [JSButton](https://github.com/imjog/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. 🔶 * [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation :large_orange_diamond: -* [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. Check out the example project in your browser [here](https://appetize.io/app/rcb15cyg78agt90pqa3xujx3cc). 🔶 +* [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. :large_orange_diamond: #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From 9b6c3d4bd9f76160bf071f1a341dc7414f35ab3c Mon Sep 17 00:00:00 2001 From: Vincent Tourraine Date: Sun, 1 Oct 2017 00:19:19 +0200 Subject: [PATCH 1349/2606] Add VTAcknowledgementsViewController (#1976) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0a9453192..f46e0645c 100644 --- a/README.md +++ b/README.md @@ -2347,6 +2347,7 @@ Most of these are paid services, some have free tiers. * [MMWormhole](https://github.com/mutualmobile/MMWormhole) - Message passing between iOS apps and extensions. * [DefaultStringConvertible](https://github.com/jessesquires/DefaultStringConvertible) - A default CustomStringConvertible implementation for Swift types 🔶[e] * [FluxCapacitor](https://github.com/marty-suzuki/FluxCapacitor) - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias. 🔶 + * [VTAcknowledgementsViewController](https://github.com/vtourraine/VTAcknowledgementsViewController) - Ready to use “Acknowledgements”/“Licenses”/“Credits” view controller for CocoaPods. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 6cad2bd5e94e0ba41cdf56a5d122339fe1879d4a Mon Sep 17 00:00:00 2001 From: Ander Goig Date: Sun, 1 Oct 2017 00:59:10 +0200 Subject: [PATCH 1350/2606] Add SwiftInstagram --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f46e0645c..b5b00b1eb 100644 --- a/README.md +++ b/README.md @@ -1265,6 +1265,7 @@ Most of these are paid services, some have free tiers. * [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. :large_orange_diamond: * [SwiftyVK](https://github.com/west0r/SwiftyVK) Library for easy interact with VK social network API written in Swift 🔶 * [ARKKit](https://github.com/sleepdefic1t/ARKKit) - [ARK Ecosystem](https://ark.io) Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. :large_orange_diamond: +* [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From d907ccb0732fe9086c32bfe02acbda43f3f41ed1 Mon Sep 17 00:00:00 2001 From: Bharath Date: Sun, 1 Oct 2017 19:04:49 +0530 Subject: [PATCH 1351/2606] Type-safe time calculations in Swift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b5b00b1eb..9627bc0c3 100644 --- a/README.md +++ b/README.md @@ -471,6 +471,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. * [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. :large_orange_diamond: * [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. :large_orange_diamond: +* [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. :large_orange_diamond:[e] ## EventBus * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: From ada4fa98590c456ff290b17962b844ff22efec63 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 1 Oct 2017 23:36:25 +0200 Subject: [PATCH 1352/2606] Added BulletinBoard by @alexaubry --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9a7ad4ac6..c894cd4dc 100644 --- a/README.md +++ b/README.md @@ -2382,6 +2382,7 @@ Most of these are paid services, some have free tiers. * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. * [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 * [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. 🔶 +* [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From 335ac294b4cf363c73bfc7084d7371f1f2ae77f6 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 1 Oct 2017 23:37:23 +0200 Subject: [PATCH 1353/2606] Add :large_orange_diamond: --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c894cd4dc..4e3d32d3b 100644 --- a/README.md +++ b/README.md @@ -2382,7 +2382,7 @@ Most of these are paid services, some have free tiers. * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. * [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 * [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. 🔶 -* [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS +* [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS :large_orange_diamond: ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From cd06d2cb9f301f885ae01aca283a11cd4694bd87 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Sun, 1 Oct 2017 23:43:06 +0200 Subject: [PATCH 1354/2606] Updated URLs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a7ad4ac6..e48cdc15f 100644 --- a/README.md +++ b/README.md @@ -889,7 +889,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS * [AVAnimator](http://www.modejong.com/AVAnimator/) - An open source iOS native library that makes it easy to implement non-trivial video/audio enabled apps. * [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control :large_orange_diamond: -* [SSVideoPlayer](https://github.com/immrss/Mango) - A video player that support both local and network resource. +* [Pip](https://github.com/immrss/Pip) - A video player that support both local and network resource. * [MHVideoPhotoGallery](https://github.com/mariohahn/MHVideoPhotoGallery) - A Photo and Video Gallery * [PlayerView](https://github.com/davidlondono/PlayerView) - Player View is a delegated view using AVPlayer of Swift :large_orange_diamond: * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. From 84539f4bd644c99ed1f02242cce8ae899897149b Mon Sep 17 00:00:00 2001 From: Joey Li Date: Sun, 1 Oct 2017 15:46:10 -0700 Subject: [PATCH 1355/2606] Added RNCryptor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e48cdc15f..527e063ab 100644 --- a/README.md +++ b/README.md @@ -1299,6 +1299,7 @@ Most of these are paid services, some have free tiers. * [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: * [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines :large_orange_diamond: * [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. :large_orange_diamond: +* [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. :large_orange_diamond: #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. From 0640492adc77934b773bd37d5e03976b7c757a28 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 2 Oct 2017 14:46:24 +0200 Subject: [PATCH 1356/2606] Moved BulletinBoard to Alert/Action Sheet --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4e3d32d3b..7833548e0 100644 --- a/README.md +++ b/README.md @@ -1821,6 +1821,7 @@ Most of these are paid services, some have free tiers. * [Alertift](https://github.com/sgr-ksmt/Alertift) - Swifty, modern UIAlertController wrapper. :large_orange_diamond: * [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. :large_orange_diamond: * [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. 🔶 +* [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: @@ -2382,7 +2383,6 @@ Most of these are paid services, some have free tiers. * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. * [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 * [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. 🔶 -* [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS :large_orange_diamond: ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From b8bc18f5c309b68ab95a8b77750194abba0141f3 Mon Sep 17 00:00:00 2001 From: Wilson Ding Date: Mon, 2 Oct 2017 15:00:41 -0500 Subject: [PATCH 1357/2606] Modified SwiftVideoBackground description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f5202da7c..d4b394f70 100644 --- a/README.md +++ b/README.md @@ -1574,7 +1574,7 @@ Most of these are paid services, some have free tiers. * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. * [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. :large_orange_diamond: * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. -* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background in Swift 3 :large_orange_diamond: +* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background:large_orange_diamond: * [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. :large_orange_diamond: * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. :large_orange_diamond: * [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. From 485ac3d4e032fe22b74d98d6ad84d8b81778c0a2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 2 Oct 2017 22:05:55 +0200 Subject: [PATCH 1358/2606] Added space between description and emoji --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d4b394f70..55283c149 100644 --- a/README.md +++ b/README.md @@ -1574,7 +1574,7 @@ Most of these are paid services, some have free tiers. * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. * [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. :large_orange_diamond: * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. -* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background:large_orange_diamond: +* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background :large_orange_diamond: * [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. :large_orange_diamond: * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. :large_orange_diamond: * [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. From 416c09969419da1e08ccd739b5c8760a181a32a2 Mon Sep 17 00:00:00 2001 From: mylittleswift Date: Mon, 2 Oct 2017 20:14:12 -0700 Subject: [PATCH 1359/2606] Added LNPopupController by @LeoNatan (#1986) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 55283c149..7828f7e59 100644 --- a/README.md +++ b/README.md @@ -2020,6 +2020,7 @@ Most of these are paid services, some have free tiers. * [SelectionDialog](https://github.com/kciter/SelectionDialog) - Simple selection dialog. :large_orange_diamond: * [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. :large_orange_diamond: * [MIBlurPopup](https://github.com/MarioIannotta/MIBlurPopup) - MIBlurPopup let you create amazing popups with a blurred background. +* [LNPopupController](https://github.com/LeoNatan/LNPopupController) - a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps. #### Pull to Refresh * [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: From 2c1903f70c530a5c60ec459673a78ea66ac7542d Mon Sep 17 00:00:00 2001 From: Denis Date: Tue, 3 Oct 2017 16:10:51 +0300 Subject: [PATCH 1360/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7828f7e59..4996c7108 100644 --- a/README.md +++ b/README.md @@ -631,6 +631,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. :large_orange_diamond: * [FlexLayout](https://github.com/lucdion/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. 🔶 * [Layout](https://github.com/schibsted/layout) - A declarative UI framework for iOS :large_orange_diamond: +* [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. 🔶 #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 9c9af99dd5dec1ee003f052f15e86e8ecd74aa9b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 3 Oct 2017 18:59:29 +0200 Subject: [PATCH 1361/2606] Removed https://github.com/facebook/ios-snapshot-test-case --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 4996c7108..f6317c5a6 100644 --- a/README.md +++ b/README.md @@ -1438,7 +1438,6 @@ Most of these are paid services, some have free tiers. #### Other Testing * [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. * [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools -* [ios-snapshot-test-case](https://github.com/facebook/ios-snapshot-test-case) - Snapshot view unit tests for iOS. * [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. :large_orange_diamond: * [DVR](https://github.com/venmo/DVR) - Network testing for Swift :large_orange_diamond: * [Cuckoo](https://github.com/Brightify/Cuckoo) - First boilerplate-free mocking framework for Swift :large_orange_diamond: From 56a16c6a936ceac0a83a705a2fb43fc6147a2ba9 Mon Sep 17 00:00:00 2001 From: mylittleswift Date: Tue, 3 Oct 2017 10:07:44 -0700 Subject: [PATCH 1362/2606] Added core-plot by @core-plot --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f6317c5a6..1727a1eb8 100644 --- a/README.md +++ b/README.md @@ -280,6 +280,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. :large_orange_diamond: * [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. :large_orange_diamond: * [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. :large_orange_diamond: +* [core-plot](https://github.com/core-plot/core-plot) - a 2D plotting lib which is highly customizable and capable of drawing many types of plots. ## Code Quality * [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. From d47caae1ca13852424948b20860dcba2a64a14b4 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 3 Oct 2017 22:10:03 +0200 Subject: [PATCH 1363/2606] Added Fireside Swift to Podcasts --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1727a1eb8..5177e8f4a 100644 --- a/README.md +++ b/README.md @@ -2766,6 +2766,7 @@ Most of these are paid services, some have free tiers. * [Runtime](https://spec.fm/podcasts/runtime) * [Consult](http://consultpodcast.com/) * [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) +* [Fireside Swift](https://itunes.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) # Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: From 63c1fa46fc56d05093afdffabbce7b3f84e424de Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 3 Oct 2017 22:21:44 +0200 Subject: [PATCH 1364/2606] Removed outdated libraries #1124 --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 5177e8f4a..d3372021a 100644 --- a/README.md +++ b/README.md @@ -346,7 +346,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Command Line * [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: * [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces :large_orange_diamond: -* [Colors](https://github.com/paulot/Colors) - Terminal Colors for Swift :large_orange_diamond: * [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift :large_orange_diamond: * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: * [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift :large_orange_diamond: @@ -355,7 +354,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Concurrency * [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: -* [Safe](https://github.com/tidwall/Safe) - Modern Concurrency and Synchronization for Swift. :large_orange_diamond: * [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives :large_orange_diamond: * [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift :large_orange_diamond: * [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. :large_orange_diamond: @@ -407,7 +405,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. :large_orange_diamond: * [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). :large_orange_diamond: * [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. :large_orange_diamond: -* [swiftydb](https://github.com/Oyvindkg/swiftydb) - Making SQLite databases a blast :large_orange_diamond: * [SugarRecord](https://github.com/carambalabs/SugarRecord) - Data persistence management library written in Swift 2.0 :large_orange_diamond: * [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. :large_orange_diamond: * [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support :large_orange_diamond: @@ -421,7 +418,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. * [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. * [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB :large_orange_diamond: -* [PredicateEditor](https://github.com/arvindhsukumar/PredicateEditor) - A visual editor for dynamically creating NSPredicates to query data in your iOS app. :large_orange_diamond: * [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. :large_orange_diamond: * [MongoDB](https://github.com/PerfectlySoft/Perfect-MongoDB) - A Swift wrapper around the mongo-c client library, enabling access to MongoDB servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [SQLite](https://github.com/PerfectlySoft/Perfect-SQLite) - A Swift wrapper around the SQLite 3 client library, enabling access to SQLite servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. From adef9bd3c17f965422bc09b63d1c13328d42e705 Mon Sep 17 00:00:00 2001 From: Yogesh Murugesh Date: Wed, 4 Oct 2017 16:41:34 +0530 Subject: [PATCH 1365/2606] =?UTF-8?q?Added=20=E2=80=9CLifetimeTracker?= =?UTF-8?q?=E2=80=9D=20library?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3372021a..ec8acffe4 100644 --- a/README.md +++ b/README.md @@ -2489,6 +2489,7 @@ Most of these are paid services, some have free tiers. * [AppDevKit](https://github.com/yahoo/AppDevKit) - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. * [Tweaks](https://github.com/facebook/Tweaks) - An easy way to fine-tune, and adjust parameters for iOS apps in development. * [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. :large_orange_diamond: +* [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. http://merowing.info # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From b3104f6bde4b14f13658066608dad1a4314800b1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 4 Oct 2017 14:49:59 +0200 Subject: [PATCH 1366/2606] Removed link and added :large_orange_diamond: --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ec8acffe4..df77fbe67 100644 --- a/README.md +++ b/README.md @@ -2489,7 +2489,7 @@ Most of these are paid services, some have free tiers. * [AppDevKit](https://github.com/yahoo/AppDevKit) - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. * [Tweaks](https://github.com/facebook/Tweaks) - An easy way to fine-tune, and adjust parameters for iOS apps in development. * [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. :large_orange_diamond: -* [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. http://merowing.info +* [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. :large_orange_diamond: # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 4f35653b672699dde772f2449dd37c7487640230 Mon Sep 17 00:00:00 2001 From: Yogesh Murugesh Date: Wed, 4 Oct 2017 18:21:17 +0530 Subject: [PATCH 1367/2606] =?UTF-8?q?Added=20=E2=80=9CShelfView-iOS?= =?UTF-8?q?=E2=80=9D=20library?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ec8acffe4..9033e84d6 100644 --- a/README.md +++ b/README.md @@ -2056,6 +2056,7 @@ Most of these are paid services, some have free tiers. * [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. :large_orange_diamond: * [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. :large_orange_diamond: * [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 :large_orange_diamond: +* [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. From 759ece698ed59bb326b16111fae06e364f3cb5dd Mon Sep 17 00:00:00 2001 From: Vinnie Hesener Date: Thu, 5 Oct 2017 05:44:26 -0500 Subject: [PATCH 1368/2606] Added Closures library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index df77fbe67..a5a97f6ae 100644 --- a/README.md +++ b/README.md @@ -2351,6 +2351,7 @@ Most of these are paid services, some have free tiers. * [DefaultStringConvertible](https://github.com/jessesquires/DefaultStringConvertible) - A default CustomStringConvertible implementation for Swift types 🔶[e] * [FluxCapacitor](https://github.com/marty-suzuki/FluxCapacitor) - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias. 🔶 * [VTAcknowledgementsViewController](https://github.com/vtourraine/VTAcknowledgementsViewController) - Ready to use “Acknowledgements”/“Licenses”/“Credits” view controller for CocoaPods. + * [Closures](https://github.com/vhesener/Closures) - Swifty closures for UIKit and Foundation. 🔶 ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From b4ed3fe583b7f9b9cc2d6af54e700241360fc0ab Mon Sep 17 00:00:00 2001 From: Yogesh-MV Date: Thu, 5 Oct 2017 20:37:46 +0530 Subject: [PATCH 1369/2606] =?UTF-8?q?Added=20=E2=80=9CShelfView-iOS?= =?UTF-8?q?=E2=80=9D=20library=20(#1992)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index df77fbe67..5b3830604 100644 --- a/README.md +++ b/README.md @@ -2056,6 +2056,7 @@ Most of these are paid services, some have free tiers. * [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. :large_orange_diamond: * [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. :large_orange_diamond: * [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 :large_orange_diamond: +* [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf :large_orange_diamond: #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. From 2c2929879a90c932226b999f52fee559f4cdf743 Mon Sep 17 00:00:00 2001 From: JamesKuo Date: Fri, 6 Oct 2017 09:42:44 +0800 Subject: [PATCH 1370/2606] Add JDBreaksLoading --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b3830604..55d493e01 100644 --- a/README.md +++ b/README.md @@ -1671,6 +1671,7 @@ Most of these are paid services, some have free tiers. * [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. :large_orange_diamond: * [BPBlockActivityIndicator](https://github.com/ppth0608/BPBlockActivityIndicator) - A simple and awesome Loading Activity Indicator(with funny block animation) for your iOS app. :large_orange_diamond: * [JustHUD](https://github.com/shubh10/JustHUD) - JustHUD is an iOS drop-in class written in Swift that displays a translucent HUD. :large_orange_diamond: +* [JDBreaksLoading](https://github.com/jamesdouble/JDBreaksLoading) - You can easily start up a little breaking game indicator by one line. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From fe77a0bd6e198642c2ebfc3edb4dfcdbbb226aaf Mon Sep 17 00:00:00 2001 From: Yogesh Murugesh Date: Fri, 6 Oct 2017 16:36:27 +0530 Subject: [PATCH 1371/2606] =?UTF-8?q?Added=20=E2=80=9CDeckTransition?= =?UTF-8?q?=E2=80=9D=20library?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b3830604..5efb89d8b 100644 --- a/README.md +++ b/README.md @@ -1763,6 +1763,7 @@ Most of these are paid services, some have free tiers. * [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS :large_orange_diamond: * [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. :large_orange_diamond: * [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. :large_orange_diamond: +* [DeckTransition](https://github.com/HarshilShah/DeckTransition) - A library to recreate the iOS Apple Music now playing transition :large_orange_diamond: #### Alert & Action Sheet From 02b43a6f64c289d12cc0599a8e38590d2419330b Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 6 Oct 2017 18:34:41 +0530 Subject: [PATCH 1372/2606] Add Cachyr. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b3830604..57472a156 100644 --- a/README.md +++ b/README.md @@ -253,6 +253,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS * [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift :large_orange_diamond: * [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. 🔶 +* [Cachyr](https://github.com/YR/Cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift :large_orange_diamond: ## Charts * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: From 503038fd5af1774af664304d64ba67b44272bf33 Mon Sep 17 00:00:00 2001 From: Victor Peschenkov Date: Fri, 6 Oct 2017 07:09:00 -0700 Subject: [PATCH 1373/2606] Add PVOnboardKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b3830604..d3579cd57 100644 --- a/README.md +++ b/README.md @@ -2383,6 +2383,7 @@ Most of these are paid services, some have free tiers. * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. * [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 * [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. 🔶 +* [PVOnboardKit](https://github.com/vpeschenkov/PVOnboardKit) - Framework that allows you to add your own walkthrough/intro/tutorial into your app. ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From 16e19963aa7de19460b5b7db8c2d4335e64b18c3 Mon Sep 17 00:00:00 2001 From: Charismatron Date: Sun, 8 Oct 2017 07:44:10 +0200 Subject: [PATCH 1374/2606] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6d3ef2f3a..dd7f017d7 100644 --- a/README.md +++ b/README.md @@ -2778,12 +2778,13 @@ Most of these are paid services, some have free tiers. * [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) * [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) * [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) :large_orange_diamond: -* [OS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) :large_orange_diamond: +* [iOS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) :large_orange_diamond: * [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) :large_orange_diamond: * [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) :large_orange_diamond: * [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) :large_orange_diamond: * [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) :large_orange_diamond: * [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) :large_orange_diamond: +* [Swift in Depth](https://www.manning.com/books/swift-in-depth) :large_orange_diamond: # Other Awesome Lists Other amazingly awesome lists can be found in the From a3777943bfc619c08605bc45f7de522bc3ffb724 Mon Sep 17 00:00:00 2001 From: Yogesh Murugesh Date: Sun, 8 Oct 2017 15:53:14 +0530 Subject: [PATCH 1375/2606] =?UTF-8?q?Added=20=E2=80=9CSwifterSwift?= =?UTF-8?q?=E2=80=9D=20library?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6d3ef2f3a..aa83b5b45 100644 --- a/README.md +++ b/README.md @@ -2554,6 +2554,7 @@ Most of these are paid services, some have free tiers. * [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). :large_orange_diamond: * [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. :large_orange_diamond: * [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. :large_orange_diamond: +* [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 500 native Swift extensions to boost your productivity. https://swifterswift.com. :large_orange_diamond: #### Plugins * [FuzzyAutocompletePlugin](https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin) - A Xcode 5+ plugin that adds more flexible autocompletion rather than just prefix-matching. From d8943187841d7f96556fdfc016bbafa17def5151 Mon Sep 17 00:00:00 2001 From: Simon Date: Thu, 12 Oct 2017 07:53:47 -0400 Subject: [PATCH 1376/2606] Add SwiftyArk ln1269 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index db8fc5067..fdf9ae104 100644 --- a/README.md +++ b/README.md @@ -1266,6 +1266,7 @@ Most of these are paid services, some have free tiers. * [SwiftyVK](https://github.com/west0r/SwiftyVK) Library for easy interact with VK social network API written in Swift 🔶 * [ARKKit](https://github.com/sleepdefic1t/ARKKit) - [ARK Ecosystem](https://ark.io) Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. :large_orange_diamond: * [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. :large_orange_diamond: +* [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight framework for the [ARK Ecosystem](https://ark.io). SwiftyArk provides a simple wrapper for accessing Ark accounts, delegates, block, and transaction information. It's networking components are fully asynchronous and have extensive error handling. Data structures are type-safe and favor immutability. :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 30e15479743f441d6df246f720e23337b7e1db12 Mon Sep 17 00:00:00 2001 From: Artem Kirillov Date: Fri, 13 Oct 2017 03:39:58 +0400 Subject: [PATCH 1377/2606] Move Ray Wenderlich Swift Algorithm Club from Utility category to Data Structures / Algorithms category (#2005) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index db8fc5067..36b532ec9 100644 --- a/README.md +++ b/README.md @@ -452,6 +452,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Pencil](https://github.com/naru-jpn/pencil) - Write values to file and read it more easily. :large_orange_diamond: * [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. :large_orange_diamond: * [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. :large_orange_diamond: +* [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! :large_orange_diamond: ## Date & Time @@ -2320,7 +2321,6 @@ Most of these are paid services, some have free tiers. * [libextobjc](https://github.com/jspahrsummers/libextobjc) - A Cocoa library to extend the Objective-C programming language. * [VersionTrackerSwift](https://github.com/tbaranes/VersionTrackerSwift) - Track which versions of your app a user has previously installed. :large_orange_diamond: * [DeviceGuru](https://github.com/InderKumarRathore/DeviceGuru/) - DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s. :large_orange_diamond: - * [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! :large_orange_diamond: * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight App Version Tracking for iOS written in Swift :large_orange_diamond: * [BlocksKit](https://github.com/BlocksKit/BlocksKit) - The Objective-C block utilities you always wish you had. * [SwiftyUtils](https://github.com/tbaranes/swiftyutils) - All the reusable code that we need in each project. :large_orange_diamond:[e] From 3a63a6f01b609173ba04ed1719d1b57fe2cd02e7 Mon Sep 17 00:00:00 2001 From: Jogendra Singh Date: Fri, 13 Oct 2017 09:39:21 +0530 Subject: [PATCH 1378/2606] Added example-ios-apps link A curated list of Open Source example iOS apps developed in Swift. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 36b532ec9..0894cec55 100644 --- a/README.md +++ b/README.md @@ -2810,6 +2810,7 @@ Other amazingly awesome lists can be found in the * [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts * [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. * [Awesome-ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. +* [example-ios-apps](https://github.com/imjog/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 660bf2537f078ad820e2d821c0b1569d9a52c871 Mon Sep 17 00:00:00 2001 From: kazuhiro4949 Date: Sat, 14 Oct 2017 21:42:04 +0900 Subject: [PATCH 1379/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 36b532ec9..6c4c9651a 100644 --- a/README.md +++ b/README.md @@ -1987,6 +1987,7 @@ Most of these are paid services, some have free tiers. * [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition :large_orange_diamond: * [SwipeMenuViewController](https://github.com/yysskk/SwipeMenuViewController) - Swipable tab and menu View and ViewController. :large_orange_diamond: * [DTPagerController](https://github.com/tungvoduc/DTPagerController) - A fully customizable container view controller to display set of ViewControllers in horizontal scroller 🔶 +* [PagingKit](https://github.com/kazuhiro4949/PagingKit) - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries. 🔶 #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From 1ddb0e43b0ece0898d748bd8872332baf01e566e Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Sat, 14 Oct 2017 19:45:51 +0530 Subject: [PATCH 1380/2606] Add SectionScrubber. (#2001) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 36b532ec9..1e59c84ef 100644 --- a/README.md +++ b/README.md @@ -2222,6 +2222,7 @@ Most of these are paid services, some have free tiers. * [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) 🔶 * [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. 🔶 * [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views :large_orange_diamond: +* [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections :large_orange_diamond: #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 540b3737909ecb18941acfda3a7e8c3e7ba28512 Mon Sep 17 00:00:00 2001 From: Marcos Griselli Date: Sat, 14 Oct 2017 11:17:09 -0300 Subject: [PATCH 1381/2606] Added ViewAnimator (#2008) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1e59c84ef..66cc8fac6 100644 --- a/README.md +++ b/README.md @@ -1741,6 +1741,7 @@ Most of these are paid services, some have free tiers. * [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation :large_orange_diamond: * [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift :large_orange_diamond: * [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS in Swift :large_orange_diamond: +* [ViewAnimator](https://github.com/marcosgriselli/ViewAnimator) - ViewAnimator brings your UI to life with just one line. 🔶 ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 4afec0ca1d08f1cf18af60f9cca5c73081a2a8d0 Mon Sep 17 00:00:00 2001 From: Justin Jia Date: Sat, 14 Oct 2017 07:17:36 -0700 Subject: [PATCH 1382/2606] Add Overlay Framework (#2004) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 66cc8fac6..7367e972a 100644 --- a/README.md +++ b/README.md @@ -1616,6 +1616,7 @@ Most of these are paid services, some have free tiers. * [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI :large_orange_diamond: * [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. :large_orange_diamond: * [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X :large_orange_diamond: +* [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. :large_orange_diamond: #### Activity Indicator From cf7ed59fbaa053255d2a15de306d6f9d89b668ca Mon Sep 17 00:00:00 2001 From: Javier Zhang Date: Sat, 14 Oct 2017 22:19:18 +0800 Subject: [PATCH 1383/2606] Add Panda (#1953) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7367e972a..cf4f64340 100644 --- a/README.md +++ b/README.md @@ -1615,6 +1615,7 @@ Most of these are paid services, some have free tiers. * [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView :large_orange_diamond: * [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI :large_orange_diamond: * [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. :large_orange_diamond: +* [Panda](https://github.com/wordlessj/Panda) - Create view hierarchies declaratively. :large_orange_diamond: * [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X :large_orange_diamond: * [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. :large_orange_diamond: From 6c08576fdd7c11fe61aa2754e5989acdad63d325 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sat, 14 Oct 2017 17:41:37 -0300 Subject: [PATCH 1384/2606] Rename BWCollectionView (Fix #2009) (#2016) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cf4f64340..bfa76bc1b 100644 --- a/README.md +++ b/README.md @@ -518,7 +518,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: * [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. :large_orange_diamond: * [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit :large_orange_diamond: -* [BWCollectionView](https://github.com/bwide/BWCollectionView) - A swift framework for a collectionView in SpriteKit :large_orange_diamond: +* [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit :large_orange_diamond: ## Gesture * [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS :large_orange_diamond: From ab8ba3f431fbe2ccac741ae2d132ac883ef5290a Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sat, 14 Oct 2017 17:43:38 -0300 Subject: [PATCH 1385/2606] Add CocoaConferences (Fix #1833) (#2013) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bfa76bc1b..f06a9c90d 100644 --- a/README.md +++ b/README.md @@ -1743,7 +1743,7 @@ Most of these are paid services, some have free tiers. * [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation :large_orange_diamond: * [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift :large_orange_diamond: * [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS in Swift :large_orange_diamond: -* [ViewAnimator](https://github.com/marcosgriselli/ViewAnimator) - ViewAnimator brings your UI to life with just one line. 🔶 +* [ViewAnimator](https://github.com/marcosgriselli/ViewAnimator) - ViewAnimator brings your UI to life with just one line. 🔶 ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. @@ -2814,6 +2814,7 @@ Other amazingly awesome lists can be found in the * [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts * [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. * [Awesome-ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. +* [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 82b8fbb9af34768728492f6293cf271373d1b281 Mon Sep 17 00:00:00 2001 From: Victor Gama Date: Sat, 14 Oct 2017 17:44:01 -0300 Subject: [PATCH 1386/2606] Add Plank (Fix #1834) (#2014) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f06a9c90d..8535caae6 100644 --- a/README.md +++ b/README.md @@ -2499,6 +2499,7 @@ Most of these are paid services, some have free tiers. * [Tweaks](https://github.com/facebook/Tweaks) - An easy way to fine-tune, and adjust parameters for iOS apps in development. * [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. :large_orange_diamond: * [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. :large_orange_diamond: +* [Plank](https://github.com/pinterest/plank) - A tool for generating immutable model objects. # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 4240cafa2009af94d6a54ffe3b7233b40842a07a Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 14 Oct 2017 22:42:30 -0400 Subject: [PATCH 1387/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fdf9ae104..2e5e9cd00 100644 --- a/README.md +++ b/README.md @@ -1266,7 +1266,7 @@ Most of these are paid services, some have free tiers. * [SwiftyVK](https://github.com/west0r/SwiftyVK) Library for easy interact with VK social network API written in Swift 🔶 * [ARKKit](https://github.com/sleepdefic1t/ARKKit) - [ARK Ecosystem](https://ark.io) Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. :large_orange_diamond: * [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. :large_orange_diamond: -* [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight framework for the [ARK Ecosystem](https://ark.io). SwiftyArk provides a simple wrapper for accessing Ark accounts, delegates, block, and transaction information. It's networking components are fully asynchronous and have extensive error handling. Data structures are type-safe and favor immutability. :large_orange_diamond: +* [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the [ARK Ecosystem](https://ark.io). :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From d32a81feaff3c7c34ca0ad74262c9e4de8e8786b Mon Sep 17 00:00:00 2001 From: Reid Chatham Date: Sat, 14 Oct 2017 22:05:59 -0700 Subject: [PATCH 1388/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index db8fc5067..8267f81ba 100644 --- a/README.md +++ b/README.md @@ -551,6 +551,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. :large_orange_diamond: * [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U :large_orange_diamond: * [Bluejay](https://github.com/steamclock/bluejay) - A simple Swift framework for building reliable Bluetooth LE apps. :large_orange_diamond: +* [PeerConnectivity](https://github.com/rchatham/PeerConnectivity) - Functional wrapper for Apple's MultipeerConnectivity framework. :large_orange_diamond: #### Camera * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. From b3680b1dced83fc8d264f1d6d62e30ec949f6e37 Mon Sep 17 00:00:00 2001 From: Jouni Miettunen Date: Mon, 16 Oct 2017 11:59:31 +0300 Subject: [PATCH 1389/2606] Added NFCNDEFParse ## Project URL https://github.com/jvk75/NFCNDEFParse ## Description NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. Supports parsing of types: - Text - NFCForum-TS-RTD_Text_1.0 2006-07-24 - Uri - NFCForum-TS-RTD_URI_1.0 2006-07-24 - Smart Poster - NFCForum-SmartPoster_RTD_1.0 2006-07-24 (title, uri, action, size) Contains sample apps in both swift and Objective-C. ## Why it should be included to `awesome-ios` (optional) First NFC library for iOS. And it's awesome :) ## Checklist - [x] Only one project/change is in this pull request - [x] Addition in chronological order (bottom of category) - [x] Supports iOS 9 / tvOS 10 or later - [x] Supports Swift 3 or later - [x] Has a commit from less than 2 years ago - [x] Has a **clear** README in English --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 938a5bd8c..e9eff0d5e 100644 --- a/README.md +++ b/README.md @@ -652,6 +652,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. ⌚️ * [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. :large_orange_diamond: * [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. :large_orange_diamond: +* [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. :large_orange_diamond: ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From acc4119745c0b9d71e4b91b2ccc2ffaaedc603d5 Mon Sep 17 00:00:00 2001 From: David Cordero Date: Thu, 19 Oct 2017 01:14:11 +0200 Subject: [PATCH 1390/2606] Fix redirection making generating failure in the awesome_bot validation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 938a5bd8c..25966bd48 100644 --- a/README.md +++ b/README.md @@ -2768,7 +2768,7 @@ Most of these are paid services, some have free tiers. * [Mobile Couch](http://mobilecouch.co/) * [iPhreaks](https://devchat.tv/iphreaks) * [Under the Radar](https://www.relay.fm/radar) -* [Core Intuition](http://www.coreint.org/) +* [Core Intuition](http://coreint.org/) * [Swift Playhouse](http://www.swiftplayhouse.com/) * [Release Notes](https://releasenotes.tv/) * [More Than Just Code](http://mtjc.fm/) From e0480446b711aa42f0857d68002a0f3c85050aeb Mon Sep 17 00:00:00 2001 From: mylittleswift Date: Wed, 18 Oct 2017 19:08:45 -0700 Subject: [PATCH 1391/2606] Add BabyBluetooth by @coolnameismy (#2020) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 25966bd48..00dd4d411 100644 --- a/README.md +++ b/README.md @@ -552,6 +552,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. :large_orange_diamond: * [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U :large_orange_diamond: * [Bluejay](https://github.com/steamclock/bluejay) - A simple Swift framework for building reliable Bluetooth LE apps. :large_orange_diamond: +* [BabyBluetooth](https://github.com/coolnameismy/BabyBluetooth) - The easiest way to use Bluetooth (BLE) in iOS/MacOS. #### Camera * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. From 3953d28295775916f8b9d4c33cfb75242593b2a8 Mon Sep 17 00:00:00 2001 From: PaoloCuscela Date: Sat, 21 Oct 2017 08:25:41 +0200 Subject: [PATCH 1392/2606] Add Cards https://github.com/PaoloCuscela/Cards --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 00dd4d411..3ba0581e4 100644 --- a/README.md +++ b/README.md @@ -1828,6 +1828,7 @@ Most of these are paid services, some have free tiers. * [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. :large_orange_diamond: * [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. 🔶 * [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS :large_orange_diamond: +* [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 3af5cfdb2e9b2dc5ceb04bdd2fe239e461c9d29c Mon Sep 17 00:00:00 2001 From: Nicholas Maccharoli Date: Mon, 23 Oct 2017 10:59:17 +0900 Subject: [PATCH 1393/2606] Add Default (#2023) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 00dd4d411..2167680ec 100644 --- a/README.md +++ b/README.md @@ -431,6 +431,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [WCDB](https://github.com/Tencent/wcdb) - WCDB is an efficient, complete, easy-to-use mobile database framework for iOS, macOS. * [StorageKit](https://github.com/StorageKit/StorageKit) - Your Data Storage Troubleshooter 🛠 * [UserDefaults](https://github.com/nmdias/DefaultsKit) - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS :large_orange_diamond: +* [Default](https://github.com/Nirma/Default) - Modern interface to UserDefaults + Codable support :large_orange_diamond: ## Data Structures / Algorithms From 29ccdfb3d837228be953f74fe7e7d3301bef5b96 Mon Sep 17 00:00:00 2001 From: Andrei Rychkov Date: Mon, 23 Oct 2017 05:00:19 +0300 Subject: [PATCH 1394/2606] Add YogaKit in Layout category (#2028) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2167680ec..2af813b31 100644 --- a/README.md +++ b/README.md @@ -633,6 +633,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FlexLayout](https://github.com/lucdion/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. 🔶 * [Layout](https://github.com/schibsted/layout) - A declarative UI framework for iOS :large_orange_diamond: * [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. 🔶 +* [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 5318980882a7651814bc5d5e957050fdec829208 Mon Sep 17 00:00:00 2001 From: Yogesh Murugesh Date: Tue, 24 Oct 2017 15:26:06 +0530 Subject: [PATCH 1395/2606] =?UTF-8?q?Added=20=E2=80=9CCards=E2=80=9D=20lib?= =?UTF-8?q?rary?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c631f2ecd..ed57408f7 100644 --- a/README.md +++ b/README.md @@ -1621,6 +1621,7 @@ Most of these are paid services, some have free tiers. * [Panda](https://github.com/wordlessj/Panda) - Create view hierarchies declaratively. :large_orange_diamond: * [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X :large_orange_diamond: * [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. :large_orange_diamond: +* [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 appstore cards in swift 4.. :large_orange_diamond: #### Activity Indicator From 02070eb889f8dd6291e472f8a54cc1c8e70c4343 Mon Sep 17 00:00:00 2001 From: Yogesh Murugesh Date: Tue, 24 Oct 2017 15:30:45 +0530 Subject: [PATCH 1396/2606] Removed duplicated SwifterSwift library --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ed57408f7..7ac8820a4 100644 --- a/README.md +++ b/README.md @@ -2566,7 +2566,6 @@ Most of these are paid services, some have free tiers. * [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). :large_orange_diamond: * [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. :large_orange_diamond: * [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. :large_orange_diamond: -* [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 500 native Swift extensions to boost your productivity. https://swifterswift.com. :large_orange_diamond: #### Plugins * [FuzzyAutocompletePlugin](https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin) - A Xcode 5+ plugin that adds more flexible autocompletion rather than just prefix-matching. From ae2e9cedce1b677100c37f10ad53166ae9d14de1 Mon Sep 17 00:00:00 2001 From: miang Date: Thu, 26 Oct 2017 18:39:41 +0700 Subject: [PATCH 1397/2606] Add Realm Academy to Tutorials and Keynotes section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2af813b31..87ea43396 100644 --- a/README.md +++ b/README.md @@ -2716,6 +2716,7 @@ Most of these are paid services, some have free tiers. * [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. * [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. :large_orange_diamond: * [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. :large_orange_diamond: +* [Realm Academy](https://academy.realm.io/) #### iOS UI Template * [iOS UI Design Kit](https://www.invisionapp.com/tethr) From afe5c44737a1e63bf9cebda4269fd0fadc676e71 Mon Sep 17 00:00:00 2001 From: Ahmed Fathi Bekhit Date: Thu, 26 Oct 2017 11:57:46 -0400 Subject: [PATCH 1398/2606] Added NotchToolkit Added NotchToolkit to the end of the /UI list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 531734184..724c55693 100644 --- a/README.md +++ b/README.md @@ -1621,6 +1621,7 @@ Most of these are paid services, some have free tiers. * [Panda](https://github.com/wordlessj/Panda) - Create view hierarchies declaratively. :large_orange_diamond: * [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X :large_orange_diamond: * [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. :large_orange_diamond: +* [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. 🔶 #### Activity Indicator From ab26c963e08dcd6d88b639c0afb04ad211ece05c Mon Sep 17 00:00:00 2001 From: Sven Tiigi Date: Sun, 29 Oct 2017 15:58:42 +0100 Subject: [PATCH 1399/2606] Added PerfectAPIClient to Networking section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 531734184..117565f53 100644 --- a/README.md +++ b/README.md @@ -990,6 +990,7 @@ Also see [push notifications](#push-notifications) * [WANetworkRouting](https://github.com/Wasappli/WANetworkRouting) - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers * [Reactor](https://github.com/MailOnline/Reactor) - Powering your RAC architecture :large_orange_diamond: * [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking 🔶 +* [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework 🔶 #### Email From 389c9d4a00781b73dd2003e2bbeb9f935e3c801a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Eorvaldur=20R=C3=BAnarsson?= Date: Mon, 30 Oct 2017 11:16:31 +0000 Subject: [PATCH 1400/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 531734184..f080fff75 100644 --- a/README.md +++ b/README.md @@ -343,6 +343,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. :large_orange_diamond: * [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. :large_orange_diamond: * [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. :large_orange_diamond: +* [Lorikeet](https://github.com/valdirunars/lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation ## Command Line * [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: From dbd463ed89bc8e13d2b31b10618fef5ff191a167 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Eorvaldur=20R=C3=BAnarsson?= Date: Mon, 30 Oct 2017 11:17:46 +0000 Subject: [PATCH 1401/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f080fff75..d9e55a2c4 100644 --- a/README.md +++ b/README.md @@ -343,7 +343,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. :large_orange_diamond: * [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. :large_orange_diamond: * [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. :large_orange_diamond: -* [Lorikeet](https://github.com/valdirunars/lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation +* [Lorikeet](https://github.com/valdirunars/lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation :large_orange_diamond: ## Command Line * [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: From 02ea871fa6e6f8f1bfd23ffb30cd69aa82e48250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Eorvaldur=20R=C3=BAnarsson?= Date: Mon, 30 Oct 2017 19:00:32 +0000 Subject: [PATCH 1402/2606] Fix Lorikeet addition --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d9e55a2c4..a1f5b9934 100644 --- a/README.md +++ b/README.md @@ -343,7 +343,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. :large_orange_diamond: * [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. :large_orange_diamond: * [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. :large_orange_diamond: -* [Lorikeet](https://github.com/valdirunars/lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation :large_orange_diamond: +* [Lorikeet](https://github.com/valdirunars/Lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation. :large_orange_diamond: ## Command Line * [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: From c9f8427558ddf6349be4ca5fafc21f26400530bc Mon Sep 17 00:00:00 2001 From: Haoking Date: Mon, 30 Oct 2017 21:41:13 -0500 Subject: [PATCH 1403/2606] High performance(100%) and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton and more. (#2003) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 531734184..7460bf6bf 100644 --- a/README.md +++ b/README.md @@ -1621,6 +1621,7 @@ Most of these are paid services, some have free tiers. * [Panda](https://github.com/wordlessj/Panda) - Create view hierarchies declaratively. :large_orange_diamond: * [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X :large_orange_diamond: * [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. :large_orange_diamond: +* [SwiftyUI](https://github.com/haoking/SwiftyUI) - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more. 🔶 #### Activity Indicator From 5c41d48bf5cb1bd0942c2b4ddcd8db9772d5aa28 Mon Sep 17 00:00:00 2001 From: Victor Peschenkov Date: Thu, 2 Nov 2017 00:48:04 +0300 Subject: [PATCH 1404/2606] Fix link issues (#2040) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7460bf6bf..590da5da6 100644 --- a/README.md +++ b/README.md @@ -1118,7 +1118,7 @@ Most of these are paid services, some have free tiers. * [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend. * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. -* [Moltin](https://www.moltin.com/ios-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. +* [Moltin](https://moltin.com/ios-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. * [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. :large_orange_diamond: * [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ :large_orange_diamond: * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS :large_orange_diamond: @@ -1267,7 +1267,7 @@ Most of these are paid services, some have free tiers. * [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. :large_orange_diamond: * [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. :large_orange_diamond: * [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. :large_orange_diamond: -* [SwiftyVK](https://github.com/west0r/SwiftyVK) Library for easy interact with VK social network API written in Swift 🔶 +* [SwiftyVK](https://github.com/SwiftyVK/SwiftyVK) Library for easy interact with VK social network API written in Swift 🔶 * [ARKKit](https://github.com/sleepdefic1t/ARKKit) - [ARK Ecosystem](https://ark.io) Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. :large_orange_diamond: * [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. :large_orange_diamond: @@ -2285,7 +2285,7 @@ Most of these are paid services, some have free tiers. * [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. 🔶 * [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. 🔶 * [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list :large_orange_diamond: -* [PYSearch](https://github.com/iphone5solo/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). +* [PYSearch](https://github.com/ko1o/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). * [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. 🔶 #### Web View From bb2cc2321045f601f406db62e18d745bfabac582 Mon Sep 17 00:00:00 2001 From: Victor Peschenkov Date: Thu, 2 Nov 2017 05:21:11 +0300 Subject: [PATCH 1405/2606] Add LetterAvatarKit (#2039) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 590da5da6..6ac311f27 100644 --- a/README.md +++ b/README.md @@ -861,6 +861,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ZImageCropper](https://github.com/ZaidPathan/ZImageCropper) - A Swift project to crop image in any shape. :large_orange_diamond: * [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. :large_orange_diamond: * [DTPhotoViewerController](https://github.com/tungvoduc/DTPhotoViewerController) - A fully customizable photo viewer ViewController, inspired by Facebook photo viewer. :large_orange_diamond: +* [LetterAvatarKit](https://github.com/vpeschenkov/LetterAvatarKit) - A UIImage extension that generates letter-based avatars written in Swift. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 7e6d66e98eeba9ef053e8fe4410deed7c6080a5c Mon Sep 17 00:00:00 2001 From: David Okun Date: Wed, 1 Nov 2017 19:22:07 -0700 Subject: [PATCH 1406/2606] Added Lumina, a new Swift camera framework (#2037) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6ac311f27..b05d0b86d 100644 --- a/README.md +++ b/README.md @@ -575,6 +575,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CameraEngine](https://github.com/remirobert/CameraEngine) - 🐒📷 Camera engine for iOS, written in Swift, above AVFoundation. 🐒 :large_orange_diamond: * [SwiftyCam](https://github.com/Awalz/SwiftyCam) - A Snapchat Inspired iOS Camera Framework written in Swift. :large_orange_diamond: * [CameraBackground](https://github.com/yonat/CameraBackground) - Show camera layer as a background to any UIView. :large_orange_diamond: +* [Lumina](https://github.com/dokun1/Lumina) - Full service camera that takes photos, videos, streams frames, detects metadata, and streams CoreML predictions :largeorangediamond: #### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: From 27cc1365067627d9e8e808cfb0dbe54b6554d676 Mon Sep 17 00:00:00 2001 From: Johnny Choi Date: Thu, 2 Nov 2017 15:23:53 +1300 Subject: [PATCH 1407/2606] Add CFNotify to the list (#2033) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b05d0b86d..174a9c6c0 100644 --- a/README.md +++ b/README.md @@ -1834,6 +1834,7 @@ Most of these are paid services, some have free tiers. * [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. 🔶 * [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS :large_orange_diamond: * [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. :large_orange_diamond: +* [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 4ee459f97aa46904f5fa93126598f67db913f26d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Pi=C3=B1era=20Buend=C3=ADa?= Date: Fri, 3 Nov 2017 12:31:46 +0100 Subject: [PATCH 1408/2606] Add xcproj to the Project Setup section (#2045) ## Project URL https://github.com/xcodeswift/xcproj ## Description Add xcproj to the project setup section. ## Checklist - [x] Only one project/change is in this pull request - [x] Addition in chronological order (bottom of category) - [x] Supports iOS 9 / tvOS 10 or later - [x] Supports Swift 3 or later - [x] Has a commit from less than 2 years ago - [x] Has a **clear** README in English --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 174a9c6c0..b5329793c 100644 --- a/README.md +++ b/README.md @@ -2432,6 +2432,7 @@ Most of these are paid services, some have free tiers. * [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents * [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. :large_orange_diamond: +* [xcproj](https://github.com/xcodeswift/xcproj) - Read and update Xcode projects. # Dependency / Package Manager * [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. From d42dd74bc1a48d555e5cedf08511840ea22a3222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Pi=C3=B1era=20Buend=C3=ADa?= Date: Fri, 3 Nov 2017 13:24:43 +0100 Subject: [PATCH 1409/2606] Add xclint to the project setup section (#2046) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b5329793c..eb6ccd818 100644 --- a/README.md +++ b/README.md @@ -2432,6 +2432,7 @@ Most of these are paid services, some have free tiers. * [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents * [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. :large_orange_diamond: +* [xclint](https://github.com/xcodeswift/xclint) - Validate the state of your Xcode projects. * [xcproj](https://github.com/xcodeswift/xcproj) - Read and update Xcode projects. # Dependency / Package Manager From 650b1c053d9abf507b7671d88adfc49e33ea7e2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eren=20Kabak=C3=A7=C4=B1?= Date: Fri, 3 Nov 2017 13:25:34 +0100 Subject: [PATCH 1410/2606] Add WWDC17-Recap (#2024) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eb6ccd818..4da65301f 100644 --- a/README.md +++ b/README.md @@ -2654,6 +2654,7 @@ Most of these are paid services, some have free tiers. * [SwiftSnippets](https://github.com/hyperoslo/SwiftSnippets) - A collection of Swift snippets to be used in Xcode * [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. * [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. :large_orange_diamond: +* [WWDC17-Recap](https://github.com/erenkabakci/WWDC17-Recap) - Markdown collection repo for the sessions at WWDC17. # Style Guides * [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. From d13bc708590c4d267a5720d056590faed41a4e6b Mon Sep 17 00:00:00 2001 From: Ander Goig Date: Fri, 3 Nov 2017 22:49:37 +0100 Subject: [PATCH 1411/2606] Rename IGAuth library (#2050) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4da65301f..37ee7692f 100644 --- a/README.md +++ b/README.md @@ -230,7 +230,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. * [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. * [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. -* [IGAuth](https://github.com/AnderGoig/IGAuth) - A simple way to authenticate Instagram accounts on iOS. :large_orange_diamond: +* [InstagramLogin](https://github.com/AnderGoig/InstagramLogin) - A simple way to authenticate Instagram accounts on iOS. :large_orange_diamond: ## Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. From 2872660bb5bc6d6180739e8eb3d710d32807723e Mon Sep 17 00:00:00 2001 From: Yogesh Murugesh Date: Sat, 4 Nov 2017 12:55:40 +0530 Subject: [PATCH 1412/2606] =?UTF-8?q?Added=20=E2=80=9CDigger=E2=80=9D=20li?= =?UTF-8?q?brary?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 37ee7692f..ab843a1bd 100644 --- a/README.md +++ b/README.md @@ -991,7 +991,8 @@ Also see [push notifications](#push-notifications) * [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. :large_orange_diamond: * [WANetworkRouting](https://github.com/Wasappli/WANetworkRouting) - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers * [Reactor](https://github.com/MailOnline/Reactor) - Powering your RAC architecture :large_orange_diamond: -* [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking 🔶 +* [Digger](https://github.com/cornerAnt/Digger) - Digger is a lightweight download framework that requires only one line of code to complete the file download task +. :large_orange_diamond: #### Email From d350ff4e7847c39be292b2641ff702db9a1ecfac Mon Sep 17 00:00:00 2001 From: Yogesh Murugesh Date: Sat, 4 Nov 2017 12:57:10 +0530 Subject: [PATCH 1413/2606] Corrected the removed library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ab843a1bd..1ae8d4c34 100644 --- a/README.md +++ b/README.md @@ -991,6 +991,7 @@ Also see [push notifications](#push-notifications) * [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. :large_orange_diamond: * [WANetworkRouting](https://github.com/Wasappli/WANetworkRouting) - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers * [Reactor](https://github.com/MailOnline/Reactor) - Powering your RAC architecture :large_orange_diamond: +* [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking 🔶 * [Digger](https://github.com/cornerAnt/Digger) - Digger is a lightweight download framework that requires only one line of code to complete the file download task . :large_orange_diamond: From 2568d6fdae0213c1a877b71d5226b20b9587bab9 Mon Sep 17 00:00:00 2001 From: Ivan Smetanin Date: Sat, 4 Nov 2017 21:46:54 +0300 Subject: [PATCH 1414/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37ee7692f..b4d562e09 100644 --- a/README.md +++ b/README.md @@ -2647,6 +2647,7 @@ Most of these are paid services, some have free tiers. * [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. * [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 :large_orange_diamond: * [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift :large_orange_diamond: +* [XcodeCodeSnippets](https://github.com/ismetanin/XcodeCodeSnippets) - A set of code snippets for iOS development, includes code and comments snippets. # Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: From bfa5113cc930cd91f57a128090bd9aba143bab49 Mon Sep 17 00:00:00 2001 From: Vincent Smithers Date: Sun, 5 Nov 2017 13:50:39 -0500 Subject: [PATCH 1415/2606] Update README for VSVerticalSlider --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37ee7692f..1b55d6ae4 100644 --- a/README.md +++ b/README.md @@ -2075,6 +2075,7 @@ Most of these are paid services, some have free tiers. * [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf :large_orange_diamond: #### Slider +* [VSVerticalSlider](https://github.com/vsmithers1087/VSVerticalSlider) - An animatable and customizable vertical slider written in Swift4. * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. * [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management * [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. :large_orange_diamond: From 872db266b9e3db0411a986462a2379c403ca06a5 Mon Sep 17 00:00:00 2001 From: Vincent Smithers Date: Sun, 5 Nov 2017 13:54:16 -0500 Subject: [PATCH 1416/2606] =?UTF-8?q?Added=20=F0=9F=94=B6=20to=20descripti?= =?UTF-8?q?on?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b55d6ae4..8a937c637 100644 --- a/README.md +++ b/README.md @@ -2075,7 +2075,7 @@ Most of these are paid services, some have free tiers. * [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf :large_orange_diamond: #### Slider -* [VSVerticalSlider](https://github.com/vsmithers1087/VSVerticalSlider) - An animatable and customizable vertical slider written in Swift4. +* [VSVerticalSlider](https://github.com/vsmithers1087/VSVerticalSlider) - An animatable and customizable vertical slider written in Swift4.🔶 * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. * [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management * [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. :large_orange_diamond: From bd501f7cdaf41d1dc80a88377567d3a8140d3ebb Mon Sep 17 00:00:00 2001 From: Vincent Smithers Date: Sun, 5 Nov 2017 14:03:10 -0500 Subject: [PATCH 1417/2606] Added to bottom of category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8a937c637..a197658e8 100644 --- a/README.md +++ b/README.md @@ -2075,7 +2075,6 @@ Most of these are paid services, some have free tiers. * [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf :large_orange_diamond: #### Slider -* [VSVerticalSlider](https://github.com/vsmithers1087/VSVerticalSlider) - An animatable and customizable vertical slider written in Swift4.🔶 * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. * [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management * [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. :large_orange_diamond: @@ -2097,6 +2096,7 @@ Most of these are paid services, some have free tiers. * [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. :large_orange_diamond: * [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. :large_orange_diamond: * [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. :large_orange_diamond: +* [VSVerticalSlider](https://github.com/vsmithers1087/VSVerticalSlider) - An animatable and customizable vertical slider written in Swift4.🔶 #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. From 91e6e559420cdf581de9a5437bb874bae3570b10 Mon Sep 17 00:00:00 2001 From: pcpLiu Date: Sun, 5 Nov 2017 14:58:28 -0500 Subject: [PATCH 1418/2606] Add Serrano --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37ee7692f..286200346 100644 --- a/README.md +++ b/README.md @@ -715,7 +715,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. :large_orange_diamond: * [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. :large_orange_diamond: * [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of unique Core ML Models. - +* [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. :large_orange_diamond: ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. * [NAMapKit](https://github.com/neilang/NAMapKit) - Allows you to use custom maps in iPhone applications and attempts to mimics some of the behaviour of the MapKit framework. From b76212ecd8b0dce084c1a76d407b3d7462d5eb07 Mon Sep 17 00:00:00 2001 From: Ahmed Fathi Bekhit Date: Sun, 5 Nov 2017 22:11:37 -0500 Subject: [PATCH 1419/2606] Add ARVideoKit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ARVideoKit enables developers to capture and record videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆 with ARKit content. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 37ee7692f..1bda528a8 100644 --- a/README.md +++ b/README.md @@ -214,7 +214,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## ARKit * [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. :large_orange_diamond: * [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. - +* [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆 with ARKit content. ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: * [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. :large_orange_diamond: From 12b330d6e4365e2c6e2f9603774ce23a8b744a52 Mon Sep 17 00:00:00 2001 From: Michael Michailidis Date: Mon, 6 Nov 2017 13:44:52 +0100 Subject: [PATCH 1420/2606] Added KDCalendarView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37ee7692f..2766a8fd3 100644 --- a/README.md +++ b/README.md @@ -1890,6 +1890,7 @@ Most of these are paid services, some have free tiers. * [GDPersianCalendar](https://github.com/saeid/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. 🔶 * [MBCalendarKit](https://github.com/MosheBerman/MBCalendarKit) - A calendar framework for iOS built with customization, and localization in mind. * [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. 🔶 +* [KDCalendarView](https://github.com/mmick66/CalendarView) - A calendar component for iOS written in Swift 4.0. It features both vertical and horizontal layout (and scrolling) and the display of native calendar events. #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From aca812683e46d94e6a5d210b6467be28f00e7520 Mon Sep 17 00:00:00 2001 From: Ahmed Fathi Bekhit Date: Mon, 6 Nov 2017 12:21:37 -0500 Subject: [PATCH 1421/2606] Added `:large_orange_diamond:` and a line break - Edited the description. - Added `:large_orange_diamond:` after the description. - Added a line break after the lib. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1bda528a8..328c85d3d 100644 --- a/README.md +++ b/README.md @@ -214,7 +214,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## ARKit * [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. :large_orange_diamond: * [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. -* [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆 with ARKit content. +* [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆. :large_orange_diamond: + ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: * [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. :large_orange_diamond: From 7b8040cdd16907c7488c5ae2386f5afd92728c75 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 6 Nov 2017 17:38:00 +0000 Subject: [PATCH 1422/2606] Added extra line --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 286200346..8d388a788 100644 --- a/README.md +++ b/README.md @@ -716,6 +716,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. :large_orange_diamond: * [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of unique Core ML Models. * [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. :large_orange_diamond: + ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. * [NAMapKit](https://github.com/neilang/NAMapKit) - Allows you to use custom maps in iPhone applications and attempts to mimics some of the behaviour of the MapKit framework. From 8d3c45d854ded8b31188e2138eeb41afbf5f37f4 Mon Sep 17 00:00:00 2001 From: Olive <29358427+oliveDY@users.noreply.github.com> Date: Mon, 6 Nov 2017 13:19:13 -0500 Subject: [PATCH 1423/2606] Remove swift-ai Abandoned repo swift-ai. No code in current repo. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f7d5b0efa..c02ea1643 100644 --- a/README.md +++ b/README.md @@ -707,7 +707,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. :large_orange_diamond: ## Machine Learning -* [Swift-AI](https://github.com/Swift-AI/Swift-AI) - Highly optimized Artificial Intelligence and Machine Learning library written in Swift. :large_orange_diamond: * [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. :large_orange_diamond: * [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. :large_orange_diamond: * [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios) - The official Google-built powerful neural network library port for iOS. From f71f3efdf38b5e2b1bd3ba923f58e95a813e7fce Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Tue, 7 Nov 2017 13:20:24 +0530 Subject: [PATCH 1424/2606] Add AXPhotoViewer. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 677a24b97..29318db28 100644 --- a/README.md +++ b/README.md @@ -864,6 +864,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. :large_orange_diamond: * [DTPhotoViewerController](https://github.com/tungvoduc/DTPhotoViewerController) - A fully customizable photo viewer ViewController, inspired by Facebook photo viewer. :large_orange_diamond: * [LetterAvatarKit](https://github.com/vpeschenkov/LetterAvatarKit) - A UIImage extension that generates letter-based avatars written in Swift. :large_orange_diamond: +* [AXPhotoViewer](https://github.com/alexhillc/AXPhotoViewer) - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 4518b1338b5a9df6810fb7cf117f367df5f1bf79 Mon Sep 17 00:00:00 2001 From: Hadi Dbouk Date: Wed, 8 Nov 2017 08:35:25 +0200 Subject: [PATCH 1425/2606] Add ChartProgressBar (#2060) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 677a24b97..1af62562b 100644 --- a/README.md +++ b/README.md @@ -283,6 +283,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. :large_orange_diamond: * [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. :large_orange_diamond: * [core-plot](https://github.com/core-plot/core-plot) - a 2D plotting lib which is highly customizable and capable of drawing many types of plots. +* [ChartProgressBar](https://github.com/hadiidbouk/ChartProgressBar-iOS) - Draw a chart with progress bar style. ## Code Quality * [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. From 6e20ae7c877ff396073d7a7ed2447cb294bad330 Mon Sep 17 00:00:00 2001 From: Filipp Fediakov Date: Wed, 8 Nov 2017 09:36:33 +0300 Subject: [PATCH 1426/2606] Add CardsLayout (#2048) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1af62562b..69417b368 100644 --- a/README.md +++ b/README.md @@ -2243,6 +2243,7 @@ Most of these are paid services, some have free tiers. * [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. 🔶 * [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views :large_orange_diamond: * [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections :large_orange_diamond: +* [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From d8b9a8dcffcb4787e017d8462d6707688a84eee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanpe=20Catala=CC=81n?= Date: Thu, 9 Nov 2017 10:53:09 +0100 Subject: [PATCH 1427/2606] Add SkeletonView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c9e73ab94..61d0e8105 100644 --- a/README.md +++ b/README.md @@ -1663,6 +1663,7 @@ Most of these are paid services, some have free tiers. * [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. :large_orange_diamond: * [BPBlockActivityIndicator](https://github.com/ppth0608/BPBlockActivityIndicator) - A simple and awesome Loading Activity Indicator(with funny block animation) for your iOS app. :large_orange_diamond: * [JustHUD](https://github.com/shubh10/JustHUD) - JustHUD is an iOS drop-in class written in Swift that displays a translucent HUD. :large_orange_diamond: +* [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From cb2ef992b94853dd10c56262abad61209f0f2a84 Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 9 Nov 2017 12:04:20 -0500 Subject: [PATCH 1428/2606] Added ExtendaBLE --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69417b368..826e5b128 100644 --- a/README.md +++ b/README.md @@ -546,6 +546,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Hardware #### Bluetooth +* [ExtendaBLE](https://github.com/AntonTheDev/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 * [Discovery](https://github.com/omergul/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). * [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. * [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. :large_orange_diamond: From 6fe9a275742a597d76dafb867ff8474180eb42c5 Mon Sep 17 00:00:00 2001 From: Anton Date: Thu, 9 Nov 2017 12:07:51 -0500 Subject: [PATCH 1429/2606] Moved ExtendaBLE to the bottom of the list --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 826e5b128..c048c6181 100644 --- a/README.md +++ b/README.md @@ -546,7 +546,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Hardware #### Bluetooth -* [ExtendaBLE](https://github.com/AntonTheDev/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 * [Discovery](https://github.com/omergul/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). * [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. * [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. :large_orange_diamond: @@ -557,6 +556,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U :large_orange_diamond: * [Bluejay](https://github.com/steamclock/bluejay) - A simple Swift framework for building reliable Bluetooth LE apps. :large_orange_diamond: * [BabyBluetooth](https://github.com/coolnameismy/BabyBluetooth) - The easiest way to use Bluetooth (BLE) in iOS/MacOS. +* [ExtendaBLE](https://github.com/AntonTheDev/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. #### Camera * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. From 3c9f37dd871cc1f9cb97ae28315be69ba84a5cf3 Mon Sep 17 00:00:00 2001 From: Robert Nash Date: Thu, 9 Nov 2017 17:53:49 +0000 Subject: [PATCH 1430/2606] Adding Records --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e9a26c996..7c7dd583b 100644 --- a/README.md +++ b/README.md @@ -397,6 +397,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: * [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. * [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. :large_orange_diamond: +* [Records](https://github.com/rob-nash/Records) - https://github.com/rob-nash/Records :large_orange_diamond: ## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. From 13267ac7f63578c1b9babdc6432d554333abf3da Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 10 Nov 2017 09:28:09 +0530 Subject: [PATCH 1431/2606] Add Mandoline (#2059) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9397ed77..25c040125 100644 --- a/README.md +++ b/README.md @@ -2030,6 +2030,7 @@ Most of these are paid services, some have free tiers. * [AIDatePickerController](https://github.com/alikaragoz/AIDatePickerController) - :date: UIDatePicker modally presented with iOS 7 custom transitions. * [CountryPicker](https://github.com/4taras4/CountryCode) - :date: UIPickerView with Country names flags and phoneCodes 🔶 * [McPicker](https://github.com/kmcgill88/McPicker-iOS) - A customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready. :large_orange_diamond: +* [Mandoline](https://github.com/blueapron/Mandoline) - An iOS picker view to serve all your "picking" needs :large_orange_diamond: #### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). From e2983f1d69218cee6e9c1d09fe5c4410ccd39120 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 10 Nov 2017 13:10:22 +0530 Subject: [PATCH 1432/2606] Add BiometricAuthentication. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 25c040125..8b5325c50 100644 --- a/README.md +++ b/README.md @@ -1294,6 +1294,7 @@ Most of these are paid services, some have free tiers. * [SAPinViewController](https://github.com/siavashalipour/SAPinViewController) - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen. 🔶 * [VoiceItAPI1IosSDK](https://github.com/voiceittech/VoiceItAPI1IosSDK) - A super easy way to add Voice Authentication(Biometrics) to your iOS apps, conveniently usable via cocoapods :large_orange_diamond: * [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS +* [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication :large_orange_diamond: #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 7bfb3bf7f9a48e315162a39dc4b98743d44a8ae5 Mon Sep 17 00:00:00 2001 From: Anton Date: Fri, 10 Nov 2017 15:11:32 -0500 Subject: [PATCH 1433/2606] Added FlightLayout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 25c040125..656f9ccc2 100644 --- a/README.md +++ b/README.md @@ -639,6 +639,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Layout](https://github.com/schibsted/layout) - A declarative UI framework for iOS :large_orange_diamond: * [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. 🔶 * [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. +* [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 5a1a24b55eb063739d4e0083a60c1df5f94674d1 Mon Sep 17 00:00:00 2001 From: Andrew Barba Date: Fri, 10 Nov 2017 19:56:09 -0500 Subject: [PATCH 1434/2606] Add Bluebird.swift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 25c040125..6aa9a64c3 100644 --- a/README.md +++ b/README.md @@ -492,6 +492,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. :large_orange_diamond: * [NoticeObserveKit](https://github.com/marty-suzuki/NoticeObserveKit) - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. :large_orange_diamond: * [Hydra](https://github.com/malcommac/Hydra) - Promises & Await - Write better async code in Swift :large_orange_diamond: +* [Bluebird.swift](https://github.com/AndrewBarba/Bluebird.swift) - Promise/A+, Bluebird inspired, implementation in Swift 4. :large_orange_diamond: ## Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: From 2ba3b2b33b99de4af3c9a7d8d02c4683c2a3a20d Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 10 Nov 2017 19:23:23 -0800 Subject: [PATCH 1435/2606] Update Records --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 25c040125..f7ed61c82 100644 --- a/README.md +++ b/README.md @@ -397,7 +397,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: * [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. * [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. :large_orange_diamond: -* [Records](https://github.com/rob-nash/Records) - https://github.com/rob-nash/Records :large_orange_diamond: +* [Records](https://github.com/rob-nash/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. :large_orange_diamond: ## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. From c84e381ce193ebcfaed6e77581b49ef9ef28d591 Mon Sep 17 00:00:00 2001 From: Abdullah Selek Date: Sat, 11 Nov 2017 16:13:01 +0100 Subject: [PATCH 1436/2606] add Swifty360Player --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f7ed61c82..573e22b56 100644 --- a/README.md +++ b/README.md @@ -2388,6 +2388,7 @@ Most of these are paid services, some have free tiers. * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: * [360 VR Player](https://github.com/hanton/HTY360Player) - A open source, ad-free, native and universal 360 degree panorama video player for iOS. * [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. :large_orange_diamond: +* [Swifty360Player](https://github.com/abdullahselek/Swifty360Player) - iOS 360-degree video player streaming from an AVPlayer with Swift. :large_orange_diamond: ## Walkthrough / Intro / Tutorial * [Onboard](https://github.com/mamaral/Onboard) - Easily create a beautiful and engaging onboarding experience with only a few lines of code. From 7d6b09093f90df59a90dd65612fae677b24f5048 Mon Sep 17 00:00:00 2001 From: BEOMBEOM Date: Tue, 14 Nov 2017 12:15:45 +0900 Subject: [PATCH 1437/2606] Add Windless (#2069) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b28aa49ad..ff83f7027 100644 --- a/README.md +++ b/README.md @@ -1693,6 +1693,7 @@ Most of these are paid services, some have free tiers. * [JustHUD](https://github.com/shubh10/JustHUD) - JustHUD is an iOS drop-in class written in Swift that displays a translucent HUD. :large_orange_diamond: * [JDBreaksLoading](https://github.com/jamesdouble/JDBreaksLoading) - You can easily start up a little breaking game indicator by one line. :large_orange_diamond: * [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. :large_orange_diamond: +* [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. :large_orange_diamond: #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From d89c54f8d976382aea9ec6cff3f7c66416389de5 Mon Sep 17 00:00:00 2001 From: Alberto De Bortoli Date: Tue, 14 Nov 2017 05:34:30 +0000 Subject: [PATCH 1438/2606] Add Promis to EventBus section (#2071) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ff83f7027..d7a0f2cda 100644 --- a/README.md +++ b/README.md @@ -492,6 +492,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. :large_orange_diamond: * [NoticeObserveKit](https://github.com/marty-suzuki/NoticeObserveKit) - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. :large_orange_diamond: * [Hydra](https://github.com/malcommac/Hydra) - Promises & Await - Write better async code in Swift :large_orange_diamond: +* [Promis](https://github.com/albertodebortoli/Promis) - The easiest Future and Promises framework in Swift. No magic. No boilerplate. :large_orange_diamond: ## Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: From 7104cf627c7c91c94a365de0b9b4de60c96572f2 Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 14 Nov 2017 13:36:12 +0800 Subject: [PATCH 1439/2606] Add SimpleApiClient in Networking category. (#2026) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d7a0f2cda..93558f3e6 100644 --- a/README.md +++ b/README.md @@ -1196,6 +1196,7 @@ Most of these are paid services, some have free tiers. * [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive :large_orange_diamond: * [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. :large_orange_diamond: * [Observable](https://github.com/roberthein/Observable) - The easiest way to observe values in Swift. 🔶 +* [SimpleApiClient](https://github.com/jaychang0917/SimpleApiClient-ios) - A configurable api client based on Alamofire4 and RxSwift4 for iOS. 🔶 ## React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: From a24f296bb451f4255af43a4ab0b5ca8a34f41ad0 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Tue, 14 Nov 2017 15:53:21 +0530 Subject: [PATCH 1440/2606] Add WhatsNew. (#2073) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 93558f3e6..c9277ad44 100644 --- a/README.md +++ b/README.md @@ -2387,6 +2387,7 @@ Most of these are paid services, some have free tiers. * [FluxCapacitor](https://github.com/marty-suzuki/FluxCapacitor) - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias. 🔶 * [VTAcknowledgementsViewController](https://github.com/vtourraine/VTAcknowledgementsViewController) - Ready to use “Acknowledgements”/“Licenses”/“Credits” view controller for CocoaPods. * [Closures](https://github.com/vhesener/Closures) - Swifty closures for UIKit and Foundation. 🔶 + * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote :large_orange_diamond: ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 5d533eed453a1b1e5c8d27cf73361143e0ead642 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 14 Nov 2017 02:29:50 -0800 Subject: [PATCH 1441/2606] Remove dupe link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c9277ad44..6843d5663 100644 --- a/README.md +++ b/README.md @@ -1280,9 +1280,9 @@ Most of these are paid services, some have free tiers. * [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. :large_orange_diamond: * [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. :large_orange_diamond: * [SwiftyVK](https://github.com/SwiftyVK/SwiftyVK) Library for easy interact with VK social network API written in Swift 🔶 -* [ARKKit](https://github.com/sleepdefic1t/ARKKit) - [ARK Ecosystem](https://ark.io) Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. :large_orange_diamond: +* [ARKKit](https://github.com/sleepdefic1t/ARKKit) - ARK Ecosystem Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. :large_orange_diamond: * [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. :large_orange_diamond: -* [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the [ARK Ecosystem](https://ark.io). :large_orange_diamond: +* [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From f59990a4f776fe895b862e25fc2f29420c5aff94 Mon Sep 17 00:00:00 2001 From: Jogendra Singh Date: Tue, 14 Nov 2017 18:57:15 +0530 Subject: [PATCH 1442/2606] Updated in hierarchy --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c2857c82d..742c5cc28 100644 --- a/README.md +++ b/README.md @@ -2818,8 +2818,8 @@ Other amazingly awesome lists can be found in the * [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts * [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. * [Awesome-ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. -* [example-ios-apps](https://github.com/imjog/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. * [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. +* [example-ios-apps](https://github.com/imjog/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From a1ea7710597fcea59fb6e84baeec482baa3bc4d5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 14 Nov 2017 14:31:14 +0000 Subject: [PATCH 1443/2606] Removed Awesome-Reactive-Programming-Swift Fixes #2074 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index e7fd26f53..aa411d81a 100644 --- a/README.md +++ b/README.md @@ -2843,7 +2843,6 @@ Other amazingly awesome lists can be found in the * [awesome-ios-chart](https://github.com/ameizi/awesome-ios-chart) - A curated list of awesome iOS chart libraries, including Objective-C and Swift. * [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). * [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. -* [Awesome Reactive Programming in Swift](https://github.com/SideEffects-xyz/Awesome-Reactive-Programming-Swift) - A collection of frameworks, talks and resources about reactive programming in Swift. * [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects * [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. * [Awesome-iOS-Companies](https://ioscompanies.info/about/welcome) - A curated geographical directory of companies doing iOS development. From 91ce32fa6666271833c69f68556e1cd9d8578549 Mon Sep 17 00:00:00 2001 From: BEOMBEOM Date: Wed, 15 Nov 2017 01:33:12 +0900 Subject: [PATCH 1444/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 269f0191c..530a1737d 100644 --- a/README.md +++ b/README.md @@ -1793,6 +1793,7 @@ Most of these are paid services, some have free tiers. * [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. :large_orange_diamond: * [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. :large_orange_diamond: * [DeckTransition](https://github.com/HarshilShah/DeckTransition) - A library to recreate the iOS Apple Music now playing transition :large_orange_diamond: +* [TransitionableTab](https://github.com/Interactive-Studio/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab :large_orange_diamond: #### Alert & Action Sheet From c96af981c51f0de0b7a3ac46e46969581728edae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fl=C3=A1vio=20Caetano?= Date: Tue, 14 Nov 2017 14:39:22 -0200 Subject: [PATCH 1445/2606] Add ReCaptcha to Authentication category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 269f0191c..fc19f8113 100644 --- a/README.md +++ b/README.md @@ -232,6 +232,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. * [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. * [InstagramLogin](https://github.com/AnderGoig/InstagramLogin) - A simple way to authenticate Instagram accounts on iOS. :large_orange_diamond: +* [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - [In]visible ReCaptcha for iOS. :large_orange_diamond: ## Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. From e3b102e2749cb99b4c0d29153c6f0c2974d967c1 Mon Sep 17 00:00:00 2001 From: Mario Iannotta Date: Thu, 16 Nov 2017 01:44:14 +0100 Subject: [PATCH 1446/2606] Add PullUpController (#2078) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 269f0191c..715a60e9b 100644 --- a/README.md +++ b/README.md @@ -1639,6 +1639,7 @@ Most of these are paid services, some have free tiers. * [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. :large_orange_diamond: * [SwiftyUI](https://github.com/haoking/SwiftyUI) - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more. 🔶 * [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. 🔶 +* [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. 🔶 #### Activity Indicator From 259dc28dbb84883bb8a4d6d90912a7da1f6f757f Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Wed, 15 Nov 2017 16:51:14 -0800 Subject: [PATCH 1447/2606] Update README URLs based on HTTP redirects (#2081) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 715a60e9b..23bcf8c2f 100644 --- a/README.md +++ b/README.md @@ -637,7 +637,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. :large_orange_diamond: * [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. :large_orange_diamond: * [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. :large_orange_diamond: -* [FlexLayout](https://github.com/lucdion/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. 🔶 +* [FlexLayout](https://github.com/layoutBox/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. 🔶 * [Layout](https://github.com/schibsted/layout) - A declarative UI framework for iOS :large_orange_diamond: * [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. 🔶 * [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. @@ -2775,7 +2775,7 @@ Most of these are paid services, some have free tiers. * [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday * [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) * [WeeklyCocoa.News](https://weeklycocoa.news) - Weekly updated newsletter about iOS, Swift, Objective-C, CocoaTouch, and other Apple connected development technologies. -* [iOS Cookies Newsletter](http://us11.campaign-archive1.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. +* [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. #### Medium * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone From e73865e19036ef578b0329d9bff3af07e9fd8869 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Wed, 15 Nov 2017 17:18:26 -0800 Subject: [PATCH 1448/2606] Update README URLs based on HTTP redirects (#2083) --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 23bcf8c2f..0a49868ff 100644 --- a/README.md +++ b/README.md @@ -2791,12 +2791,12 @@ Most of these are paid services, some have free tiers. #### Facebook Groups -* [HH iOS](https://www.facebook.com/groups/hhios/) -* [Sketch - Official group](https://www.facebook.com/groups/sketchformac/) -* [Design-Code](https://www.facebook.com/groups/designcode/) -* [Sketch-Design.io](https://www.facebook.com/groups/sketchdesignio) -* [Origami Community](https://www.facebook.com/groups/origami.community/) -* [Framer JS](https://www.facebook.com/groups/framerjs/) +* [HH iOS](https://www.facebook.com/groups/hhios/about/) +* [Sketch - Official group](https://www.facebook.com/groups/sketchformac/about/) +* [Design-Code](https://www.facebook.com/groups/designcode/about/) +* [Sketch-Design.io](https://www.facebook.com/groups/sketchdesignio/about/) +* [Origami Community](https://www.facebook.com/groups/origami.community/about/) +* [Framer JS](https://www.facebook.com/groups/framerjs/about/) # Podcasts * [The Ray Wenderlich Podcast](https://www.raywenderlich.com/rwpodcast) From e73aceaba7ab5c519b2c72c061973db76a84c064 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Wed, 15 Nov 2017 17:27:08 -0800 Subject: [PATCH 1449/2606] [ci] white list facebook.com/groups (#2084) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b7e276f4f..9b6135365 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ before_script: - gem install danger script: - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,PerfectlySoft - - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix,amazon + - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix,amazon,facebook.com/groups - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger notifications: From 51dce38b17d7f488a22928f73d2e600d17af8581 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 16 Nov 2017 12:14:14 +0530 Subject: [PATCH 1450/2606] Add Viewer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0a49868ff..18faf5e36 100644 --- a/README.md +++ b/README.md @@ -872,6 +872,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LetterAvatarKit](https://github.com/vpeschenkov/LetterAvatarKit) - A UIImage extension that generates letter-based avatars written in Swift. :large_orange_diamond: * [AXPhotoViewer](https://github.com/alexhillc/AXPhotoViewer) - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos :large_orange_diamond: * [TJProfileImage](https://github.com/tejas-ardeshna/TJProfileImage) - Live rendering of componet’s properties in Interface Builder. :large_orange_diamond: +* [Viewer](https://github.com/bakkenbaeck/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 9144a86ba6ecba019a4293bd913ee06707d3a22c Mon Sep 17 00:00:00 2001 From: Fraser Date: Fri, 17 Nov 2017 08:39:12 +1300 Subject: [PATCH 1451/2606] Added DesignableButton --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 174a9c6c0..f65f8f5e3 100644 --- a/README.md +++ b/README.md @@ -1871,6 +1871,7 @@ Most of these are paid services, some have free tiers. * [JSButton](https://github.com/imjog/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. 🔶 * [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation :large_orange_diamond: * [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. :large_orange_diamond: +* [DesignableButton](https://github.com/IdleHandsApps/DesignableButton) - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time! 🔶 #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: From 00881918f03281c9b7b98bb53b50ada3e4177d09 Mon Sep 17 00:00:00 2001 From: Fraser Date: Fri, 17 Nov 2017 13:20:08 +1300 Subject: [PATCH 1452/2606] Add IHKeyboardAvoiding (#2087) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0a49868ff..faadef941 100644 --- a/README.md +++ b/README.md @@ -1943,6 +1943,7 @@ Most of these are paid services, some have free tiers. * [Typist](https://github.com/totocaster/Typist) - Small, drop-in Swift UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center. :large_orange_diamond: * [KeyboardHideManager](https://github.com/bonyadmitr/KeyboardHideManager) - Codeless manager to hide keyboard by tapping on views for iOS written in Swift :large_orange_diamond: * [Toolbar](https://github.com/1amageek/Toolbar) - Awesome autolayout Toolbar. :large_orange_diamond: +* [IHKeyboardAvoiding](https://github.com/IdleHandsApps/IHKeyboardAvoiding) - A drop-in universal solution for keeping any UIView visible when the keyboard is being shown - no more UIScrollViews! 🔶 #### Label * [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. :large_orange_diamond: From b56016a2ea41ed3cb4bed823f8408dc3525ba480 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 16 Nov 2017 16:21:11 -0800 Subject: [PATCH 1453/2606] Rename Braze --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index faadef941..a232fe783 100644 --- a/README.md +++ b/README.md @@ -1031,7 +1031,7 @@ Most of these are paid services, some have free tiers. * [Urban Airship](https://www.urbanairship.com/products/mobile-app-engagement ) * [Growth Push](https://growthpush.com) - Popular in Japan. -* [Appboy](https://www.appboy.com) +* [Braze](https://www.braze.com/) * [Batch](https://batch.com) * [Boxcar](https://boxcar.io) * [Carnival](http://www.carnival.io) From 276c8cc90f586659becfec295bcd4efe4e7dc2dd Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 17 Nov 2017 13:45:59 -0800 Subject: [PATCH 1454/2606] Remove ioscompanies.info Close #2075 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a232fe783..0ca52cc44 100644 --- a/README.md +++ b/README.md @@ -2848,7 +2848,6 @@ Other amazingly awesome lists can be found in the * [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. * [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects * [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. -* [Awesome-iOS-Companies](https://ioscompanies.info/about/welcome) - A curated geographical directory of companies doing iOS development. * [iOS-Playbook](https://github.com/bakkenbaeck/iOS-handbook) - Guidelines and best practices for excellent iOS apps * [iOS-Learning-Materials](https://github.com/jVirus/iOS-Learning-Materials) - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS. * [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts From 3d6a05dda5c8fce872a24ed7a06c05386a09b444 Mon Sep 17 00:00:00 2001 From: Jose Quintero Date: Sun, 19 Nov 2017 04:13:00 -0600 Subject: [PATCH 1455/2606] Update README.md Added QLayout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0ca52cc44..a38f77f6c 100644 --- a/README.md +++ b/README.md @@ -642,6 +642,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. 🔶 * [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. * [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. +* [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. 🔶 #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. From 720297b7c82672a73085d8dfe90099f68b9bae09 Mon Sep 17 00:00:00 2001 From: Oisin Hurley Date: Wed, 22 Nov 2017 10:26:55 +0000 Subject: [PATCH 1456/2606] Add Swrve to push providers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0ca52cc44..3be101df0 100644 --- a/README.md +++ b/README.md @@ -1042,6 +1042,7 @@ Most of these are paid services, some have free tiers. * [Pushwoosh](https://www.pushwoosh.com) * [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. * [Pusher](https://pusher.com/push-notifications) - Free and unlimited. +* [Swrve](https://www.swrve.com) #### Local Notifications * [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. :large_orange_diamond: From 6423c03632874328c499cd42853b72b18730340a Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 22 Nov 2017 18:40:49 +0200 Subject: [PATCH 1457/2606] Remove libraries by Rob Nash #2092 --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 0ca52cc44..44b7cf38a 100644 --- a/README.md +++ b/README.md @@ -2193,7 +2193,6 @@ Most of these are paid services, some have free tiers. * [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. * [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. * [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff :large_orange_diamond: -* [CollapsableTable](https://github.com/rob-nash/CollapsableTable) - A kit for building tableviews with a collapsable animation, for each section. * [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). :large_orange_diamond: * [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) * [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy :large_orange_diamond: @@ -2213,7 +2212,6 @@ Most of these are paid services, some have free tiers. * [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager :large_orange_diamond: * [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift :large_orange_diamond: * [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout which can move item with drag and drop. -* [PageFeedControl](https://github.com/rob-nash/PageFeedControl) - Add paging to your table views with a cool animation. * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: * [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. * [TLLayoutTransitioning](https://github.com/SwiftKickMobile/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. @@ -2252,7 +2250,6 @@ Most of these are paid services, some have free tiers. * [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). * [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project 🔶 * [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. :large_orange_diamond: -* [CollapsibleTable](https://github.com/rob-nash/CollapsibleTable) - Collapsable table view sections with custom section header views. 🔶 * [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 * [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) 🔶 * [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. 🔶 From c0b2dff6ac71f0d1e62868d205bfe237d150e991 Mon Sep 17 00:00:00 2001 From: Khawaja Farooq Date: Thu, 23 Nov 2017 09:20:16 +0300 Subject: [PATCH 1458/2606] adding ProgressMeter iOS library --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 779b87b04..c1b386b72 100644 --- a/README.md +++ b/README.md @@ -2059,6 +2059,9 @@ Most of these are paid services, some have free tiers. * [MIBlurPopup](https://github.com/MarioIannotta/MIBlurPopup) - MIBlurPopup let you create amazing popups with a blurred background. * [LNPopupController](https://github.com/LeoNatan/LNPopupController) - a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps. +#### ProgressView +* [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift :large_orange_diamond: + #### Pull to Refresh * [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: * [PullToBounce](https://github.com/entotsu/PullToBounce) - Animated "Pull To Refresh" Library for UIScrollView. :large_orange_diamond: From addde5255838cf877e7560cf0586f04a993b83a8 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 27 Nov 2017 12:37:47 +0530 Subject: [PATCH 1459/2606] Add ClusterKit. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 779b87b04..73df73c5f 100644 --- a/README.md +++ b/README.md @@ -733,6 +733,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift :large_orange_diamond: * [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. :large_orange_diamond: * [JDSwiftHeatMap](https://github.com/jamesdouble/JDSwiftHeatMap) - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. :large_orange_diamond: +* [ClusterKit](https://github.com/hulab/ClusterKit) - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. ## Math * [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation :large_orange_diamond: From d1f18dc27dc8df97682c04275c9751f3a5445a92 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 27 Nov 2017 11:22:39 +0200 Subject: [PATCH 1460/2606] Added new Login section under UI. Moved https://github.com/IcaliaLabs/LoginKit and https://github.com/awesome-labs/LFLoginController to Login section. --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 73df73c5f..7c04359de 100644 --- a/README.md +++ b/README.md @@ -1579,7 +1579,6 @@ Most of these are paid services, some have free tiers. * [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. :large_orange_diamond: * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. * [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS -* [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift :large_orange_diamond: * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS * [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. * [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. :large_orange_diamond: @@ -1625,7 +1624,6 @@ Most of these are paid services, some have free tiers. * [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. :large_orange_diamond: * [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). 🔶 * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 -* [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: * [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 * [HamsterUIKit](https://github.com/ChromieIsDangerous/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 @@ -2321,6 +2319,10 @@ Most of these are paid services, some have free tiers. * [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. * [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. :large_orange_diamond: +#### Login +* [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. :large_orange_diamond: +* [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 + ## URL Scheme * [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! * [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. From 409c9d27e3f1ae0847e00c7886eb86487a7343d3 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 27 Nov 2017 11:32:41 +0200 Subject: [PATCH 1461/2606] Moved [Cely](https://github.com/chaione/Cely) to Login section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c04359de..d3382d752 100644 --- a/README.md +++ b/README.md @@ -227,7 +227,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers :large_orange_diamond: * [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and macOS apps. :large_orange_diamond: * [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. :large_orange_diamond: -* [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. :large_orange_diamond: * [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. * [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. * [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. @@ -2322,6 +2321,7 @@ Most of these are paid services, some have free tiers. #### Login * [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. :large_orange_diamond: * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 +* [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. :large_orange_diamond: ## URL Scheme * [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! From 8569045933d6bdbdae4f336bc87484a2cde6b681 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 27 Nov 2017 14:29:53 +0200 Subject: [PATCH 1462/2606] Rename URL Scheme section to App Routing Add Router lib Move Marshroute lib to App Routing section Move SwiftRouter to App Routing section --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 73df73c5f..1634c1d5b 100644 --- a/README.md +++ b/README.md @@ -320,7 +320,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. * [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. * [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. :large_orange_diamond: -* [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. :large_orange_diamond: #### Linter * [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. @@ -2321,7 +2320,7 @@ Most of these are paid services, some have free tiers. * [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. * [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. :large_orange_diamond: -## URL Scheme +## App Routing * [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! * [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. * [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. @@ -2330,6 +2329,9 @@ Most of these are paid services, some have free tiers. * [Compass](https://github.com/hyperoslo/Compass) - :earth_africa: Compass helps you setup a central navigation system for your application :large_orange_diamond: * [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. :large_orange_diamond: * [URLNavigator](https://github.com/devxoul/URLNavigator) - ⛵️ Elegant URL Routing for Swift :large_orange_diamond: +* [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. :large_orange_diamond: +* [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 :large_orange_diamond: +* [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. :large_orange_diamond: ## Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. @@ -2375,7 +2377,6 @@ Most of these are paid services, some have free tiers. * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, macOS) :large_orange_diamond: * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! :large_orange_diamond: * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) :large_orange_diamond: - * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 :large_orange_diamond: * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. :large_orange_diamond: * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . :large_orange_diamond: * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. :large_orange_diamond: From 7fee693eb8555310a2687c21c894fb0698413db3 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 27 Nov 2017 14:38:13 +0200 Subject: [PATCH 1463/2606] Add Login to contents section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3382d752..db94e3aa3 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [Web View](#web--view) + - [Login](#login) - [URL Scheme](#url-scheme) - [Utility](#utility) - [VR](#vr) From 9ad4a3a1820878222fc377449932bf6269b7373c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 27 Nov 2017 10:40:18 -0200 Subject: [PATCH 1464/2606] Moved Login section alphabetically --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index db94e3aa3..2d37a073c 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Form & Settings](#form--settings) - [Keyboard](#keyboard) - [Label](#label) + - [Login](#login) - [Menu](#menu) - [Navigation Bar](#navigation-bar) - [PickerView](#pickerview) @@ -131,7 +132,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [Web View](#web--view) - - [Login](#login) - [URL Scheme](#url-scheme) - [Utility](#utility) - [VR](#vr) @@ -1968,6 +1968,11 @@ Most of these are paid services, some have free tiers. * [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. :large_orange_diamond: * [JSLabel](https://github.com/imjog/JSLabel/) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. :large_orange_diamond: +#### Login +* [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. :large_orange_diamond: +* [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 +* [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. :large_orange_diamond: + #### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: * [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. @@ -2319,11 +2324,6 @@ Most of these are paid services, some have free tiers. * [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. * [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. :large_orange_diamond: -#### Login -* [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. :large_orange_diamond: -* [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 -* [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. :large_orange_diamond: - ## URL Scheme * [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! * [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. From 7a85134929161b7dd8de37a238abf7c9b2928d34 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 27 Nov 2017 14:40:57 +0200 Subject: [PATCH 1465/2606] Update contents --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1634c1d5b..f75a01942 100644 --- a/README.md +++ b/README.md @@ -131,7 +131,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [Web View](#web--view) - - [URL Scheme](#url-scheme) + - [App Routing](#app--routing) - [Utility](#utility) - [VR](#vr) - [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) From 4fdec4b0824ad6db56912d813c23f820e08fa841 Mon Sep 17 00:00:00 2001 From: Andy Bargh Date: Mon, 27 Nov 2017 13:02:53 +0000 Subject: [PATCH 1466/2606] Add Swift Developments to newsletters --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c824957bf..abcc3fea4 100644 --- a/README.md +++ b/README.md @@ -2780,6 +2780,7 @@ Most of these are paid services, some have free tiers. * [iOS Trivia Weekly](http://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday * [Indie iOS Focus Weekly](https://indieiosfocus.curated.co) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. * [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. +* [Swift Developments](https://andybargh.com/swiftdevelopments) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. * [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday * [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) * [WeeklyCocoa.News](https://weeklycocoa.news) - Weekly updated newsletter about iOS, Swift, Objective-C, CocoaTouch, and other Apple connected development technologies. From 594f5728c1ab734b12c1875d983c2724b2e66919 Mon Sep 17 00:00:00 2001 From: Andy Bargh Date: Mon, 27 Nov 2017 13:05:37 +0000 Subject: [PATCH 1467/2606] Move link to bottom of category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index abcc3fea4..8bafbacf7 100644 --- a/README.md +++ b/README.md @@ -2780,11 +2780,11 @@ Most of these are paid services, some have free tiers. * [iOS Trivia Weekly](http://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday * [Indie iOS Focus Weekly](https://indieiosfocus.curated.co) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. * [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. -* [Swift Developments](https://andybargh.com/swiftdevelopments) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. * [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday * [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) * [WeeklyCocoa.News](https://weeklycocoa.news) - Weekly updated newsletter about iOS, Swift, Objective-C, CocoaTouch, and other Apple connected development technologies. * [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. +* [Swift Developments](https://andybargh.com/swiftdevelopments) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. #### Medium * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone From f19fb4fddfec2199b4209090686bc6d1568c0abb Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 27 Nov 2017 17:58:52 +0200 Subject: [PATCH 1468/2606] Moved App Routing section alphabetically --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f75a01942..09633b361 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Getting Started](#getting-started) - [Library and Frameworks](#libraries-and-frameworks) - [Analytics](#analytics) + - [App Routing](#app--routing) - [Apple TV](#apple-tv) - [ARKit](#arkit) - [Authentication](#authentication) @@ -131,7 +132,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [Web View](#web--view) - - [App Routing](#app--routing) - [Utility](#utility) - [VR](#vr) - [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) From 695f216ae16f6938651b156695d658a9287c7c0d Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 27 Nov 2017 23:45:01 +0200 Subject: [PATCH 1469/2606] Add new category Debugging --- README.md | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index c824957bf..cf3ee69e5 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Database](#database) - [Data Structures / Algorithms](#data-structures--algorithms) - [Date & Time](#date--time) + - [Debugging](#debugging) - [EventBus](#eventbus) - [Files](#files) - [Functional Programming](#functional-programming) @@ -290,8 +291,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. * [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL. * [PSPDFUIKitMainThreadGuard](https://gist.github.com/steipete/5664345) - Simple snippet generating assertions when UIKit is used on background threads. -* [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. -* [chisel](https://github.com/facebook/chisel) - Collection of LLDB commands to assist debugging iOS apps. * [ocstyle](https://github.com/Cue/ocstyle) - Objective-C style checker. * [spacecommander](https://github.com/square/spacecommander) - Commit fully-formatted Objective-C code as a team without even trying. * [DWURecyclingAlert](https://github.com/diwu/DWURecyclingAlert) - Optimizing UITableViewCell For Fast Scrolling. @@ -306,7 +305,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Warnings-xcconfig](https://github.com/boredzo/Warnings-xcconfig) - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets. * [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. * [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. -* [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. * [GlueKit](https://github.com/attaswift/GlueKit) - A type-safe observer framework for Swift. :large_orange_diamond: * [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. :large_orange_diamond: * [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. @@ -315,7 +313,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. :large_orange_diamond: * [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. :large_orange_diamond: * [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. :large_orange_diamond: -* [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. * [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. :large_orange_diamond: * [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. * [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. @@ -477,6 +474,19 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. :large_orange_diamond: * [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. :large_orange_diamond:[e] +## Debugging +* [Xniffer](https://github.com/vsouza/awesome-ios/issues/1841) - A swift network profiler built on top of URLSession. 🔶 +* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! :large_orange_diamond: +* [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. +* [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. +* [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. +* [chisel](https://github.com/facebook/chisel) - Collection of LLDB commands to assist debugging iOS apps. +* [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. +* [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. :large_orange_diamond: +* [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. :large_orange_diamond: +* [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. +* [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. + ## EventBus * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: * [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and macOS. @@ -694,7 +704,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! :large_orange_diamond:[e] * [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. :large_orange_diamond: * [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. :large_orange_diamond: -* [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. :large_orange_diamond: * [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. :large_orange_diamond: * [Evergreen](https://github.com/knly/Evergreen) - Most natural Swift logging :large_orange_diamond: * [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations :large_orange_diamond: @@ -711,7 +720,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. :large_orange_diamond: * [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. * [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support :large_orange_diamond: -* [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. :large_orange_diamond: ## Machine Learning * [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. :large_orange_diamond: @@ -956,8 +964,6 @@ Also see [push notifications](#push-notifications) * [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket) - Asynchronous socket networking library for Mac and iOS. * [Siesta](https://bustoutsolutions.github.io/siesta/) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. :large_orange_diamond: * [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures :large_orange_diamond: -* [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. -* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! :large_orange_diamond: * [OctopusKit](https://github.com/icoco/OctopusKit) - A simplicity but graceful solution for invoke RESTful web service APIs. * [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. :large_orange_diamond: * [TWRDownloadManager](https://github.com/chasseurmic/TWRDownloadManager) - A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. @@ -1458,7 +1464,6 @@ Most of these are paid services, some have free tiers. #### Other Testing * [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. -* [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools * [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. :large_orange_diamond: * [DVR](https://github.com/venmo/DVR) - Network testing for Swift :large_orange_diamond: * [Cuckoo](https://github.com/Brightify/Cuckoo) - First boilerplate-free mocking framework for Swift :large_orange_diamond: @@ -2534,7 +2539,6 @@ Most of these are paid services, some have free tiers. * [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). :large_orange_diamond: * [Struct](https://www.get-struct.tools) - A tool for iOS and Mac developers to automate the creation and management of Xcode projects. * [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. :large_orange_diamond: -* [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. * [Attabench](https://github.com/attaswift/Attabench) - Microbenchmarking app for Swift with nice log-log plots :large_orange_diamond: * [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. :large_orange_diamond: * [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. :large_orange_diamond: From 0fc53ec4b4f461c5077c890758854a635897ede7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 28 Nov 2017 00:58:22 -0200 Subject: [PATCH 1470/2606] Added Dropdowns by @hyperoslo (#2100) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c824957bf..83d66c876 100644 --- a/README.md +++ b/README.md @@ -2027,6 +2027,7 @@ Most of these are paid services, some have free tiers. * [SwipeMenuViewController](https://github.com/yysskk/SwipeMenuViewController) - Swipable tab and menu View and ViewController. :large_orange_diamond: * [DTPagerController](https://github.com/tungvoduc/DTPagerController) - A fully customizable container view controller to display set of ViewControllers in horizontal scroller 🔶 * [PagingKit](https://github.com/kazuhiro4949/PagingKit) - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries. 🔶 +* [Dropdowns](https://github.com/hyperoslo/Dropdowns) - 💧 Dropdown in Swift #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: From b41b9d106d5a8f414e2108c9ffd720db0fce61de Mon Sep 17 00:00:00 2001 From: Ryo Aoyama Date: Tue, 28 Nov 2017 11:59:13 +0900 Subject: [PATCH 1471/2606] Add VueFlux (#2088) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 83d66c876..f768b9edb 100644 --- a/README.md +++ b/README.md @@ -1202,6 +1202,7 @@ Most of these are paid services, some have free tiers. * [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. :large_orange_diamond: * [Observable](https://github.com/roberthein/Observable) - The easiest way to observe values in Swift. 🔶 * [SimpleApiClient](https://github.com/jaychang0917/SimpleApiClient-ios) - A configurable api client based on Alamofire4 and RxSwift4 for iOS. 🔶 +* [VueFlux](https://github.com/ra1028/VueFlux) - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux 🔶 ## React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: From daa39f6cb0d81ef203272dd05bfed44f1aa8a506 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 28 Nov 2017 09:08:40 +0200 Subject: [PATCH 1472/2606] Moved App Routing section content to right place --- README.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 09633b361..550dce8ca 100644 --- a/README.md +++ b/README.md @@ -197,6 +197,19 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. * [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting/) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. +## App Routing +* [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! +* [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. +* [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. +* [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. +* [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks :large_orange_diamond: +* [Compass](https://github.com/hyperoslo/Compass) - :earth_africa: Compass helps you setup a central navigation system for your application :large_orange_diamond: +* [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. :large_orange_diamond: +* [URLNavigator](https://github.com/devxoul/URLNavigator) - ⛵️ Elegant URL Routing for Swift :large_orange_diamond: +* [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. :large_orange_diamond: +* [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 :large_orange_diamond: +* [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. :large_orange_diamond: + ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS @@ -2320,19 +2333,6 @@ Most of these are paid services, some have free tiers. * [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. * [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. :large_orange_diamond: -## App Routing -* [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! -* [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. -* [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. -* [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. -* [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks :large_orange_diamond: -* [Compass](https://github.com/hyperoslo/Compass) - :earth_africa: Compass helps you setup a central navigation system for your application :large_orange_diamond: -* [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. :large_orange_diamond: -* [URLNavigator](https://github.com/devxoul/URLNavigator) - ⛵️ Elegant URL Routing for Swift :large_orange_diamond: -* [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. :large_orange_diamond: -* [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 :large_orange_diamond: -* [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. :large_orange_diamond: - ## Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. * [XExtensionItem](https://github.com/tumblr/XExtensionItem) - Easier sharing of structured data between iOS applications and share extensions. From fd0fcd66f25c7ade5823da945809d1140754cafd Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 28 Nov 2017 15:55:19 +0200 Subject: [PATCH 1473/2606] Create separate section for Segmented Control (#2107) --- README.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2790811b1..c06d81e91 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Pull to Refresh](#pull-to-refresh) - [Rating Stars](#rating-stars) - [ScrollView](#scrollview) + - [Segmented Control](#segmented-control) - [Slider](#slider) - [Splash View](#splash-view) - [Stepper](#stepper) @@ -2124,6 +2125,18 @@ Most of these are paid services, some have free tiers. * [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 :large_orange_diamond: * [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf :large_orange_diamond: +#### Segmented Control +* [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. :large_orange_diamond: +* [LUNSegmentedControl](https://github.com/Stormotion-Mobile/LUNSegmentedControl) - Customizable segmented control with interactive animation. +* [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS. +* [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. :large_orange_diamond: +* [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. :large_orange_diamond: +* [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) - A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products. +* [YUSegment](https://github.com/afishhhhh/YUSegment) - A customizable segmented control for iOS. Supports both text and image. +* [MultiSelectSegmentedControl](https://github.com/yonat/MultiSelectSegmentedControl) - adds Multiple-Selection to the standard `UISegmentedControl`. +* [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: +* [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. :large_orange_diamond: + #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. * [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management @@ -2170,19 +2183,9 @@ Most of these are paid services, some have free tiers. * [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) :large_orange_diamond: * [PMZSwitch](https://github.com/kovpas/PMZSwitch) - Yet another animated toggle :large_orange_diamond: * [Switcher](https://github.com/knn90/Switcher) - Swift - Custom UISwitcher with animation when change status :large_orange_diamond: -* [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. :large_orange_diamond: * [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. :large_orange_diamond: -* [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: -* [LUNSegmentedControl](https://github.com/Stormotion-Mobile/LUNSegmentedControl) - Customizable segmented control with interactive animation. -* [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS * [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS :large_orange_diamond: * [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support.🔶 -* [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. :large_orange_diamond: -* [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. :large_orange_diamond: -* [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) - A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products. -* [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. :large_orange_diamond: -* [YUSegment](https://github.com/afishhhhh/YUSegment) - A customizable segmented control for iOS. Supports both text and image. -* [MultiSelectSegmentedControl](https://github.com/yonat/MultiSelectSegmentedControl) - adds Multiple-Selection to the standard `UISegmentedControl`. #### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. From 7e09f89a2b5bbb0de2a2a3b18e66a1ebfba73f89 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 29 Nov 2017 04:33:46 +0200 Subject: [PATCH 1474/2606] Add ApplicationCoordinator (#2110) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c06d81e91..95ef213d5 100644 --- a/README.md +++ b/README.md @@ -212,6 +212,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. :large_orange_diamond: * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 :large_orange_diamond: * [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. :large_orange_diamond: +* [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 83ba05b1cff74d7ad8a922dbaee6ad5350bcc28d Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 29 Nov 2017 04:35:52 +0200 Subject: [PATCH 1475/2606] Move Font subcategory to right place into Text category (#2111) --- README.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 95ef213d5..a96678963 100644 --- a/README.md +++ b/README.md @@ -1440,6 +1440,23 @@ Most of these are paid services, some have free tiers. * [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. 🔶 * [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. :large_orange_diamond: +#### Font +* [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: +* [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project :large_orange_diamond: +* [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. +* [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. :large_orange_diamond: +* [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported :large_orange_diamond: +* [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon) :large_orange_diamond: +* [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. +* [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS :large_orange_diamond: +* [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. :large_orange_diamond: +* [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: +* [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: +* [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. :large_orange_diamond: +* [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Make working with UIFont faster and less error-prone. :large_orange_diamond: +* [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! :large_orange_diamond: +* [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. :large_orange_diamond: + ## Testing #### TDD / BDD @@ -1495,23 +1512,6 @@ Most of these are paid services, some have free tiers. * [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes :large_orange_diamond: * [SnappyTestCase](https://github.com/tooploox/SnappyTestCase) - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. :large_orange_diamond: -#### Font -* [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: -* [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project :large_orange_diamond: -* [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. -* [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. :large_orange_diamond: -* [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported :large_orange_diamond: -* [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon) :large_orange_diamond: -* [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. -* [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS :large_orange_diamond: -* [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. :large_orange_diamond: -* [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: -* [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: -* [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. :large_orange_diamond: -* [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Make working with UIFont faster and less error-prone. :large_orange_diamond: -* [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! :large_orange_diamond: -* [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. :large_orange_diamond: - ## UI * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. * [BetweenKit](https://github.com/ice3-software/between-kit) - A robust drag-and-drop framework for iOS. From 8d276f14787b93104d56e3607b53f9bce810b9af Mon Sep 17 00:00:00 2001 From: Yogesh-MV Date: Wed, 29 Nov 2017 21:52:15 +0530 Subject: [PATCH 1476/2606] Add Lona (#2095) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a96678963..baf24cf2a 100644 --- a/README.md +++ b/README.md @@ -2555,6 +2555,7 @@ Most of these are paid services, some have free tiers. * [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. :large_orange_diamond: * [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. :large_orange_diamond: * [Plank](https://github.com/pinterest/plank) - A tool for generating immutable model objects. +* [Lona](https://github.com/airbnb/Lona) - A tool for defining design systems and using them to generate cross-platform UI code, Sketch files, images, and other artifacts. # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 9c0afb904154085ec14cca6417e4bc13b5a4a6bc Mon Sep 17 00:00:00 2001 From: Alexandre Mantovani Tavares Date: Thu, 30 Nov 2017 16:23:29 -0200 Subject: [PATCH 1477/2606] Add Ciao (#2115) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index baf24cf2a..d3ee0ceb3 100644 --- a/README.md +++ b/README.md @@ -1026,6 +1026,7 @@ Also see [push notifications](#push-notifications) * [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking 🔶 * [Digger](https://github.com/cornerAnt/Digger) - Digger is a lightweight download framework that requires only one line of code to complete the file download task . :large_orange_diamond: +* [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). :large_orange_diamond: #### Email From 120f1e286310a65c1f862664dfedd587d532ae8e Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 30 Nov 2017 23:53:53 +0530 Subject: [PATCH 1478/2606] Add DrawerKit (#2114) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3ee0ceb3..22c9b4c7a 100644 --- a/README.md +++ b/README.md @@ -1662,6 +1662,7 @@ Most of these are paid services, some have free tiers. * [SwiftyUI](https://github.com/haoking/SwiftyUI) - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more. 🔶 * [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. 🔶 * [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. 🔶 +* [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. :large_orange_diamond: #### Activity Indicator From cd744c2fce5f9747aa914a1f56191ee959e6c79b Mon Sep 17 00:00:00 2001 From: Khoa Date: Thu, 30 Nov 2017 19:25:52 +0100 Subject: [PATCH 1479/2606] Update PULL_REQUEST_TEMPLATE (Swift 4) (#2101) --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 1d9dfbc87..b8039da38 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -14,6 +14,6 @@ - [ ] Only one project/change is in this pull request - [ ] Addition in chronological order (bottom of category) - [ ] Supports iOS 9 / tvOS 10 or later -- [ ] Supports Swift 3 or later +- [ ] Supports Swift 4 or later - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English From 6016d3358d433b1f10682ae40f7801925abeba35 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 30 Nov 2017 10:26:17 -0800 Subject: [PATCH 1480/2606] Swift 4 update #2101 --- .github/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index ab189e216..22a3dfdad 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -26,7 +26,7 @@ Typical reasons for deleting project: - Lack recent commit - Don't support iOS 9 or later -- Don't support Swift 3 or later +- Don't support Swift 4 or later - Not written in English - README is not clear From dea272cce6fec128de5006cb6887f454f5f30ee9 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Thu, 30 Nov 2017 11:37:34 -0800 Subject: [PATCH 1481/2606] Update README URLs based on HTTP redirects (#2116) --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 22c9b4c7a..fe49c5005 100644 --- a/README.md +++ b/README.md @@ -874,7 +874,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. :large_orange_diamond: * [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. :large_orange_diamond: * [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. :large_orange_diamond: -* [FacebookImagePicker](https://github.com/terflogag/FacebookImagePicker) - Facebook album photo picker written in Swift. :large_orange_diamond: +* [FacebookImagePicker](https://github.com/floriangbh/FacebookImagePicker) - Facebook album photo picker written in Swift. :large_orange_diamond: * [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. :large_orange_diamond: * [AvatarImageView](https://github.com/ayushn21/AvatarImageView) - AvatarImageView is a UIImageView subclass designed to show a user's profile picture, falling back to their initials when a picture is unavailable. :large_orange_diamond: * [Ebblink](https://github.com/ebbapp/ebblinkSDK) - An iOS SDK for sharing photos that automatically expire and can be deleted at any time. @@ -1375,7 +1375,7 @@ Most of these are paid services, some have free tiers. * [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. macOS + Linux compatible. :large_orange_diamond: * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: * [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: -* [Edge](https://github.com/SwiftOnEdge/Edge) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: +* [Edge](https://github.com/skylab-inc/Edge) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: * [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. :large_orange_diamond: * [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. :large_orange_diamond: * [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! :large_orange_diamond: @@ -1851,7 +1851,7 @@ Most of these are paid services, some have free tiers. * [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. 🔶 * [CRToast](https://github.com/cruffenach/CRToast) - A modern iOS toast view that can fit your notification needs * [JLToast](https://github.com/devxoul/Toaster) - Toast for iOS with very simple interface. :large_orange_diamond: -* [CuckooAlert](https://github.com/singcodes/CuckooAlert) - Multiple use of presentViewController for UIAlertController. 🔶 +* [CuckooAlert](https://github.com/rollmind/CuckooAlert) - Multiple use of presentViewController for UIAlertController. 🔶 * [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. :large_orange_diamond: * [Dodo](https://github.com/evgenyneu/Dodo) - A message bar for iOS written in Swift. :large_orange_diamond: * [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. :large_orange_diamond: @@ -2390,7 +2390,7 @@ Most of these are paid services, some have free tiers. * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes :large_orange_diamond: * [AssistantKit](https://github.com/anatoliyv/AssistantKit) - Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift. :large_orange_diamond: * [SwiftLinkPreview](https://github.com/LeonardoCardoso/SwiftLinkPreview) - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. 🔶 - * [BundleInfos](https://github.com/singcodes/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. 🔶 + * [BundleInfos](https://github.com/rollmind/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. 🔶 * [YAML.framework](https://github.com/mirek/YAML.framework) - Proper YAML support for Objective-C based on `LibYAML`. * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. 🔶 * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, macOS) :large_orange_diamond: @@ -2404,7 +2404,7 @@ Most of these are paid services, some have free tiers. * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift :large_orange_diamond: - * [OpenSourceController](https://github.com/terflogag/OpenSourceController) - The simplest way to display the libraries licences used in your application. :large_orange_diamond: + * [OpenSourceController](https://github.com/floriangbh/OpenSourceController) - The simplest way to display the libraries licences used in your application. :large_orange_diamond: * [App-Update-Tracker](https://github.com/Stunner/App-Update-Tracker) - Easily detect and run code upon app installation or update. * [ExtensionalSwift](https://github.com/4taras4/SwiftExtension) - Useful swift extensions in one place 🔶[e] * [InAppSettingsKit](https://github.com/futuretap/InAppSettingsKit) - This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app. From 88160db48c471e171ae812c5f1024b4df67606e2 Mon Sep 17 00:00:00 2001 From: Aaron Sutton Date: Thu, 30 Nov 2017 19:47:37 -0500 Subject: [PATCH 1482/2606] Add Skeleton (#2108) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fe49c5005..a60fe6969 100644 --- a/README.md +++ b/README.md @@ -1723,6 +1723,7 @@ Most of these are paid services, some have free tiers. * [JDBreaksLoading](https://github.com/jamesdouble/JDBreaksLoading) - You can easily start up a little breaking game indicator by one line. :large_orange_diamond: * [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. :large_orange_diamond: * [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. :large_orange_diamond: +* [Skeleton](https://github.com/gonzalonunez/Skeleton) - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content. 🔶 #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From 1b6a193abe107676ea3c5b5b3086f25643e315dd Mon Sep 17 00:00:00 2001 From: Aaron Sutton Date: Thu, 30 Nov 2017 20:50:52 -0500 Subject: [PATCH 1483/2606] Add Overlay --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a60fe6969..2363b8670 100644 --- a/README.md +++ b/README.md @@ -570,6 +570,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / macOS, using native rendering (CoreAnimation) (currently only supported for iOS - macOS code needs updating). * [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. :large_orange_diamond: * [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit +* [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. :large_orange_diamond: ## Hardware #### Bluetooth From e4d0782f57012cafe2136573ca2f8456b64857c0 Mon Sep 17 00:00:00 2001 From: Aaron Sutton Date: Sat, 2 Dec 2017 14:02:32 -0500 Subject: [PATCH 1484/2606] Move Location and Other Hardware categories (#2119) --- README.md | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index a60fe6969..76cba56b9 100644 --- a/README.md +++ b/README.md @@ -621,6 +621,27 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MOCA Proximity](https://mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. * [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. 🔶 +#### Location +* [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. +* [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. +* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift :large_orange_diamond: +* [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. +* [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: +* [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. +* [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. :large_orange_diamond: + +#### Other Hardware +* [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. +* [DarkLightning](https://github.com/jensmeder/DarkLightning) - Simply the fastest way to transmit data between iOS/tvOS and macOS. +* [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 +* [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. :large_orange_diamond: +* [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. :large_orange_diamond: +* [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. :large_orange_diamond: +* [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. :large_orange_diamond: +* [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. ⌚️ +* [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. :large_orange_diamond: +* [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. :large_orange_diamond: + ## Layout * [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift :large_orange_diamond: * [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. @@ -668,27 +689,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. * [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. -#### Location -* [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. -* [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. -* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift :large_orange_diamond: -* [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. -* [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: -* [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. -* [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. :large_orange_diamond: - -#### Other Hardware -* [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. -* [DarkLightning](https://github.com/jensmeder/DarkLightning) - Simply the fastest way to transmit data between iOS/tvOS and macOS. -* [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 -* [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. :large_orange_diamond: -* [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. :large_orange_diamond: -* [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. :large_orange_diamond: -* [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. :large_orange_diamond: -* [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. ⌚️ -* [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. :large_orange_diamond: -* [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. :large_orange_diamond: - ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. * [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. :large_orange_diamond: From 2e70d96e09f3a81322f1c2767b59f79333b18697 Mon Sep 17 00:00:00 2001 From: Arpy Vanyan Date: Mon, 4 Dec 2017 05:08:53 +0400 Subject: [PATCH 1485/2606] Add Inapptics (#2019) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 76cba56b9..5d2c0ae77 100644 --- a/README.md +++ b/README.md @@ -199,6 +199,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. * [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. * [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting/) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. +* [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. ## App Routing * [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! From 254f7b10b87ffdb14f2d86f8eba245136c5756db Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 5 Dec 2017 00:22:57 +0200 Subject: [PATCH 1486/2606] Add LinkedInSignIn --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5d2c0ae77..c7d3b56ec 100644 --- a/README.md +++ b/README.md @@ -250,6 +250,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. * [InstagramLogin](https://github.com/AnderGoig/InstagramLogin) - A simple way to authenticate Instagram accounts on iOS. :large_orange_diamond: * [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - [In]visible ReCaptcha for iOS. :large_orange_diamond: +* [LinkedInSignIn](https://github.com/serhii-londar/LinkedInSignIn) - Simple view controller to login and retrieve access token from LinkedIn. :large_orange_diamond: ## Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. From f20c4efaa5333f4c6ff0b3ce45cfcaa18a0a9aea Mon Sep 17 00:00:00 2001 From: Yogesh-MV Date: Tue, 5 Dec 2017 19:17:30 +0530 Subject: [PATCH 1487/2606] Add IceCream (#2121) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5d2c0ae77..5360cad36 100644 --- a/README.md +++ b/README.md @@ -448,7 +448,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [StorageKit](https://github.com/StorageKit/StorageKit) - Your Data Storage Troubleshooter 🛠 * [UserDefaults](https://github.com/nmdias/DefaultsKit) - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS :large_orange_diamond: * [Default](https://github.com/Nirma/Default) - Modern interface to UserDefaults + Codable support :large_orange_diamond: - +* [IceCream](https://github.com/caiyue1993/IceCream) - Sync Realm Database with CloudKit :large_orange_diamond: ## Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: From deb50665e1f9bb5085a94187b9910e1087a413d1 Mon Sep 17 00:00:00 2001 From: Aaron Sutton Date: Tue, 5 Dec 2017 22:05:37 -0500 Subject: [PATCH 1488/2606] Add Shades --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5360cad36..b5b9ae709 100644 --- a/README.md +++ b/README.md @@ -1664,6 +1664,7 @@ Most of these are paid services, some have free tiers. * [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. 🔶 * [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. 🔶 * [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. :large_orange_diamond: +* [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. :large_orange_diamond: #### Activity Indicator From ec9f82abe75eabddcde684a48193a7cd09d6abaf Mon Sep 17 00:00:00 2001 From: Yogesh-MV Date: Wed, 6 Dec 2017 12:58:10 +0530 Subject: [PATCH 1489/2606] Added "TimelineCards" library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5360cad36..2f3ab0920 100644 --- a/README.md +++ b/README.md @@ -1664,6 +1664,7 @@ Most of these are paid services, some have free tiers. * [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. 🔶 * [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. 🔶 * [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. :large_orange_diamond: +* [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. #### Activity Indicator From 2292b1e58f2bac421a6e3faa8d1088ae290282ad Mon Sep 17 00:00:00 2001 From: Yogesh-MV Date: Wed, 6 Dec 2017 18:39:15 +0530 Subject: [PATCH 1490/2606] Add TimelineCards (#2126) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5360cad36..2f3ab0920 100644 --- a/README.md +++ b/README.md @@ -1664,6 +1664,7 @@ Most of these are paid services, some have free tiers. * [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. 🔶 * [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. 🔶 * [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. :large_orange_diamond: +* [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. #### Activity Indicator From f7520f2fb8f2e6cbe03049f6c653bed312d2a73f Mon Sep 17 00:00:00 2001 From: lukecrum20 Date: Wed, 6 Dec 2017 09:30:24 -0500 Subject: [PATCH 1491/2606] Add SpicyButton --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2f3ab0920..ba9788409 100644 --- a/README.md +++ b/README.md @@ -1916,7 +1916,7 @@ Most of these are paid services, some have free tiers. * [JSButton](https://github.com/imjog/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. 🔶 * [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation :large_orange_diamond: * [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. :large_orange_diamond: - +* [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class 🔶 #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: * [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. From f62594315016346762b142abe5ca174a807b35ac Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 6 Dec 2017 16:34:06 +0200 Subject: [PATCH 1492/2606] Add RAImagePicker --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2f3ab0920..f5f1580a9 100644 --- a/README.md +++ b/README.md @@ -608,6 +608,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyCam](https://github.com/Awalz/SwiftyCam) - A Snapchat Inspired iOS Camera Framework written in Swift. :large_orange_diamond: * [CameraBackground](https://github.com/yonat/CameraBackground) - Show camera layer as a background to any UIView. :large_orange_diamond: * [Lumina](https://github.com/dokun1/Lumina) - Full service camera that takes photos, videos, streams frames, detects metadata, and streams CoreML predictions :largeorangediamond: +* [RAImagePicker](https://github.com/rallahaseh/RAImagePicker) - RAImagePicker is a protocol-oriented framework that provides custom features from the built-in Image Picker Edit. #### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: From 9651d8954e9656f80186fe31db99c43e4e4f90c8 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 6 Dec 2017 20:29:05 +0530 Subject: [PATCH 1493/2606] Add RxAnimated (#2129) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2f3ab0920..ca8f93b1e 100644 --- a/README.md +++ b/README.md @@ -1225,6 +1225,7 @@ Most of these are paid services, some have free tiers. * [Observable](https://github.com/roberthein/Observable) - The easiest way to observe values in Swift. 🔶 * [SimpleApiClient](https://github.com/jaychang0917/SimpleApiClient-ios) - A configurable api client based on Alamofire4 and RxSwift4 for iOS. 🔶 * [VueFlux](https://github.com/ra1028/VueFlux) - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux 🔶 +* [RxAnimated](https://github.com/RxSwiftCommunity/RxAnimated) - Animated RxCocoa bindings ## React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: From f297863de871b751d39002827d5469ae17b0acaf Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 6 Dec 2017 18:02:14 +0200 Subject: [PATCH 1494/2606] Add SMDiagramViewSwift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ca8f93b1e..dae3623fd 100644 --- a/README.md +++ b/README.md @@ -302,6 +302,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. :large_orange_diamond: * [core-plot](https://github.com/core-plot/core-plot) - a 2D plotting lib which is highly customizable and capable of drawing many types of plots. * [ChartProgressBar](https://github.com/hadiidbouk/ChartProgressBar-iOS) - Draw a chart with progress bar style. +* [SMDiagramViewSwift](https://github.com/VRGsoftUA/SMDiagramView) - Meet cute and very flexibility library for iOS application for different data view in one circle diagram. ## Code Quality * [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. From 7780fd97ef4dfe7d7a2281e91dbed5f455aada2b Mon Sep 17 00:00:00 2001 From: lukecrum20 Date: Wed, 6 Dec 2017 15:14:50 -0500 Subject: [PATCH 1495/2606] fix spacing issue --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ba9788409..21cdb5f77 100644 --- a/README.md +++ b/README.md @@ -1917,6 +1917,7 @@ Most of these are paid services, some have free tiers. * [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation :large_orange_diamond: * [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. :large_orange_diamond: * [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class 🔶 + #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: * [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. From 97e3abb69c42f78c53bc185109444cefa262a108 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 7 Dec 2017 03:52:28 +0200 Subject: [PATCH 1496/2606] Add Fluid Slider (#2128) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index acad66424..f5c287896 100644 --- a/README.md +++ b/README.md @@ -2172,6 +2172,7 @@ Most of these are paid services, some have free tiers. * [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. :large_orange_diamond: * [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. :large_orange_diamond: * [VSVerticalSlider](https://github.com/vsmithers1087/VSVerticalSlider) - An animatable and customizable vertical slider written in Swift4.🔶 +* [Fluid Slider](https://github.com/Ramotion/fluid-slider) - A slider widget with a popup bubble displaying the precise value selected. :large_orange_diamond: #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. From 4c0c8c44904c91c9075b0a002b2443c62cf45a8c Mon Sep 17 00:00:00 2001 From: Ben Humphries Date: Wed, 6 Dec 2017 23:20:02 -0500 Subject: [PATCH 1497/2606] Add Hyperion --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f5c287896..3b6fa0d52 100644 --- a/README.md +++ b/README.md @@ -503,6 +503,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. :large_orange_diamond: * [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. * [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. +* [Hyperion](https://github.com/willowtreeapps/Hyperion-iOS) - In-app design review tool to inspect measurements, attributes, and animations. ## EventBus * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: From 670e31e443e7dcefa9d05309ba912731764bb60c Mon Sep 17 00:00:00 2001 From: Aaron Sutton Date: Thu, 7 Dec 2017 08:18:29 -0500 Subject: [PATCH 1498/2606] Move to Image --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2363b8670..4b484a02e 100644 --- a/README.md +++ b/README.md @@ -570,7 +570,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / macOS, using native rendering (CoreAnimation) (currently only supported for iOS - macOS code needs updating). * [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. :large_orange_diamond: * [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit -* [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. :large_orange_diamond: ## Hardware #### Bluetooth @@ -898,6 +897,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AXPhotoViewer](https://github.com/alexhillc/AXPhotoViewer) - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos :large_orange_diamond: * [TJProfileImage](https://github.com/tejas-ardeshna/TJProfileImage) - Live rendering of componet’s properties in Interface Builder. :large_orange_diamond: * [Viewer](https://github.com/bakkenbaeck/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images :large_orange_diamond: +* [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 3bdd610eff7884da0f89d2e79c9279a1c5ad43a2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 7 Dec 2017 11:18:57 -0200 Subject: [PATCH 1499/2606] Fixed --- README.md | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/README.md b/README.md index a0af3452e..f0bd70a7d 100644 --- a/README.md +++ b/README.md @@ -647,6 +647,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. ⌚️ * [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. :large_orange_diamond: * [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. :large_orange_diamond: +* [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. :large_orange_diamond: ## Layout * [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift :large_orange_diamond: @@ -692,31 +693,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FlexLayout](https://github.com/layoutBox/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. 🔶 * [Layout](https://github.com/schibsted/layout) - A declarative UI framework for iOS :large_orange_diamond: * [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. 🔶 - -#### Location -* [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. -* [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. -* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift :large_orange_diamond: -* [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. -* [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: -* [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. -* [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. :large_orange_diamond: - -#### Other Hardware -* [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. -* [DarkLightning](https://github.com/jensmeder/DarkLightning) - Simply the fastest way to transmit data between iOS/tvOS and macOS. -* [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 -* [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. :large_orange_diamond: -* [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. :large_orange_diamond: -* [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. :large_orange_diamond: -* [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. :large_orange_diamond: -* [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. ⌚️ -* [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. :large_orange_diamond: -* [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. :large_orange_diamond: * [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. * [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. * [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. 🔶 -* [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. :large_orange_diamond: ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From e01577d2e5297af3d79e1484b4848f01724eb301 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 7 Dec 2017 12:18:09 -0200 Subject: [PATCH 1500/2606] Added Impeller by @mentalfaculty (#2135) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d27a06c19..c0d70866d 100644 --- a/README.md +++ b/README.md @@ -473,6 +473,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. :large_orange_diamond: * [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. :large_orange_diamond: * [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! :large_orange_diamond: ++* [Impeller](https://github.com/mentalfaculty/impeller) - A Distributed Value Store in Swift :large_orange_diamond: ## Date & Time From fbf4f816a4a008d540786e244026e90aa3edca4e Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 7 Dec 2017 19:52:26 +0530 Subject: [PATCH 1501/2606] Add Chronology (#2136) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c0d70866d..833576d43 100644 --- a/README.md +++ b/README.md @@ -492,6 +492,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. :large_orange_diamond: * [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. :large_orange_diamond: * [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. :large_orange_diamond:[e] +* [Chronology](https://github.com/davedelong/Chronology) - Building a better date/time library :large_orange_diamond: ## Debugging * [Xniffer](https://github.com/vsouza/awesome-ios/issues/1841) - A swift network profiler built on top of URLSession. 🔶 From fdef05147ff9c151b6af4b963a097007974557e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Pi=C3=B1era=20Buend=C3=ADa?= Date: Thu, 7 Dec 2017 19:50:38 +0100 Subject: [PATCH 1502/2606] Add Microfeatures (#2047) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 833576d43..c554e2743 100644 --- a/README.md +++ b/README.md @@ -2714,6 +2714,7 @@ Most of these are paid services, some have free tiers. * [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. * [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 :large_orange_diamond: * [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift :large_orange_diamond: +* [Microfeatures](https://github.com/microfeatures) - Architectural approach to structure your Xcode projects. :large_orange_diamond: * [XcodeCodeSnippets](https://github.com/ismetanin/XcodeCodeSnippets) - A set of code snippets for iOS development, includes code and comments snippets. # Reference From a8f060b4b395b922508dc817e8a72c86ddf3d579 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 7 Dec 2017 22:44:37 -0200 Subject: [PATCH 1503/2606] Added category field the PR Template (#2134) --- .github/PULL_REQUEST_TEMPLATE.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index b8039da38..027c35ecc 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,6 +3,9 @@ ## Project URL +## Category + + ## Description From fe99734eaab551a7521d9e5f365ed839d95e4481 Mon Sep 17 00:00:00 2001 From: Fraser Date: Fri, 8 Dec 2017 13:46:17 +1300 Subject: [PATCH 1504/2606] Add StatusBarOverlay (#2138) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c554e2743..7504df7d6 100644 --- a/README.md +++ b/README.md @@ -1741,6 +1741,7 @@ Most of these are paid services, some have free tiers. * [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. :large_orange_diamond: * [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. :large_orange_diamond: * [Skeleton](https://github.com/gonzalonunez/Skeleton) - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content. 🔶 ++* [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch" 🔶 #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From 9b771642f09b4e1fedcb2ab4eb7b8c602a04991e Mon Sep 17 00:00:00 2001 From: Adrian Bobrowski Date: Sat, 9 Dec 2017 05:19:01 +0100 Subject: [PATCH 1505/2606] Add L10n-swift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7504df7d6..9f79fadad 100644 --- a/README.md +++ b/README.md @@ -713,6 +713,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. * [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable :large_orange_diamond: * [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings +* [L10n-swift](https://github.com/Decybel07/L10n-swift) - Localization of an application with ability to change language "on the fly" and support for plural forms in any language. :large_orange_diamond: ## Logging * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: From 72a7ceda0e17da674f444e94846190665ff73524 Mon Sep 17 00:00:00 2001 From: ArLupin Date: Sun, 10 Dec 2017 07:57:42 +0900 Subject: [PATCH 1506/2606] Add ISPageControl (#2139) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7504df7d6..010a33dcf 100644 --- a/README.md +++ b/README.md @@ -1680,6 +1680,7 @@ Most of these are paid services, some have free tiers. * [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. :large_orange_diamond: * [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. * [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. :large_orange_diamond: +* [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. 🔶 #### Activity Indicator From b56cec6d1d71592aef88067990cd0ba65a4e1a25 Mon Sep 17 00:00:00 2001 From: Thibault Wittemberg Date: Mon, 11 Dec 2017 12:15:13 -0500 Subject: [PATCH 1507/2606] weavy: navigation framework in App Routing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 010a33dcf..41d7a02c9 100644 --- a/README.md +++ b/README.md @@ -214,6 +214,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 :large_orange_diamond: * [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. :large_orange_diamond: * [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. +* [Weavy](https://github.com/twittemb/Weavy) - Reactive navigation framework based on a weaving pattern (fits well with RxSwift) :large_orange_diamond: ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From b9750d9821ebd613fa7ce37016e2da96c4cb8edb Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Tue, 12 Dec 2017 18:08:05 +0530 Subject: [PATCH 1508/2606] Remove Pip. (#2145) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 010a33dcf..18c00b7a5 100644 --- a/README.md +++ b/README.md @@ -940,7 +940,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS * [AVAnimator](http://www.modejong.com/AVAnimator/) - An open source iOS native library that makes it easy to implement non-trivial video/audio enabled apps. * [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control :large_orange_diamond: -* [Pip](https://github.com/immrss/Pip) - A video player that support both local and network resource. * [MHVideoPhotoGallery](https://github.com/mariohahn/MHVideoPhotoGallery) - A Photo and Video Gallery * [PlayerView](https://github.com/davidlondono/PlayerView) - Player View is a delegated view using AVPlayer of Swift :large_orange_diamond: * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. From bf0db8d3a57fbc2b8b3f05bce58ad3e65707ee28 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Tue, 12 Dec 2017 18:09:05 +0530 Subject: [PATCH 1509/2606] Remove SDevCircleButton (#2146) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 18c00b7a5..f16a60ab1 100644 --- a/README.md +++ b/README.md @@ -1906,7 +1906,6 @@ Most of these are paid services, some have free tiers. #### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. * [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. :large_orange_diamond: -* [SDevCircleButton](https://github.com/0x73/SDevCircleButton) - Flat circle button :large_orange_diamond: * [VBFPopFlatButton](https://github.com/victorBaro/VBFPopFlatButton) - Flat button with 9 different states animated using Facebook POP. * [HTPressableButton](https://github.com/Famolus/HTPressableButton) - Flat design pressable button. * [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state :large_orange_diamond: From b71e277daf41e0792026366cff8aa6edc15c588b Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 12 Dec 2017 14:41:02 +0200 Subject: [PATCH 1510/2606] Add Stanford - Developing iOS 11 Apps with Swift (#2148) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f16a60ab1..39d73c219 100644 --- a/README.md +++ b/README.md @@ -180,6 +180,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. * [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) * [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. :large_orange_diamond: +* [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. :large_orange_diamond: * [Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [Object-Oriented Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) * [Udacity: Start A Career Developing iOS Apps](https://www.udacity.com/course/ios-developer-nanodegree--nd003?v=ios1) - Udacity's intro course on writing iOS apps [Paid Resource] :large_orange_diamond: From 2ed8f333b5cad92de4f0fa1d8d0751798ba9af97 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Tue, 12 Dec 2017 04:48:59 -0800 Subject: [PATCH 1511/2606] Update README URLs based on HTTP redirects (#2149) --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 39d73c219..ca3d914f0 100644 --- a/README.md +++ b/README.md @@ -635,7 +635,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. * [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. * [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift :large_orange_diamond: -* [SOMotionDetector](https://github.com/SocialObjects-Software/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. +* [SOMotionDetector](https://github.com/arturdev/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. * [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: * [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. * [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. :large_orange_diamond: @@ -1280,7 +1280,7 @@ Most of these are paid services, some have free tiers. * [Venmo](#payments) * [AWS](https://github.com/aws/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. * [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. -* [Adobe Creative SDK](https://creativesdk.adobe.com/) Adobe creative tools and Creative Cloud SDK. +* [Adobe Creative SDK](https://www.adobe.io/apis/creativecloud/creativesdk.html) Adobe creative tools and Creative Cloud SDK. * [Dropbox](https://www.dropbox.com/developers) SDKs for Drop-ins and Dropbox Core API. * [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. * [Liquid Analytics](https://github.com/lqd-io/liquid-sdk-ios) Identify behaviours through Analytics and react with real-time Personalization. @@ -1662,7 +1662,7 @@ Most of these are paid services, some have free tiers. * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: * [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 -* [HamsterUIKit](https://github.com/ChromieIsDangerous/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 +* [HamsterUIKit](https://github.com/Howardw3/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 * [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. 🔶 * [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. 🔶 * [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. 🔶 @@ -2821,7 +2821,7 @@ Most of these are paid services, some have free tiers. * [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) * [WeeklyCocoa.News](https://weeklycocoa.news) - Weekly updated newsletter about iOS, Swift, Objective-C, CocoaTouch, and other Apple connected development technologies. * [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. -* [Swift Developments](https://andybargh.com/swiftdevelopments) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. +* [Swift Developments](https://andybargh.com/swiftdevelopments/) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. #### Medium * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone From d4b5f07b6a9a64334e1b9264e0c07bcad0f605af Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 13 Dec 2017 13:22:55 +0200 Subject: [PATCH 1512/2606] Add Spry (#2150) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37771c78f..5e42b2812 100644 --- a/README.md +++ b/README.md @@ -1487,6 +1487,7 @@ Most of these are paid services, some have free tiers. * [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C :large_orange_diamond: * [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift :large_orange_diamond: * [SwiftCheck](https://github.com/typelift/SwiftCheck) - QuickCheck for Swift :large_orange_diamond: +* [Spry](https://github.com/Quick/Spry) - A Mac and iOS Playgrounds Unit Testing library based on Nimble. 🔶 #### A/B Testing * [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. From 072b45a0cc119b82847db4a47464617ab888a960 Mon Sep 17 00:00:00 2001 From: Kcat Date: Thu, 14 Dec 2017 00:12:51 +0800 Subject: [PATCH 1513/2606] Add CatCrypto --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ed42095f..810a68de2 100644 --- a/README.md +++ b/README.md @@ -1361,6 +1361,7 @@ Most of these are paid services, some have free tiers. * [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines :large_orange_diamond: * [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. :large_orange_diamond: * [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. :large_orange_diamond: +* [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing, support Argon2 currently. :large_orange_diamond: #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. From 18c0685d0f14f583cf975641e6802536932cfe56 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 14 Dec 2017 06:06:20 +0530 Subject: [PATCH 1514/2606] Add D2PDatePicker. (#2151) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ed42095f..249e655c2 100644 --- a/README.md +++ b/README.md @@ -2094,6 +2094,7 @@ Most of these are paid services, some have free tiers. * [CountryPicker](https://github.com/4taras4/CountryCode) - :date: UIPickerView with Country names flags and phoneCodes 🔶 * [McPicker](https://github.com/kmcgill88/McPicker-iOS) - A customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready. :large_orange_diamond: * [Mandoline](https://github.com/blueapron/Mandoline) - An iOS picker view to serve all your "picking" needs :large_orange_diamond: +* [D2PDatePicker](https://github.com/di2pra/D2PDatePicker) - Elegant and Easy-to-Use iOS Swift Date Picker :large_orange_diamond: #### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). From 9b1c928ac4a88d9867a6ea8ffbc439c2ee07bad4 Mon Sep 17 00:00:00 2001 From: Howard Yang Date: Sat, 16 Dec 2017 16:58:46 +0800 Subject: [PATCH 1515/2606] Add Mixin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 01b1ed763..c2e429acb 100644 --- a/README.md +++ b/README.md @@ -1684,6 +1684,7 @@ Most of these are paid services, some have free tiers. * [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. * [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. :large_orange_diamond: * [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. 🔶 +* [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. 🔶 #### Activity Indicator From 1c9f00bbb0002168b0dca1897d3bfc414de1c705 Mon Sep 17 00:00:00 2001 From: Yogesh Murugesh Date: Sun, 17 Dec 2017 14:17:52 +0530 Subject: [PATCH 1516/2606] =?UTF-8?q?Added=20=E2=80=9Ctwitter-kit-ios?= =?UTF-8?q?=E2=80=9D=20library?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 01b1ed763..5f06a0bc9 100644 --- a/README.md +++ b/README.md @@ -2585,6 +2585,8 @@ Most of these are paid services, some have free tiers. * [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. :large_orange_diamond: * [Plank](https://github.com/pinterest/plank) - A tool for generating immutable model objects. * [Lona](https://github.com/airbnb/Lona) - A tool for defining design systems and using them to generate cross-platform UI code, Sketch files, images, and other artifacts. +* [twitter-kit-ios](https://github.com/twitter/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps.. + # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From a3ab094b41c4bc6a12e398b6fe54a9ce20d95f67 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 18 Dec 2017 13:13:33 +0530 Subject: [PATCH 1517/2606] Add chat-sdk-ios --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 01b1ed763..5f1c34986 100644 --- a/README.md +++ b/README.md @@ -976,6 +976,7 @@ Also see [push notifications](#push-notifications) * [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. * [Messenger](https://github.com/relatedcode/Messenger) - This is a native iOS Messenger app, making realtime chat conversations and audio calls with full offline support. * [OTTextChatAccelerator](https://github.com/opentok/accelerator-textchat-ios) - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices. +* [chat-sdk-ios](https://github.com/chat-sdk/chat-sdk-ios) - Chat SDK iOS - Open Source Mobile Messenger. ## Networking * [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. From 8f33076982868fc99bfd5fa2f4ce704b8e392ee0 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 18 Dec 2017 13:48:18 +0530 Subject: [PATCH 1518/2606] Add Bamboots --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 01b1ed763..2874b1bdf 100644 --- a/README.md +++ b/README.md @@ -1042,6 +1042,7 @@ Also see [push notifications](#push-notifications) . :large_orange_diamond: * [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). :large_orange_diamond: * [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework 🔶 +* [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development. #### Email From 251a3505ff8d68d4656860d95725e7865a1a771a Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 18 Dec 2017 18:29:09 +0530 Subject: [PATCH 1519/2606] Added swift indication. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2874b1bdf..1a90437cb 100644 --- a/README.md +++ b/README.md @@ -1042,7 +1042,7 @@ Also see [push notifications](#push-notifications) . :large_orange_diamond: * [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). :large_orange_diamond: * [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework 🔶 -* [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development. +* [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development :large_orange_diamond: #### Email From 733e3e3fa1ba166d6869b7f1e7d305c3d8502fe9 Mon Sep 17 00:00:00 2001 From: Kcat Date: Tue, 19 Dec 2017 16:24:58 +0800 Subject: [PATCH 1520/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 810a68de2..65e3e104e 100644 --- a/README.md +++ b/README.md @@ -1361,7 +1361,7 @@ Most of these are paid services, some have free tiers. * [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines :large_orange_diamond: * [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. :large_orange_diamond: * [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. :large_orange_diamond: -* [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing, support Argon2 currently. :large_orange_diamond: +* [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing. :large_orange_diamond: #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. From 4bee590956bb29ec51c43166ea854e46a6fa4f61 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 19 Dec 2017 12:11:45 +0200 Subject: [PATCH 1521/2606] Remove JSQMessagesViewController (#2161) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index b2b94d2f0..41e9b9844 100644 --- a/README.md +++ b/README.md @@ -967,7 +967,6 @@ Also see [push notifications](#push-notifications) * [Plivo](https://www.plivo.com/) - SMS API, Voice API, & Global Carrier Provider. * [XMPPFramework](https://github.com/robbiehanson/XMPPFramework) - An XMPP Framework in Objective-C for Mac and iOS. * [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift :large_orange_diamond: -* [JSQMessagesViewController](https://github.com/jessesquires/JSQMessagesViewController) - An elegant messages UI library for iOS. * [Smooch](https://smooch.io) - Simple, lightweight SDKs and interfaces that enable customer messaging inside your apps and websites. * [SlackTextViewController](https://github.com/slackhq/SlackTextViewController) - A drop-in UIViewController subclass with a growing text input view and other useful messaging features. * [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController :large_orange_diamond: From 6a9a502418366bfbef37b1e402783f313ebf9f25 Mon Sep 17 00:00:00 2001 From: Yassir Barchi Date: Tue, 19 Dec 2017 20:11:31 +0100 Subject: [PATCH 1522/2606] =?UTF-8?q?Add=20=F0=9F=94=B6=20to=20YBSlantedCo?= =?UTF-8?q?llectionViewLayout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41e9b9844..efd261e97 100644 --- a/README.md +++ b/README.md @@ -2300,7 +2300,7 @@ Most of these are paid services, some have free tiers. * [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. :large_orange_diamond: * [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView :large_orange_diamond: * [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. :large_orange_diamond: -* [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content. +* [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content :large_orange_diamond: * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. * [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 * [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations 🔶 From 11c8a640c05e08fdd336ac7da9e03f88c11d050c Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 20 Dec 2017 15:52:57 +0200 Subject: [PATCH 1523/2606] Add Dispatch (#2162) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index efd261e97..6d317691a 100644 --- a/README.md +++ b/README.md @@ -475,7 +475,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. :large_orange_diamond: * [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. :large_orange_diamond: * [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! :large_orange_diamond: -+* [Impeller](https://github.com/mentalfaculty/impeller) - A Distributed Value Store in Swift :large_orange_diamond: +* [Impeller](https://github.com/mentalfaculty/impeller) - A Distributed Value Store in Swift :large_orange_diamond: +* [Dispatch](https://github.com/alexdrone/Dispatch) - Multi-store Flux implementation in Swift :large_orange_diamond: ## Date & Time From 9e6b888c7310e25f069a368a4052fd1da9579782 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 20 Dec 2017 15:54:44 +0200 Subject: [PATCH 1524/2606] Move GCD section to correct place (#2163) --- README.md | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 6d317691a..0a7d14d33 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [EventBus](#eventbus) - [Files](#files) - [Functional Programming](#functional-programming) - - [Games](#games) + - [Games](#games) + - [GCD](#gcd) - [Gesture](#gesture) - [Graphics](#graphics) - [Hardware](#hardware) @@ -561,6 +562,20 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit :large_orange_diamond: * [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit :large_orange_diamond: +## GCD + * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. :large_orange_diamond: + * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch :large_orange_diamond: + * [SwiftSafe](https://github.com/nodes-ios/SwiftSafe) - Thread synchronization made easy :large_orange_diamond: + * [YYDispatchQueuePool](https://github.com/ibireme/YYDispatchQueuePool) - iOS utility class to manage global dispatch queue. + * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. :large_orange_diamond: + * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) :large_orange_diamond: + * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. + * [Dispatch](https://github.com/JARMourato/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: + * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. :large_orange_diamond: + * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities :large_orange_diamond: + * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. :large_orange_diamond: + * [SwiftyTask](https://github.com/CR-Creations/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. :large_orange_diamond: + ## Gesture * [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS :large_orange_diamond: * [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond: @@ -2488,20 +2503,6 @@ Most of these are paid services, some have free tiers. * [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS :large_orange_diamond: * [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. :large_orange_diamond: -#### GCD - * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. :large_orange_diamond: - * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch :large_orange_diamond: - * [SwiftSafe](https://github.com/nodes-ios/SwiftSafe) - Thread synchronization made easy :large_orange_diamond: - * [YYDispatchQueuePool](https://github.com/ibireme/YYDispatchQueuePool) - iOS utility class to manage global dispatch queue. - * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. :large_orange_diamond: - * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) :large_orange_diamond: - * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. - * [Dispatch](https://github.com/JARMourato/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: - * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. :large_orange_diamond: - * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities :large_orange_diamond: - * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. :large_orange_diamond: - * [SwiftyTask](https://github.com/CR-Creations/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. :large_orange_diamond: - # Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. * [liftoff](https://github.com/liftoffcli/liftoff) - Another CLI for creating iOS projects. From 6429e869c19acce570e1d96ff7ad81895dff079c Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 20 Dec 2017 19:25:17 +0530 Subject: [PATCH 1525/2606] Add Sprinter (#2165) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0a7d14d33..94d7451b2 100644 --- a/README.md +++ b/README.md @@ -1475,6 +1475,7 @@ Most of these are paid services, some have free tiers. * [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. 🔶 * [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. 🔶 * [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. :large_orange_diamond: +* [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS :large_orange_diamond: #### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: From f2fe04e6ed0b87b5f13812e44a18a0936648f1a4 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 21 Dec 2017 16:15:05 +0530 Subject: [PATCH 1526/2606] Add CountryPickerView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 94d7451b2..287ead5e5 100644 --- a/README.md +++ b/README.md @@ -2115,6 +2115,7 @@ Most of these are paid services, some have free tiers. * [McPicker](https://github.com/kmcgill88/McPicker-iOS) - A customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready. :large_orange_diamond: * [Mandoline](https://github.com/blueapron/Mandoline) - An iOS picker view to serve all your "picking" needs :large_orange_diamond: * [D2PDatePicker](https://github.com/di2pra/D2PDatePicker) - Elegant and Easy-to-Use iOS Swift Date Picker :large_orange_diamond: +* [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps :large_orange_diamond: #### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). From d96704d68839fe236e7034211c51f93ae6621c37 Mon Sep 17 00:00:00 2001 From: Oleg Date: Thu, 21 Dec 2017 19:39:53 +0200 Subject: [PATCH 1527/2606] Add TweeTextField --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 94d7451b2..17c2299e5 100644 --- a/README.md +++ b/README.md @@ -2391,6 +2391,7 @@ Most of these are paid services, some have free tiers. * [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list :large_orange_diamond: * [PYSearch](https://github.com/ko1o/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). * [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. 🔶 +* [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. 🔶 #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From f5f57f92e5c2f36f7e66dfb7a50c4bfcfad9c2b8 Mon Sep 17 00:00:00 2001 From: Lasha Efremidze Date: Thu, 21 Dec 2017 21:30:13 -0800 Subject: [PATCH 1528/2606] Add Shiny --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c805e75dc..646690c08 100644 --- a/README.md +++ b/README.md @@ -1703,6 +1703,7 @@ Most of these are paid services, some have free tiers. * [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. * [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. :large_orange_diamond: * [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. 🔶 +* [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). 🔶 #### Activity Indicator From 5f744cd7753d7c4452ae417fcbc10a062918fce8 Mon Sep 17 00:00:00 2001 From: shindyu Date: Sat, 23 Dec 2017 18:53:46 +0900 Subject: [PATCH 1529/2606] Adding XCTestExtensions --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 646690c08..88ea1afe1 100644 --- a/README.md +++ b/README.md @@ -2463,6 +2463,7 @@ Most of these are paid services, some have free tiers. * [VTAcknowledgementsViewController](https://github.com/vtourraine/VTAcknowledgementsViewController) - Ready to use “Acknowledgements”/“Licenses”/“Credits” view controller for CocoaPods. * [Closures](https://github.com/vhesener/Closures) - Swifty closures for UIKit and Foundation. 🔶 * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote :large_orange_diamond: + * [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. 🔶 ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From d64bf2ebf744ed8bc4efac80c557c55e34b89a17 Mon Sep 17 00:00:00 2001 From: Kcat Date: Sun, 24 Dec 2017 22:31:10 +0800 Subject: [PATCH 1530/2606] Update CatCrypto description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 65e3e104e..c01402f2e 100644 --- a/README.md +++ b/README.md @@ -1361,7 +1361,7 @@ Most of these are paid services, some have free tiers. * [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines :large_orange_diamond: * [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. :large_orange_diamond: * [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. :large_orange_diamond: -* [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing. :large_orange_diamond: +* [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. :large_orange_diamond: #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. From a4e1d5df58bc0524688f22fe4b1c67c452672a81 Mon Sep 17 00:00:00 2001 From: Kcat Date: Mon, 25 Dec 2017 00:37:21 +0800 Subject: [PATCH 1531/2606] Add CatCrypto (#2152) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 646690c08..e8da05a5b 100644 --- a/README.md +++ b/README.md @@ -1379,6 +1379,7 @@ Most of these are paid services, some have free tiers. * [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines :large_orange_diamond: * [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. :large_orange_diamond: * [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. :large_orange_diamond: +* [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. :large_orange_diamond: #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. From 59f8e70a2ea4aa44014ce5a2e3e2b70d0f5affcc Mon Sep 17 00:00:00 2001 From: Yonas Kolb Date: Thu, 28 Dec 2017 00:06:17 +0800 Subject: [PATCH 1532/2606] Add XcodeGen (#2171) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e8da05a5b..bdf9e4fee 100644 --- a/README.md +++ b/README.md @@ -2594,6 +2594,7 @@ Most of these are paid services, some have free tiers. * [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. :large_orange_diamond: * [Plank](https://github.com/pinterest/plank) - A tool for generating immutable model objects. * [Lona](https://github.com/airbnb/Lona) - A tool for defining design systems and using them to generate cross-platform UI code, Sketch files, images, and other artifacts. +* [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. :large_orange_diamond: # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From ae8fd11c7906b52700d929254706965d616f64a4 Mon Sep 17 00:00:00 2001 From: Yogesh-MV Date: Thu, 28 Dec 2017 21:22:19 +0530 Subject: [PATCH 1533/2606] Add PopupWindow (#2173) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index bdf9e4fee..4a78a6d39 100644 --- a/README.md +++ b/README.md @@ -2133,6 +2133,8 @@ Most of these are paid services, some have free tiers. * [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. :large_orange_diamond: * [MIBlurPopup](https://github.com/MarioIannotta/MIBlurPopup) - MIBlurPopup let you create amazing popups with a blurred background. * [LNPopupController](https://github.com/LeoNatan/LNPopupController) - a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps. +* [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. :large_orange_diamond: + #### ProgressView * [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift :large_orange_diamond: From 865de7e88df53076bb950526c9c6ded524da71d6 Mon Sep 17 00:00:00 2001 From: jinpeng002 Date: Fri, 29 Dec 2017 02:36:49 +0800 Subject: [PATCH 1534/2606] Add iSimulator:GUI utility to control the Simulator --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4a78a6d39..31c1cc496 100644 --- a/README.md +++ b/README.md @@ -2597,6 +2597,7 @@ Most of these are paid services, some have free tiers. * [Plank](https://github.com/pinterest/plank) - A tool for generating immutable model objects. * [Lona](https://github.com/airbnb/Lona) - A tool for defining design systems and using them to generate cross-platform UI code, Sketch files, images, and other artifacts. * [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. :large_orange_diamond: +* [iSimulator](https://github.com/wigl/iSimulator) - iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator. # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 10ae0dce56348c2c501d5e205c72bb21019e8e87 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 29 Dec 2017 21:05:12 +0530 Subject: [PATCH 1535/2606] Add Httper-iOS (#2175) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 31c1cc496..27d541511 100644 --- a/README.md +++ b/README.md @@ -511,6 +511,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. * [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. * [Hyperion](https://github.com/willowtreeapps/Hyperion-iOS) - In-app design review tool to inspect measurements, attributes, and animations. +* [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. :large_orange_diamond: ## EventBus * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: From 028aef51fb5382c245284fdf9cc04f02614d9c12 Mon Sep 17 00:00:00 2001 From: Yassir Barchi Date: Sun, 31 Dec 2017 15:20:58 +0100 Subject: [PATCH 1536/2606] Rename YBSlantedCollectionViewLayout (#2176) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 27d541511..fcb6bcf54 100644 --- a/README.md +++ b/README.md @@ -2323,7 +2323,7 @@ Most of these are paid services, some have free tiers. * [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. :large_orange_diamond: * [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView :large_orange_diamond: * [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. :large_orange_diamond: -* [YBSlantedCollectionViewLayout](https://github.com/yacir/YBSlantedCollectionViewLayout) - UICollectionViewLayout with slanted content :large_orange_diamond: +* [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content :large_orange_diamond: * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. * [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 * [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations 🔶 From a5e6a28cc1c81ae13176d17632dc4501ba59a455 Mon Sep 17 00:00:00 2001 From: RyoIshikawa Date: Sun, 31 Dec 2017 23:21:16 +0900 Subject: [PATCH 1537/2606] Add YoutubeKit (#2177) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fcb6bcf54..68dbd7f87 100644 --- a/README.md +++ b/README.md @@ -974,6 +974,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. * [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. :large_orange_diamond: * [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. :large_orange_diamond: +* [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. :large_orange_diamond: ## Messaging From 80cc167389d9dfd50aca2b628167c4dbe02cce9f Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Sun, 31 Dec 2017 19:27:49 +0200 Subject: [PATCH 1538/2606] Add DocumenterXcode --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68dbd7f87..16aecfd93 100644 --- a/README.md +++ b/README.md @@ -2660,6 +2660,7 @@ Most of these are paid services, some have free tiers. * [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). :large_orange_diamond: * [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. :large_orange_diamond: * [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. :large_orange_diamond: +* [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. #### Plugins * [FuzzyAutocompletePlugin](https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin) - A Xcode 5+ plugin that adds more flexible autocompletion rather than just prefix-matching. From eab8a3dcb67510129c2d784f2a2a5d849544b278 Mon Sep 17 00:00:00 2001 From: Thibault Wittemberg Date: Sun, 31 Dec 2017 15:59:47 -0500 Subject: [PATCH 1539/2606] Rename Weavy to RxFlow --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41d7a02c9..df8fa1d1c 100644 --- a/README.md +++ b/README.md @@ -214,7 +214,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 :large_orange_diamond: * [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. :large_orange_diamond: * [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. -* [Weavy](https://github.com/twittemb/Weavy) - Reactive navigation framework based on a weaving pattern (fits well with RxSwift) :large_orange_diamond: +* [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. :large_orange_diamond: ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 0a87061aaac02eb50ec715e5d43a975cdff0f8a6 Mon Sep 17 00:00:00 2001 From: EzimetYusup Date: Mon, 1 Jan 2018 21:50:11 -0500 Subject: [PATCH 1540/2606] Add WormTabStrip (#2182) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68dbd7f87..f2c9b4f7d 100644 --- a/README.md +++ b/README.md @@ -2266,6 +2266,7 @@ Most of these are paid services, some have free tiers. * [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) - UITabBarController with swipe interaction between its tabs. 🔶 * [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) 🔶 * [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. 🔶 +* [WormTabStrip](https://github.com/EzimetYusup/WormTabStrip) Beatiful ViewPager For iOS written in Swift 🔶 (inspired by Android [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout)) #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From bd0e5d6afd91a3d0700ddfa18b3271c6af159361 Mon Sep 17 00:00:00 2001 From: Nicholas Maccharoli Date: Wed, 3 Jan 2018 00:35:10 +0900 Subject: [PATCH 1541/2606] Update README.md Update UIFontComplete description to reflect added support for tvOS --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6fa0d9503..4f95957fe 100644 --- a/README.md +++ b/README.md @@ -1493,7 +1493,7 @@ Most of these are paid services, some have free tiers. * [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: * [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: * [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. :large_orange_diamond: -* [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Make working with UIFont faster and less error-prone. :large_orange_diamond: +* [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Font management (System & Custom) for iOS and tvOS :large_orange_diamond: * [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! :large_orange_diamond: * [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. :large_orange_diamond: From 227a9558686d5bcc6179594374026f4eb9a59b13 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 3 Jan 2018 10:49:54 +0200 Subject: [PATCH 1542/2606] Fix React Like Subsection --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f95957fe..7da33f5e1 100644 --- a/README.md +++ b/README.md @@ -1261,7 +1261,7 @@ Most of these are paid services, some have free tiers. * [VueFlux](https://github.com/ra1028/VueFlux) - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux 🔶 * [RxAnimated](https://github.com/RxSwiftCommunity/RxAnimated) - Animated RxCocoa bindings -## React-Like +#### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: * [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: * [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: From 94694b0ba61480362b5cff8bfc2d101532b6ffcb Mon Sep 17 00:00:00 2001 From: Khoa Date: Thu, 4 Jan 2018 14:18:53 +0100 Subject: [PATCH 1543/2606] Add DeepDiff (#2193) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7da33f5e1..5c171bbe6 100644 --- a/README.md +++ b/README.md @@ -478,6 +478,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! :large_orange_diamond: * [Impeller](https://github.com/mentalfaculty/impeller) - A Distributed Value Store in Swift :large_orange_diamond: * [Dispatch](https://github.com/alexdrone/Dispatch) - Multi-store Flux implementation in Swift :large_orange_diamond: +* [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift :large_orange_diamond: ## Date & Time From cfd8de3efa78beab0c50e6e4572b91bd45378652 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 4 Jan 2018 15:19:43 +0200 Subject: [PATCH 1544/2606] Add CollectionKit (#2191) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5c171bbe6..44dae8211 100644 --- a/README.md +++ b/README.md @@ -2346,6 +2346,7 @@ Most of these are paid services, some have free tiers. * [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views :large_orange_diamond: * [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections :large_orange_diamond: * [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. 🔶 +* [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 91f053685d527a67d6ee18df025b1d7dd0a3f45b Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 4 Jan 2018 18:51:53 +0530 Subject: [PATCH 1545/2606] Add MCScratchImageView (#2183) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 44dae8211..20c55047d 100644 --- a/README.md +++ b/README.md @@ -930,6 +930,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TJProfileImage](https://github.com/tejas-ardeshna/TJProfileImage) - Live rendering of componet’s properties in Interface Builder. :large_orange_diamond: * [Viewer](https://github.com/bakkenbaeck/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images :large_orange_diamond: * [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. :large_orange_diamond: +* [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 319db4a787f4d2ccefa3d23dffddc2d9dc1f74ff Mon Sep 17 00:00:00 2001 From: Yegor Miroshnichenko Date: Fri, 5 Jan 2018 00:46:45 +0200 Subject: [PATCH 1546/2606] Add StatusAlert --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 20c55047d..ff3b73452 100644 --- a/README.md +++ b/README.md @@ -1926,6 +1926,7 @@ Most of these are paid services, some have free tiers. * [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS :large_orange_diamond: * [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. :large_orange_diamond: * [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. :large_orange_diamond: +* [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 28b85e4090c817df2c84ca41390ef945670133a9 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Sat, 6 Jan 2018 18:55:51 +0200 Subject: [PATCH 1547/2606] Add Architecture Patterns section (#2197) --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ff3b73452..0829a988f 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Analytics](#analytics) - [App Routing](#app--routing) - [Apple TV](#apple-tv) + - [Architecture Patterns](#architecture-patterns) - [ARKit](#arkit) - [Authentication](#authentication) - [Bridging](#bridging) @@ -232,6 +233,13 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TvOSScribble](https://github.com/dcordero/TvOSScribble) - Handwriting numbers recognizer for Siri Remote :large_orange_diamond: * [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS :large_orange_diamond: +## Architecture Patterns +* [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. :large_orange_diamond: +* [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. :large_orange_diamond: +* [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. :large_orange_diamond: +* [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS :large_orange_diamond: + + ## ARKit * [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. :large_orange_diamond: * [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. @@ -329,15 +337,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GlueKit](https://github.com/attaswift/GlueKit) - A type-safe observer framework for Swift. :large_orange_diamond: * [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. :large_orange_diamond: * [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. -* [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. :large_orange_diamond: * [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. * [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. :large_orange_diamond: * [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. :large_orange_diamond: * [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. :large_orange_diamond: -* [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. :large_orange_diamond: * [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. * [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. -* [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. :large_orange_diamond: #### Linter * [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. @@ -1268,7 +1273,6 @@ Most of these are paid services, some have free tiers. * [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: * [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: * [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. :large_orange_diamond: -* [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS :large_orange_diamond: ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: From 5a696030d64a4fddd82ba6da1f61116f5538b688 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Sat, 6 Jan 2018 20:36:20 +0200 Subject: [PATCH 1548/2606] Fix App Routing section link (#2198) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0829a988f..a1c021196 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Getting Started](#getting-started) - [Library and Frameworks](#libraries-and-frameworks) - [Analytics](#analytics) - - [App Routing](#app--routing) + - [App Routing](#app-routing) - [Apple TV](#apple-tv) - [Architecture Patterns](#architecture-patterns) - [ARKit](#arkit) From 5710073583822284d29c0f645cb08eaa477267af Mon Sep 17 00:00:00 2001 From: Rob Nash Date: Sat, 6 Jan 2018 18:53:26 +0000 Subject: [PATCH 1549/2606] Adding rotary (#2159) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a1c021196..231b4b02c 100644 --- a/README.md +++ b/README.md @@ -2198,6 +2198,7 @@ Most of these are paid services, some have free tiers. * [MultiSelectSegmentedControl](https://github.com/yonat/MultiSelectSegmentedControl) - adds Multiple-Selection to the standard `UISegmentedControl`. * [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: * [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. :large_orange_diamond: +* [Rotary](https://github.com/rob-nash/Rotary) - A customisable rotary wheel composed of selectable segments. :large_orange_diamond: #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. From 181933b2b6115a0d803245a255c0731a675d9be6 Mon Sep 17 00:00:00 2001 From: Iliya Date: Sun, 7 Jan 2018 03:45:13 +0300 Subject: [PATCH 1550/2606] Fix redirects (#2200) --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 231b4b02c..d11050fff 100644 --- a/README.md +++ b/README.md @@ -756,7 +756,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. :large_orange_diamond: * [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. :large_orange_diamond: * [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. :large_orange_diamond: -* [Evergreen](https://github.com/knly/Evergreen) - Most natural Swift logging :large_orange_diamond: +* [Evergreen](https://github.com/nilsleiffischer/Evergreen) - Most natural Swift logging :large_orange_diamond: * [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations :large_orange_diamond: * [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. :large_orange_diamond: * [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. @@ -1419,7 +1419,7 @@ Most of these are paid services, some have free tiers. * [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. macOS + Linux compatible. :large_orange_diamond: * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: * [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: -* [Edge](https://github.com/skylab-inc/Edge) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: +* [Lightning](https://github.com/skylab-inc/Lightning) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: * [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. :large_orange_diamond: * [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. :large_orange_diamond: * [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! :large_orange_diamond: @@ -1799,7 +1799,7 @@ Most of these are paid services, some have free tiers. * [PulsingHalo](https://github.com/shu223/PulsingHalo) - iOS Component for creating a pulsing animation. * [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - Chainable animations in Swift :large_orange_diamond: * [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift :large_orange_diamond: -* [Advance](https://github.com/storehouse/Advance) - A powerful animation framework for iOS. :large_orange_diamond: +* [Advance](https://github.com/timdonnelly/Advance) - A powerful animation framework for iOS. :large_orange_diamond: * [UIView-Shake](https://github.com/andreamazz/UIView-Shake) - UIView category that adds shake animation * [Walker](https://github.com/RamonGilabert/Walker) - A new animation engine for your app. :large_orange_diamond: * [Morgan](https://github.com/RamonGilabert/Morgan) - An animation set for your app. :large_orange_diamond: From 18749da673cc8e72e774a0ded60ac5aaf2bb511a Mon Sep 17 00:00:00 2001 From: Iliya Date: Sun, 7 Jan 2018 19:06:54 +0300 Subject: [PATCH 1551/2606] add YARCH architecture (#2201) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d11050fff..22b765ee8 100644 --- a/README.md +++ b/README.md @@ -238,6 +238,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. :large_orange_diamond: * [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. :large_orange_diamond: * [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS :large_orange_diamond: +* [YARCH](https://github.com/alfa-laboratory/YARCH-Examples) - More clean alternative to VIPER with unidirectional data flow (flux-like). :large_orange_diamond: ## ARKit From 721d435d64d3ebf2901a40e4094cb913665be17d Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Mon, 8 Jan 2018 13:24:15 +0530 Subject: [PATCH 1552/2606] Move CRRefresh to Pull to refresh category. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d6eaed6ce..203049a94 100644 --- a/README.md +++ b/README.md @@ -1838,7 +1838,6 @@ Most of these are paid services, some have free tiers. * [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. 🔶 * [TweenKit](https://github.com/SteveBarnegren/TweenKit) - Animation library for iOS in Swift. 🔶 * [Water](https://github.com/KrisYu/Water) - Simple calculation to render cheap water effects. 🔶 -* [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. 🔶 * [Pastel](https://github.com/cruisediary/Pastel) - Gradient animation effect like Instagram. 🔶 * [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. :large_orange_diamond: * [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation :large_orange_diamond: @@ -2169,6 +2168,7 @@ Most of these are paid services, some have free tiers. * [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView :large_orange_diamond: * [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). :large_orange_diamond: * [ESPullToRefresh](https://github.com/eggswift/pull-to-refresh) - Customisable pull-to-refresh, including nice animation on the top :large_orange_diamond: +* [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. :large_orange_diamond: #### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From 36d7f0e42ec7e9e169417cad2914f513c2edb803 Mon Sep 17 00:00:00 2001 From: Simform Solutions Date: Tue, 9 Jan 2018 12:32:10 +0530 Subject: [PATCH 1553/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6dd285c17..cfd0d27df 100644 --- a/README.md +++ b/README.md @@ -2277,6 +2277,7 @@ Most of these are paid services, some have free tiers. * [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) 🔶 * [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. 🔶 * [WormTabStrip](https://github.com/EzimetYusup/WormTabStrip) Beatiful ViewPager For iOS written in Swift 🔶 (inspired by Android [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout)) +* [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From 3b8e3c6356bad7fd7b64919ac5b3c2d09d7bbbac Mon Sep 17 00:00:00 2001 From: Shezad Ahamed Date: Tue, 9 Jan 2018 13:16:36 +0530 Subject: [PATCH 1554/2606] Added SHPopup --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6dd285c17..181ca6ecf 100644 --- a/README.md +++ b/README.md @@ -2145,6 +2145,7 @@ Most of these are paid services, some have free tiers. * [MIBlurPopup](https://github.com/MarioIannotta/MIBlurPopup) - MIBlurPopup let you create amazing popups with a blurred background. * [LNPopupController](https://github.com/LeoNatan/LNPopupController) - a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps. * [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. :large_orange_diamond: +* [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. :large_orange_diamond: #### ProgressView From fb40e0f30b85e0048f69d92956dcbeac6bef704c Mon Sep 17 00:00:00 2001 From: Michael Michailidis Date: Tue, 9 Jan 2018 10:11:15 +0100 Subject: [PATCH 1555/2606] Added Kinieta Animation Library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 181ca6ecf..b902bca8c 100644 --- a/README.md +++ b/README.md @@ -1847,6 +1847,7 @@ Most of these are paid services, some have free tiers. * [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS in Swift :large_orange_diamond: * [ViewAnimator](https://github.com/marcosgriselli/ViewAnimator) - ViewAnimator brings your UI to life with just one line. 🔶 * [Ease](https://github.com/roberthein/Ease) - Animate everything with Ease. 🔶 +* [Kinieta](https://github.com/mmick66/kinieta) - An Animation Engine with Custom Bezier Easing, an Intuitive API and perfect Color Intepolation. 🔶 ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 24d0fd8dd85d28a390d6b24a1564bee891faa636 Mon Sep 17 00:00:00 2001 From: Wilson Ding Date: Wed, 10 Jan 2018 09:19:32 -0600 Subject: [PATCH 1556/2606] Added GroupWork (#2203) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 181ca6ecf..6a4291eba 100644 --- a/README.md +++ b/README.md @@ -394,6 +394,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Flow-iOS](https://github.com/roytornado/Flow-iOS) - Make your logic flow and data flow clean and human readable :large_orange_diamond: * [Queuer](https://github.com/FabrizioBrancati/Queuer) - A queue manager, built on top of OperationQueue and Dispatch (aka GCD). :large_orange_diamond: * [SwiftQueue](https://github.com/lucas34/SwiftQueue) - Job Scheduler with Concurrent run, failure/retry, persistence, repeat, delay and more. :large_orange_diamond: +* [GroupWork](https://github.com/quanvo87/GroupWork) - Easy concurrent, asynchronous tasks in Swift. :large_orange_diamond: ## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. From de86f8f6ceeb91eb23c063244ad18a3be6b881ef Mon Sep 17 00:00:00 2001 From: shindyu Date: Sat, 13 Jan 2018 13:23:36 +0900 Subject: [PATCH 1557/2606] Change Category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 88ea1afe1..c75de7030 100644 --- a/README.md +++ b/README.md @@ -1549,6 +1549,7 @@ Most of these are paid services, some have free tiers. * [MetovaTestKit](https://github.com/metova/MetovaTestKit) - A collection of testing utilities to turn crashing test suites into failing test suites. :large_orange_diamond: * [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes :large_orange_diamond: * [SnappyTestCase](https://github.com/tooploox/SnappyTestCase) - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. :large_orange_diamond: +* [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. 🔶 ## UI * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. @@ -2463,7 +2464,6 @@ Most of these are paid services, some have free tiers. * [VTAcknowledgementsViewController](https://github.com/vtourraine/VTAcknowledgementsViewController) - Ready to use “Acknowledgements”/“Licenses”/“Credits” view controller for CocoaPods. * [Closures](https://github.com/vhesener/Closures) - Swifty closures for UIKit and Foundation. 🔶 * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote :large_orange_diamond: - * [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. 🔶 ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: From 9e937d3d2870cdaf4ff7176a431a72bd15955b8b Mon Sep 17 00:00:00 2001 From: Atsuya Sato Date: Sat, 13 Jan 2018 23:12:02 +0900 Subject: [PATCH 1558/2606] Add ProcessingKit by @natmark (#2208) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a4291eba..2b7018042 100644 --- a/README.md +++ b/README.md @@ -605,6 +605,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / macOS, using native rendering (CoreAnimation) (currently only supported for iOS - macOS code needs updating). * [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. :large_orange_diamond: * [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit +* [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX :large_orange_diamond: ## Hardware #### Bluetooth From a054412ad8d62277e4ec029e9a7b33354747e055 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Sat, 13 Jan 2018 18:15:08 +0200 Subject: [PATCH 1559/2606] Remove Microfeatures (#2210) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 2b7018042..33c132d4a 100644 --- a/README.md +++ b/README.md @@ -2751,7 +2751,6 @@ Most of these are paid services, some have free tiers. * [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. * [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 :large_orange_diamond: * [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift :large_orange_diamond: -* [Microfeatures](https://github.com/microfeatures) - Architectural approach to structure your Xcode projects. :large_orange_diamond: * [XcodeCodeSnippets](https://github.com/ismetanin/XcodeCodeSnippets) - A set of code snippets for iOS development, includes code and comments snippets. # Reference From 869af92eb8f72c66c9da2d6d5207814185a8509f Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Sat, 13 Jan 2018 19:20:00 +0200 Subject: [PATCH 1560/2606] Remove Alcatraz (#2212) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 33c132d4a..b13bb3363 100644 --- a/README.md +++ b/README.md @@ -2541,7 +2541,6 @@ Most of these are paid services, some have free tiers. * [Xcode Maven](http://sap-production.github.io/xcode-maven-plugin/site/) - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle. * [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. :large_orange_diamond: * [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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. :large_orange_diamond: -* [Alcatraz](http://alcatraz.io/) - The package manager for Xcode. * [CocoaSeeds](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. * [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language :large_orange_diamond: * [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool From f4685caba98b583844658e9dbc169fed98dbb639 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 15 Jan 2018 12:24:42 +0200 Subject: [PATCH 1561/2606] Remove Xcode Plugins subsection --- README.md | 59 ------------------------------------------------------- 1 file changed, 59 deletions(-) diff --git a/README.md b/README.md index b13bb3363..32e0622fb 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Unofficial](#unofficial) - [Xcode](#xcode) - [Extensions (Xcode 8+)](#extensions-xcode-8) - - [Plugins](#plugins) - [Themes](#themes) - [Other Xcode](#other-xcode) - [Reference](#reference) @@ -2676,64 +2675,6 @@ Most of these are paid services, some have free tiers. * [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. :large_orange_diamond: * [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. -#### Plugins -* [FuzzyAutocompletePlugin](https://github.com/FuzzyAutocomplete/FuzzyAutocompletePlugin) - A Xcode 5+ plugin that adds more flexible autocompletion rather than just prefix-matching. -* [SCXcodeMiniMap](https://github.com/stefanceriu/SCXcodeMiniMap) - SCXcodeMiniMap is a plugin that adds a source editor MiniMap to Xcode. -* [Show in Github](https://github.com/larsxschneider/ShowInGitHub) - Xcode plugin to open the GitHub page of the commit of the currently selected line in the editor window. -* [BBUFullIssueNavigator](https://github.com/neonichu/BBUFullIssueNavigator) - Xcode plugin for showing all issue content in the issue navigator. -* [BBUDebuggerTuckAway](https://github.com/neonichu/BBUDebuggerTuckAway) - Xcode plugin for auto-hiding the debugger once you start typing in the source code editor. -* [SCXcodeSwitchExpander](https://github.com/stefanceriu/SCXcodeSwitchExpander) - SCXcodeSwitchExpander is a small Xcode plugin that expands switch statements by inserting missing cases. -* [VVDocumenter-Xcode](https://github.com/onevcat/VVDocumenter-Xcode) - Xcode plug-in which helps you write Javadoc style documents easier. -* [XAlign](https://github.com/qfish/XAlign) - An amazing Xcode plugin to align regular code. It can align anything by using custom alignment patterns. -* [CocoaPods Xcode Plugin](https://github.com/kattrali/cocoapods-xcode-plugin) - Dependency management helper for your CocoaPods, right in Xcode. -* [KSImageNamed-Xcode](https://github.com/ksuther/KSImageNamed-Xcode) - Xcode plug-in that provides autocomplete for imageNamed: calls. -* [ColorSense-for-Xcode](https://github.com/omz/ColorSense-for-Xcode) - Plugin for Xcode to make working with colors more visual. -* [Backlight-for-XCode](https://github.com/limejelly/Backlight-for-XCode) - Highlights the current editing line in Xcode -* [KPRunEverywhereXcodePlugin](https://github.com/kitschpatrol/KPRunEverywhereXcodePlugin) - An Xcode plugin to build and run an app across multiple iOS devices with one click. -* [RevealPlugin](https://github.com/shjborage/Reveal-Plugin-for-Xcode) - Plugin for Xcode to integrate the Reveal App to your project automatic. -* [RealmPlugin](https://realm.io/docs/objc/0.81.0/#xcode-plugin)- Xcode plugin to generate new Realm models. -* [AdjustFontSize](https://github.com/zats/AdjustFontSize-Xcode-Plugin) - Instant font size adjustment with `⌘ +` / `⌘ -`. -* [Rephrase](https://www.rephrase.io) - Localise from Xcode. -* [XCActionBar](https://github.com/pdcgomes/XCActionBar) - "Alfred for Xcode" plugin. -* [QuickJump](https://github.com/wiruzx/QuickJump) - Quick code navigation for Xcode. -* [CATweaker](https://github.com/keefo/CATweaker) - Plugin for creating beautiful CAMediaTimingFunction curve. -* [XcodeWay](https://github.com/onmyway133/XcodeWay) - An Xcode plugin that makes navigating to many places easier (available via Alcatraz). -* [GitDiff](https://github.com/johnno1962/GitDiff) - Highlights deltas against git repo in Xcode. -* [MCLog](https://github.com/yuhua-chen/MCLog) - Xcode plugin for filtering the console area. -* [XToDo](https://github.com/trawor/XToDo) - Dialog with list of all TODO, FIXME, ??? and !!! in the project. -* [CopyIssue](https://github.com/hanton/CopyIssue-Xcode-Plugin) - Makes Copy Xcode Issue Description Easy. -* [RTImageAssets](https://github.com/rickytan/RTImageAssets) - A Xcode plugin to automatically generate all the App icons needed. -* [BBUncrustifyPlugin-Xcode](https://github.com/benoitsan/BBUncrustifyPlugin-Xcode) - Xcode plugin to format source code using ClangFormat or Uncrustify. -* [Aviator](https://github.com/marksands/Aviator) - Xcode plugin that brings ⇧⌘T (source/test toggle) from AppCode over to Xcode. -* [JumpMarks](https://github.com/merrickp/JumpMarks) - Navigate your code files with numbered bookmarks. -* [XCSnippetr](https://github.com/dzenbot/XCSnippetr) - An Xcode Plugin to upload code snippets directly into Slack and Gist. -* [Peckham](https://github.com/markohlebar/Peckham) - Add #import-s from anywhere in the code. -* [MLAutoReplace](https://github.com/molon/MLAutoReplace) - Xcode plugin, Re-Intent, make you write code more quickly. -* [AutoHighlightSymbol](https://github.com/chiahsien/AutoHighlightSymbol) - A Xcode plugin to add highlight to the instances of selected symbol. -* [Reveal-In-GitHub](https://github.com/lzwjava/Reveal-In-Github) - Xcode plugin to let you jump to GitHub History, Blame, PRs, Issues, Notifications of any GitHub repo with one shortcut. -* [CleanHeaders-Xcode](https://github.com/insanoid/CleanHeaders-Xcode) - A simple iSort like header sorting and duplicate removal plugin for Xcode, makes your headers look more organized. -* [Luft](https://github.com/k0nserv/luft) - The Xcode Plugin that helps you write lighter view controllers -* [You-Can-Do-It](https://github.com/orta/You-Can-Do-It) - Is learning a new language getting you down? Worry not, this Xcode plugin will keep you motivated. -* [PreciseCoverage](https://github.com/zats/PreciseCoverage) - Make Xcode code coverage more informative -* [AutoIndentWithSave](https://github.com/ThilinaHewagama/AutoIndentWithSave) Xcode plugin which indent the source code when save -* [Refactorator](https://github.com/johnno1962/Refactorator) - Xcode Plugin that Refactors Swift & Objective-C :large_orange_diamond: -* [VWInstantRun](https://github.com/wangshengjia/VWInstantRun) - An Xcode plugin let you build & run your selected lines of code in Xcode without running the whole project, you'll have the output instantly in your Xcode console. :large_orange_diamond: -* [TTPasteHistory](https://github.com/tutumagi/TTPasteHistory) - A Xcode plugin. Recording you copy-and-paste history easily to write the code -* [xSendIssue](https://github.com/hungri-yeti/xSendIssue) - Plugin for Xcode to submit GitHub issues directly from within Xcode. -* [Swimat](https://github.com/Jintin/Swimat) - An Xcode formatter plug-in to format your swift code. -* [Fastlane-Plugin](https://github.com/RishabhTayal/Fastlane-Plugin) - The awesome Fastlane tools brought into your Xcode. -* [Gradle Xcode plugin](https://openbakery.org/gxp/) - Build iOS or macOS Projects using Gradle. -* [SYXcodeIconVersion](https://github.com/dvkch/SYXcodeIconVersion) - This Xcode plugin shows Xcode app version in the Dock and App Switcher icon. -* [Gradle](https://github.com/openbakery/gradle-xcodePlugin) - gradle xcodePlugin to build iOS and Mac projects. -* [HOStringSense-for-Xcode](https://github.com/holtwick/HOStringSense-for-Xcode) - Plugin for Xcode to make perfect editing regular expressions, multi line texts, inline HTML and many more use cases. Also provides quick feedback on string length. -* [FastStub-Xcode](https://github.com/music4kid/FastStub-Xcode) - Xcode Plugin helps you find missing methods in your class header, protocols, and super class, also makes fast inserting. -* [JSPatchX](https://github.com/bang590/JSPatchX) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. -* [Dash](https://kapeli.com/dash) - Dash is a great documentation browser which integrates closely into Xcode with its plugin. -* [SFJumpToLine](https://github.com/sferrini/SFJumpToLine) - Xcode plugin that moves the instruction pointer to the selected line -* [ClangFormat-Xcode](https://github.com/travisjeffery/ClangFormat-Xcode) - An Xcode plug-in to format your code using Clang's format tools. -* [update_xcode_plugins](https://github.com/inket/update_xcode_plugins) - No more messing with plugin UUIDs; Plugins on Xcode 8! -* [MakeXcodeGr8Again](https://github.com/fpg1503/MakeXcodeGr8Again) - Xcode + Plugins = :blue_heart: :large_orange_diamond: - #### Themes * [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. * [Xcode themes list](https://github.com/hdoria/xcode-themes) - Color themes for Xcode. From 34d7c2ecfd5c1c5e048cb5e5fcf28b7f61a99eca Mon Sep 17 00:00:00 2001 From: Changmin Kim Date: Mon, 15 Jan 2018 23:29:24 +0900 Subject: [PATCH 1562/2606] Update SonogramView (#2215) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b13bb3363..a3ad51e69 100644 --- a/README.md +++ b/README.md @@ -838,7 +838,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. CocoaPods and Carthage compatible. :large_orange_diamond: * [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: * [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit and completely written in Swift :large_orange_diamond: -* [BPMAnalyser](https://github.com/Luccifer/SonogramView) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: +* [SonogramView](https://github.com/Luccifer/SonogramView) - Audio visualisation of song #### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. From 584c543e44e978be3beceb16e95f68b3f0f910a0 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 15 Jan 2018 18:18:51 +0200 Subject: [PATCH 1563/2606] Add Alerts & Pickers (#2217) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a3ad51e69..b52b2b0b4 100644 --- a/README.md +++ b/README.md @@ -1935,6 +1935,7 @@ Most of these are paid services, some have free tiers. * [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. :large_orange_diamond: * [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. :large_orange_diamond: * [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. :large_orange_diamond: +* [Alerts & Pickers](https://github.com/dillidon/Alerts-Pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From fcc57de8ae8dbe82a1fd2a7c22aed8a2a62b1a7e Mon Sep 17 00:00:00 2001 From: Siarhei Fedartsou Date: Mon, 15 Jan 2018 22:02:24 +0300 Subject: [PATCH 1564/2606] Add MeasurementTextField --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b52b2b0b4..96efcc49e 100644 --- a/README.md +++ b/README.md @@ -2415,6 +2415,7 @@ Most of these are paid services, some have free tiers. * [PYSearch](https://github.com/ko1o/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). * [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. 🔶 * [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. 🔶 +* [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. 🔶 #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: From 124b0e2f161a73b5c755d7943142110c55729eab Mon Sep 17 00:00:00 2001 From: ssaeidd Date: Tue, 16 Jan 2018 09:41:54 +0330 Subject: [PATCH 1565/2606] add BittrexApiKit repo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ca282ecc2..13f0fc8c9 100644 --- a/README.md +++ b/README.md @@ -1193,6 +1193,7 @@ Most of these are paid services, some have free tiers. * [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. :large_orange_diamond: * [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. :large_orange_diamond: * [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. :large_orange_diamond: +* [BittrexApiKit](https://github.com/saeid/BittrexApiKit) - Simple and complete Swift wrapper for Bittrex Exhcange API. 🔶 ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 6bb21e5216fae11d9b5ceae6815309fba50191ab Mon Sep 17 00:00:00 2001 From: Sven Tiigi Date: Tue, 16 Jan 2018 23:19:02 +0100 Subject: [PATCH 1566/2606] Add PerfectSlackAPIClient (#2213) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1478029c9..89b4c3a4e 100644 --- a/README.md +++ b/README.md @@ -1355,6 +1355,7 @@ Most of these are paid services, some have free tiers. * [ARKKit](https://github.com/sleepdefic1t/ARKKit) - ARK Ecosystem Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. :large_orange_diamond: * [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. :large_orange_diamond: * [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. :large_orange_diamond: +* [PerfectSlackAPIClient](https://github.com/SvenTiigi/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework 🔶 ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 7b17f17482f1ef60284907ecc54d19f164d3c0ae Mon Sep 17 00:00:00 2001 From: Electric Bolt Date: Wed, 17 Jan 2018 12:31:00 +1300 Subject: [PATCH 1567/2606] Add Appfigurate --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 89b4c3a4e..156bd25af 100644 --- a/README.md +++ b/README.md @@ -2651,6 +2651,7 @@ Most of these are paid services, some have free tiers. * [AppLaunchpad](https://theapplaunchpad.com/) - Free App Store screenshot builder. * [LaunchKit](https://github.com/LaunchKit/LaunchKit) - A set of web-based tools for mobile app developers, now open source! * [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. +* [Appfigurate](https://github.com/electricbolt/appfiguratesdk) - Secure runtime configuration for iOS and watchOS, apps and app extensions. # App Store * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. From f4352dac64a68f7d39ae7f76810ee760986a4ce7 Mon Sep 17 00:00:00 2001 From: Simform Solutions Date: Wed, 17 Jan 2018 15:25:05 +0530 Subject: [PATCH 1568/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cfd0d27df..14c2be541 100644 --- a/README.md +++ b/README.md @@ -2277,7 +2277,7 @@ Most of these are paid services, some have free tiers. * [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) 🔶 * [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. 🔶 * [WormTabStrip](https://github.com/EzimetYusup/WormTabStrip) Beatiful ViewPager For iOS written in Swift 🔶 (inspired by Android [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout)) -* [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. +* [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. 🔶 #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From 979d6dd41837d45943902a592b2ed6da5f2d34f5 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Fri, 19 Jan 2018 17:17:49 +0530 Subject: [PATCH 1569/2606] Add LSAnimator. (#2227) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 851f5cf29..ab141fd8e 100644 --- a/README.md +++ b/README.md @@ -1848,6 +1848,7 @@ Most of these are paid services, some have free tiers. * [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS in Swift :large_orange_diamond: * [ViewAnimator](https://github.com/marcosgriselli/ViewAnimator) - ViewAnimator brings your UI to life with just one line. 🔶 * [Ease](https://github.com/roberthein/Ease) - Animate everything with Ease. 🔶 +* [LSAnimator](https://github.com/Lision/LSAnimator) - Easy to Read and Write Multi-chain Animations Kit in Objective-C and Swift. ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From aff71b507c269f3be11eb8b7cc557359dfbf30ff Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 19 Jan 2018 14:08:03 +0200 Subject: [PATCH 1570/2606] Remove swiftnews --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ab141fd8e..6c9da5e35 100644 --- a/README.md +++ b/README.md @@ -2734,7 +2734,6 @@ Most of these are paid services, some have free tiers. * [Mathew Sanders](http://mathewsanders.com/) :large_orange_diamond: * [Little Bites of Cocoa](https://littlebitesofcocoa.com/) :large_orange_diamond: * [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) :large_orange_diamond: -* [This Week in Swift](https://swiftnews.curated.co/) :large_orange_diamond: * [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. * [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) :large_orange_diamond: * [Code Facebook](https://code.facebook.com/ios/) From 2859322e9090063c1464a1aa516cf24343f3e0ad Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 19 Jan 2018 15:23:57 +0200 Subject: [PATCH 1571/2606] Remove swiftnews --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6c9da5e35..ae4ef0e31 100644 --- a/README.md +++ b/README.md @@ -2788,7 +2788,6 @@ Most of these are paid services, some have free tiers. #### Newsletters * [iOS Goodies](http://ios-goodies.com) - Weekly iOS newsletter -* [This Week in Swift](https://swiftnews.curated.co) - I'm @NatashaTheRobot and I'm programmed to love #Swift! Every week, I put together a list of the best Swift resources for you. Happy Learning! * [The iOS Times](http://theiostimes.com) - A weekly publication with news and trending projects in the open source iOS ecosystem. * [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week * [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. From 1ca81d367040ef13faea51dcb7be57242cc97447 Mon Sep 17 00:00:00 2001 From: Halil Ibrahim Kayim Date: Sun, 21 Jan 2018 00:29:10 +0000 Subject: [PATCH 1572/2606] Add ARKitEnvironmentMapper (#2214) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ae4ef0e31..17a27f63f 100644 --- a/README.md +++ b/README.md @@ -244,6 +244,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. :large_orange_diamond: * [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. * [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆. :large_orange_diamond: +* [ARKitEnvironmentMapper](https://github.com/svtek/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. :large_orange_diamond: ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: From ec70435b7b39e3491be311983cc408b6f673562c Mon Sep 17 00:00:00 2001 From: Yu Ao Date: Mon, 22 Jan 2018 11:07:34 +0800 Subject: [PATCH 1573/2606] Add MetalPetal --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 17a27f63f..be99bfe78 100644 --- a/README.md +++ b/README.md @@ -939,6 +939,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Viewer](https://github.com/bakkenbaeck/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images :large_orange_diamond: * [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. :large_orange_diamond: * [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below :large_orange_diamond: +* [MetalPetal](https://github.com/MetalPetal/MetalPetal) - A GPU-accelerated image/video processing framework based on [Metal](https://developer.apple.com/metal/). #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 2641b4e03d8ec27607cdb9f550344a07042cbda9 Mon Sep 17 00:00:00 2001 From: mylittleswift Date: Mon, 22 Jan 2018 17:12:45 -0800 Subject: [PATCH 1574/2606] Add Natalie from @krzyzanowskim (#2234) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index be99bfe78..351f2d43f 100644 --- a/README.md +++ b/README.md @@ -2619,6 +2619,7 @@ Most of these are paid services, some have free tiers. * [Lona](https://github.com/airbnb/Lona) - A tool for defining design systems and using them to generate cross-platform UI code, Sketch files, images, and other artifacts. * [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. :large_orange_diamond: * [iSimulator](https://github.com/wigl/iSimulator) - iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator. +* [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. :large_orange_diamond: # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From c948de662e33fd37f123f84686553c66fbb6ba90 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 23 Jan 2018 16:59:27 +0200 Subject: [PATCH 1575/2606] Add AZTableViewController (#2235) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 351f2d43f..c2ad89312 100644 --- a/README.md +++ b/README.md @@ -2364,6 +2364,7 @@ Most of these are paid services, some have free tiers. * [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections :large_orange_diamond: * [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. 🔶 * [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. 🔶 +* [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 099b2088e6572c7dff3f2fe86af472145b8f1057 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 24 Jan 2018 00:46:05 +0200 Subject: [PATCH 1576/2606] Add BinaryKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c2ad89312..4ce47d5d3 100644 --- a/README.md +++ b/README.md @@ -486,6 +486,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Impeller](https://github.com/mentalfaculty/impeller) - A Distributed Value Store in Swift :large_orange_diamond: * [Dispatch](https://github.com/alexdrone/Dispatch) - Multi-store Flux implementation in Swift :large_orange_diamond: * [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift :large_orange_diamond: +* [BinaryKit](https://github.com/Cosmo/BinaryKit) - Access bits and bytes directly in Swift. :large_orange_diamond: ## Date & Time From 69201309ea1c32733930ff1a56c02383f41299ef Mon Sep 17 00:00:00 2001 From: Afroz Zaheer Date: Wed, 24 Jan 2018 11:03:08 +0500 Subject: [PATCH 1577/2606] * [AZCollectionViewController] --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c2ad89312..61af1e9d1 100644 --- a/README.md +++ b/README.md @@ -2365,6 +2365,7 @@ Most of these are paid services, some have free tiers. * [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. 🔶 * [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. 🔶 * [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. 🔶 +* [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. 🔶 #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 3ac24a75b53020469e5cbbed0ea70abdfba6fe6c Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 25 Jan 2018 10:50:23 +0200 Subject: [PATCH 1578/2606] Remove StackViewController from Activity Indicator section, move it to UI section. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c2ad89312..9b7a3c5cf 100644 --- a/README.md +++ b/README.md @@ -1719,6 +1719,7 @@ Most of these are paid services, some have free tiers. * [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. 🔶 * [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. 🔶 * [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). 🔶 +* [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list :large_orange_diamond: #### Activity Indicator @@ -1750,7 +1751,6 @@ Most of these are paid services, some have free tiers. * [NJKWebViewProgress](https://github.com/ninjinkun/NJKWebViewProgress) - A progress interface library for UIWebView. You can implement progress bar for your in-app browser using this module. * [MKRingProgressView](https://github.com/maxkonovalov/MKRingProgressView) - A beautiful ring/circular progress view similar to Activity app on Apple Watch, written in Swift. 🔶 * [Hexacon](https://github.com/gautier-gdx/Hexacon) - A new way to display content in your app like the Apple Watch SpringBoard, written in Swift. 🔶 -* [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list :large_orange_diamond: * [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. :large_orange_diamond: * [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - (Swift) Circular progress UIView subclass with UIProgressView properties :large_orange_diamond: * [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. From 444cc6d2c1be059efca24ea25aea839760a369d3 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 25 Jan 2018 15:08:17 +0200 Subject: [PATCH 1579/2606] Add KafkaRefresh --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c2ad89312..8a123524f 100644 --- a/README.md +++ b/README.md @@ -2177,6 +2177,7 @@ Most of these are paid services, some have free tiers. * [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). :large_orange_diamond: * [ESPullToRefresh](https://github.com/eggswift/pull-to-refresh) - Customisable pull-to-refresh, including nice animation on the top :large_orange_diamond: * [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. :large_orange_diamond: +* [KafkaRefresh](https://github.com/xorshine/KafkaRefresh) - Highly scalable, custom, multi-style refresh framework. #### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: From 4a9ffe564a3f9c3cc12fb5fccacd9b990ea5cc6a Mon Sep 17 00:00:00 2001 From: "J.P. Illanes" Date: Thu, 25 Jan 2018 15:35:16 +0100 Subject: [PATCH 1580/2606] Add Highlightr (#2241) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c2ad89312..81f3f237d 100644 --- a/README.md +++ b/README.md @@ -1490,6 +1490,7 @@ Most of these are paid services, some have free tiers. * [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. 🔶 * [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. :large_orange_diamond: * [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS :large_orange_diamond: +* [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. 🔶 #### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: From 553c51260a2b891439dfba625aa5f284468eda32 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 26 Jan 2018 16:02:58 +0200 Subject: [PATCH 1581/2606] Create UIPageControl section. (#2239) --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 303d0f26d..04d8f2f12 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Table View / Collection View](#table-view--collection-view) - [Tag](#tag) - [TextField & TextView](#textfield--textview) + - [UIPageControl](#uipagecontrol) - [Web View](#web--view) - [Utility](#utility) - [VR](#vr) @@ -1598,7 +1599,6 @@ Most of these are paid services, some have free tiers. * [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. :large_orange_diamond: * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. :large_orange_diamond: * [StackPageView](https://github.com/noppefoxwolf/StackPageView) - Vertical page view with UIViewControllers stacked on the top of each other :large_orange_diamond: -* [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. :large_orange_diamond: * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. * [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple :large_orange_diamond: * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. :large_orange_diamond: @@ -1695,7 +1695,6 @@ Most of these are paid services, some have free tiers. * [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift 🔶 * [KPActionSheet](https://github.com/khuong291/KPActionSheet) - 🔶 A replacement of default action sheet, but has very simple usage. 🔶 * [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator :large_orange_diamond: -* [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. :large_orange_diamond: * [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). 🔶 * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: @@ -1759,7 +1758,6 @@ Most of these are paid services, some have free tiers. * [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beautiful hud view for iPhone & iPad * [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. :large_orange_diamond: * [FillableLoaders](https://github.com/polqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: -* [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: * [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. :large_orange_diamond: * [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design :large_orange_diamond: * [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. :large_orange_diamond: @@ -2426,6 +2424,12 @@ Most of these are paid services, some have free tiers. * [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. 🔶 * [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. 🔶 +#### UIPageControl +* [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. :large_orange_diamond: +* [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: +* [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. :large_orange_diamond: + + #### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: * [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. :large_orange_diamond: From 1a9e477b4061f95e64c32d3254c5e116b7e1b85a Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 26 Jan 2018 16:04:33 +0200 Subject: [PATCH 1582/2606] Move AudioIndicatorBars to Media/Audio (#2240) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 04d8f2f12..9bc4766f2 100644 --- a/README.md +++ b/README.md @@ -840,6 +840,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: * [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit and completely written in Swift :large_orange_diamond: * [SonogramView](https://github.com/Luccifer/SonogramView) - Audio visualisation of song +* [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. :large_orange_diamond: #### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. @@ -1761,7 +1762,6 @@ Most of these are paid services, some have free tiers. * [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. :large_orange_diamond: * [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design :large_orange_diamond: * [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. :large_orange_diamond: -* [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. :large_orange_diamond: * [LLSpinner](https://github.com/alaphao/LLSpinner) - An easy way to create a full screen activity indicator. :large_orange_diamond: * [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. :large_orange_diamond: * [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. From 030940a88b48702c86e1329725a14f576159e6a1 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 26 Jan 2018 13:30:39 -0200 Subject: [PATCH 1583/2606] Edit readme on header section. Add support section. Align badges on center. --- README.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ebf89d08b..b34a62063 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,15 @@ -[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) -[![Join the chat at https://gitter.im/norio-nomura/SwiftTalkInJapanese](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/vsouza/awesome-ios?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -[![Build Status](https://api.travis-ci.org/vsouza/awesome-ios.svg?branch=master)](https://travis-ci.org/vsouza/awesome-ios) -[![Language](https://awesomelinkcounter.herokuapp.com/swift)]() -[![Language](https://awesomelinkcounter.herokuapp.com/objc)]() -[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) +

+ awesome + Join the chat at https://gitter.im/vsouza/awesome-ios + Build Status + Language + Language + PRs Welcome +

-## We've launched our Newsletter!! ✅🚀📰 -* [Check out our new website 🗞](http://weekly.awesomeios.com/) +[Subscribe on Awesome-iOS Weekly!! 🗞](http://weekly.awesomeios.com/) # About A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. @@ -16,6 +17,11 @@ The list is divided into categories such as Frameworks, Components, Testing and Projects in Swift will be marked with :large_orange_diamond:, Swift Extensions will be marked with 🔶[e] and ⌚ for Apple Watch projects. Feel free to add your project. +# Supported with :heart: by [Instabug](https://instabug.com/?utm_source=awesomeios&utm_medium=spon&utm_content=header) +[![ios](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://instabug.com/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) +> Instabug SDK allows iOS developers to receive detailed bug reports from users and testers directly from inside the app. It attaches screenshots, screen recordings, network requests, and reproduce steps with each bug report. This minimizes debugging time and helps developers in tracing weird bugs. [Learn more.](https://instabug.com/?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more)🚀 +[![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) + # How to Use Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use are: - Ask for help on our [Twitter](https://twitter.com/awesome_ios) or [Gitter Channel](https://gitter.im/vsouza/awesome-ios) From 4a964bdece952a9dcfdb6f88994926bf8eb647f7 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sat, 27 Jan 2018 00:09:58 -0200 Subject: [PATCH 1584/2606] Changed Getting Started category to 'Courses'. Added new free courses and reorganized the whole category. --- README.md | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index b34a62063..f43de4976 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Content - [About](#about) - [How to Use](#how-to-use) -- [Getting Started](#getting-started) +- [Courses](#courses) - [Library and Frameworks](#libraries-and-frameworks) - [Analytics](#analytics) - [App Routing](#app-routing) @@ -181,18 +181,27 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Contributing](#contributing-and-license) *** -# Getting Started -* [Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. :large_orange_diamond: + +# Courses + +## Getting Started +* [Apple- Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. :large_orange_diamond: * [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? * [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. * [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) * [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. :large_orange_diamond: * [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. :large_orange_diamond: -* [Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) -* [Object-Oriented Programming with Objective-C by Apple](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) -* [Udacity: Start A Career Developing iOS Apps](https://www.udacity.com/course/ios-developer-nanodegree--nd003?v=ios1) - Udacity's intro course on writing iOS apps [Paid Resource] :large_orange_diamond: - +* [Apple - Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) +* [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) +* [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) +* [Udacity - Intro to iOS App Development with Swift](https://br.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) + +## Other free courses + + * [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS) + * [Codeschool - Exploring Google Maps for iOS](https://www.codeschool.com/courses/exploring-google-maps-for-ios) + # Libraries And Frameworks ## Analytics From a6195d2d6eec0313fc3b390a103915dc207e67c4 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sat, 27 Jan 2018 00:14:55 -0200 Subject: [PATCH 1585/2606] Change layout of category 'Courses' --- README.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index f43de4976..12c84e3e6 100644 --- a/README.md +++ b/README.md @@ -184,23 +184,24 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap # Courses -## Getting Started +### Getting Started * [Apple- Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. :large_orange_diamond: -* [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? +* [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) +* [Apple - Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. +* [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. * [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) * [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. :large_orange_diamond: * [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. :large_orange_diamond: -* [Apple - Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) -* [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) * [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) * [Udacity - Intro to iOS App Development with Swift](https://br.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) -## Other free courses - +### Other free courses + + * [Codeschool - Exploring Google Maps for iOS](https://www.codeschool.com/courses/exploring-google-maps-for-ios) * [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS) - * [Codeschool - Exploring Google Maps for iOS](https://www.codeschool.com/courses/exploring-google-maps-for-ios) + # Libraries And Frameworks From a94a391c463060c89325d6354285482b3730de43 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sat, 27 Jan 2018 00:18:45 -0200 Subject: [PATCH 1586/2606] Change Dracula theme link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 12c84e3e6..03e5ce8fd 100644 --- a/README.md +++ b/README.md @@ -2715,7 +2715,7 @@ Most of these are paid services, some have free tiers. * [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. #### Themes -* [Dracula Theme](https://github.com/zenorocha/dracula-theme) - A dark theme for Xcode. +* [Dracula Theme](https://draculatheme.com/xcode/) - A dark theme for Xcode. * [Xcode themes list](https://github.com/hdoria/xcode-themes) - Color themes for Xcode. * [Solarized-Dark-for-Xcode](https://github.com/ArtSabintsev/Solarized-Dark-for-Xcode/) - Solarized Dark Theme for Xcode 5. * [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. From c990546ae5cf7b13d6da19089188b9f6c4273bb6 Mon Sep 17 00:00:00 2001 From: Aaron Sutton Date: Sat, 27 Jan 2018 16:07:40 -0500 Subject: [PATCH 1587/2606] Add EasyRoot framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c2ad89312..def15f0c8 100644 --- a/README.md +++ b/README.md @@ -812,6 +812,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime :large_orange_diamond: * [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. :large_orange_diamond: * [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library with generic integer algorithms, complex numbers, rational numbers, and pseudorandom number generators (written in, and for, Swift 4) :large_orange_diamond: +* [EasyRoot](https://github.com/aaronjsutton/EasyRoot) - A framework to simplify radical expressions :large_orange_diamond: ## Media #### Audio From 3ef49c835aeb381265f7a593faddd50c515d386b Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 28 Jan 2018 15:30:12 -0200 Subject: [PATCH 1588/2606] Fix some HTTP 302 on danger --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 03e5ce8fd..0966dbcb1 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Projects in Swift will be marked with :large_orange_diamond:, Swift Extensions w # Supported with :heart: by [Instabug](https://instabug.com/?utm_source=awesomeios&utm_medium=spon&utm_content=header) [![ios](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://instabug.com/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) -> Instabug SDK allows iOS developers to receive detailed bug reports from users and testers directly from inside the app. It attaches screenshots, screen recordings, network requests, and reproduce steps with each bug report. This minimizes debugging time and helps developers in tracing weird bugs. [Learn more.](https://instabug.com/?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more)🚀 +> Instabug SDK allows iOS developers to receive detailed bug reports from users and testers directly from inside the app. It attaches screenshots, screen recordings, network requests, and reproduce steps with each bug report. This minimizes debugging time and helps developers in tracing weird bugs. [Learn more.](https://try.instabug.com/awesomeios?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more)🚀 [![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) # How to Use @@ -1075,7 +1075,7 @@ Also see [push notifications](#push-notifications) * [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way :large_orange_diamond: * [AFNetworking+RetryPolicy](https://github.com/kubatruhlar/AFNetworking-RetryPolicy) - An objective-c category that adds the ability to set the retry logic for requests made with AFNetworking. * [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. :large_orange_diamond: ⌚ -* [Nikka](https://github.com/JustaLab/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx :large_orange_diamond: ⌚ +* [Nikka](https://github.com/stremsdoerfer/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx :large_orange_diamond: ⌚ * [XMNetworking](https://github.com/kangzubin/XMNetworking) - A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. * [Merhaba](https://github.com/abdullahselek/Merhaba) - Bonjour networking for discovery and connection between iOS, macOS and tvOS devices. * [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. :large_orange_diamond: @@ -2786,7 +2786,7 @@ Most of these are paid services, some have free tiers. #### Tutorials and Keynotes * [AppCoda](https://www.appcoda.com/) -* [Tutorials Point](http://www.tutorialspoint.com/ios/) +* [Tutorials Point](https://www.tutorialspoint.com/ios/index.htm) * [Code with Chris](https://codewithchris.com/) * [Cocoa with Love](http://www.cocoawithlove.com/) * [Code School - Try Objective-C](https://www.codeschool.com/courses/try-objective-c) From 6a8ba0c67b537dfb073f39130fa3c855d1cdf84b Mon Sep 17 00:00:00 2001 From: mylittleswift Date: Mon, 29 Jan 2018 01:04:22 -0800 Subject: [PATCH 1589/2606] added FDFullscreenPopGesture from @forkingdog --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0966dbcb1..13d804aa6 100644 --- a/README.md +++ b/README.md @@ -609,6 +609,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] :large_orange_diamond: * [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. :large_orange_diamond: * [SplitViewDragAndDrop](https://github.com/MarioIannotta/SplitViewDragAndDrop) - Easily add drag and drop to pass data between your apps in split view mode. :large_orange_diamond: +* [FDFullscreenPopGesture](https://github.com/forkingdog/FDFullscreenPopGesture) - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP. ## Graphics * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! :large_orange_diamond: From 5492c502efbed83bc0a6828c76176c2606aa0a1e Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 29 Jan 2018 10:09:47 -0200 Subject: [PATCH 1590/2606] fix --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0966dbcb1..f1904e15f 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ The list is divided into categories such as Frameworks, Components, Testing and Projects in Swift will be marked with :large_orange_diamond:, Swift Extensions will be marked with 🔶[e] and ⌚ for Apple Watch projects. Feel free to add your project. -# Supported with :heart: by [Instabug](https://instabug.com/?utm_source=awesomeios&utm_medium=spon&utm_content=header) -[![ios](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://instabug.com/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) +# Supported with ❤️ by [Instabug](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=header) +[![ios](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) > Instabug SDK allows iOS developers to receive detailed bug reports from users and testers directly from inside the app. It attaches screenshots, screen recordings, network requests, and reproduce steps with each bug report. This minimizes debugging time and helps developers in tracing weird bugs. [Learn more.](https://try.instabug.com/awesomeios?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more)🚀 [![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) From 26636ef3bafd501d7668a9a786aa721b70376901 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 29 Jan 2018 20:19:48 +0200 Subject: [PATCH 1591/2606] Add AppFolder --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f1904e15f..ebbe14234 100644 --- a/README.md +++ b/README.md @@ -568,6 +568,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ZipArchive](https://github.com/ZipArchive/ZipArchive) - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac. * [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. :large_orange_diamond: * [ZIPFoundation](https://github.com/weichsel/ZIPFoundation) - Effortless ZIP Handling in Swift :large_orange_diamond: +* [AppFolder](https://github.com/dreymonde/AppFolder) - AppFolder is a lightweight framework that lets you design a friendly, strongly-typed representation of a directories inside your app's container. :large_orange_diamond: ## Functional Programming * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: From b949acae330f6acaa0ec417516a00f2be7c1e58a Mon Sep 17 00:00:00 2001 From: David Francisco Date: Mon, 29 Jan 2018 23:28:04 +0000 Subject: [PATCH 1592/2606] Consider Dangerfile as part of the documentation This forces linguist to update the languages stats, making the repository primarily about Swift, which is what we want it to be classified as. --- .gitattributes | 1 + helloworld.swift | 99 ------------------------------------------------ 2 files changed, 1 insertion(+), 99 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..5c4786aaa --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +Dangerfile linguist-documentation \ No newline at end of file diff --git a/helloworld.swift b/helloworld.swift index e1f39ed41..4fdf0cebb 100644 --- a/helloworld.swift +++ b/helloworld.swift @@ -1,100 +1 @@ print("Hello iOS Developers!") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") -print("awesome-ios") From 5298909b0e5176db403c3c8e3d535b3c55eed1c5 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 30 Jan 2018 11:08:56 +0200 Subject: [PATCH 1593/2606] Add ShadowImageView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f1904e15f..6c1beccc2 100644 --- a/README.md +++ b/README.md @@ -959,6 +959,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. :large_orange_diamond: * [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below :large_orange_diamond: * [MetalPetal](https://github.com/MetalPetal/MetalPetal) - A GPU-accelerated image/video processing framework based on [Metal](https://developer.apple.com/metal/). +* [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From 7c51d167f7a68dfc396811d002e29773ea3a77b6 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 30 Jan 2018 11:15:07 +0200 Subject: [PATCH 1594/2606] Add Himotoki --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f1904e15f..4f5b36e79 100644 --- a/README.md +++ b/README.md @@ -1187,6 +1187,7 @@ Most of these are paid services, some have free tiers. * [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. :large_orange_diamond: * [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). :large_orange_diamond: * [WAMapping](https://github.com/Wasappli/WAMapping) - A library to turn dictionary into object and vice versa for iOS. Designed for speed! +* [Himotoki](https://github.com/ikesyo/Himotoki) - A type-safe JSON decoding library purely written in Swift. :large_orange_diamond: #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From d609444363202a240cff0f22fa65dbf89b5cf9e9 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 30 Jan 2018 11:21:31 +0200 Subject: [PATCH 1595/2606] Add Swift LineChart --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f1904e15f..43417bcf1 100644 --- a/README.md +++ b/README.md @@ -332,7 +332,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. :large_orange_diamond: * [core-plot](https://github.com/core-plot/core-plot) - a 2D plotting lib which is highly customizable and capable of drawing many types of plots. * [ChartProgressBar](https://github.com/hadiidbouk/ChartProgressBar-iOS) - Draw a chart with progress bar style. -* [SMDiagramViewSwift](https://github.com/VRGsoftUA/SMDiagramView) - Meet cute and very flexibility library for iOS application for different data view in one circle diagram. +* [SMDiagramViewSwift](https://github.com/VRGsoftUA/SMDiagramView) - Meet cute and very flexibility library for iOS application for different data view in one circle diagram. +* [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. :large_orange_diamond: ## Code Quality * [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. From cc1021f24f461c3580d551752e4176adadfe0727 Mon Sep 17 00:00:00 2001 From: Vyacheslav Redkin Date: Tue, 30 Jan 2018 16:15:29 +0300 Subject: [PATCH 1596/2606] Add OCMock Add OCMock library in "Other test" section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6c1beccc2..fd7e1b1ee 100644 --- a/README.md +++ b/README.md @@ -1587,6 +1587,7 @@ Most of these are paid services, some have free tiers. * [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes :large_orange_diamond: * [SnappyTestCase](https://github.com/tooploox/SnappyTestCase) - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. :large_orange_diamond: * [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. 🔶 +* [OCMock](http://ocmock.org) - Mock objects for Objective-C. ## UI * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. From f4eaeeed74f6d4070f71a33457b100e64caf8b39 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 30 Jan 2018 22:06:50 +0200 Subject: [PATCH 1597/2606] Add json-swift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 67581e98d..e85fcf1ad 100644 --- a/README.md +++ b/README.md @@ -1190,6 +1190,7 @@ Most of these are paid services, some have free tiers. * [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. :large_orange_diamond: * [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). :large_orange_diamond: * [WAMapping](https://github.com/Wasappli/WAMapping) - A library to turn dictionary into object and vice versa for iOS. Designed for speed! +* [json-swift](https://github.com/owensd/json-swift) - A basic library for working with JSON in Swift. :large_orange_diamond: #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: From 7d992f774576892cc83b57ce2bd75c3431838038 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 30 Jan 2018 22:14:24 +0200 Subject: [PATCH 1598/2606] Add swift-corelibs-xctest --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 67581e98d..94e7b02f3 100644 --- a/README.md +++ b/README.md @@ -1547,6 +1547,7 @@ Most of these are paid services, some have free tiers. * [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift :large_orange_diamond: * [SwiftCheck](https://github.com/typelift/SwiftCheck) - QuickCheck for Swift :large_orange_diamond: * [Spry](https://github.com/Quick/Spry) - A Mac and iOS Playgrounds Unit Testing library based on Nimble. 🔶 +* [swift-corelibs-xctest](https://github.com/apple/swift-corelibs-xctest) - The XCTest Project, A Swift core library for providing unit test support. :large_orange_diamond: #### A/B Testing * [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. From 3aa41838258899dec1d72f711efa8032425cf092 Mon Sep 17 00:00:00 2001 From: Quan Vo Date: Tue, 30 Jan 2018 19:31:46 -0600 Subject: [PATCH 1599/2606] Add FirebaseHelper --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 67581e98d..188f47655 100644 --- a/README.md +++ b/README.md @@ -479,6 +479,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [UserDefaults](https://github.com/nmdias/DefaultsKit) - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS :large_orange_diamond: * [Default](https://github.com/Nirma/Default) - Modern interface to UserDefaults + Codable support :large_orange_diamond: * [IceCream](https://github.com/caiyue1993/IceCream) - Sync Realm Database with CloudKit :large_orange_diamond: +* [FirebaseHelper](https://github.com/quanvo87/FirebaseHelper) - Safe and easy wrappers for common Firebase Realtime Database functions. ## Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: From ea684aa9bb79da950722faac9797277eab4dd298 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 31 Jan 2018 13:49:52 +0200 Subject: [PATCH 1600/2606] Add TouchVisualizer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e85fcf1ad..050f00ed5 100644 --- a/README.md +++ b/README.md @@ -1571,6 +1571,7 @@ Most of these are paid services, some have free tiers. * [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo :large_orange_diamond: * [Bluepill](https://github.com/linkedin/bluepill) - Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine * [Flawless App](https://flawlessapp.io/) - tool for visual quality check of mobile app in a real-time. It compares initial design with the actual implementation right inside iOS simulator. +* [TouchVisualizer](https://github.com/morizotter/TouchVisualizer) - Lightweight touch visualization library in Swift. A single line of code and visualize your touches! :large_orange_diamond: #### Other Testing * [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. From e9466a0a6d252858d3703be3831854ff849731e7 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 31 Jan 2018 15:54:43 +0200 Subject: [PATCH 1601/2606] Fix link issues --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e85fcf1ad..2af786c1e 100644 --- a/README.md +++ b/README.md @@ -1186,7 +1186,7 @@ Most of these are paid services, some have free tiers. * [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). * [NSTEasyJSON](https://github.com/bernikowich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). * [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. :large_orange_diamond: -* [MagicMapper](https://github.com/adrianitech/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. :large_orange_diamond: +* [MagicMapper](https://github.com/adrianmateoaea24/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. :large_orange_diamond: * [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. :large_orange_diamond: * [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). :large_orange_diamond: * [WAMapping](https://github.com/Wasappli/WAMapping) - A library to turn dictionary into object and vice versa for iOS. Designed for speed! @@ -1962,7 +1962,7 @@ Most of these are paid services, some have free tiers. * [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. :large_orange_diamond: * [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. :large_orange_diamond: * [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. :large_orange_diamond: -* [Alerts & Pickers](https://github.com/dillidon/Alerts-Pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. :large_orange_diamond: +* [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. :large_orange_diamond: #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: From 8ea0cbae409fae96f96a4cce6db8748a86c6f4ff Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 31 Jan 2018 18:05:22 +0200 Subject: [PATCH 1602/2606] Add SwiftChart --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 050f00ed5..399fbc6b1 100644 --- a/README.md +++ b/README.md @@ -333,6 +333,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [core-plot](https://github.com/core-plot/core-plot) - a 2D plotting lib which is highly customizable and capable of drawing many types of plots. * [ChartProgressBar](https://github.com/hadiidbouk/ChartProgressBar-iOS) - Draw a chart with progress bar style. * [SMDiagramViewSwift](https://github.com/VRGsoftUA/SMDiagramView) - Meet cute and very flexibility library for iOS application for different data view in one circle diagram. +* [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. :large_orange_diamond: ## Code Quality * [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. From 76b2219cb2b0b2926a9098e99b6b3dec7af423c7 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 31 Jan 2018 18:18:40 +0200 Subject: [PATCH 1603/2606] Fix https://github.com/VivaReal/Compose redirects to https://github.com/GrupoZapVivaReal/Compose --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2af786c1e..bf28be66d 100644 --- a/README.md +++ b/README.md @@ -728,7 +728,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications * [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally :large_orange_diamond: * [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. :large_orange_diamond: -* [Compose](https://github.com/VivaReal/Compose) - Compose is a library that helps you compose complex and dynamic views. :large_orange_diamond: +* [Compose](https://github.com/GrupoZapVivaReal/Compose) - Compose is a library that helps you compose complex and dynamic views. :large_orange_diamond: * [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. :large_orange_diamond: * [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. :large_orange_diamond: * [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. :large_orange_diamond: From baa5fe5eb0601c3462119a019c9afdaf7663dd30 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 1 Feb 2018 17:25:52 +0530 Subject: [PATCH 1604/2606] Add IBLinter. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a5e887f8..c9a6078ba 100644 --- a/README.md +++ b/README.md @@ -2663,6 +2663,7 @@ Most of these are paid services, some have free tiers. * [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. :large_orange_diamond: * [iSimulator](https://github.com/wigl/iSimulator) - iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator. * [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. :large_orange_diamond: +* [IBLinter](https://github.com/kateinoigakukun/IBLinter) - A linter tool for Interface Builder :large_orange_diamond: # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From b879920facd1edbe8df92b047bdeb3681bdd8916 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 1 Feb 2018 10:02:13 -0200 Subject: [PATCH 1605/2606] remove duplicated link on gitter badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b703ab490..50b331597 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@

awesome - Join the chat at https://gitter.im/vsouza/awesome-ios + Join the chat at gitter Build Status Language Language From 9901706924126ced0f9863438e31ae3db75eaa70 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 1 Feb 2018 14:05:41 +0200 Subject: [PATCH 1606/2606] Add Swift-AI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 50b331597..26d81d9d1 100644 --- a/README.md +++ b/README.md @@ -809,6 +809,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. :large_orange_diamond: * [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of unique Core ML Models. * [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. :large_orange_diamond: +* [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. :large_orange_diamond: ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From 6d084f2d2b0f8b1a87fd9cc8a6f88aef06760960 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 1 Feb 2018 14:13:03 +0200 Subject: [PATCH 1607/2606] Add Font-Awesome-Swift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 50b331597..d299c1247 100644 --- a/README.md +++ b/README.md @@ -1539,6 +1539,7 @@ Most of these are paid services, some have free tiers. * [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Font management (System & Custom) for iOS and tvOS :large_orange_diamond: * [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! :large_orange_diamond: * [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. :large_orange_diamond: +* [Font-Awesome-Swift](https://github.com/Vaberer/Font-Awesome-Swift) - Font Awesome swift library for iOS. :large_orange_diamond: ## Testing From c0cfd801502033181a2c59e013fc8dd12f080391 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 1 Feb 2018 18:14:57 +0530 Subject: [PATCH 1608/2606] Switching to linter category. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 350692d44..63ce6705d 100644 --- a/README.md +++ b/README.md @@ -369,6 +369,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. :large_orange_diamond: * [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. :large_orange_diamond: +* [IBLinter](https://github.com/kateinoigakukun/IBLinter) - A linter tool for Interface Builder :large_orange_diamond: ## Color * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: @@ -2666,7 +2667,6 @@ Most of these are paid services, some have free tiers. * [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. :large_orange_diamond: * [iSimulator](https://github.com/wigl/iSimulator) - iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator. * [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. :large_orange_diamond: -* [IBLinter](https://github.com/kateinoigakukun/IBLinter) - A linter tool for Interface Builder :large_orange_diamond: # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 08385a81bb17a0c35692f580ed892afcf7c2bf92 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 1 Feb 2018 10:51:05 -0200 Subject: [PATCH 1609/2606] remove orange diamond and change contributing.md removing instructions to put orange diamong badge on swift repos --- .github/CONTRIBUTING.md | 1 - README.md | 2990 +++++++++++++++++++-------------------- 2 files changed, 1494 insertions(+), 1497 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 22a3dfdad..306e87722 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -11,7 +11,6 @@ Please ensure your pull request adheres to the following guidelines: - Check your spelling and grammar. - Make sure that your suggestion is positioned as the last item category. - Make sure your text editor is set to remove trailing whitespace. -- If project has been made in Swift, add :large_orange_diamond: in the end of description. #### Deleting diff --git a/README.md b/README.md index e8b380c7a..5ca602200 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,6 @@ A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). -Projects in Swift will be marked with :large_orange_diamond:, Swift Extensions will be marked with 🔶[e] and ⌚ for Apple Watch projects. Feel free to add your project. - # Supported with ❤️ by [Instabug](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=header) [![ios](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) > Instabug SDK allows iOS developers to receive detailed bug reports from users and testers directly from inside the app. It attaches screenshots, screen recordings, network requests, and reproduce steps with each bug report. This minimizes debugging time and helps developers in tracing weird bugs. [Learn more.](https://try.instabug.com/awesomeios?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more)🚀 @@ -185,15 +183,15 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap # Courses ### Getting Started -* [Apple- Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. :large_orange_diamond: +* [Apple- Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. * [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) * [Apple - Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. * [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. * [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) -* [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. :large_orange_diamond: -* [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. :large_orange_diamond: +* [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. +* [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. * [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) * [Udacity - Intro to iOS App Development with Swift](https://br.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) @@ -225,61 +223,61 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. * [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. * [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. -* [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks :large_orange_diamond: -* [Compass](https://github.com/hyperoslo/Compass) - :earth_africa: Compass helps you setup a central navigation system for your application :large_orange_diamond: -* [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. :large_orange_diamond: -* [URLNavigator](https://github.com/devxoul/URLNavigator) - ⛵️ Elegant URL Routing for Swift :large_orange_diamond: -* [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. :large_orange_diamond: -* [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 :large_orange_diamond: -* [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. :large_orange_diamond: +* [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks +* [Compass](https://github.com/hyperoslo/Compass) - :earth_africa: Compass helps you setup a central navigation system for your application +* [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. +* [URLNavigator](https://github.com/devxoul/URLNavigator) - ⛵️ Elegant URL Routing for Swift +* [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. +* [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 +* [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. * [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. -* [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. :large_orange_diamond: +* [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS -* [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager with or without client-server :large_orange_diamond: -* [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! :large_orange_diamond: -* [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. :large_orange_diamond: -* [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. :large_orange_diamond: -* [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text :large_orange_diamond: -* [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS :large_orange_diamond: -* [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. :large_orange_diamond: -* [TvOSPinKeyboard](https://github.com/zattoo/TvOSPinKeyboard) - PIN keyboard for tvOS :large_orange_diamond: -* [TvOSScribble](https://github.com/dcordero/TvOSScribble) - Handwriting numbers recognizer for Siri Remote :large_orange_diamond: -* [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS :large_orange_diamond: +* [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager with or without client-server +* [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! +* [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. +* [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. +* [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text +* [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS +* [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. +* [TvOSPinKeyboard](https://github.com/zattoo/TvOSPinKeyboard) - PIN keyboard for tvOS +* [TvOSScribble](https://github.com/dcordero/TvOSScribble) - Handwriting numbers recognizer for Siri Remote +* [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS ## Architecture Patterns -* [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. :large_orange_diamond: -* [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. :large_orange_diamond: -* [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. :large_orange_diamond: -* [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS :large_orange_diamond: -* [YARCH](https://github.com/alfa-laboratory/YARCH-Examples) - More clean alternative to VIPER with unidirectional data flow (flux-like). :large_orange_diamond: +* [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. +* [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. +* [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. +* [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS +* [YARCH](https://github.com/alfa-laboratory/YARCH-Examples) - More clean alternative to VIPER with unidirectional data flow (flux-like). ## ARKit -* [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. :large_orange_diamond: +* [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. * [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. -* [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆. :large_orange_diamond: -* [ARKitEnvironmentMapper](https://github.com/svtek/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. :large_orange_diamond: +* [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆. +* [ARKitEnvironmentMapper](https://github.com/svtek/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. ## Authentication -* [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. :large_orange_diamond: -* [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. :large_orange_diamond: -* [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. :large_orange_diamond: -* [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for macOS and iOS, written in Swift. :large_orange_diamond: -* [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS :large_orange_diamond: +* [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. +* [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. +* [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. +* [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for macOS and iOS, written in Swift. +* [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS * [SimpleAuth](https://github.com/calebd/SimpleAuth) - Simple social authentication for iOS. -* [AlamofireOauth2](https://github.com/evermeer/AlamofireOauth2) - A swift implementation of OAuth2 :large_orange_diamond: -* [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers :large_orange_diamond: -* [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and macOS apps. :large_orange_diamond: -* [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. :large_orange_diamond: +* [AlamofireOauth2](https://github.com/evermeer/AlamofireOauth2) - A swift implementation of OAuth2 +* [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers +* [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and macOS apps. +* [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. * [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. * [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. * [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. -* [InstagramLogin](https://github.com/AnderGoig/InstagramLogin) - A simple way to authenticate Instagram accounts on iOS. :large_orange_diamond: -* [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - [In]visible ReCaptcha for iOS. :large_orange_diamond: -* [LinkedInSignIn](https://github.com/serhii-londar/LinkedInSignIn) - Simple view controller to login and retrieve access token from LinkedIn. :large_orange_diamond: +* [InstagramLogin](https://github.com/AnderGoig/InstagramLogin) - A simple way to authenticate Instagram accounts on iOS. +* [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - [In]visible ReCaptcha for iOS. +* [LinkedInSignIn](https://github.com/serhii-londar/LinkedInSignIn) - Simple view controller to login and retrieve access token from LinkedIn. ## Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. @@ -288,24 +286,24 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS ## Cache -* [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) :large_orange_diamond: -* [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content :large_orange_diamond: -* [Carlos](https://github.com/WeltN24/Carlos) - A simple but flexible cache :large_orange_diamond: -* [HanekeSwift](https://github.com/Haneke/HanekeSwift) - A lightweight generic cache for iOS written in Swift with extra love for images. :large_orange_diamond: +* [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) +* [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content +* [Carlos](https://github.com/WeltN24/Carlos) - A simple but flexible cache +* [HanekeSwift](https://github.com/Haneke/HanekeSwift) - A lightweight generic cache for iOS written in Swift with extra love for images. * [YYCache](https://github.com/ibireme/YYCache) - High performance cache framework for iOS. -* [Cache](https://github.com/hyperoslo/Cache) - Nothing but Cache. :large_orange_diamond: +* [Cache](https://github.com/hyperoslo/Cache) - Nothing but Cache. * [MGCacheManager](https://github.com/Mortgy/MGCacheManager) - A delightful iOS Networking Cache Managing Class. * [SPTPersistentCache](https://github.com/spotify/SPTPersistentCache) - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify -* [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. :large_orange_diamond: +* [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. * [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cell cache that cures scroll-lags on a cell instantiating. -* [RocketData](https://github.com/linkedin/RocketData) - A caching and consistency solution for immutable models. :large_orange_diamond: +* [RocketData](https://github.com/linkedin/RocketData) - A caching and consistency solution for immutable models. * [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS -* [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift :large_orange_diamond: -* [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. 🔶 -* [Cachyr](https://github.com/YR/Cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift :large_orange_diamond: +* [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift +* [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. +* [Cachyr](https://github.com/YR/Cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift ## Charts -* [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). :large_orange_diamond: +* [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). * [JTChartView](https://github.com/kubatruhlar/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. * [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS * [XJYChart](https://github.com/JunyiXie/XJYChart) - A Beautiful chart for iOS. Support animation, click, slide, area highlight. @@ -318,23 +316,23 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [chartee](https://github.com/zhiyu/chartee) - a charting library for mobile platforms. * [ANDLineChartView](https://github.com/anaglik/ANDLineChartView) - ANDLineChartView is easy to use view-based class for displaying animated line chart. * [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. -* [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. :large_orange_diamond: -* [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. :large_orange_diamond: -* [Scrollable-GraphView](https://github.com/philackm/ScrollableGraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. :large_orange_diamond: +* [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. +* [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. +* [Scrollable-GraphView](https://github.com/philackm/ScrollableGraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. * [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. -* [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generator for iOS. :large_orange_diamond: +* [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generator for iOS. * [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS! * [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. -* [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift :large_orange_diamond: -* [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantastically fast and fully customizable. Amazing animations available with MagicPie!!1 :large_orange_diamond: 🎉 ✨✨✨✨✨ -* [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. :large_orange_diamond: -* [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. :large_orange_diamond: -* [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. :large_orange_diamond: +* [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift +* [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantastically fast and fully customizable. Amazing animations available with MagicPie!!1 🎉 ✨✨✨✨✨ +* [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. +* [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. +* [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. * [core-plot](https://github.com/core-plot/core-plot) - a 2D plotting lib which is highly customizable and capable of drawing many types of plots. * [ChartProgressBar](https://github.com/hadiidbouk/ChartProgressBar-iOS) - Draw a chart with progress bar style. * [SMDiagramViewSwift](https://github.com/VRGsoftUA/SMDiagramView) - Meet cute and very flexibility library for iOS application for different data view in one circle diagram. -* [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. :large_orange_diamond: -* [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. :large_orange_diamond: +* [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. +* [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. ## Code Quality @@ -345,8 +343,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [spacecommander](https://github.com/square/spacecommander) - Commit fully-formatted Objective-C code as a team without even trying. * [DWURecyclingAlert](https://github.com/diwu/DWURecyclingAlert) - Optimizing UITableViewCell For Fast Scrolling. * [Tailor](https://github.com/sleekbyte/tailor) - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs. -* [SwiftCop](https://github.com/andresinaka/SwiftCop) - SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations. :large_orange_diamond: -* [Trackable](https://github.com/VojtaStavik/Trackable) - Trackable is a simple analytics integration helper library. It’s especially designed for easy and comfortable integration with existing projects. :large_orange_diamond: +* [SwiftCop](https://github.com/andresinaka/SwiftCop) - SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations. +* [Trackable](https://github.com/VojtaStavik/Trackable) - Trackable is a simple analytics integration helper library. It’s especially designed for easy and comfortable integration with existing projects. * [MLeaksFinder](https://github.com/Tencent/MLeaksFinder) - Find memory leaks in your iOS app at develop time. * [HeapInspector-for-iOS](https://github.com/tapwork/HeapInspector-for-iOS) - Find memory issues & leaks in your iOS app without instruments * [FBMemoryProfiler](https://github.com/facebook/FBMemoryProfiler) - iOS tool that helps with profiling iOS Memory usage. @@ -355,66 +353,66 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Warnings-xcconfig](https://github.com/boredzo/Warnings-xcconfig) - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets. * [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. * [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. -* [GlueKit](https://github.com/attaswift/GlueKit) - A type-safe observer framework for Swift. :large_orange_diamond: -* [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. :large_orange_diamond: +* [GlueKit](https://github.com/attaswift/GlueKit) - A type-safe observer framework for Swift. +* [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. * [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. * [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. -* [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. :large_orange_diamond: -* [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. :large_orange_diamond: -* [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. :large_orange_diamond: +* [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. +* [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. +* [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. * [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. * [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. #### Linter * [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. -* [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. :large_orange_diamond: -* [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. :large_orange_diamond: +* [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. +* [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. ## Color -* [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). :large_orange_diamond: +* [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). * [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. -* [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. :large_orange_diamond:[e] -* [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. :large_orange_diamond:[e] +* [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. [e] +* [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. [e] * [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier. -* [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. :large_orange_diamond: +* [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. * [Hue](https://github.com/hyperoslo/Hue) - Hue is the all-in-one coloring utility that you'll ever need. -* [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. :large_orange_diamond: -* [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. :large_orange_diamond: -* [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. :large_orange_diamond: -* [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) :large_orange_diamond: +* [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. +* [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. +* [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. +* [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) * [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes -* [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/publications/standards/Ecma-048.htm). :large_orange_diamond: -* [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). :large_orange_diamond: -* [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. :large_orange_diamond: -* [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. :large_orange_diamond: -* [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. :large_orange_diamond: -* [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. :large_orange_diamond: -* [Lorikeet](https://github.com/valdirunars/Lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation. :large_orange_diamond: +* [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/publications/standards/Ecma-048.htm). +* [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). +* [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. +* [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. +* [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. +* [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. +* [Lorikeet](https://github.com/valdirunars/Lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation. ## Command Line -* [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. :large_orange_diamond: -* [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces :large_orange_diamond: -* [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift :large_orange_diamond: -* [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. :large_orange_diamond: -* [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift :large_orange_diamond: -* [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts :large_orange_diamond: -* [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. :large_orange_diamond: +* [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. +* [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces +* [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift +* [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. +* [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift +* [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts +* [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. ## Concurrency -* [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift :large_orange_diamond: -* [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives :large_orange_diamond: -* [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift :large_orange_diamond: -* [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. :large_orange_diamond: +* [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift +* [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives +* [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift +* [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. * [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. -* [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. :large_orange_diamond: -* [NSLock+Synchronized](https://github.com/Jon-Schneider/NSLock-Synchronized) - Do you miss @synchronized in Swift? NSLock+Synchronized gives you back @synchronized in Swift via a global function and NSLock class and instance methods, conveniently usable via CocoaPods and Carthage Framework. :large_orange_diamond:[e] -* [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. :large_orange_diamond: -* [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. :large_orange_diamond: -* [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift :large_orange_diamond: -* [Flow-iOS](https://github.com/roytornado/Flow-iOS) - Make your logic flow and data flow clean and human readable :large_orange_diamond: -* [Queuer](https://github.com/FabrizioBrancati/Queuer) - A queue manager, built on top of OperationQueue and Dispatch (aka GCD). :large_orange_diamond: -* [SwiftQueue](https://github.com/lucas34/SwiftQueue) - Job Scheduler with Concurrent run, failure/retry, persistence, repeat, delay and more. :large_orange_diamond: -* [GroupWork](https://github.com/quanvo87/GroupWork) - Easy concurrent, asynchronous tasks in Swift. :large_orange_diamond: +* [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. +* [NSLock+Synchronized](https://github.com/Jon-Schneider/NSLock-Synchronized) - Do you miss @synchronized in Swift? NSLock+Synchronized gives you back @synchronized in Swift via a global function and NSLock class and instance methods, conveniently usable via CocoaPods and Carthage Framework. [e] +* [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. +* [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. +* [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift +* [Flow-iOS](https://github.com/roytornado/Flow-iOS) - Make your logic flow and data flow clean and human readable +* [Queuer](https://github.com/FabrizioBrancati/Queuer) - A queue manager, built on top of OperationQueue and Dispatch (aka GCD). +* [SwiftQueue](https://github.com/lucas34/SwiftQueue) - Job Scheduler with Concurrent run, failure/retry, persistence, repeat, delay and more. +* [GroupWork](https://github.com/quanvo87/GroupWork) - Easy concurrent, asynchronous tasks in Swift. ## Core Data * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. @@ -427,23 +425,23 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [HardCoreData](https://github.com/Krivoblotsky/HardCoreData) - CoreData stack and controller that will never block UI thread. * [encrypted-core-data](https://github.com/project-imas/encrypted-core-data) - Core Data encrypted SQLite store using SQLCipher. * [MagicalRecord](https://github.com/magicalpanda/MagicalRecord) - Super Awesome Easy Fetching for Core Data. -* [QueryKit](https://github.com/QueryKit/QueryKit) - A simple type-safe Core Data query language. :large_orange_diamond: -* [CoreStore](https://github.com/JohnEstropia/CoreStore) - Powerful Core Data framework for Incremental Migrations, Fetching, Observering, etc. :large_orange_diamond: -* [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. :large_orange_diamond: -* [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. :large_orange_diamond: -* [CoreDataDandy](https://github.com/fuzz-productions/CoreDataDandy) - A feature-light wrapper around Core Data that simplifies common database operations. :large_orange_diamond: -* [Sync](https://github.com/3lvis/Sync) - :arrows_counterclockwise: Modern Swift JSON synchronization to Core Data :large_orange_diamond: -* [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. :large_orange_diamond: -* [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. :large_orange_diamond: -* [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack :large_orange_diamond: -* [JSQCoreDataKit](https://github.com/jessesquires/JSQCoreDataKit) - A swifter Core Data stack :large_orange_diamond: -* [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. :large_orange_diamond: -* [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. :large_orange_diamond: -* [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. :large_orange_diamond: -* [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. :large_orange_diamond: +* [QueryKit](https://github.com/QueryKit/QueryKit) - A simple type-safe Core Data query language. +* [CoreStore](https://github.com/JohnEstropia/CoreStore) - Powerful Core Data framework for Incremental Migrations, Fetching, Observering, etc. +* [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. +* [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. +* [CoreDataDandy](https://github.com/fuzz-productions/CoreDataDandy) - A feature-light wrapper around Core Data that simplifies common database operations. +* [Sync](https://github.com/3lvis/Sync) - :arrows_counterclockwise: Modern Swift JSON synchronization to Core Data +* [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. +* [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. +* [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack +* [JSQCoreDataKit](https://github.com/jessesquires/JSQCoreDataKit) - A swifter Core Data stack +* [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. +* [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. +* [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. +* [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. * [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. -* [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. :large_orange_diamond: -* [Records](https://github.com/rob-nash/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. :large_orange_diamond: +* [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. +* [Records](https://github.com/rob-nash/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. ## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. @@ -451,228 +449,228 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Couchbase Mobile](https://developer.couchbase.com/mobile/) - Couchbase document store for mobile with cloud sync. * [FMDB](https://github.com/ccgus/fmdb) - A Cocoa / Objective-C wrapper around SQLite. * [FCModel](https://github.com/marcoarment/FCModel) - An alternative to Core Data for people who like having direct SQL access. -* [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly synchronize NSUserDefaults over iCloud. :large_orange_diamond: -* [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. :large_orange_diamond: -* [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). :large_orange_diamond: -* [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. :large_orange_diamond: -* [SugarRecord](https://github.com/carambalabs/SugarRecord) - Data persistence management library written in Swift 2.0 :large_orange_diamond: -* [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. :large_orange_diamond: -* [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support :large_orange_diamond: -* [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. :large_orange_diamond: +* [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly synchronize NSUserDefaults over iCloud. +* [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. +* [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). +* [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. +* [SugarRecord](https://github.com/carambalabs/SugarRecord) - Data persistence management library written in Swift 2.0 +* [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. +* [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support +* [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. * [ParseAlternatives](https://github.com/relatedcode/ParseAlternatives) - A collaborative list of Parse alternative backend service providers. -* [TypedDefaults](https://github.com/tasanobu/TypedDefaults) - TypedDefaults is a utility library to type-safely use NSUserDefaults. :large_orange_diamond: -* [realm-cocoa-converter](https://github.com/realm/realm-cocoa-converter) - A library that provides the ability to import/export Realm files from a variety of data container formats. :large_orange_diamond: -* [YapDatabaseExtensions](https://github.com/danthorpe/YapDatabaseExtensions) - YapDatabase extensions for use with Swift :large_orange_diamond: -* [RealmGeoQueries](https://github.com/mhergon/RealmGeoQueries) - RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do proximity search. :large_orange_diamond:[e] -* [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift :large_orange_diamond: +* [TypedDefaults](https://github.com/tasanobu/TypedDefaults) - TypedDefaults is a utility library to type-safely use NSUserDefaults. +* [realm-cocoa-converter](https://github.com/realm/realm-cocoa-converter) - A library that provides the ability to import/export Realm files from a variety of data container formats. +* [YapDatabaseExtensions](https://github.com/danthorpe/YapDatabaseExtensions) - YapDatabase extensions for use with Swift +* [RealmGeoQueries](https://github.com/mhergon/RealmGeoQueries) - RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do proximity search. [e] +* [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift * [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. * [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. -* [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB :large_orange_diamond: -* [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. :large_orange_diamond: +* [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB +* [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. * [MongoDB](https://github.com/PerfectlySoft/Perfect-MongoDB) - A Swift wrapper around the mongo-c client library, enabling access to MongoDB servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [SQLite](https://github.com/PerfectlySoft/Perfect-SQLite) - A Swift wrapper around the SQLite 3 client library, enabling access to SQLite servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [MySQL](https://github.com/PerfectlySoft/Perfect-MySQL) - A Swift wrapper around the MySQL client library, enabling access to MySQL servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [Redis](https://github.com/PerfectlySoft/Perfect-Redis) - A Swift wrapper around the Redis client library, enabling access to Redis. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [PostgreSQL](https://github.com/PerfectlySoft/Perfect-PostgreSQL) - A Swift wrapper around the libpq client library, enabling access to PostgreSQL servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [FileMaker](https://github.com/PerfectlySoft/Perfect-FileMaker) - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. -* [Nora](https://github.com/SD10/Nora) - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage. :large_orange_diamond: -* [PersistentStorageSerializable](https://github.com/IvanRublev/PersistentStorageSerializable) - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. :large_orange_diamond: +* [Nora](https://github.com/SD10/Nora) - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage. +* [PersistentStorageSerializable](https://github.com/IvanRublev/PersistentStorageSerializable) - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. * [WCDB](https://github.com/Tencent/wcdb) - WCDB is an efficient, complete, easy-to-use mobile database framework for iOS, macOS. * [StorageKit](https://github.com/StorageKit/StorageKit) - Your Data Storage Troubleshooter 🛠 -* [UserDefaults](https://github.com/nmdias/DefaultsKit) - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS :large_orange_diamond: -* [Default](https://github.com/Nirma/Default) - Modern interface to UserDefaults + Codable support :large_orange_diamond: -* [IceCream](https://github.com/caiyue1993/IceCream) - Sync Realm Database with CloudKit :large_orange_diamond: +* [UserDefaults](https://github.com/nmdias/DefaultsKit) - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS +* [Default](https://github.com/Nirma/Default) - Modern interface to UserDefaults + Codable support +* [IceCream](https://github.com/caiyue1993/IceCream) - Sync Realm Database with CloudKit * [FirebaseHelper](https://github.com/quanvo87/FirebaseHelper) - Safe and easy wrappers for common Firebase Realtime Database functions. ## Data Structures / Algorithms -* [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift :large_orange_diamond: -* [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another :large_orange_diamond: -* [BTree](https://github.com/attaswift/BTree) - Fast ordered collections for Swift using in-memory B-trees :large_orange_diamond: -* [SwiftStructures](https://github.com/waynewbishop/SwiftStructures) - Examples of commonly used data structures and algorithms in Swift. :large_orange_diamond: -* [diff](https://github.com/soffes/diff) - Simple diff library in pure Swift :large_orange_diamond: -* [Brick](https://github.com/hyperoslo/Brick) - :droplet: A generic view model for both basic and complex scenarios :large_orange_diamond: -* [Algorithm](https://github.com/CosmicMind/Algorithm) - Algorithm is a collection of data structures that are empowered by a probability toolset. :large_orange_diamond: -* [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. :large_orange_diamond: -* [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript https://www.dollarswift.org/. :large_orange_diamond: -* [Result](https://github.com/antitypical/Result) - Swift type modeling the success/failure of arbitrary operations. :large_orange_diamond: +* [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift +* [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another +* [BTree](https://github.com/attaswift/BTree) - Fast ordered collections for Swift using in-memory B-trees +* [SwiftStructures](https://github.com/waynewbishop/SwiftStructures) - Examples of commonly used data structures and algorithms in Swift. +* [diff](https://github.com/soffes/diff) - Simple diff library in pure Swift +* [Brick](https://github.com/hyperoslo/Brick) - :droplet: A generic view model for both basic and complex scenarios +* [Algorithm](https://github.com/CosmicMind/Algorithm) - Algorithm is a collection of data structures that are empowered by a probability toolset. +* [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. +* [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript https://www.dollarswift.org/. +* [Result](https://github.com/antitypical/Result) - Swift type modeling the success/failure of arbitrary operations. * [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. * [Monaka](https://github.com/naru-jpn/Monaka) - Convert custom struct and fundamental values to NSData. -* [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. :large_orange_diamond: -* [SwiftGraph](https://github.com/davecom/SwiftGraph) - Graph data structure and utility functions in pure Swift. :large_orange_diamond: -* [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. :large_orange_diamond: -* [Pencil](https://github.com/naru-jpn/pencil) - Write values to file and read it more easily. :large_orange_diamond: -* [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. :large_orange_diamond: -* [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. :large_orange_diamond: -* [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! :large_orange_diamond: -* [Impeller](https://github.com/mentalfaculty/impeller) - A Distributed Value Store in Swift :large_orange_diamond: -* [Dispatch](https://github.com/alexdrone/Dispatch) - Multi-store Flux implementation in Swift :large_orange_diamond: -* [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift :large_orange_diamond: -* [BinaryKit](https://github.com/Cosmo/BinaryKit) - Access bits and bytes directly in Swift. :large_orange_diamond: +* [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. +* [SwiftGraph](https://github.com/davecom/SwiftGraph) - Graph data structure and utility functions in pure Swift. +* [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. +* [Pencil](https://github.com/naru-jpn/pencil) - Write values to file and read it more easily. +* [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. +* [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. +* [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! +* [Impeller](https://github.com/mentalfaculty/impeller) - A Distributed Value Store in Swift +* [Dispatch](https://github.com/alexdrone/Dispatch) - Multi-store Flux implementation in Swift +* [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift +* [BinaryKit](https://github.com/Cosmo/BinaryKit) - Access bits and bytes directly in Swift. ## Date & Time -* [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions in Swift :large_orange_diamond: -* [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 :large_orange_diamond: -* [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 :large_orange_diamond: +* [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions in Swift +* [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 +* [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 * [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C -* [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer :large_orange_diamond: -* [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift :large_orange_diamond: +* [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer +* [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift * [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. -* [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. :large_orange_diamond: -* [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift :large_orange_diamond: -* [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . :large_orange_diamond: -* [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. :large_orange_diamond: +* [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. +* [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift +* [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . +* [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. * [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. -* [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. :large_orange_diamond: -* [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. :large_orange_diamond: -* [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. :large_orange_diamond:[e] -* [Chronology](https://github.com/davedelong/Chronology) - Building a better date/time library :large_orange_diamond: +* [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. +* [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. +* [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. [e] +* [Chronology](https://github.com/davedelong/Chronology) - Building a better date/time library ## Debugging -* [Xniffer](https://github.com/vsouza/awesome-ios/issues/1841) - A swift network profiler built on top of URLSession. 🔶 -* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! :large_orange_diamond: +* [Xniffer](https://github.com/vsouza/awesome-ios/issues/1841) - A swift network profiler built on top of URLSession. +* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! * [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. * [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. * [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. * [chisel](https://github.com/facebook/chisel) - Collection of LLDB commands to assist debugging iOS apps. * [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. -* [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. :large_orange_diamond: -* [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. :large_orange_diamond: +* [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. +* [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. * [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. * [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. * [Hyperion](https://github.com/willowtreeapps/Hyperion-iOS) - In-app design review tool to inspect measurements, attributes, and animations. -* [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. :large_orange_diamond: +* [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. ## EventBus -* [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. :large_orange_diamond: +* [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. * [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and macOS. * [Bolts](https://github.com/BoltsFramework/Bolts-ObjC) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links). -* [SwiftTask](https://github.com/ReactKit/SwiftTask) - Promise + progress + pause + cancel + retry for Swift. :large_orange_diamond: -* [When](https://github.com/vadymmarkov/When) - A lightweight implementation of Promises in Swift. :large_orange_diamond: -* [then🎬](https://github.com/freshOS/then) - Elegant Async code in Swift. :large_orange_diamond: -* [Bolts-Swift](https://github.com/BoltsFramework/Bolts-Swift) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier. :large_orange_diamond: +* [SwiftTask](https://github.com/ReactKit/SwiftTask) - Promise + progress + pause + cancel + retry for Swift. +* [When](https://github.com/vadymmarkov/When) - A lightweight implementation of Promises in Swift. +* [then🎬](https://github.com/freshOS/then) - Elegant Async code in Swift. +* [Bolts-Swift](https://github.com/BoltsFramework/Bolts-Swift) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier. * [RWPromiseKit](https://github.com/deput/RWPromiseKit) - A light-weighted Promise library for Objective-C -* [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. :large_orange_diamond: -* [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety :large_orange_diamond: -* [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for iOS and macOS. :large_orange_diamond: +* [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. +* [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety +* [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for iOS and macOS. * [signals-ios](https://github.com/uber/signals-ios) - Typeful eventing -* [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. :large_orange_diamond: -* [NoticeObserveKit](https://github.com/marty-suzuki/NoticeObserveKit) - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. :large_orange_diamond: -* [Hydra](https://github.com/malcommac/Hydra) - Promises & Await - Write better async code in Swift :large_orange_diamond: -* [Promis](https://github.com/albertodebortoli/Promis) - The easiest Future and Promises framework in Swift. No magic. No boilerplate. :large_orange_diamond: -* [Bluebird.swift](https://github.com/AndrewBarba/Bluebird.swift) - Promise/A+, Bluebird inspired, implementation in Swift 4. :large_orange_diamond: +* [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. +* [NoticeObserveKit](https://github.com/marty-suzuki/NoticeObserveKit) - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. +* [Hydra](https://github.com/malcommac/Hydra) - Promises & Await - Write better async code in Swift +* [Promis](https://github.com/albertodebortoli/Promis) - The easiest Future and Promises framework in Swift. No magic. No boilerplate. +* [Bluebird.swift](https://github.com/AndrewBarba/Bluebird.swift) - Promise/A+, Bluebird inspired, implementation in Swift 4. ## Files -* [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. :large_orange_diamond: -* [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. :large_orange_diamond: -* [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. :large_orange_diamond: -* [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices :large_orange_diamond: -* [FileProvider](https://github.com/amosavian/FileProvider) - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS. :large_orange_diamond: -* [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. :large_orange_diamond: +* [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. +* [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. +* [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. +* [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices +* [FileProvider](https://github.com/amosavian/FileProvider) - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS. +* [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. * [ZipArchive](https://github.com/ZipArchive/ZipArchive) - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac. -* [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. :large_orange_diamond: -* [ZIPFoundation](https://github.com/weichsel/ZIPFoundation) - Effortless ZIP Handling in Swift :large_orange_diamond: -* [AppFolder](https://github.com/dreymonde/AppFolder) - AppFolder is a lightweight framework that lets you design a friendly, strongly-typed representation of a directories inside your app's container. :large_orange_diamond: +* [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. +* [ZIPFoundation](https://github.com/weichsel/ZIPFoundation) - Effortless ZIP Handling in Swift +* [AppFolder](https://github.com/dreymonde/AppFolder) - AppFolder is a lightweight framework that lets you design a friendly, strongly-typed representation of a directories inside your app's container. ## Functional Programming -* [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. :large_orange_diamond: -* [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. :large_orange_diamond: -* [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. :large_orange_diamond: -* [Oriole](https://github.com/tptee/Oriole) - A functional utility belt implemented as Swift 2.0 protocol extensions. :large_orange_diamond:[e] -* [Prelude](https://github.com/robrix/Prelude) - Swift µframework of simple functional programming tools. :large_orange_diamond: -* [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. :large_orange_diamond: -* [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. :large_orange_diamond: -* [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. :large_orange_diamond:[e] -* [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. :large_orange_diamond: -* [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift :large_orange_diamond: -* [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. :large_orange_diamond: -* [ifAction](https://github.com/trilliwon/ifAction) - Custom if for Optional and Boolean :large_orange_diamond: [e] +* [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. +* [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. +* [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. +* [Oriole](https://github.com/tptee/Oriole) - A functional utility belt implemented as Swift 2.0 protocol extensions. [e] +* [Prelude](https://github.com/robrix/Prelude) - Swift µframework of simple functional programming tools. +* [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. +* [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. +* [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. [e] +* [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. +* [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift +* [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. +* [ifAction](https://github.com/trilliwon/ifAction) - Custom if for Optional and Boolean [e] ## Games -* [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. :large_orange_diamond: -* [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. :large_orange_diamond: -* [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit :large_orange_diamond: -* [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit :large_orange_diamond: +* [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. +* [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. +* [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit +* [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit ## GCD - * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. :large_orange_diamond: - * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch :large_orange_diamond: - * [SwiftSafe](https://github.com/nodes-ios/SwiftSafe) - Thread synchronization made easy :large_orange_diamond: + * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. + * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch + * [SwiftSafe](https://github.com/nodes-ios/SwiftSafe) - Thread synchronization made easy * [YYDispatchQueuePool](https://github.com/ibireme/YYDispatchQueuePool) - iOS utility class to manage global dispatch queue. - * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. :large_orange_diamond: - * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) :large_orange_diamond: + * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. + * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. - * [Dispatch](https://github.com/JARMourato/Dispatch) - Just a tiny library to make using GCD easier and intuitive :large_orange_diamond: - * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. :large_orange_diamond: - * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities :large_orange_diamond: - * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. :large_orange_diamond: - * [SwiftyTask](https://github.com/CR-Creations/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. :large_orange_diamond: + * [Dispatch](https://github.com/JARMourato/Dispatch) - Just a tiny library to make using GCD easier and intuitive + * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. + * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities + * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. + * [SwiftyTask](https://github.com/CR-Creations/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. ## Gesture -* [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS :large_orange_diamond: -* [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds :large_orange_diamond: -* [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] :large_orange_diamond: -* [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. :large_orange_diamond: -* [SplitViewDragAndDrop](https://github.com/MarioIannotta/SplitViewDragAndDrop) - Easily add drag and drop to pass data between your apps in split view mode. :large_orange_diamond: +* [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS +* [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds +* [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] +* [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. +* [SplitViewDragAndDrop](https://github.com/MarioIannotta/SplitViewDragAndDrop) - Easily add drag and drop to pass data between your apps in split view mode. * [FDFullscreenPopGesture](https://github.com/forkingdog/FDFullscreenPopGesture) - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP. ## Graphics -* [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! :large_orange_diamond: +* [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! * [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. * [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext -* [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! :large_orange_diamond: -* [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). :large_orange_diamond: -* [InkKit](https://github.com/shaps80/InkKit) - Write-Once, Draw-Everywhere for iOS and macOS -- Now in Swift! :large_orange_diamond: +* [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! +* [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). +* [InkKit](https://github.com/shaps80/InkKit) - Write-Once, Draw-Everywhere for iOS and macOS -- Now in Swift! * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. -* [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone :large_orange_diamond: +* [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone * [jot](https://github.com/IFTTT/jot) - An iOS framework for easily adding drawings and text to images. * [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / macOS, using native rendering (CoreAnimation) (currently only supported for iOS - macOS code needs updating). -* [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. :large_orange_diamond: +* [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. * [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit -* [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX :large_orange_diamond: +* [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX ## Hardware #### Bluetooth * [Discovery](https://github.com/omergul/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). * [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. -* [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. :large_orange_diamond: -* [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/macOS devices using BLE. :large_orange_diamond: -* [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift :large_orange_diamond: -* [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework :large_orange_diamond: -* [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. :large_orange_diamond: -* [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U :large_orange_diamond: -* [Bluejay](https://github.com/steamclock/bluejay) - A simple Swift framework for building reliable Bluetooth LE apps. :large_orange_diamond: +* [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. +* [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/macOS devices using BLE. +* [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift +* [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework +* [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. +* [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U +* [Bluejay](https://github.com/steamclock/bluejay) - A simple Swift framework for building reliable Bluetooth LE apps. * [BabyBluetooth](https://github.com/coolnameismy/BabyBluetooth) - The easiest way to use Bluetooth (BLE) in iOS/MacOS. * [ExtendaBLE](https://github.com/AntonTheDev/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](https://github.com/rchatham/PeerConnectivity) - Functional wrapper for Apple's MultipeerConnectivity framework. :large_orange_diamond: +* [PeerConnectivity](https://github.com/rchatham/PeerConnectivity) - Functional wrapper for Apple's MultipeerConnectivity framework. #### Camera * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. * [PBJVision](https://github.com/piemonte/PBJVision) - iOS camera engine, features touch-to-record video, slow motion video, and photo capture. * [Cool-iOS-Camera](https://github.com/GabrielAlva/Cool-iOS-Camera) - A fully customisable and modern camera implementation for iOS made with AVFoundation. * [SCRecorder](https://github.com/rFlex/SCRecorder) - Camera engine with Vine-like tap to record, animatable filters, slow motion, segments editing. -* [ALCameraViewController](https://github.com/AlexLittlejohn/ALCameraViewController) - A camera view controller with custom image picker and image cropping. Written in Swift. :large_orange_diamond: -* [ImagePicker](https://github.com/hyperoslo/ImagePicker) - Reinventing the way ImagePicker works. :large_orange_diamond: -* [CameraManager](https://github.com/imaginary-cloud/CameraManager) - Simple Swift class to provide all the configurations you need to create custom camera view in your app. :large_orange_diamond: -* [RSBarcodes_Swift](https://github.com/yeahdongcn/RSBarcodes_Swift) - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. :large_orange_diamond: +* [ALCameraViewController](https://github.com/AlexLittlejohn/ALCameraViewController) - A camera view controller with custom image picker and image cropping. Written in Swift. +* [ImagePicker](https://github.com/hyperoslo/ImagePicker) - Reinventing the way ImagePicker works. +* [CameraManager](https://github.com/imaginary-cloud/CameraManager) - Simple Swift class to provide all the configurations you need to create custom camera view in your app. +* [RSBarcodes_Swift](https://github.com/yeahdongcn/RSBarcodes_Swift) - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. * [LLSimpleCamera](https://github.com/omergul/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. -* [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. :large_orange_diamond: -* [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. :large_orange_diamond: +* [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. +* [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. * [JVTImageFilePicker](https://github.com/mcmatan/JVTImageFilePicker) - Easy and beautiful way for a user to pick content, files or images. Written in Objective C. * [HorizonSDK-iOS](https://github.com/HorizonCamera/HorizonSDK-iOS) - State of the art real-time video recording / photo shooting iOS library. * [FastttCamera](https://github.com/IFTTT/FastttCamera) - Fasttt and easy camera framework for iOS with customizable filters -* [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. 🔶 -* [NextLevel](https://github.com/NextLevel/NextLevel) - Next Level is a media capture camera library for iOS. :large_orange_diamond: -* [CameraEngine](https://github.com/remirobert/CameraEngine) - 🐒📷 Camera engine for iOS, written in Swift, above AVFoundation. 🐒 :large_orange_diamond: -* [SwiftyCam](https://github.com/Awalz/SwiftyCam) - A Snapchat Inspired iOS Camera Framework written in Swift. :large_orange_diamond: -* [CameraBackground](https://github.com/yonat/CameraBackground) - Show camera layer as a background to any UIView. :large_orange_diamond: +* [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. +* [NextLevel](https://github.com/NextLevel/NextLevel) - Next Level is a media capture camera library for iOS. +* [CameraEngine](https://github.com/remirobert/CameraEngine) - 🐒📷 Camera engine for iOS, written in Swift, above AVFoundation. 🐒 +* [SwiftyCam](https://github.com/Awalz/SwiftyCam) - A Snapchat Inspired iOS Camera Framework written in Swift. +* [CameraBackground](https://github.com/yonat/CameraBackground) - Show camera layer as a background to any UIView. * [Lumina](https://github.com/dokun1/Lumina) - Full service camera that takes photos, videos, streams frames, detects metadata, and streams CoreML predictions :largeorangediamond: * [RAImagePicker](https://github.com/rallahaseh/RAImagePicker) - RAImagePicker is a protocol-oriented framework that provides custom features from the built-in Image Picker Edit. #### Force Touch -* [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) :large_orange_diamond: -* [JustPeek](https://github.com/justeat/JustPeek) - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. :large_orange_diamond: -* [PeekView](https://github.com/itsmeichigo/PeekView) - PeekView supports peek, pop and preview actions for iOS devices without 3D Touch capibility. 🔶 +* [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) +* [JustPeek](https://github.com/justeat/JustPeek) - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. +* [PeekView](https://github.com/itsmeichigo/PeekView) - PeekView supports peek, pop and preview actions for iOS devices without 3D Touch capibility. #### iBeacon * [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. @@ -680,205 +678,205 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy Bluetooth devices in the background. * [BeaconEmitter](https://github.com/lgaches/BeaconEmitter) - Turn your Mac as an iBeacon. * [MOCA Proximity](https://mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. -* [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. 🔶 +* [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. #### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. * [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. -* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift :large_orange_diamond: +* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift * [SOMotionDetector](https://github.com/arturdev/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. -* [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app :large_orange_diamond: +* [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app * [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. -* [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. :large_orange_diamond: +* [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. #### Other Hardware * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. * [DarkLightning](https://github.com/jensmeder/DarkLightning) - Simply the fastest way to transmit data between iOS/tvOS and macOS. -* [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) 🔶 -* [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. :large_orange_diamond: -* [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. :large_orange_diamond: -* [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. :large_orange_diamond: -* [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. :large_orange_diamond: +* [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) +* [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. +* [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. +* [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. +* [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. * [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. ⌚️ -* [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. :large_orange_diamond: -* [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. :large_orange_diamond: -* [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. :large_orange_diamond: +* [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. +* [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. +* [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. ## Layout -* [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift :large_orange_diamond: +* [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift * [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. * [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. * [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. * [PureLayout](https://github.com/PureLayout/PureLayout) - The ultimate API for iOS & macOS Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible. -* [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & macOS. :large_orange_diamond: -* [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :iphone::triangular_ruler: :large_orange_diamond: -* [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. :large_orange_diamond: -* [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. :large_orange_diamond: -* [MisterFusion](https://github.com/marty-suzuki/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. :large_orange_diamond: -* [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. :large_orange_diamond: -* [ManualLayout](https://github.com/isair/ManualLayout) - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit. :large_orange_diamond:[e] -* [Stevia](https://github.com/freshOS/Stevia) - Elegant view layout for iOS. :large_orange_diamond: -* [Manuscript](https://github.com/floriankrueger/Manuscript) - AutoLayoutKit in pure Swift. :large_orange_diamond: +* [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & macOS. +* [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :iphone::triangular_ruler: +* [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. +* [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. +* [MisterFusion](https://github.com/marty-suzuki/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. +* [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. +* [ManualLayout](https://github.com/isair/ManualLayout) - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit. [e] +* [Stevia](https://github.com/freshOS/Stevia) - Elegant view layout for iOS. +* [Manuscript](https://github.com/floriankrueger/Manuscript) - AutoLayoutKit in pure Swift. * [FDTemplateLayoutCell](https://github.com/forkingdog/UITableView-FDTemplateLayoutCell) - Template auto layout cell for automatically UITableViewCell height calculating -* [SwiftAutoLayout](https://github.com/indragiek/SwiftAutoLayout) - Tiny Swift DSL for Autolayout :large_orange_diamond: -* [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. :large_orange_diamond: -* [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift :large_orange_diamond: -* [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy :large_orange_diamond: -* [SwiftBond](https://github.com/ReactiveKit/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. :large_orange_diamond: -* [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift :large_orange_diamond: -* [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - Auto Layout made easy :large_orange_diamond: -* [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! :large_orange_diamond: -* [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. :large_orange_diamond: -* [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS. :large_orange_diamond: +* [SwiftAutoLayout](https://github.com/indragiek/SwiftAutoLayout) - Tiny Swift DSL for Autolayout +* [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. +* [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift +* [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy +* [SwiftBond](https://github.com/ReactiveKit/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. +* [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift +* [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - Auto Layout made easy +* [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! +* [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. +* [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS. * [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications -* [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally :large_orange_diamond: -* [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. :large_orange_diamond: -* [Compose](https://github.com/GrupoZapVivaReal/Compose) - Compose is a library that helps you compose complex and dynamic views. :large_orange_diamond: -* [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. :large_orange_diamond: -* [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. :large_orange_diamond: -* [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. :large_orange_diamond: +* [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally +* [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. +* [Compose](https://github.com/GrupoZapVivaReal/Compose) - Compose is a library that helps you compose complex and dynamic views. +* [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. +* [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. +* [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. * [MyLinearLayout](https://github.com/youngsoft/MyLinearLayout) - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. -* [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. :large_orange_diamond: -* [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+ :large_orange_diamond: -* [PinLayout](https://github.com/mirego/PinLayout) - Extremely Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. 🔶 -* [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. 🔶[e] -* [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. :large_orange_diamond: -* [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. :large_orange_diamond: -* [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. :large_orange_diamond: -* [FlexLayout](https://github.com/layoutBox/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. 🔶 -* [Layout](https://github.com/schibsted/layout) - A declarative UI framework for iOS :large_orange_diamond: -* [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. 🔶 +* [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. +* [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+ +* [PinLayout](https://github.com/mirego/PinLayout) - Extremely Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. +* [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. [e] +* [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. +* [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. +* [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. +* [FlexLayout](https://github.com/layoutBox/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. +* [Layout](https://github.com/schibsted/layout) - A declarative UI framework for iOS +* [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. * [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. * [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. -* [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. 🔶 +* [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. -* [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. :large_orange_diamond: +* [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. * [Rubustrings](https://github.com/dcordero/Rubustrings) - Check the format and consistency of Localizable.strings files -* [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) - Incrementally update/translate your Strings files from Code and Storyboards/XIBs. :large_orange_diamond: +* [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) - Incrementally update/translate your Strings files from Code and Storyboards/XIBs. * [LocalizationKit](https://github.com/willpowell8/LocalizationKit_iOS) - Localization management in realtime from a web portal. Easily manage your texts and translations without redeploy and resubmission. -* [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching :large_orange_diamond: +* [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching * [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. * [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. * [lokalise](https://lokalise.co/en ) - Translation platform for software developers. Free for open source projects * [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. -* [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable :large_orange_diamond: +* [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable * [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings -* [L10n-swift](https://github.com/Decybel07/L10n-swift) - Localization of an application with ability to change language "on the fly" and support for plural forms in any language. :large_orange_diamond: +* [L10n-swift](https://github.com/Decybel07/L10n-swift) - Localization of an application with ability to change language "on the fly" and support for plural forms in any language. ## Logging -* [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. :large_orange_diamond: +* [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. * [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. * [NSLogger](https://github.com/fpillet/NSLogger) - a high performance logging utility which displays traces emitted by client applications running on macOS, iOS and Android. -* [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. :large_orange_diamond: -* [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. :large_orange_diamond: -* [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. :large_orange_diamond: -* [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development & release in Swift 2 & 3 :large_orange_diamond: -* [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. :large_orange_diamond: -* [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread :large_orange_diamond: -* [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. :large_orange_diamond: +* [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. +* [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. +* [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. +* [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development & release in Swift 2 & 3 +* [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. +* [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread +* [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. * [puree](https://github.com/cookpad/puree-ios) - A log collector for iOS -* [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! :large_orange_diamond:[e] -* [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. :large_orange_diamond: -* [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. :large_orange_diamond: -* [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. :large_orange_diamond: -* [Evergreen](https://github.com/nilsleiffischer/Evergreen) - Most natural Swift logging :large_orange_diamond: -* [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations :large_orange_diamond: -* [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. :large_orange_diamond: +* [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! [e] +* [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. +* [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. +* [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. +* [Evergreen](https://github.com/nilsleiffischer/Evergreen) - Most natural Swift logging +* [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations +* [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. * [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. * [LxDBAnything](https://github.com/DeveloperLx/LxDBAnything) - Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! * [XLTestLog](https://github.com/xareelee/XLTestLog) - Styling and coloring your XCTest logs on Xcode Console * [XLFacility](https://github.com/swisspol/XLFacility) - Elegant and extensive logging facility for macOS & iOS (includes database, Telnet and HTTP servers) -* [Atlantis](https://github.com/DrewKiino/Atlantis) - A powerful input-agnostic swift logging framework made to speed up development with maximum readability. :large_orange_diamond: +* [Atlantis](https://github.com/DrewKiino/Atlantis) - A powerful input-agnostic swift logging framework made to speed up development with maximum readability. * [StoryTeller](https://github.com/drekka/StoryTeller) - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important. * [LumberMill](https://github.com/ubclaunchpad/LumberMill) - Stupidly simple logging for iOS 10 and Swift 3.0 -* [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. Written in Swift 3. :large_orange_diamond: -* [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger for iOS, macOS, tvOS, watchOS and Linux with Swift 3. :large_orange_diamond: -* [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. :large_orange_diamond: +* [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. Written in Swift 3. +* [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger for iOS, macOS, tvOS, watchOS and Linux with Swift 3. +* [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. * [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. -* [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support :large_orange_diamond: +* [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support ## Machine Learning -* [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. :large_orange_diamond: -* [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. :large_orange_diamond: +* [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. +* [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. * [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios) - The official Google-built powerful neural network library port for iOS. * [Bender](https://github.com/xmartlabs/Bender) - Easily craft fast Neural Networks. Use TensorFlow models. Metal under the hood. * [Caffe2](https://github.com/caffe2/caffe2) - Lightweight, modular, and scalable deep learning framework. -* [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. :large_orange_diamond: -* [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. :large_orange_diamond: +* [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. +* [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. * [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of unique Core ML Models. -* [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. :large_orange_diamond: -* [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. :large_orange_diamond: +* [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. +* [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. * [NAMapKit](https://github.com/neilang/NAMapKit) - Allows you to use custom maps in iPhone applications and attempts to mimics some of the behaviour of the MapKit framework. * [Mapbox GL](https://github.com/mapbox/mapbox-gl-native) - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS. * [CMMapLauncher](https://github.com/citymapper/CMMapLauncher) - iOS library that makes it quick and easy to show directions in various mapping applications. -* [GEOSwift](https://github.com/GEOSwift/GEOSwift) - The Swift Geographic Engine. :large_orange_diamond: -* [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift :large_orange_diamond: -* [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. :large_orange_diamond: -* [JDSwiftHeatMap](https://github.com/jamesdouble/JDSwiftHeatMap) - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. :large_orange_diamond: +* [GEOSwift](https://github.com/GEOSwift/GEOSwift) - The Swift Geographic Engine. +* [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift +* [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. +* [JDSwiftHeatMap](https://github.com/jamesdouble/JDSwiftHeatMap) - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. * [ClusterKit](https://github.com/hulab/ClusterKit) - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. ## Math -* [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation :large_orange_diamond: -* [SwiftMath](https://github.com/madbat/SwiftMath) - :triangular_ruler: A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. :large_orange_diamond: -* [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations :large_orange_diamond: -* [Surge](https://github.com/mattt/Surge) - A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation. :large_orange_diamond: -* [Upsurge](https://github.com/aleph7/Upsurge) - Swift math :large_orange_diamond: -* [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. :large_orange_diamond: +* [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation +* [SwiftMath](https://github.com/madbat/SwiftMath) - :triangular_ruler: A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. +* [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations +* [Surge](https://github.com/mattt/Surge) - A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation. +* [Upsurge](https://github.com/aleph7/Upsurge) - Swift math +* [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. * [iosMath](https://github.com/kostub/iosMath) - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS. -* [swift-pons](https://github.com/dankogai/swift2-pons) - Protocol-Oriented Number System in Pure Swift :large_orange_diamond: -* [BigInt](https://github.com/attaswift/BigInt) - Arbitrary-precision arithmetic in pure Swift :large_orange_diamond: -* [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. :large_orange_diamond: -* [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics :large_orange_diamond: -* [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime :large_orange_diamond: -* [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. :large_orange_diamond: -* [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library with generic integer algorithms, complex numbers, rational numbers, and pseudorandom number generators (written in, and for, Swift 4) :large_orange_diamond: -* [EasyRoot](https://github.com/aaronjsutton/EasyRoot) - A framework to simplify radical expressions :large_orange_diamond: +* [swift-pons](https://github.com/dankogai/swift2-pons) - Protocol-Oriented Number System in Pure Swift +* [BigInt](https://github.com/attaswift/BigInt) - Arbitrary-precision arithmetic in pure Swift +* [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. +* [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics +* [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime +* [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. +* [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library with generic integer algorithms, complex numbers, rational numbers, and pseudorandom number generators (written in, and for, Swift 4) +* [EasyRoot](https://github.com/aaronjsutton/EasyRoot) - A framework to simplify radical expressions ## Media #### Audio * [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing. -* [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. :large_orange_diamond: +* [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. * [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/macOS audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. * [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and macOS. * [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). -* [Cephalopod](https://github.com/evgenyneu/Cephalopod) - A sound fader for AVAudioPlayer written in Swift. :large_orange_diamond: -* [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! :large_orange_diamond: -* [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. :large_orange_diamond: -* [AudioPlayerSwift]( https://github.com/tbaranes/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps. :large_orange_diamond: -* [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). :large_orange_diamond: -* [TuningFork](https://github.com/comyar/TuningFork) - :musical_keyboard: Simple Tuner for iOS :large_orange_diamond: -* [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift :large_orange_diamond: -* [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. :large_orange_diamond: +* [Cephalopod](https://github.com/evgenyneu/Cephalopod) - A sound fader for AVAudioPlayer written in Swift. +* [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! +* [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. +* [AudioPlayerSwift]( https://github.com/tbaranes/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps. +* [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). +* [TuningFork](https://github.com/comyar/TuningFork) - :musical_keyboard: Simple Tuner for iOS +* [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift +* [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. * [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/macOS DSP for audio (with Novocaine) * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. * [IQAudioRecorderController](https://github.com/hackiftekhar/IQAudioRecorderController) - A drop-in universal library allows to record audio within the app with a nice User Interface. * [TheAmazingAudioEngine2](https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine2) - The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to. -* [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view :large_orange_diamond: -* [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift :large_orange_diamond: +* [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view +* [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift * [QuietModemKit](https://github.com/quiet/QuietModemKit) - iOS framework for the Quiet Modem (data over sound) -* [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. CocoaPods and Carthage compatible. :large_orange_diamond: -* [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. :large_orange_diamond: -* [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit and completely written in Swift :large_orange_diamond: +* [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. CocoaPods and Carthage compatible. +* [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. +* [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit and completely written in Swift * [SonogramView](https://github.com/Luccifer/SonogramView) - Audio visualisation of song -* [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. :large_orange_diamond: +* [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. #### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. * [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage) - Performant animated GIF engine for iOS -* [gifu](https://github.com/kaishin/gifu) - Highly performant animated GIF support for iOS in Swift :large_orange_diamond: +* [gifu](https://github.com/kaishin/gifu) - Highly performant animated GIF support for iOS in Swift * [AnimatedGIFImageSerialization](https://github.com/mattt/AnimatedGIFImageSerialization) - Complete Animated GIF Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling -* [XAnimatedImage](https://github.com/khaledmtaha/XAnimatedImage) - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage :large_orange_diamond: -* [SwiftGif](https://github.com/bahlo/SwiftGif) - :sparkles: A small UIImage extension with gif support :large_orange_diamond: -* [APNGKit](https://github.com/onevcat/APNGKit) - High performance and delightful way to play with APNG format in iOS. :large_orange_diamond: +* [XAnimatedImage](https://github.com/khaledmtaha/XAnimatedImage) - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage +* [SwiftGif](https://github.com/bahlo/SwiftGif) - :sparkles: A small UIImage extension with gif support +* [APNGKit](https://github.com/onevcat/APNGKit) - High performance and delightful way to play with APNG format in iOS. * [YYImage](https://github.com/ibireme/YYImage) - Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more. -* [AImage](https://github.com/wangjwchn/AImage) - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case.:large_orange_diamond: +* [AImage](https://github.com/wangjwchn/AImage) - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case. * [NSGIF2](https://github.com/metasmile/NSGIF2) - Simplify creation of a GIF from the provided video file url. -* [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine :large_orange_diamond: +* [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine #### Image * [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. @@ -886,7 +884,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. * [SDWebImage](https://github.com/rs/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. * [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. -* [MapleBacon](https://github.com/JanGorman/MapleBacon) - An image download and caching library for iOS written in Swift. :large_orange_diamond: +* [MapleBacon](https://github.com/JanGorman/MapleBacon) - An image download and caching library for iOS written in Swift. * [NYTPhotoViewer](https://github.com/NYTimes/NYTPhotoViewer) - Slideshow and image viewer. * [IDMPhotoBrowser](https://github.com/thiagoperes/IDMPhotoBrowser) - Photo Browser / Viewer. * [JTSImageViewController](https://github.com/jaredsinclair/JTSImageViewController) - Interactive iOS image viewer. @@ -894,101 +892,101 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TOCropViewController](https://github.com/TimOliver/TOCropViewController) - A view controller that allows users to crop UIImage objects. * [YXTMotionView](https://github.com/hanton/YXTMotionView) - A custom image view that implements device motion scrolling. * [PINRemoteImage](https://github.com/pinterest/PINRemoteImage) - A thread safe, performant, feature rich image fetcher. -* [SABlurImageView](https://github.com/marty-suzuki/SABlurImageView) - Easily Adding Animated Blur/Unblur Effects To An Image. :large_orange_diamond: +* [SABlurImageView](https://github.com/marty-suzuki/SABlurImageView) - Easily Adding Animated Blur/Unblur Effects To An Image. * [FastImageCache](https://github.com/path/FastImageCache) - iOS library for quickly displaying images while scrolling. * [BKAsciiImage](https://github.com/bkoc/BKAsciiImage) - Convert UIImage to ASCII art -* [AlamofireImage](https://github.com/Alamofire/AlamofireImage) - An image component library for Alamofire. :large_orange_diamond: -* [Nuke](https://github.com/kean/Nuke) - Image loading, processing, caching and preheating :large_orange_diamond: -* [FlagKit](https://github.com/madebybowtie/FlagKit) - Beautiful flag icons for usage in apps and on the web. :large_orange_diamond: +* [AlamofireImage](https://github.com/Alamofire/AlamofireImage) - An image component library for Alamofire. +* [Nuke](https://github.com/kean/Nuke) - Image loading, processing, caching and preheating +* [FlagKit](https://github.com/madebybowtie/FlagKit) - Beautiful flag icons for usage in apps and on the web. * [YYWebImage](https://github.com/ibireme/YYWebImage) - Asynchronous image loading framework (supports WebP, APNG, GIF). * [RSKImageCropper](https://github.com/ruslanskorb/RSKImageCropper) - An image cropper for iOS like in the Contacts app with support for landscape orientation. -* [Silo](https://github.com/josejuanqm/Silo) - Image loading framework with loaders. :large_orange_diamond: -* [Ody](https://github.com/josejuanqm/Ody) - Ody is an easy to use random image generator built with Swift, Perfect for placeholders. :large_orange_diamond: -* [Banana](https://github.com/gauravkatoch007/banana) - Image slider with very simple interface. :large_orange_diamond: -* [JDSwiftAvatarProgress](https://github.com/JellyDevelopment/JDSwiftAvatarProgress) - Easy customizable avatar image asynchronously with progress bar animated :large_orange_diamond: -* [Kingfisher](https://github.com/onevcat/Kingfisher) - A lightweight and pure Swift implemented library for downloading and caching image from the web. :large_orange_diamond: +* [Silo](https://github.com/josejuanqm/Silo) - Image loading framework with loaders. +* [Ody](https://github.com/josejuanqm/Ody) - Ody is an easy to use random image generator built with Swift, Perfect for placeholders. +* [Banana](https://github.com/gauravkatoch007/banana) - Image slider with very simple interface. +* [JDSwiftAvatarProgress](https://github.com/JellyDevelopment/JDSwiftAvatarProgress) - Easy customizable avatar image asynchronously with progress bar animated +* [Kingfisher](https://github.com/onevcat/Kingfisher) - A lightweight and pure Swift implemented library for downloading and caching image from the web. * [EBPhotoPages](https://github.com/EddyBorja/EBPhotoPages) - A photo gallery for iOS with a modern feature set. Similar features as the Facebook photo browser. -* [UIImageView-BetterFace-Swift](https://github.com/croath/UIImageView-BetterFace-Swift) - The Swift version of https://github.com/croath/UIImageView-BetterFace :large_orange_diamond: -* [KFSwiftImageLoader](https://github.com/kiavashfaisali/KFSwiftImageLoader) - An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and  Watch. :large_orange_diamond: -* [Toucan](https://github.com/gavinbunney/Toucan) - Fabulous Image Processing in Swift :large_orange_diamond: -* [ImageLoaderSwift](https://github.com/hirohisa/ImageLoaderSwift) - A lightweight and fast image loader for iOS written in Swift. :large_orange_diamond: -* [ImageScout](https://github.com/kaishin/ImageScout) - A Swift implementation of fastimage. Supports PNG, GIF, and JPEG. :large_orange_diamond: -* [JLStickerTextView](https://github.com/luiyezheng/JLStickerTextView) - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image. :large_orange_diamond: -* [Agrume](https://github.com/JanGorman/Agrume) - A lemony fresh iOS image viewer written in Swift. :large_orange_diamond: -* [PASImageView](https://github.com/abiaad/PASImageView) - Rounded async imageview downloader lightly cached and written in Swift :large_orange_diamond: -* [Navi](https://github.com/nixzhu/Navi) - Focus on avatar caching. :large_orange_diamond: -* [SwiftPhotoGallery](https://github.com/Inspirato/SwiftPhotoGallery) - Simple, fullscreen image gallery with tap, swipe, and pinch gestures. :large_orange_diamond: -* [MetalAcc](https://github.com/wangjwchn/MetalAcc) - GPU-based Media processing library using Metal written in Swift.:large_orange_diamond: +* [UIImageView-BetterFace-Swift](https://github.com/croath/UIImageView-BetterFace-Swift) - The Swift version of https://github.com/croath/UIImageView-BetterFace +* [KFSwiftImageLoader](https://github.com/kiavashfaisali/KFSwiftImageLoader) - An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and  Watch. +* [Toucan](https://github.com/gavinbunney/Toucan) - Fabulous Image Processing in Swift +* [ImageLoaderSwift](https://github.com/hirohisa/ImageLoaderSwift) - A lightweight and fast image loader for iOS written in Swift. +* [ImageScout](https://github.com/kaishin/ImageScout) - A Swift implementation of fastimage. Supports PNG, GIF, and JPEG. +* [JLStickerTextView](https://github.com/luiyezheng/JLStickerTextView) - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image. +* [Agrume](https://github.com/JanGorman/Agrume) - A lemony fresh iOS image viewer written in Swift. +* [PASImageView](https://github.com/abiaad/PASImageView) - Rounded async imageview downloader lightly cached and written in Swift +* [Navi](https://github.com/nixzhu/Navi) - Focus on avatar caching. +* [SwiftPhotoGallery](https://github.com/Inspirato/SwiftPhotoGallery) - Simple, fullscreen image gallery with tap, swipe, and pinch gestures. +* [MetalAcc](https://github.com/wangjwchn/MetalAcc) - GPU-based Media processing library using Metal written in Swift. * [MWPhotoBrowser](https://github.com/mwaterfall/MWPhotoBrowser) - A simple iOS photo and video browser with grid view, captions and selections. -* [UIImageColors](https://github.com/jathu/UIImageColors) - iTunes style color fetcher for UIImage. :large_orange_diamond:[e] +* [UIImageColors](https://github.com/jathu/UIImageColors) - iTunes style color fetcher for UIImage. [e] * [CDFlipView](https://github.com/jibeex/CDFlipView) - A view that takes a set of images, make transition from one to another by using flipping effects. -* [GPUImage2](https://github.com/BradLarson/GPUImage2) - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. :large_orange_diamond: -* [TGLParallaxCarousel](https://github.com/taglia3/TGLParallaxCarousel) - A lightweight 3D Linear Carousel with parallax effect :large_orange_diamond: +* [GPUImage2](https://github.com/BradLarson/GPUImage2) - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. +* [TGLParallaxCarousel](https://github.com/taglia3/TGLParallaxCarousel) - A lightweight 3D Linear Carousel with parallax effect * [ImageButter](https://github.com/dollarshaveclub/ImageButter) - Makes dealing with images buttery smooth -* [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by Facebook, Twitter photo browsers written by swift :large_orange_diamond: +* [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by Facebook, Twitter photo browsers written by swift * [YUCIHighPassSkinSmoothing](https://github.com/YuAo/YUCIHighPassSkinSmoothing) - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework -* [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up :large_orange_diamond: -* [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition! :large_orange_diamond: -* [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. :large_orange_diamond:[e] -* [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. :large_orange_diamond: -* [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter :large_orange_diamond: -* [FaceAware](https://github.com/BeauNouvelle/FaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. :large_orange_diamond: +* [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up +* [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition! +* [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. [e] +* [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. +* [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter +* [FaceAware](https://github.com/BeauNouvelle/FaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. * [SwiftyAvatar](https://github.com/dkalaitzidis/SwiftyAvatar) - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard -* [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters :large_orange_diamond: -* [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. :large_orange_diamond: -* [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. :large_orange_diamond: -* [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. :large_orange_diamond: -* [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. :large_orange_diamond: -* [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. :large_orange_diamond: -* [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. :large_orange_diamond: -* [FacebookImagePicker](https://github.com/floriangbh/FacebookImagePicker) - Facebook album photo picker written in Swift. :large_orange_diamond: -* [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. :large_orange_diamond: -* [AvatarImageView](https://github.com/ayushn21/AvatarImageView) - AvatarImageView is a UIImageView subclass designed to show a user's profile picture, falling back to their initials when a picture is unavailable. :large_orange_diamond: +* [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters +* [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. +* [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. +* [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. +* [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. +* [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. +* [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. +* [FacebookImagePicker](https://github.com/floriangbh/FacebookImagePicker) - Facebook album photo picker written in Swift. +* [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. +* [AvatarImageView](https://github.com/ayushn21/AvatarImageView) - AvatarImageView is a UIImageView subclass designed to show a user's profile picture, falling back to their initials when a picture is unavailable. * [Ebblink](https://github.com/ebbapp/ebblinkSDK) - An iOS SDK for sharing photos that automatically expire and can be deleted at any time. -* [Sharaku](https://github.com/makomori/Sharaku) - Instagram-like image filter ViewController. :large_orange_diamond: -* [CTPanoramaView](https://github.com/scihant/CTPanoramaView) - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options. :large_orange_diamond: +* [Sharaku](https://github.com/makomori/Sharaku) - Instagram-like image filter ViewController. +* [CTPanoramaView](https://github.com/scihant/CTPanoramaView) - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options. * [Twitter Image Pipline](https://github.com/twitter/ios-twitter-image-pipeline) - streamlined framework for fetching and storing images in an application. -* [TinyCrayon](https://github.com/TinyCrayon/TinyCrayon-iOS-SDK) - A smart and easy-to-use image masking and cutout SDK for mobile apps. :large_orange_diamond: -* [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! :large_orange_diamond: -* [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. :large_orange_diamond: -* [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. :large_orange_diamond: -* [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. :large_orange_diamond: -* [SimpleImageViewer](https://github.com/aFrogleap/SimpleImageViewer) - A snappy image viewer with zoom and interactive dismissal transition. :large_orange_diamond: -* [AZImagePreview](https://github.com/Minitour/AZImagePreview) - A framework that makes image viewing easy. :large_orange_diamond: -* [FaceCropper](https://github.com/KimDarren/FaceCropper) - Crop faces, inside of your image, with iOS 11 Vision api :large_orange_diamond: -* [Paparazzo](https://github.com/avito-tech/Paparazzo) - Custom iOS camera and photo picker with editing capabilities :large_orange_diamond: -* [ZImageCropper](https://github.com/ZaidPathan/ZImageCropper) - A Swift project to crop image in any shape. :large_orange_diamond: -* [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. :large_orange_diamond: -* [DTPhotoViewerController](https://github.com/tungvoduc/DTPhotoViewerController) - A fully customizable photo viewer ViewController, inspired by Facebook photo viewer. :large_orange_diamond: -* [LetterAvatarKit](https://github.com/vpeschenkov/LetterAvatarKit) - A UIImage extension that generates letter-based avatars written in Swift. :large_orange_diamond: -* [AXPhotoViewer](https://github.com/alexhillc/AXPhotoViewer) - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos :large_orange_diamond: -* [TJProfileImage](https://github.com/tejas-ardeshna/TJProfileImage) - Live rendering of componet’s properties in Interface Builder. :large_orange_diamond: -* [Viewer](https://github.com/bakkenbaeck/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images :large_orange_diamond: -* [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. :large_orange_diamond: -* [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below :large_orange_diamond: +* [TinyCrayon](https://github.com/TinyCrayon/TinyCrayon-iOS-SDK) - A smart and easy-to-use image masking and cutout SDK for mobile apps. +* [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! +* [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. +* [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. +* [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. +* [SimpleImageViewer](https://github.com/aFrogleap/SimpleImageViewer) - A snappy image viewer with zoom and interactive dismissal transition. +* [AZImagePreview](https://github.com/Minitour/AZImagePreview) - A framework that makes image viewing easy. +* [FaceCropper](https://github.com/KimDarren/FaceCropper) - Crop faces, inside of your image, with iOS 11 Vision api +* [Paparazzo](https://github.com/avito-tech/Paparazzo) - Custom iOS camera and photo picker with editing capabilities +* [ZImageCropper](https://github.com/ZaidPathan/ZImageCropper) - A Swift project to crop image in any shape. +* [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. +* [DTPhotoViewerController](https://github.com/tungvoduc/DTPhotoViewerController) - A fully customizable photo viewer ViewController, inspired by Facebook photo viewer. +* [LetterAvatarKit](https://github.com/vpeschenkov/LetterAvatarKit) - A UIImage extension that generates letter-based avatars written in Swift. +* [AXPhotoViewer](https://github.com/alexhillc/AXPhotoViewer) - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos +* [TJProfileImage](https://github.com/tejas-ardeshna/TJProfileImage) - Live rendering of componet’s properties in Interface Builder. +* [Viewer](https://github.com/bakkenbaeck/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images +* [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. +* [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below * [MetalPetal](https://github.com/MetalPetal/MetalPetal) - A GPU-accelerated image/video processing framework based on [Metal](https://developer.apple.com/metal/). -* [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. :large_orange_diamond: +* [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. #### Media Processing -* [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: +* [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift * [QR Code Scanner](https://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. -* [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. :large_orange_diamond: -* [EFQRCode](https://github.com/EyreFree/EFQRCode) - A better way to operate two-dimensional code in Swift. :large_orange_diamond: +* [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. +* [EFQRCode](https://github.com/EyreFree/EFQRCode) - A better way to operate two-dimensional code in Swift. #### PDF * [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. * [UIView 2 PDF](https://github.com/RobertAPhillips/UIView_2_PDF) - PDF generator using UIViews or UIViews with an associated XIB -* [FolioReaderKit](https://github.com/FolioReader/FolioReaderKit) - A Swift ePub reader and parser framework for iOS. :large_orange_diamond: -* [PDFGenerator](https://github.com/sgr-ksmt/PDFGenerator) - A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s). :large_orange_diamond: -* [SimplePDF](https://github.com/nRewik/SimplePDF) - Create a simple PDF effortlessly. :large_orange_diamond: -* [SwiftPDFGenerator](https://github.com/kayoslab/SwiftPDFGenerator) - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'. :large_orange_diamond: +* [FolioReaderKit](https://github.com/FolioReader/FolioReaderKit) - A Swift ePub reader and parser framework for iOS. +* [PDFGenerator](https://github.com/sgr-ksmt/PDFGenerator) - A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s). +* [SimplePDF](https://github.com/nRewik/SimplePDF) - Create a simple PDF effortlessly. +* [SwiftPDFGenerator](https://github.com/kayoslab/SwiftPDFGenerator) - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'. * [PSPDFKit](https://pspdfkit.com/) - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. -* [TPPDF](https://github.com/Techprimate/TPPDF) - Generate PDF using commands and automatic layout. :large_orange_diamond: +* [TPPDF](https://github.com/Techprimate/TPPDF) - Generate PDF using commands and automatic layout. #### Streaming -* [HaishinKit.swift](https://github.com/shogo4405/HaishinKit.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. :large_orange_diamond: +* [HaishinKit.swift](https://github.com/shogo4405/HaishinKit.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. * [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for macOS and iOS. -* [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. :large_orange_diamond: +* [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. * [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate * [Airstream](https://github.com/qasim/Airstream) - A framework for streaming audio between Apple devices using AirPlay. * [OTAcceleratorCore](https://github.com/opentok/accelerator-core-ios) - A painless way to integrate audio/video(screen sharing) to any iOS applications via Tokbox. @@ -998,22 +996,22 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MobilePlayer](https://github.com/mobileplayer/mobileplayer-ios) - A powerful and completely customizable media player for iOS. * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS * [AVAnimator](http://www.modejong.com/AVAnimator/) - An open source iOS native library that makes it easy to implement non-trivial video/audio enabled apps. -* [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control :large_orange_diamond: +* [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control * [MHVideoPhotoGallery](https://github.com/mariohahn/MHVideoPhotoGallery) - A Photo and Video Gallery -* [PlayerView](https://github.com/davidlondono/PlayerView) - Player View is a delegated view using AVPlayer of Swift :large_orange_diamond: +* [PlayerView](https://github.com/davidlondono/PlayerView) - Player View is a delegated view using AVPlayer of Swift * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. -* [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] -* [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. :large_orange_diamond:[e] +* [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. [e] +* [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. [e] * [ZFPlayer](https://github.com/renzifeng/ZFPlayer) - Based on AVPlayer, support for the horizontal screen, vertical screen (full screen playback can also lock the screen direction), the upper and lower slide to adjust the volume, the screen brightness, or so slide to adjust the playback progress. -* [Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media in your iOS or tvOS app :large_orange_diamond: -* [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. :large_orange_diamond: -* [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. :large_orange_diamond: +* [Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media in your iOS or tvOS app +* [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. +* [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. * [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. * [swift-360-videos](https://github.com/team-pie/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. * [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. -* [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. :large_orange_diamond: -* [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. :large_orange_diamond: -* [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. :large_orange_diamond: +* [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. +* [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. +* [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. ## Messaging @@ -1023,12 +1021,12 @@ Also see [push notifications](#push-notifications) * [Twilio](https://www.twilio.com/) - Power modern communications. Build the next generation of voice and SMS applications. * [Plivo](https://www.plivo.com/) - SMS API, Voice API, & Global Carrier Provider. * [XMPPFramework](https://github.com/robbiehanson/XMPPFramework) - An XMPP Framework in Objective-C for Mac and iOS. -* [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift :large_orange_diamond: +* [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift * [Smooch](https://smooch.io) - Simple, lightweight SDKs and interfaces that enable customer messaging inside your apps and websites. * [SlackTextViewController](https://github.com/slackhq/SlackTextViewController) - A drop-in UIViewController subclass with a growing text input view and other useful messaging features. -* [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController :large_orange_diamond: -* [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. :large_orange_diamond: -* [NMessenger](https://github.com/eBay/NMessenger) - A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift :large_orange_diamond: +* [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController +* [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. +* [NMessenger](https://github.com/eBay/NMessenger) - A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift * [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. * [Messenger](https://github.com/relatedcode/Messenger) - This is a native iOS Messenger app, making realtime chat conversations and audio calls with full offline support. * [OTTextChatAccelerator](https://github.com/opentok/accelerator-textchat-ios) - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices. @@ -1041,76 +1039,76 @@ Also see [push notifications](#push-notifications) * [ASIHTTPRequest](https://github.com/pokeb/asi-http-request) - Easy to use CFNetwork wrapper for HTTP requests, Objective-C, macOS and iPhone. * [Overcoat](https://github.com/Overcoat/Overcoat) - Small but powerful library that makes creating REST clients simple and fun. * [ROADFramework](https://github.com/epam/road-ios-framework) - Attributed-oriented approach for interacting with web services. The framework has built-in json and xml serialization for requests and responses and can be easily extensible. -* [Alamofire](https://github.com/Alamofire/Alamofire) - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking. :large_orange_diamond: -* [Transporter](https://github.com/nghialv/Transporter) - A tiny library makes uploading and downloading easier. :large_orange_diamond: +* [Alamofire](https://github.com/Alamofire/Alamofire) - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking. +* [Transporter](https://github.com/nghialv/Transporter) - A tiny library makes uploading and downloading easier. * [CDZPinger](https://github.com/cdzombak/CDZPinger) - Easy-to-use ICMP Ping. * [NSRails](https://github.com/dingbat/nsrails) - iOS/Mac OS framework for Rails. -* [NKMultipeer](https://github.com/nathankot/NKMultipeer) - A testable abstraction over multipeer connectivity. :large_orange_diamond: +* [NKMultipeer](https://github.com/nathankot/NKMultipeer) - A testable abstraction over multipeer connectivity. * [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket) - Asynchronous socket networking library for Mac and iOS. -* [Siesta](https://bustoutsolutions.github.io/siesta/) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. :large_orange_diamond: -* [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures :large_orange_diamond: +* [Siesta](https://bustoutsolutions.github.io/siesta/) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. +* [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures * [OctopusKit](https://github.com/icoco/OctopusKit) - A simplicity but graceful solution for invoke RESTful web service APIs. -* [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. :large_orange_diamond: +* [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. * [TWRDownloadManager](https://github.com/chasseurmic/TWRDownloadManager) - A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. * [HappyDns](https://github.com/qiniu/happy-dns-objc) - A Dns library, support custom dns server, dnspod httpdns. Only support A record. -* [Bridge](https://github.com/BridgeNetworking/Bridge) - A simple extensible typed networking library. Intercept and process/alter requests and responses easily. :large_orange_diamond: -* [TRON](https://github.com/MLSDev/TRON) - Lightweight network abstraction layer, written on top of Alamofire :large_orange_diamond: -* [EVCloudKitDao](https://github.com/evermeer/EVCloudKitDao) - Simplified access to Apple's CloudKit :large_orange_diamond: -* [EVURLCache](https://github.com/evermeer/EVURLCache) - a NSURLCache subclass for handling all web requests that use NSURLRequest :large_orange_diamond: -* [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer. :large_orange_diamond: -* [Pitaya](https://github.com/johnlui/Pitaya) - A Swift HTTP / HTTPS networking library just incidentally execute on machines :large_orange_diamond: -* [Just](https://github.com/JustHTTP/Just) - Swift HTTP for Humans :large_orange_diamond: -* [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and macOS :large_orange_diamond: -* [Reach](https://github.com/Isuru-Nanayakkara/Reach) - A simple class to check for internet connection availability in Swift. :large_orange_diamond: -* [SwiftHTTP](https://github.com/daltoniam/SwiftHTTP) - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. :large_orange_diamond: +* [Bridge](https://github.com/BridgeNetworking/Bridge) - A simple extensible typed networking library. Intercept and process/alter requests and responses easily. +* [TRON](https://github.com/MLSDev/TRON) - Lightweight network abstraction layer, written on top of Alamofire +* [EVCloudKitDao](https://github.com/evermeer/EVCloudKitDao) - Simplified access to Apple's CloudKit +* [EVURLCache](https://github.com/evermeer/EVURLCache) - a NSURLCache subclass for handling all web requests that use NSURLRequest +* [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer. +* [Pitaya](https://github.com/johnlui/Pitaya) - A Swift HTTP / HTTPS networking library just incidentally execute on machines +* [Just](https://github.com/JustHTTP/Just) - Swift HTTP for Humans +* [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and macOS +* [Reach](https://github.com/Isuru-Nanayakkara/Reach) - A simple class to check for internet connection availability in Swift. +* [SwiftHTTP](https://github.com/daltoniam/SwiftHTTP) - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. * [Netdiag](https://github.com/qiniu/iOS-netdiag) - A network diagnosis library. Support Ping/TcpPing/Rtmp/TraceRoute/DNS/external IP/external DNS. * [AFNetworkingHelper](https://github.com/betacraft/AFNetworkingHelper) - A custom wrapper over AFNetworking library that we use inside RC extensively -* [NetKit](https://github.com/azizuysal/NetKit) - A Concise HTTP Framework in Swift. :large_orange_diamond: +* [NetKit](https://github.com/azizuysal/NetKit) - A Concise HTTP Framework in Swift. * [RealReachability](https://github.com/dustturtle/RealReachability) - We need to observe the REAL reachability of network. That's what RealReachability do. -* [MonkeyKing](https://github.com/nixzhu/MonkeyKing) - MonkeyKing helps you post messages to Chinese Social Networks. :large_orange_diamond: -* [NetworkKit](https://github.com/imex94/NetworkKit) - Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS. :large_orange_diamond: -* [APIKit](https://github.com/ishkawa/APIKit) - A networking library for building type safe web API client in Swift. :large_orange_diamond: -* [ws ☁️](https://github.com/freshOS/ws) - Elegant JSON WebService in Swift.:large_orange_diamond: +* [MonkeyKing](https://github.com/nixzhu/MonkeyKing) - MonkeyKing helps you post messages to Chinese Social Networks. +* [NetworkKit](https://github.com/imex94/NetworkKit) - Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS. +* [APIKit](https://github.com/ishkawa/APIKit) - A networking library for building type safe web API client in Swift. +* [ws ☁️](https://github.com/freshOS/ws) - Elegant JSON WebService in Swift. * [SPTDataLoader](https://github.com/spotify/SPTDataLoader) - The HTTP library used by the Spotify iOS client. * [SWNetworking](https://github.com/skywite/SWNetworking) - Powerful high-level iOS, macOS and tvOS networking library. -* [Networking](https://github.com/3lvis/Networking) - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support :large_orange_diamond: +* [Networking](https://github.com/3lvis/Networking) - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support * [SOAPEngine](https://github.com/priore/SOAPEngine) - This generic SOAP client allows you to access web services using a your iOS app, macOS app and AppleTV app. -* [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working) :large_orange_diamond: -* [Malibu](https://github.com/hyperoslo/Malibu) - :surfer: Malibu is a networking library built on promises :large_orange_diamond: +* [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working) +* [Malibu](https://github.com/hyperoslo/Malibu) - :surfer: Malibu is a networking library built on promises * [YTKNetwork](https://github.com/yuantiku/YTKNetwork) - YTKNetwork is a high level request util based on AFNetworking. -* [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. :large_orange_diamond: +* [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. * [MMLanScan](https://github.com/mavris/MMLanScan) - An iOS LAN Network Scanner library * [Domainer](https://github.com/FelixLinBH/Domainer) - Manage multi-domain url auto mapping ip address table -* [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way :large_orange_diamond: +* [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way * [AFNetworking+RetryPolicy](https://github.com/kubatruhlar/AFNetworking-RetryPolicy) - An objective-c category that adds the ability to set the retry logic for requests made with AFNetworking. -* [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. :large_orange_diamond: ⌚ -* [Nikka](https://github.com/stremsdoerfer/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx :large_orange_diamond: ⌚ +* [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. +* [Nikka](https://github.com/stremsdoerfer/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx * [XMNetworking](https://github.com/kangzubin/XMNetworking) - A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. * [Merhaba](https://github.com/abdullahselek/Merhaba) - Bonjour networking for discovery and connection between iOS, macOS and tvOS devices. -* [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. :large_orange_diamond: -* [EFInternetIndicator](https://github.com/ezefranca/EFInternetIndicator) - A little swift Internet error status indicator using ReachabilitySwift. :large_orange_diamond: +* [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. +* [EFInternetIndicator](https://github.com/ezefranca/EFInternetIndicator) - A little swift Internet error status indicator using ReachabilitySwift. * [AFNetworking-Synchronous](https://github.com/paulmelnikow/AFNetworking-Synchronous) - Synchronous requests for AFNetworking 1.x, 2.x, and 3.x. -* [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. 🔶 -* [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. :large_orange_diamond: +* [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. +* [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. * [WANetworkRouting](https://github.com/Wasappli/WANetworkRouting) - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers -* [Reactor](https://github.com/MailOnline/Reactor) - Powering your RAC architecture :large_orange_diamond: -* [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking 🔶 +* [Reactor](https://github.com/MailOnline/Reactor) - Powering your RAC architecture +* [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking * [Digger](https://github.com/cornerAnt/Digger) - Digger is a lightweight download framework that requires only one line of code to complete the file download task -. :large_orange_diamond: -* [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). :large_orange_diamond: -* [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework 🔶 -* [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development :large_orange_diamond: +. +* [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). +* [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework +* [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development #### Email * [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. -* [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. :large_orange_diamond: +* [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. #### Representations - * [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS, written in Swift :large_orange_diamond: - * [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library purely written in Swift :large_orange_diamond: - * [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift :large_orange_diamond: + * [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS, written in Swift + * [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library purely written in Swift + * [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift ## Notifications @@ -1142,15 +1140,15 @@ Most of these are paid services, some have free tiers. * [Swrve](https://www.swrve.com) #### Local Notifications -* [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. :large_orange_diamond: +* [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. ## Optimization -* [Unreachable](https://github.com/nvzqz/Unreachable) - Unreachable code path optimization hint for Swift. :large_orange_diamond: +* [Unreachable](https://github.com/nvzqz/Unreachable) - Unreachable code path optimization hint for Swift. ## Parsing #### CSV -* [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 :large_orange_diamond: +* [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 #### JSON * [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. @@ -1158,68 +1156,68 @@ Most of these are paid services, some have free tiers. * [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. * [PropertyMapper](https://github.com/krzysztofzablocki/PropertyMapper) - Data mapping and validation with minimal amount of code. * [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modeling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. -* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. :large_orange_diamond: +* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. * [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. -* [ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. :large_orange_diamond: -* [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. :large_orange_diamond: -* [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. :large_orange_diamond: -* [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization :large_orange_diamond: -* [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift model files from JSON using either SwiftyJSON or ObjectMapper. Supports NSCoding and provides method for JSON string representation of the model. :large_orange_diamond: -* [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift :large_orange_diamond: -* [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. :large_orange_diamond: -* [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. :large_orange_diamond: -* [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. :large_orange_diamond: -* [mapper](https://github.com/lyft/mapper) - A JSON deserialization library for Swift :large_orange_diamond: -* [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection :large_orange_diamond: -* [Jay](https://github.com/DanToml/Jay) - Pure-Swift JSON parser & formatter. Linux & macOS ready. :large_orange_diamond: +* [ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. +* [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. +* [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. +* [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization +* [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift model files from JSON using either SwiftyJSON or ObjectMapper. Supports NSCoding and provides method for JSON string representation of the model. +* [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift +* [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. +* [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. +* [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. +* [mapper](https://github.com/lyft/mapper) - A JSON deserialization library for Swift +* [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection +* [Jay](https://github.com/DanToml/Jay) - Pure-Swift JSON parser & formatter. Linux & macOS ready. * [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/macOS. -* [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON :large_orange_diamond: -* [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder :large_orange_diamond: -* [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. :large_orange_diamond: -* [Decodable](https://github.com/Anviking/Decodable) - Swift 2/3 JSON parsing done (more) right :large_orange_diamond: -* [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux) :large_orange_diamond: -* [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder :large_orange_diamond: -* [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. :large_orange_diamond: -* [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects :large_orange_diamond: -* [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for macOS which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. :large_orange_diamond: -* [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. :large_orange_diamond: +* [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON +* [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder +* [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. +* [Decodable](https://github.com/Anviking/Decodable) - Swift 2/3 JSON parsing done (more) right +* [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux) +* [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder +* [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. +* [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects +* [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for macOS which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. +* [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. * [MJExtension](https://github.com/CoderMJLee/MJExtension) - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file. -* [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper :large_orange_diamond: -* [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initalizers for data models. :large_orange_diamond: -* [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. :large_orange_diamond: -* [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x. :large_orange_diamond: +* [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper +* [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initalizers for data models. +* [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. +* [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x. * [Marshal](https://github.com/utahiosmac/Marshal) - Marshaling the typeless wild west of [String: Any] (Protocol based). * [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). * [NSTEasyJSON](https://github.com/bernikowich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). -* [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. :large_orange_diamond: -* [MagicMapper](https://github.com/adrianmateoaea24/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. :large_orange_diamond: -* [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. :large_orange_diamond: -* [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). :large_orange_diamond: +* [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. +* [MagicMapper](https://github.com/adrianmateoaea24/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. +* [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. +* [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). * [WAMapping](https://github.com/Wasappli/WAMapping) - A library to turn dictionary into object and vice versa for iOS. Designed for speed! -* [json-swift](https://github.com/owensd/json-swift) - A basic library for working with JSON in Swift. :large_orange_diamond: -* [Himotoki](https://github.com/ikesyo/Himotoki) - A type-safe JSON decoding library purely written in Swift. :large_orange_diamond: +* [json-swift](https://github.com/owensd/json-swift) - A basic library for working with JSON in Swift. +* [Himotoki](https://github.com/ikesyo/Himotoki) - A type-safe JSON decoding library purely written in Swift. #### XML & HTML -* [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. :large_orange_diamond: -* [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. :large_orange_diamond: +* [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. +* [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. * [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & macOS -* [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects :large_orange_diamond: -* [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support :large_orange_diamond: -* [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for macOS/iOS. :large_orange_diamond: -* [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift :large_orange_diamond: +* [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects +* [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support +* [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for macOS/iOS. +* [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. -* [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift :large_orange_diamond: -* [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 3 :large_orange_diamond: +* [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift +* [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 3 #### Other Parsing -* [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. :large_orange_diamond: -* [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages :large_orange_diamond: -* [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift :large_orange_diamond: -* [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. :large_orange_diamond: -* [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. :large_orange_diamond: -* [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. :large_orange_diamond: -* [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. :large_orange_diamond: -* [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. :large_orange_diamond: +* [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. +* [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages +* [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift +* [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. +* [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. +* [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. +* [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. +* [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. ## Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. @@ -1227,38 +1225,38 @@ Most of these are paid services, some have free tiers. * [Passkit](https://passkit.com) - Design, Create and validate Passbook Passes. ## Payments -* [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. :large_orange_diamond: +* [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. * [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend. * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. * [Moltin](https://moltin.com/ios-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. -* [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. :large_orange_diamond: -* [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ :large_orange_diamond: -* [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS :large_orange_diamond: -* [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework :large_orange_diamond: +* [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. +* [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ +* [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS +* [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework * [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions * [EasyIAPs](https://github.com/aaalveee/EasyIAPs) - An easy way to manage In App Purchases * [PayPal](https://github.com/paypal/PayPal-iOS-SDK) - Accept payments in your iOS app via PayPal. * [card.io-iOS-SDK](https://github.com/card-io/card.io-iOS-SDK) - card.io provides fast, easy credit card scanning in mobile apps -* [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift :large_orange_diamond: +* [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift * [ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn) - Luhn Credit Card Validation Algorithm * [RMStore](https://github.com/robotmedia/RMStore) - A lightweight iOS library for In-App Purchases * [MFCard](https://github.com/mobilefirstinc/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI -* [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt :large_orange_diamond: -* [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL :large_orange_diamond: +* [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt +* [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL ## Permissions -* [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). :large_orange_diamond: -* [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). :large_orange_diamond: +* [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). +* [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). * [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. * [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. * [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. * [ClusterPrePermissions](https://github.com/rsattar/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. -* [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS :large_orange_diamond: -* [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. :large_orange_diamond: -* [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS :large_orange_diamond: -* [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. :large_orange_diamond: -* [RequestPermission](https://github.com/IvanVorobei/RequestPermission) - simple permission request with beautiful UI :large_orange_diamond: +* [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS +* [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. +* [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS +* [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. +* [RequestPermission](https://github.com/IvanVorobei/RequestPermission) - simple permission request with beautiful UI ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. @@ -1266,68 +1264,68 @@ Most of these are paid services, some have free tiers. * [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. ## Reactive Programming -* [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift :large_orange_diamond: -* [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extentions for Swift optionals and "Occupiable" types :large_orange_diamond: -* [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes :large_orange_diamond: +* [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift +* [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extentions for Swift optionals and "Occupiable" types +* [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes * [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) - Streams of values over time. -* [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. :large_orange_diamond: +* [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. * [ReactiveCoreData](https://github.com/apparentsoft/ReactiveCoreData) - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world. -* [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux :large_orange_diamond: -* [ReactiveKit](https://github.com/ReactiveKit/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. :large_orange_diamond: -* [RxPermission](https://github.com/sunshinejr/RxPermission) - RxSwift bindings for Permissions API in iOS. :large_orange_diamond: -* [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire :large_orange_diamond: -* [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types :large_orange_diamond: -* [RxMultipeer](https://github.com/RxSwiftCommunity/RxMultipeer) - A testable RxSwift wrapper around MultipeerConnectivity :large_orange_diamond: -* [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & macOS Bluetooth library for RxSwift :large_orange_diamond: -* [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures :large_orange_diamond: -* [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. :large_orange_diamond: -* [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data :large_orange_diamond: -* [RxAutomaton](https://github.com/inamiy/RxAutomaton) - RxSwift + State Machine, inspired by Redux and Elm. :large_orange_diamond: -* [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. :large_orange_diamond: -* [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. :large_orange_diamond: -* [ReduxSwift](https://github.com/lsunsi/ReduxSwift) - Predictable state container for Swift apps too. :large_orange_diamond: -* [Aftermath](https://github.com/hyperoslo/Aftermath) - Stateless message-driven micro-framework in Swift. :large_orange_diamond: -* [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. :large_orange_diamond: +* [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux +* [ReactiveKit](https://github.com/ReactiveKit/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. +* [RxPermission](https://github.com/sunshinejr/RxPermission) - RxSwift bindings for Permissions API in iOS. +* [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire +* [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types +* [RxMultipeer](https://github.com/RxSwiftCommunity/RxMultipeer) - A testable RxSwift wrapper around MultipeerConnectivity +* [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & macOS Bluetooth library for RxSwift +* [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures +* [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. +* [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data +* [RxAutomaton](https://github.com/inamiy/RxAutomaton) - RxSwift + State Machine, inspired by Redux and Elm. +* [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. +* [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. +* [ReduxSwift](https://github.com/lsunsi/ReduxSwift) - Predictable state container for Swift apps too. +* [Aftermath](https://github.com/hyperoslo/Aftermath) - Stateless message-driven micro-framework in Swift. +* [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. * [JASONETTE-iOS](https://github.com/Jasonette/JASONETTE-iOS) - Native App over HTTP. Create your own native iOS app with nothing but JSON. * [ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) - Streams of values over time by ReactiveCocoa group -* [Listenable](https://github.com/msaps/Listenable) - Swift object that provides an observable platform. :large_orange_diamond: -* [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . :large_orange_diamond: -* [Snail](https://github.com/UrbanCompass/Snail) - An observables framework for Swift :large_orange_diamond: -* [RxWebSocket](https://github.com/fjcaetano/RxWebSocket) - Reactive extension over Starscream for websockets :large_orange_diamond: -* [ACKReactiveExtensions](https://github.com/AckeeCZ/ACKReactiveExtensions) - Useful extensions for ReactiveCocoa :large_orange_diamond: -* [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive :large_orange_diamond: -* [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. :large_orange_diamond: -* [Observable](https://github.com/roberthein/Observable) - The easiest way to observe values in Swift. 🔶 -* [SimpleApiClient](https://github.com/jaychang0917/SimpleApiClient-ios) - A configurable api client based on Alamofire4 and RxSwift4 for iOS. 🔶 -* [VueFlux](https://github.com/ra1028/VueFlux) - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux 🔶 +* [Listenable](https://github.com/msaps/Listenable) - Swift object that provides an observable platform. +* [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . +* [Snail](https://github.com/UrbanCompass/Snail) - An observables framework for Swift +* [RxWebSocket](https://github.com/fjcaetano/RxWebSocket) - Reactive extension over Starscream for websockets +* [ACKReactiveExtensions](https://github.com/AckeeCZ/ACKReactiveExtensions) - Useful extensions for ReactiveCocoa +* [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive +* [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. +* [Observable](https://github.com/roberthein/Observable) - The easiest way to observe values in Swift. +* [SimpleApiClient](https://github.com/jaychang0917/SimpleApiClient-ios) - A configurable api client based on Alamofire4 and RxSwift4 for iOS. +* [VueFlux](https://github.com/ra1028/VueFlux) - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux * [RxAnimated](https://github.com/RxSwiftCommunity/RxAnimated) - Animated RxCocoa bindings #### React-Like -* [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. :large_orange_diamond: -* [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. :large_orange_diamond: -* [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. :large_orange_diamond: -* [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. :large_orange_diamond: +* [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. +* [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. +* [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. +* [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. ## Reflection -* [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. :large_orange_diamond: -* [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive :large_orange_diamond: -* [EVReflection](https://github.com/evermeer/EVReflection) - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable :large_orange_diamond: -* [JSONNeverDie](https://github.com/johnlui/JSONNeverDie) - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die :large_orange_diamond: -* [SwiftKVC](https://github.com/bradhilton/SwiftKVC) - Key-Value Coding (KVC) for native Swift classes and structs :large_orange_diamond: +* [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. +* [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive +* [EVReflection](https://github.com/evermeer/EVReflection) - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable +* [JSONNeverDie](https://github.com/johnlui/JSONNeverDie) - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die +* [SwiftKVC](https://github.com/bradhilton/SwiftKVC) - Key-Value Coding (KVC) for native Swift classes and structs ## Regex -* [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type :large_orange_diamond: -* [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like Regex =~ operator for Swift :large_orange_diamond: -* [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way :large_orange_diamond: -* [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift :large_orange_diamond: -* [Regex](https://github.com/brynbellomy/Regex) - Regex class for Swift. Wraps NSRegularExpression. :large_orange_diamond: +* [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type +* [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like Regex =~ operator for Swift +* [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way +* [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift +* [Regex](https://github.com/brynbellomy/Regex) - Regex class for Swift. Wraps NSRegularExpression. ## SDK #### Official * [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. -* [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. :large_orange_diamond: +* [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. * [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. * [Facebook Swift](https://github.com/facebook/facebook-sdk-swift) Integrate your iOS apps in Swift with Facebook Platform. * [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS @@ -1350,11 +1348,11 @@ Most of these are paid services, some have free tiers. * [Primer](https://www.goprimer.com) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. * [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device * [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps -* [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple :large_orange_diamond: +* [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple * [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. * [Pinterest](https://github.com/pinterest/ios-pdk) - Pinterest iOS SDK * [playkit-ios](https://github.com/kaltura/playkit-ios) - PlayKit: Kaltura Player SDK for iOS. -* [algoliasearch-client-swift](https://github.com/algolia/algoliasearch-client-swift) - Algolia Search API Client for Swift :large_orange_diamond: +* [algoliasearch-client-swift](https://github.com/algolia/algoliasearch-client-swift) - Algolia Search API Client for Swift * [twitter-kit-ios](https://github.com/twitter/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps. #### Unofficial @@ -1367,99 +1365,99 @@ Most of these are paid services, some have free tiers. * [DribbbleSDK](https://github.com/agilie/dribbble-ios-sdk) - Dribbble iOS SDK. * [objectiveflickr](https://github.com/lukhnos/objectiveflickr) - ObjectiveFlickr, a Flickr API framework for Objective-C. * [Easy Social](https://github.com/pjebs/EasySocial) - Twitter & Facebook Integration. -* [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and macOS. :large_orange_diamond: +* [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and macOS. * [SocialLib](https://github.com/darkcl/SocialLib) - SocialLib handles sharing message to multiple social media. -* [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift :large_orange_diamond: +* [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift * [TJDropbox](https://github.com/timonus/TJDropbox) - A Dropbox v2 client library written in Objective-C -* [Lyft](https://github.com/genadyo/Lyft) - Some pink mustache company forgot to build that SDK. :large_orange_diamond: -* [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift :large_orange_diamond: +* [Lyft](https://github.com/genadyo/Lyft) - Some pink mustache company forgot to build that SDK. +* [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift * [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. -* [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project :large_orange_diamond: -* [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & macOS written in Swift :large_orange_diamond: -* [SlackKit](https://github.com/SlackKit/SlackKit) - a Slack client library for iOS and macOS written in Swift :large_orange_diamond: -* [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift 3 Framework to Generate Random Users - An Unofficial SDK for randomuser.me :large_orange_diamond: -* [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). :large_orange_diamond: -* [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. :large_orange_diamond: -* [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. :large_orange_diamond: -* [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. :large_orange_diamond: -* [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. :large_orange_diamond: -* [BittrexApiKit](https://github.com/saeid/BittrexApiKit) - Simple and complete Swift wrapper for Bittrex Exchange API. 🔶 -* [SwiftyVK](https://github.com/SwiftyVK/SwiftyVK) Library for easy interact with VK social network API written in Swift 🔶 -* [ARKKit](https://github.com/sleepdefic1t/ARKKit) - ARK Ecosystem Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. :large_orange_diamond: -* [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. :large_orange_diamond: -* [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. :large_orange_diamond: -* [PerfectSlackAPIClient](https://github.com/SvenTiigi/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework 🔶 +* [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project +* [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & macOS written in Swift +* [SlackKit](https://github.com/SlackKit/SlackKit) - a Slack client library for iOS and macOS written in Swift +* [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift 3 Framework to Generate Random Users - An Unofficial SDK for randomuser.me +* [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). +* [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. +* [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. +* [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. +* [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. +* [BittrexApiKit](https://github.com/saeid/BittrexApiKit) - Simple and complete Swift wrapper for Bittrex Exchange API. +* [SwiftyVK](https://github.com/SwiftyVK/SwiftyVK) Library for easy interact with VK social network API written in Swift +* [ARKKit](https://github.com/sleepdefic1t/ARKKit) - ARK Ecosystem Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. +* [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. +* [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. +* [PerfectSlackAPIClient](https://github.com/SvenTiigi/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. * [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. -* [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. :large_orange_diamond: +* [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. * [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. -* [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. :large_orange_diamond: +* [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. * [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. * [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. -* [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application 🔶 -* [SAPinViewController](https://github.com/siavashalipour/SAPinViewController) - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen. 🔶 -* [VoiceItAPI1IosSDK](https://github.com/voiceittech/VoiceItAPI1IosSDK) - A super easy way to add Voice Authentication(Biometrics) to your iOS apps, conveniently usable via cocoapods :large_orange_diamond: +* [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application +* [SAPinViewController](https://github.com/siavashalipour/SAPinViewController) - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen. +* [VoiceItAPI1IosSDK](https://github.com/voiceittech/VoiceItAPI1IosSDK) - A super easy way to add Voice Authentication(Biometrics) to your iOS apps, conveniently usable via cocoapods * [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS -* [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication :large_orange_diamond: +* [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. -* [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. :large_orange_diamond: -* [Arcane](https://github.com/onmyway133/Arcane) - 🔱 Lightweight wrapper around CommonCrypto in Swift :large_orange_diamond: -* [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 :large_orange_diamond: -* [SwiftHash](https://github.com/onmyway133/SwiftHash) - 🍕 Hash in Swift :large_orange_diamond: -* [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms. :large_orange_diamond: -* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and macOS :large_orange_diamond: -* [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. :large_orange_diamond: -* [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift :large_orange_diamond: -* [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift :large_orange_diamond: +* [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. +* [Arcane](https://github.com/onmyway133/Arcane) - 🔱 Lightweight wrapper around CommonCrypto in Swift +* [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 +* [SwiftHash](https://github.com/onmyway133/SwiftHash) - 🍕 Hash in Swift +* [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms. +* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and macOS +* [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. +* [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift +* [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift * [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/macOS, Android and different server side platforms. * [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - Secure your app by obfuscating all the hard-coded security-sensitive strings. -* [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS :large_orange_diamond: -* [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language :large_orange_diamond: -* [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines :large_orange_diamond: -* [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. :large_orange_diamond: -* [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. :large_orange_diamond: -* [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. :large_orange_diamond: +* [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS +* [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language +* [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines +* [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. +* [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. +* [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. * [Valet](https://github.com/square/Valet) - Securely store data in the iOS or macOS Keychain without knowing a thing about how the Keychain works. -* [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. :large_orange_diamond: -* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and macOS :large_orange_diamond: -* [Keychains](https://github.com/hyperoslo/Keychains) - Because you should care... about the security... of your shit. :large_orange_diamond: +* [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. +* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and macOS +* [Keychains](https://github.com/hyperoslo/Keychains) - Because you should care... about the security... of your shit. * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. * [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. -* [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. Written in Swift. :large_orange_diamond: +* [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. Written in Swift. ## Server -* [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. :large_orange_diamond: -* [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. :large_orange_diamond: +* [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. +* [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. * [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for macOS or iOS applications. -* [Curassow](https://github.com/kylef/Curassow) - Swift HTTP server using the pre-fork worker model. :large_orange_diamond: -* [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux :large_orange_diamond: -* [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, macOS, and Ubuntu. :large_orange_diamond: -* [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift :large_orange_diamond: -* [blackfire](https://github.com/elliottminns/blackfire) - A fast HTTP web server based on Node.js and Express written in Swift :large_orange_diamond: -* [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and macOS :large_orange_diamond: -* [Trevi](https://github.com/Yoseob/Trevi) - libuv base Swift web HTTP server framework :large_orange_diamond: -* [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift :large_orange_diamond: -* [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift :large_orange_diamond: -* [Frank](https://github.com/kylef/Frank) - Frank is a DSL for quickly writing web applications in Swift :large_orange_diamond: -* [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server :large_orange_diamond: -* [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and macOS :large_orange_diamond: -* [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. :large_orange_diamond: -* [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. macOS + Linux compatible. :large_orange_diamond: -* [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) :large_orange_diamond: -* [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. :large_orange_diamond: -* [Lightning](https://github.com/skylab-inc/Lightning) - A Swift Multiplatform Web and Networking Framework. :large_orange_diamond: -* [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. :large_orange_diamond: -* [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. :large_orange_diamond: -* [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! :large_orange_diamond: +* [Curassow](https://github.com/kylef/Curassow) - Swift HTTP server using the pre-fork worker model. +* [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux +* [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, macOS, and Ubuntu. +* [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift +* [blackfire](https://github.com/elliottminns/blackfire) - A fast HTTP web server based on Node.js and Express written in Swift +* [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and macOS +* [Trevi](https://github.com/Yoseob/Trevi) - libuv base Swift web HTTP server framework +* [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift +* [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift +* [Frank](https://github.com/kylef/Frank) - Frank is a DSL for quickly writing web applications in Swift +* [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server +* [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and macOS +* [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. +* [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. macOS + Linux compatible. +* [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) +* [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. +* [Lightning](https://github.com/skylab-inc/Lightning) - A Swift Multiplatform Web and Networking Framework. +* [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. +* [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. +* [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! * [GCDWebServer](https://github.com/swisspol/GCDWebServer) - Lightweight GCD based HTTP server for macOS & iOS (includes web based uploader & WebDAV server) ## Text @@ -1470,77 +1468,77 @@ Most of these are paid services, some have free tiers. * [DTCoreText](https://github.com/Cocoanetics/DTCoreText) - Methods to allow using HTML code with CoreText. * [DTRichTextEditor](https://github.com/Cocoanetics/DTRichTextEditor) - A rich-text editor for iOS. * [NBEmojiSearchView](https://github.com/neerajbaid/NBEmojiSearchView) - A searchable emoji dropdown view. -* [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension :large_orange_diamond: -* [RichEditorView](https://github.com/cjwirth/RichEditorView) - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. :large_orange_diamond: -* [Money](https://github.com/danthorpe/Money) - Swift value types for working with money & currency :large_orange_diamond: -* [PhoneNumberKit](https://github.com/marmelroy/PhoneNumberKit) - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. :large_orange_diamond: +* [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension +* [RichEditorView](https://github.com/cjwirth/RichEditorView) - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. +* [Money](https://github.com/danthorpe/Money) - Swift value types for working with money & currency +* [PhoneNumberKit](https://github.com/marmelroy/PhoneNumberKit) - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. * [YYText](https://github.com/ibireme/YYText) - Powerful text framework for iOS to display and edit rich text. -* [Format](https://github.com/marmelroy/Format) - A Swift Formatter Kit. :large_orange_diamond: -* [Tribute](https://github.com/zats/Tribute) - Programmatic creation of NSAttributedString doesn't have to be a pain :large_orange_diamond: -* [EmojiKit](https://github.com/dasmer/EmojiKit) - Effortless emoji-querying in Swift :large_orange_diamond: -* [Roman](https://github.com/nvzqz/Roman) - Seamless Roman numeral conversion in Swift. :large_orange_diamond: +* [Format](https://github.com/marmelroy/Format) - A Swift Formatter Kit. +* [Tribute](https://github.com/zats/Tribute) - Programmatic creation of NSAttributedString doesn't have to be a pain +* [EmojiKit](https://github.com/dasmer/EmojiKit) - Effortless emoji-querying in Swift +* [Roman](https://github.com/nvzqz/Roman) - Seamless Roman numeral conversion in Swift. * [ZSSRichTextEditor](https://github.com/nnhubbard/ZSSRichTextEditor) - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view. * [pangu.Objective-C](https://github.com/Cee/pangu.objective-c) - Paranoid text spacing in Objective-C. -* [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift :large_orange_diamond: -* [Marklight](https://github.com/macteo/Marklight) - Markdown syntax highlighter for iOS :large_orange_diamond: -* [MarkdownTextView](https://github.com/indragiek/MarkdownTextView) - Rich Markdown editing control for iOS :large_orange_diamond: -* [TextAttributes](https://github.com/delba/TextAttributes) - An easier way to compose attributed strings. :large_orange_diamond:[e] -* [Reductio](https://github.com/fdzsergio/Reductio) - Automatic summarizer text in Swift :large_orange_diamond: -* [SmarkDown](https://github.com/SwiftStudies/SmarkDown) - A Pure Swift implementation of the markdown mark-up language :large_orange_diamond: -* [SwiftyMarkdown](https://github.com/SimonFairbairn/SwiftyMarkdown) - Converts Markdown files and strings into NSAttributedString :large_orange_diamond: +* [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift +* [Marklight](https://github.com/macteo/Marklight) - Markdown syntax highlighter for iOS +* [MarkdownTextView](https://github.com/indragiek/MarkdownTextView) - Rich Markdown editing control for iOS +* [TextAttributes](https://github.com/delba/TextAttributes) - An easier way to compose attributed strings. [e] +* [Reductio](https://github.com/fdzsergio/Reductio) - Automatic summarizer text in Swift +* [SmarkDown](https://github.com/SwiftStudies/SmarkDown) - A Pure Swift implementation of the markdown mark-up language +* [SwiftyMarkdown](https://github.com/SimonFairbairn/SwiftyMarkdown) - Converts Markdown files and strings into NSAttributedString * [SZMentions](https://github.com/szweier/SZMentions) - Library to help handle mentions * [SZMentionsSwift](https://github.com/szweier/SZMentionsSwift) - Library to help handle mentions. -* [Heimdall](https://github.com/henrinormak/Heimdall) - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. :large_orange_diamond: -* [NoOptionalInterpolation](https://github.com/T-Pham/NoOptionalInterpolation) - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.🔶[e] +* [Heimdall](https://github.com/henrinormak/Heimdall) - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. +* [NoOptionalInterpolation](https://github.com/T-Pham/NoOptionalInterpolation) - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.[e] * [Smile](https://github.com/onmyway133/Smile) 😄 Emoji in Swift -* [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift 🔶[e] -* [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. :large_orange_diamond: +* [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift [e] +* [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. * [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set -* [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings in Swift :large_orange_diamond: +* [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings in Swift * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). -* [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. :large_orange_diamond: -* [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. :large_orange_diamond: -* [MarkdownKit](https://github.com/ivanbruel/MarkdownKit) - A simple and customizable Markdown Parser for Swift. :large_orange_diamond: -* [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and macOS. :large_orange_diamond: -* [Apodimark](https://github.com/loiclec/Apodimark) - Fast, flexible markdown parser written in Swift. :large_orange_diamond: -* [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. :large_orange_diamond: -* [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for iOS. With UITextField extension. :large_orange_diamond: -* [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. :large_orange_diamond: -* [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/emojione/emojione). :large_orange_diamond: -* [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. :large_orange_diamond: +* [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. +* [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. +* [MarkdownKit](https://github.com/ivanbruel/MarkdownKit) - A simple and customizable Markdown Parser for Swift. +* [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and macOS. +* [Apodimark](https://github.com/loiclec/Apodimark) - Fast, flexible markdown parser written in Swift. +* [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. +* [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for iOS. With UITextField extension. +* [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. +* [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/emojione/emojione). +* [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. * [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). * [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). * [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts -* [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. :large_orange_diamond: -* [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. :large_orange_diamond: -* [Attributed](https://github.com/Nirma/Attributed) - Modern Swift µframework for attributed strings. :large_orange_diamond: -* [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. :large_orange_diamond: -* [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. :large_orange_diamond: +* [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. +* [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. +* [Attributed](https://github.com/Nirma/Attributed) - Modern Swift µframework for attributed strings. +* [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. +* [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. * [RealTimeCurrencyFormatter](https://github.com/kaiomedau/realtime-currency-formatter-objc) - An ObjC international currency formatting utility. -* [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. 🔶 -* [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. 🔶 -* [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. 🔶 -* [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. :large_orange_diamond: -* [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS :large_orange_diamond: -* [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. 🔶 +* [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. +* [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. +* [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. +* [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. +* [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS +* [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. #### Font -* [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. :large_orange_diamond: -* [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project :large_orange_diamond: +* [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. +* [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project * [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. -* [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. :large_orange_diamond: -* [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported :large_orange_diamond: -* [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon) :large_orange_diamond: +* [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. +* [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported +* [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon) * [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. -* [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS :large_orange_diamond: -* [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. :large_orange_diamond: -* [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: -* [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. :large_orange_diamond: -* [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. :large_orange_diamond: -* [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Font management (System & Custom) for iOS and tvOS :large_orange_diamond: -* [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! :large_orange_diamond: -* [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. :large_orange_diamond: -* [Font-Awesome-Swift](https://github.com/Vaberer/Font-Awesome-Swift) - Font Awesome swift library for iOS. :large_orange_diamond: +* [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS +* [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. +* [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. +* [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. +* [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. +* [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Font management (System & Custom) for iOS and tvOS +* [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! +* [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. +* [Font-Awesome-Swift](https://github.com/Vaberer/Font-Awesome-Swift) - Font Awesome swift library for iOS. ## Testing @@ -1552,17 +1550,17 @@ Most of these are paid services, some have free tiers. * [OHHTTPStubs](https://github.com/AliSoftware/OHHTTPStubs) - Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers! * [Dixie](https://github.com/Skyscanner/Dixie) - Dixie is an open source Objective-C testing framework for altering object behaviours. * [gh-unit](https://github.com/gh-unit/gh-unit) - Test Framework for Objective-C. -* [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C :large_orange_diamond: -* [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift :large_orange_diamond: -* [SwiftCheck](https://github.com/typelift/SwiftCheck) - QuickCheck for Swift :large_orange_diamond: -* [Spry](https://github.com/Quick/Spry) - A Mac and iOS Playgrounds Unit Testing library based on Nimble. 🔶 -* [swift-corelibs-xctest](https://github.com/apple/swift-corelibs-xctest) - The XCTest Project, A Swift core library for providing unit test support. :large_orange_diamond: +* [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C +* [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift +* [SwiftCheck](https://github.com/typelift/SwiftCheck) - QuickCheck for Swift +* [Spry](https://github.com/Quick/Spry) - A Mac and iOS Playgrounds Unit Testing library based on Nimble. +* [swift-corelibs-xctest](https://github.com/apple/swift-corelibs-xctest) - The XCTest Project, A Swift core library for providing unit test support. #### A/B Testing * [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. * [SkyLab](https://github.com/mattt/SkyLab) - Multivariate & A/B Testing for iOS and Mac * [MSActiveConfig](https://github.com/mindsnacks/MSActiveConfig) - Remote configuration and A/B Testing framework for iOS -* [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS :large_orange_diamond: +* [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS #### UI Testing * [CrashMonkey](https://github.com/mokemokechicken/CrashMonkey) - Monkey Test Tool For iOS. @@ -1576,30 +1574,30 @@ Most of these are paid services, some have free tiers. * [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. * [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations. * [EarlGrey](https://github.com/google/EarlGrey) - :tea: iOS UI Automation Test Framework. -* [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? :large_orange_diamond: -* [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo :large_orange_diamond: +* [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? +* [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo * [Bluepill](https://github.com/linkedin/bluepill) - Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine * [Flawless App](https://flawlessapp.io/) - tool for visual quality check of mobile app in a real-time. It compares initial design with the actual implementation right inside iOS simulator. -* [TouchVisualizer](https://github.com/morizotter/TouchVisualizer) - Lightweight touch visualization library in Swift. A single line of code and visualize your touches! :large_orange_diamond: +* [TouchVisualizer](https://github.com/morizotter/TouchVisualizer) - Lightweight touch visualization library in Swift. A single line of code and visualize your touches! #### Other Testing * [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. -* [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. :large_orange_diamond: -* [DVR](https://github.com/venmo/DVR) - Network testing for Swift :large_orange_diamond: -* [Cuckoo](https://github.com/Brightify/Cuckoo) - First boilerplate-free mocking framework for Swift :large_orange_diamond: -* [Parallel iOS Tests](https://github.com/plu/parallel_ios_tests) - Run iOS tests on multiple simulators in parallel at the same time :large_orange_diamond: -* [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift :large_orange_diamond: -* [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java :large_orange_diamond: -* [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps :large_orange_diamond: +* [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. +* [DVR](https://github.com/venmo/DVR) - Network testing for Swift +* [Cuckoo](https://github.com/Brightify/Cuckoo) - First boilerplate-free mocking framework for Swift +* [Parallel iOS Tests](https://github.com/plu/parallel_ios_tests) - Run iOS tests on multiple simulators in parallel at the same time +* [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift +* [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java +* [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps * [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 * [trainer](https://github.com/KrauseFx/trainer) - Convert xcodebuild plist files to JUnit reports -* [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur :large_orange_diamond: -* [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift :large_orange_diamond: +* [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur +* [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift * [AcceptanceMark](https://github.com/bizz84/AcceptanceMark) Tool to auto-generate Xcode tests classes from Markdown tables -* [MetovaTestKit](https://github.com/metova/MetovaTestKit) - A collection of testing utilities to turn crashing test suites into failing test suites. :large_orange_diamond: -* [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes :large_orange_diamond: -* [SnappyTestCase](https://github.com/tooploox/SnappyTestCase) - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. :large_orange_diamond: -* [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. 🔶 +* [MetovaTestKit](https://github.com/metova/MetovaTestKit) - A collection of testing utilities to turn crashing test suites into failing test suites. +* [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes +* [SnappyTestCase](https://github.com/tooploox/SnappyTestCase) - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. +* [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. * [OCMock](http://ocmock.org) - Mock objects for Objective-C. ## UI @@ -1608,213 +1606,213 @@ Most of these are paid services, some have free tiers. * [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. * [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. -* [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. :large_orange_diamond: +* [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. * [MVMaterialView](https://github.com/TheMrugraj/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. -* [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. :large_orange_diamond: -* [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. :large_orange_diamond: -* [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. :large_orange_diamond: +* [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. +* [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. +* [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. -* [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. :large_orange_diamond: +* [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. * [ComponentKit](http://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. -* [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit :large_orange_diamond: -* [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift :large_orange_diamond: +* [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit +* [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. * [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. -* [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. :large_orange_diamond: +* [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) * [HorizontalProgress](https://github.com/AliThink/HorizontalProgress) - Simple horizontal progress bar with animation * [JRSplitVC](https://github.com/tommypeps/JRSplitVC) - UISplitViewController with adaptative layouts -* [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. :large_orange_diamond: -* [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications :large_orange_diamond: -* [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages :large_orange_diamond: -* [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. :large_orange_diamond: -* [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. :large_orange_diamond: -* [StackPageView](https://github.com/noppefoxwolf/StackPageView) - Vertical page view with UIViewControllers stacked on the top of each other :large_orange_diamond: +* [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. +* [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications +* [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages +* [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. +* [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. +* [StackPageView](https://github.com/noppefoxwolf/StackPageView) - Vertical page view with UIViewControllers stacked on the top of each other * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. -* [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple :large_orange_diamond: -* [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. :large_orange_diamond: -* [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop :large_orange_diamond: -* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. :large_orange_diamond: -* [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. :large_orange_diamond: +* [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple +* [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. +* [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop +* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. +* [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers -* [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. :large_orange_diamond: +* [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. * [SCNavigationControlCenter](https://github.com/SergioChan/SCNavigationControlCenter) - This is an advanced navigation control center on iOS that can allow you to navigate to whichever view controller you want * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. * [FXBlurView](https://github.com/nicklockwood/FXBlurView) - UIView subclass that replicates the iOS 7 realtime background blur effect, but works on iOS 5 and above. * [NGAParallaxMotion](https://github.com/michaeljbishop/NGAParallaxMotion) - A tiny category on UIView that allows you to set one property: "parallaxIntensity" to achieve a parallax effect with UIMotionEffect -* [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. :large_orange_diamond: +* [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. * [CRParticleEffect](https://github.com/Cleveroad/CRParticleEffect) - A CocoaPod that simplifies creation of the particle effects. -* [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. :large_orange_diamond: +* [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. * [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book -* [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. :large_orange_diamond: +* [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. * [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS -* [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library :large_orange_diamond: +* [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library * [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. -* [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. :large_orange_diamond: +* [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. * [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities. * [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. -* [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. 🔶 -* [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift :large_orange_diamond: +* [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. +* [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift * [CoreDragon](https://github.com/nevyn/CoreDragon) - [iOS] Stop using context menus. Drag and drop instead, even between apps! -* [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. :large_orange_diamond: +* [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. * [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face. -* [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. :large_orange_diamond: -* [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. :large_orange_diamond: +* [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. +* [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. * [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. -* [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. :large_orange_diamond: +* [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. * [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app. -* [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. :large_orange_diamond: -* [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). :large_orange_diamond: -* [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller :large_orange_diamond: -* [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) :large_orange_diamond: -* [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift :large_orange_diamond: -* [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. :large_orange_diamond: +* [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. +* [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). +* [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller +* [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) +* [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift +* [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. * [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. -* [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. :large_orange_diamond: -* [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. :large_orange_diamond: -* [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 :large_orange_diamond: -* [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller :large_orange_diamond: -* [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. :large_orange_diamond: +* [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. +* [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. +* [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 +* [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller +* [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views. -* [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects :large_orange_diamond: -* [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ :large_orange_diamond: -* [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. :large_orange_diamond: +* [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects +* [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ +* [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ -* [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. :large_orange_diamond: +* [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. * [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS * [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. -* [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. :large_orange_diamond: -* [Blurable](https://github.com/FlexMonkey/Blurable) - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions :large_orange_diamond: -* [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code :large_orange_diamond: -* [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. :large_orange_diamond: +* [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. +* [Blurable](https://github.com/FlexMonkey/Blurable) - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions +* [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code +* [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. * [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. -* [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. :large_orange_diamond: -* [planet](https://github.com/kwallet/planet) - A country picker :large_orange_diamond: -* [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. :large_orange_diamond: -* [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views :large_orange_diamond: -* [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style :large_orange_diamond: +* [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. +* [planet](https://github.com/kwallet/planet) - A country picker +* [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. +* [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views +* [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. -* [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. :large_orange_diamond: +* [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. -* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background :large_orange_diamond: -* [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. :large_orange_diamond: -* [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. :large_orange_diamond: +* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background +* [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. +* [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. * [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. -* [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app :large_orange_diamond: -* [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect :large_orange_diamond: -* [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. :large_orange_diamond: +* [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app +* [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect +* [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. * [CRRulerControl](https://github.com/Cleveroad/CRRulerControl) - Customizable component is aimed at turning a simple ruler into a handy and smart instrument. -* [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. :large_orange_diamond: -* [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. :large_orange_diamond: -* [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control :large_orange_diamond: -* [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button :large_orange_diamond: -* [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards :large_orange_diamond: +* [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. +* [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. +* [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control +* [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button +* [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards * [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. -* [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics :large_orange_diamond: -* [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. 🔶 -* [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. :large_orange_diamond: +* [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics +* [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. +* [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. * [CRPageViewController](https://github.com/Cleveroad/CRPageViewController) - While a standard page view allows you to navigate between pages by using simple gestures, our component goes further. -* [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. :large_orange_diamond: +* [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. * [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts -* [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. :large_orange_diamond: -* [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. :large_orange_diamond: -* [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. :large_orange_diamond: -* [Pageboy](https://github.com/uias/Pageboy) - A simple, highly informative page view controller. :large_orange_diamond: -* [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift 🔶 -* [KPActionSheet](https://github.com/khuong291/KPActionSheet) - 🔶 A replacement of default action sheet, but has very simple usage. 🔶 -* [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator :large_orange_diamond: -* [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). 🔶 -* [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. 🔶 -* [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. :large_orange_diamond: -* [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. 🔶 -* [HamsterUIKit](https://github.com/Howardw3/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. 🔶 -* [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. 🔶 -* [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. 🔶 -* [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. 🔶 +* [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. +* [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. +* [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. +* [Pageboy](https://github.com/uias/Pageboy) - A simple, highly informative page view controller. +* [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift +* [KPActionSheet](https://github.com/khuong291/KPActionSheet) - A replacement of default action sheet, but has very simple usage. +* [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator +* [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). +* [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. +* [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. +* [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. +* [HamsterUIKit](https://github.com/Howardw3/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. +* [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. +* [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. +* [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. * [ViewComposer](https://github.com/Sajjon/ViewComposer) - `let lbl: UILabel = [.text("Hello"), .textColor(.red)]` - Create views using array literal of enum expressing view attributes. -* [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. 🔶 -* [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView :large_orange_diamond: -* [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI :large_orange_diamond: -* [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. :large_orange_diamond: -* [Panda](https://github.com/wordlessj/Panda) - Create view hierarchies declaratively. :large_orange_diamond: -* [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X :large_orange_diamond: -* [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. :large_orange_diamond: -* [SwiftyUI](https://github.com/haoking/SwiftyUI) - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more. 🔶 -* [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. 🔶 -* [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. 🔶 -* [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. :large_orange_diamond: +* [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. +* [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView +* [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI +* [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. +* [Panda](https://github.com/wordlessj/Panda) - Create view hierarchies declaratively. +* [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X +* [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. +* [SwiftyUI](https://github.com/haoking/SwiftyUI) - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more. +* [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. +* [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. +* [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. * [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. -* [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. :large_orange_diamond: -* [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. 🔶 -* [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. 🔶 -* [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). 🔶 -* [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list :large_orange_diamond: +* [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. +* [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. +* [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. +* [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). +* [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list #### Activity Indicator -* [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. :large_orange_diamond: -* [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift :large_orange_diamond: -* [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations :cyclone: by using Swift CALayer :large_orange_diamond: -* [LiquidLoader](https://github.com/yoavlt/LiquidLoader) - Spinner loader components with liquid animation :large_orange_diamond: -* [iOS-CircleProgressView](https://github.com/CardinalNow/iOS-CircleProgressView) - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view. :large_orange_diamond: +* [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. +* [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift +* [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations :cyclone: by using Swift CALayer +* [LiquidLoader](https://github.com/yoavlt/LiquidLoader) - Spinner loader components with liquid animation +* [iOS-CircleProgressView](https://github.com/CardinalNow/iOS-CircleProgressView) - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view. * [iOS Circle Progress Bar](https://github.com/Eclair/CircleProgressBar) - iOS Circle Progress Bar -* [LinearProgressBar](https://github.com/PhilippeBoisney/LinearProgressBar) - Linear Progress Bar (inspired by Google Material Design) for iOS written in Swift 2.0. :large_orange_diamond: -* [STLoadingGroup](https://github.com/saitjr/STLoadingGroup) - loading views :large_orange_diamond: -* [ALThreeCircleSpinner](https://github.com/AlexLittlejohn/ALThreeCircleSpinner) - A pulsing spinner view written in swift :large_orange_diamond: +* [LinearProgressBar](https://github.com/PhilippeBoisney/LinearProgressBar) - Linear Progress Bar (inspired by Google Material Design) for iOS written in Swift 2.0. +* [STLoadingGroup](https://github.com/saitjr/STLoadingGroup) - loading views +* [ALThreeCircleSpinner](https://github.com/AlexLittlejohn/ALThreeCircleSpinner) - A pulsing spinner view written in swift * [MHRadialProgressView](https://github.com/mehfuzh/MHRadialProgressView) - iOS 7 radial animated progress view. -* [Loader](https://github.com/Ekhoo/Loader) - Amazing animated switch activity indicator written in swift :large_orange_diamond: +* [Loader](https://github.com/Ekhoo/Loader) - Amazing animated switch activity indicator written in swift * [MBProgressHUD](https://github.com/jdg/MBProgressHUD) - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. * [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD) - A clean and lightweight progress HUD for your iOS app. * [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - ProgressHUD is a lightweight and easy-to-use HUD. * [M13ProgressSuite](https://github.com/Marxon13/M13ProgressSuite) - A suite containing many tools to display progress information on iOS. -* [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. :large_orange_diamond: -* [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. :large_orange_diamond: +* [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. +* [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. * [FFCircularProgressView](https://github.com/elbryan/FFCircularProgressView) - FFCircularProgressView - An iOS 7-inspired blue circular progress view * [MRProgress](https://github.com/mrackwitz/MRProgress) - Collection of iOS drop-in components to visualize progress -* [BigBrother](https://github.com/marcelofabri/BigBrother) - Automatically sets the network activity indicator for any performed request. :large_orange_diamond: -* [AlamofireNetworkActivityIndicator](https://github.com/Alamofire/AlamofireNetworkActivityIndicator) - Controls the visibility of the network activity indicator on iOS using Alamofire. :large_orange_diamond: -* [KDCircularProgress](https://github.com/kaandedeoglu/KDCircularProgress) - A circular progress view with gradients written in Swift :large_orange_diamond: +* [BigBrother](https://github.com/marcelofabri/BigBrother) - Automatically sets the network activity indicator for any performed request. +* [AlamofireNetworkActivityIndicator](https://github.com/Alamofire/AlamofireNetworkActivityIndicator) - Controls the visibility of the network activity indicator on iOS using Alamofire. +* [KDCircularProgress](https://github.com/kaandedeoglu/KDCircularProgress) - A circular progress view with gradients written in Swift * [DACircularProgress](https://github.com/danielamitay/DACircularProgress) - DACircularProgress is a UIView subclass with circular UIProgressView properties. -* [KYNavigationProgress](https://github.com/ykyouhei/KYNavigationProgress) - Simple extension of UINavigationController to display progress on the UINavigationBar. :large_orange_diamond:[e] -* [GearRefreshControl](https://github.com/andreamazz/GearRefreshControl) - A custom animation for the UIRefreshControl :large_orange_diamond: +* [KYNavigationProgress](https://github.com/ykyouhei/KYNavigationProgress) - Simple extension of UINavigationController to display progress on the UINavigationBar. [e] +* [GearRefreshControl](https://github.com/andreamazz/GearRefreshControl) - A custom animation for the UIRefreshControl * [NJKWebViewProgress](https://github.com/ninjinkun/NJKWebViewProgress) - A progress interface library for UIWebView. You can implement progress bar for your in-app browser using this module. -* [MKRingProgressView](https://github.com/maxkonovalov/MKRingProgressView) - A beautiful ring/circular progress view similar to Activity app on Apple Watch, written in Swift. 🔶 -* [Hexacon](https://github.com/gautier-gdx/Hexacon) - A new way to display content in your app like the Apple Watch SpringBoard, written in Swift. 🔶 -* [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. :large_orange_diamond: -* [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - (Swift) Circular progress UIView subclass with UIProgressView properties :large_orange_diamond: +* [MKRingProgressView](https://github.com/maxkonovalov/MKRingProgressView) - A beautiful ring/circular progress view similar to Activity app on Apple Watch, written in Swift. +* [Hexacon](https://github.com/gautier-gdx/Hexacon) - A new way to display content in your app like the Apple Watch SpringBoard, written in Swift. +* [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. +* [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - (Swift) Circular progress UIView subclass with UIProgressView properties * [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. * [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beautiful hud view for iPhone & iPad -* [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. :large_orange_diamond: -* [FillableLoaders](https://github.com/polqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift :large_orange_diamond: -* [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. :large_orange_diamond: -* [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design :large_orange_diamond: -* [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. :large_orange_diamond: -* [LLSpinner](https://github.com/alaphao/LLSpinner) - An easy way to create a full screen activity indicator. :large_orange_diamond: -* [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. :large_orange_diamond: +* [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. +* [FillableLoaders](https://github.com/polqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift +* [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. +* [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design +* [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. +* [LLSpinner](https://github.com/alaphao/LLSpinner) - An easy way to create a full screen activity indicator. +* [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. * [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. -* [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. :large_orange_diamond: -* [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. :large_orange_diamond: -* [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. :large_orange_diamond: -* [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). :large_orange_diamond: -* [BPCircleActivityIndicator](https://github.com/ppth0608/BPCircleActivityIndicator) - A lightweight and awesome Loading Activity Indicator for your iOS app. :large_orange_diamond: -* [DottedProgressBar](https://github.com/nikola9core/DottedProgressBar) - Simple and customizable animated progress bar with dots for iOS. :large_orange_diamond: -* [RSLoadingView](https://github.com/roytornado/RSLoadingView) - Awesome loading animations using 3D engine written with Swift. :large_orange_diamond: -* [SendIndicator](https://github.com/LeonardoCardoso/SendIndicator) - Yet another task indicator :large_orange_diamond: -* [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. :large_orange_diamond: -* [BPBlockActivityIndicator](https://github.com/ppth0608/BPBlockActivityIndicator) - A simple and awesome Loading Activity Indicator(with funny block animation) for your iOS app. :large_orange_diamond: -* [JustHUD](https://github.com/shubh10/JustHUD) - JustHUD is an iOS drop-in class written in Swift that displays a translucent HUD. :large_orange_diamond: -* [JDBreaksLoading](https://github.com/jamesdouble/JDBreaksLoading) - You can easily start up a little breaking game indicator by one line. :large_orange_diamond: -* [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. :large_orange_diamond: -* [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. :large_orange_diamond: -* [Skeleton](https://github.com/gonzalonunez/Skeleton) - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content. 🔶 -+* [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch" 🔶 +* [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. +* [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. +* [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. +* [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). +* [BPCircleActivityIndicator](https://github.com/ppth0608/BPCircleActivityIndicator) - A lightweight and awesome Loading Activity Indicator for your iOS app. +* [DottedProgressBar](https://github.com/nikola9core/DottedProgressBar) - Simple and customizable animated progress bar with dots for iOS. +* [RSLoadingView](https://github.com/roytornado/RSLoadingView) - Awesome loading animations using 3D engine written with Swift. +* [SendIndicator](https://github.com/LeonardoCardoso/SendIndicator) - Yet another task indicator +* [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. +* [BPBlockActivityIndicator](https://github.com/ppth0608/BPBlockActivityIndicator) - A simple and awesome Loading Activity Indicator(with funny block animation) for your iOS app. +* [JustHUD](https://github.com/shubh10/JustHUD) - JustHUD is an iOS drop-in class written in Swift that displays a translucent HUD. +* [JDBreaksLoading](https://github.com/jamesdouble/JDBreaksLoading) - You can easily start up a little breaking game indicator by one line. +* [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. +* [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. +* [Skeleton](https://github.com/gonzalonunez/Skeleton) - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content. ++* [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch" #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. @@ -1822,234 +1820,234 @@ Most of these are paid services, some have free tiers. * [Awesome-iOS-Animation](https://github.com/jackymelb/awesome-ios-animation) - Collection of Animation projects * [RZTransitions](https://github.com/Raizlabs/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. * [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. -* [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. :large_orange_diamond: +* [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. * [Canvas](https://github.com/CanvasPod/Canvas) - Animate in Xcode without code http://canvaspod.io -* [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy :large_orange_diamond: -* [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS with Swift2. :large_orange_diamond: -* [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). :large_orange_diamond: +* [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy +* [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS with Swift2. +* [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). * [Pop By Example](https://github.com/hossamghareeb/Facebook-POP-Tutorial) - A project tutorial in how to use Pop animation framework by example. * [AppAnimations](http://www.appanimations.com) - Collection of iOS animations to inspire your next project -* [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. :large_orange_diamond: -* [Animo](https://github.com/eure/Animo) - SpriteKit-like animation builders for CALayers. :large_orange_diamond: +* [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. +* [Animo](https://github.com/eure/Animo) - SpriteKit-like animation builders for CALayers. * [CurryFire](https://github.com/devinross/curry-fire) - A framework for creating unique animations. -* [IBAnimatable](https://github.com/IBAnimatable/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. :large_orange_diamond: -* [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView :large_orange_diamond: -* [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining :large_orange_diamond: -* [SYBlinkAnimationKit](https://github.com/shoheiyokoyama/SYBlinkAnimationKit) - A blink effect animation framework for iOS, written in Swift. :large_orange_diamond: +* [IBAnimatable](https://github.com/IBAnimatable/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. +* [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView +* [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining +* [SYBlinkAnimationKit](https://github.com/shoheiyokoyama/SYBlinkAnimationKit) - A blink effect animation framework for iOS, written in Swift. * [PulsingHalo](https://github.com/shu223/PulsingHalo) - iOS Component for creating a pulsing animation. -* [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - Chainable animations in Swift :large_orange_diamond: -* [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift :large_orange_diamond: -* [Advance](https://github.com/timdonnelly/Advance) - A powerful animation framework for iOS. :large_orange_diamond: +* [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - Chainable animations in Swift +* [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift +* [Advance](https://github.com/timdonnelly/Advance) - A powerful animation framework for iOS. * [UIView-Shake](https://github.com/andreamazz/UIView-Shake) - UIView category that adds shake animation -* [Walker](https://github.com/RamonGilabert/Walker) - A new animation engine for your app. :large_orange_diamond: -* [Morgan](https://github.com/RamonGilabert/Morgan) - An animation set for your app. :large_orange_diamond: -* [MagicMove](https://github.com/patrickreynolds/MagicMove) - Keynote-style Magic Move transition animations :large_orange_diamond: +* [Walker](https://github.com/RamonGilabert/Walker) - A new animation engine for your app. +* [Morgan](https://github.com/RamonGilabert/Morgan) - An animation set for your app. +* [MagicMove](https://github.com/patrickreynolds/MagicMove) - Keynote-style Magic Move transition animations * [Shimmer](https://github.com/facebook/Shimmer) - An easy way to add a simple, shimmering effect to any view in an iOS app. -* [SAConfettiView](https://github.com/sudeepag/SAConfettiView) - Confetti! Who doesn't like confetti? :large_orange_diamond: -* [CCMRadarView](https://github.com/cacmartinez/CCMRadarView) - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation :large_orange_diamond: -* [Pulsator](https://github.com/shu223/Pulsator) - Pulse animation for iOS :large_orange_diamond: -* [Interpolate](https://github.com/marmelroy/Interpolate) - Swift interpolation for gesture-driven animations :large_orange_diamond: -* [ADPuzzleAnimation](https://github.com/Antondomashnev/ADPuzzleAnimation) - Custom animation for UIView inspired by Fabric - Answers animation. :large_orange_diamond: -* [Wave](https://github.com/onmyway133/Wave) - :ocean: Declarative chainable animations in Swift :large_orange_diamond: -* [Stellar](https://github.com/AugustRush/Stellar) - A fantastic Physical animation library for swift :large_orange_diamond: -* [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. :large_orange_diamond: +* [SAConfettiView](https://github.com/sudeepag/SAConfettiView) - Confetti! Who doesn't like confetti? +* [CCMRadarView](https://github.com/cacmartinez/CCMRadarView) - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation +* [Pulsator](https://github.com/shu223/Pulsator) - Pulse animation for iOS +* [Interpolate](https://github.com/marmelroy/Interpolate) - Swift interpolation for gesture-driven animations +* [ADPuzzleAnimation](https://github.com/Antondomashnev/ADPuzzleAnimation) - Custom animation for UIView inspired by Fabric - Answers animation. +* [Wave](https://github.com/onmyway133/Wave) - :ocean: Declarative chainable animations in Swift +* [Stellar](https://github.com/AugustRush/Stellar) - A fantastic Physical animation library for swift +* [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. * [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. -* [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes. :large_orange_diamond: -* [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax :large_orange_diamond: -* [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. :large_orange_diamond: -* [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. :large_orange_diamond: +* [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes. +* [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax +* [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. +* [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. * [JHChainableAnimations](https://github.com/jhurray/JHChainableAnimations) - Easy to read and write chainable animations in Objective-C -* [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework :large_orange_diamond: +* [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework * [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. -* [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle :large_orange_diamond: +* [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle * [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. -* [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect :large_orange_diamond: +* [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect * [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. -* [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. :large_orange_diamond: -* [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. :large_orange_diamond: +* [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. +* [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. * [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. -* [Overlap](https://github.com/ML-Works/Overlap) - Tiny iOS library to achieve overlap visual effect. :large_orange_diamond: -* [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. :large_orange_diamond: -* [AnimatedCollectionViewLayout](https://github.com/KelvinJin/AnimatedCollectionViewLayout) - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView. :large_orange_diamond: -* [Dance](https://github.com/saoudrizwan/Dance) - A radical & elegant animation library built for iOS. :large_orange_diamond: +* [Overlap](https://github.com/ML-Works/Overlap) - Tiny iOS library to achieve overlap visual effect. +* [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. +* [AnimatedCollectionViewLayout](https://github.com/KelvinJin/AnimatedCollectionViewLayout) - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView. +* [Dance](https://github.com/saoudrizwan/Dance) - A radical & elegant animation library built for iOS. * [AKVideoImageView](https://github.com/numen31337/AKVideoImageView) - UIImageView subclass which allows you to display a looped video as a background. -* [Spruce iOS Animation Library](https://github.com/willowtreeapps/spruce-ios) - Swift library for choreographing animations on the screen.:large_orange_diamond: -* [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. 🔶 -* [TweenKit](https://github.com/SteveBarnegren/TweenKit) - Animation library for iOS in Swift. 🔶 -* [Water](https://github.com/KrisYu/Water) - Simple calculation to render cheap water effects. 🔶 -* [Pastel](https://github.com/cruisediary/Pastel) - Gradient animation effect like Instagram. 🔶 -* [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. :large_orange_diamond: -* [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation :large_orange_diamond: -* [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift :large_orange_diamond: -* [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS in Swift :large_orange_diamond: -* [ViewAnimator](https://github.com/marcosgriselli/ViewAnimator) - ViewAnimator brings your UI to life with just one line. 🔶 -* [Ease](https://github.com/roberthein/Ease) - Animate everything with Ease. 🔶 -* [Kinieta](https://github.com/mmick66/kinieta) - An Animation Engine with Custom Bezier Easing, an Intuitive API and perfect Color Intepolation. 🔶 +* [Spruce iOS Animation Library](https://github.com/willowtreeapps/spruce-ios) - Swift library for choreographing animations on the screen. +* [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. +* [TweenKit](https://github.com/SteveBarnegren/TweenKit) - Animation library for iOS in Swift. +* [Water](https://github.com/KrisYu/Water) - Simple calculation to render cheap water effects. +* [Pastel](https://github.com/cruisediary/Pastel) - Gradient animation effect like Instagram. +* [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. +* [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation +* [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift +* [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS in Swift +* [ViewAnimator](https://github.com/marcosgriselli/ViewAnimator) - ViewAnimator brings your UI to life with just one line. +* [Ease](https://github.com/roberthein/Ease) - Animate everything with Ease. +* [Kinieta](https://github.com/mmick66/kinieta) - An Animation Engine with Custom Bezier Easing, an Intuitive API and perfect Color Intepolation. * [LSAnimator](https://github.com/Lision/LSAnimator) - Easy to Read and Write Multi-chain Animations Kit in Objective-C and Swift. ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. -* [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. :large_orange_diamond: -* [BubbleTransition](https://github.com/andreamazz/BubbleTransition) - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. :large_orange_diamond: -* [RPModalGestureTransition](https://github.com/naoyashiga/RPModalGestureTransition) - You can dismiss modal by using gesture :point_up_2: :iphone: :large_orange_diamond: +* [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. +* [BubbleTransition](https://github.com/andreamazz/BubbleTransition) - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. +* [RPModalGestureTransition](https://github.com/naoyashiga/RPModalGestureTransition) - You can dismiss modal by using gesture :point_up_2: :iphone: * [RMPZoomTransitionAnimator](https://github.com/recruit-mp/RMPZoomTransitionAnimator) - A custom zooming transition animation for UIViewController -* [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. :large_orange_diamond: +* [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. * [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao * [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller -* [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. :large_orange_diamond: +* [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. * [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view heirarchy. Used extensively in the Zola iOS application. * [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. -* [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. :large_orange_diamond: -* [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. :large_orange_diamond: -* [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like iOS task manager :large_orange_diamond: -* [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. :large_orange_diamond: -* [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. :large_orange_diamond: -* [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. :large_orange_diamond: -* [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. :large_orange_diamond: -* [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS :large_orange_diamond: -* [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. :large_orange_diamond: -* [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. :large_orange_diamond: -* [DeckTransition](https://github.com/HarshilShah/DeckTransition) - A library to recreate the iOS Apple Music now playing transition :large_orange_diamond: -* [TransitionableTab](https://github.com/Interactive-Studio/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab :large_orange_diamond: +* [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. +* [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. +* [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like iOS task manager +* [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. +* [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. +* [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. +* [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. +* [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS +* [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. +* [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. +* [DeckTransition](https://github.com/HarshilShah/DeckTransition) - A library to recreate the iOS Apple Music now playing transition +* [TransitionableTab](https://github.com/Interactive-Studio/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab #### Alert & Action Sheet -* [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. :large_orange_diamond: +* [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. * [NYAlertViewController](https://github.com/nealyoung/NYAlertViewController) - Highly configurable iOS Alert Views with custom content views. -* [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. :large_orange_diamond: -* [TTGSnackbar](https://github.com/zekunyan/TTGSnackbar) - Show simple message and action button on the bottom of the screen with multi kinds of animation. :large_orange_diamond: -* [Swift-Prompts](https://github.com/GabrielAlva/Swift-Prompts) - A Swift library to design custom prompts with a great scope of options to choose from. :large_orange_diamond: -* [BRYXBanner](https://github.com/bryx-inc/BRYXBanner) - A lightweight dropdown notification for iOS 7+, in Swift. :large_orange_diamond: -* [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages :large_orange_diamond: +* [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. +* [TTGSnackbar](https://github.com/zekunyan/TTGSnackbar) - Show simple message and action button on the bottom of the screen with multi kinds of animation. +* [Swift-Prompts](https://github.com/GabrielAlva/Swift-Prompts) - A Swift library to design custom prompts with a great scope of options to choose from. +* [BRYXBanner](https://github.com/bryx-inc/BRYXBanner) - A lightweight dropdown notification for iOS 7+, in Swift. +* [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages * [HDNotificationView](https://github.com/nhdang103/HDNotificationView) - Emulates the native Notification Banner UI for any alert. * [JDStatusBarNotification](https://github.com/calimarkus/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. -* [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. :large_orange_diamond: -* [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController :large_orange_diamond: -* [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. :large_orange_diamond: -* [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. :large_orange_diamond: +* [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. +* [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController +* [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. +* [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. * [RKDropdownAlert](https://github.com/cwRichardKim/RKDropdownAlert) - Extremely simple UIAlertView alternative. -* [TKSwarmAlert](https://github.com/entotsu/TKSwarmAlert) - Animated alert library like Swarm app. :large_orange_diamond: -* [Whisper](https://github.com/hyperoslo/Whisper) - Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside :large_orange_diamond: -* [SimpleAlert](https://github.com/KyoheiG3/SimpleAlert) - Customizable simple Alert and simple ActionSheet for Swift :large_orange_diamond: -* [Hokusai](https://github.com/ytakzk/Hokusai) - A Swift library to provide a bouncy action sheet :large_orange_diamond: -* [SwiftNotice](https://github.com/johnlui/SwiftNotice) - SwiftNotice is a GUI library for displaying various popups (HUD) written in pure Swift, fits any scrollview. :large_orange_diamond: -* [SwiftOverlays](https://github.com/peterprokop/SwiftOverlays) - SwiftOverlays is a Swift GUI library for displaying various popups and notifications :large_orange_diamond: -* [SwiftyDrop](https://github.com/morizotter/SwiftyDrop) - SwiftyDrop is a lightweight pure Swift simple and beautiful dropdown message. :large_orange_diamond: -* [LKAlertController](https://github.com/Lightningkite/LKAlertController) - An easy to use UIAlertController builder for swift. :large_orange_diamond: -* [DOAlertController](https://github.com/okmr-d/DOAlertController) - Simple Alert View written in Swift, which can be used as a UIAlertController. (AlertController/AlertView/ActionSheet) :large_orange_diamond: -* [CustomizableActionSheet](https://github.com/beryu/CustomizableActionSheet) - Action sheet allows including your custom views and buttons. :large_orange_diamond: -* [Toast-Swift](https://github.com/scalessec/Toast-Swift) - A Swift extension that adds toast notifications to the UIView object class. :large_orange_diamond: -* [PMAlertController](https://github.com/Codeido/PMAlertController) - PMAlertController is a great and customizable substitute to UIAlertController. 🔶 -* [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. 🔶 -* [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. 🔶 +* [TKSwarmAlert](https://github.com/entotsu/TKSwarmAlert) - Animated alert library like Swarm app. +* [Whisper](https://github.com/hyperoslo/Whisper) - Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside +* [SimpleAlert](https://github.com/KyoheiG3/SimpleAlert) - Customizable simple Alert and simple ActionSheet for Swift +* [Hokusai](https://github.com/ytakzk/Hokusai) - A Swift library to provide a bouncy action sheet +* [SwiftNotice](https://github.com/johnlui/SwiftNotice) - SwiftNotice is a GUI library for displaying various popups (HUD) written in pure Swift, fits any scrollview. +* [SwiftOverlays](https://github.com/peterprokop/SwiftOverlays) - SwiftOverlays is a Swift GUI library for displaying various popups and notifications +* [SwiftyDrop](https://github.com/morizotter/SwiftyDrop) - SwiftyDrop is a lightweight pure Swift simple and beautiful dropdown message. +* [LKAlertController](https://github.com/Lightningkite/LKAlertController) - An easy to use UIAlertController builder for swift. +* [DOAlertController](https://github.com/okmr-d/DOAlertController) - Simple Alert View written in Swift, which can be used as a UIAlertController. (AlertController/AlertView/ActionSheet) +* [CustomizableActionSheet](https://github.com/beryu/CustomizableActionSheet) - Action sheet allows including your custom views and buttons. +* [Toast-Swift](https://github.com/scalessec/Toast-Swift) - A Swift extension that adds toast notifications to the UIView object class. +* [PMAlertController](https://github.com/Codeido/PMAlertController) - PMAlertController is a great and customizable substitute to UIAlertController. +* [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. +* [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. * [CRToast](https://github.com/cruffenach/CRToast) - A modern iOS toast view that can fit your notification needs -* [JLToast](https://github.com/devxoul/Toaster) - Toast for iOS with very simple interface. :large_orange_diamond: -* [CuckooAlert](https://github.com/rollmind/CuckooAlert) - Multiple use of presentViewController for UIAlertController. 🔶 -* [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. :large_orange_diamond: -* [Dodo](https://github.com/evgenyneu/Dodo) - A message bar for iOS written in Swift. :large_orange_diamond: -* [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. :large_orange_diamond: -* [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. :large_orange_diamond: -* [FCAlertView](https://github.com/krispenney/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) :large_orange_diamond: +* [JLToast](https://github.com/devxoul/Toaster) - Toast for iOS with very simple interface. +* [CuckooAlert](https://github.com/rollmind/CuckooAlert) - Multiple use of presentViewController for UIAlertController. +* [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. +* [Dodo](https://github.com/evgenyneu/Dodo) - A message bar for iOS written in Swift. +* [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. +* [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. +* [FCAlertView](https://github.com/krispenney/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) * [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. (Objective-C) -* [CDAlertView](https://github.com/candostdagdeviren/CDAlertView) - Highly customizable alert/notification/success/error/alarm popup 🔶 +* [CDAlertView](https://github.com/candostdagdeviren/CDAlertView) - Highly customizable alert/notification/success/error/alarm popup * [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. * [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. * [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. -* [Hedwig](https://github.com/dereklimbus/hedwig) - Interactive notification :large_orange_diamond: -* [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. :large_orange_diamond: -* [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift 🔶 +* [Hedwig](https://github.com/dereklimbus/hedwig) - Interactive notification +* [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. +* [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift * [RAlertView](https://github.com/roycms/AlertView) - AlertView, iOS popup window, A pop-up framework, Can be simple and convenient to join your project. -* [NoticeBar](https://github.com/qiuncheng/NoticeBar) - 😍A simple NoticeBar written by Swift 3, similar with QQ notice view. :large_orange_diamond: -* [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS :large_orange_diamond: -* [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook).🔶 -* [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone.🔶 -* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. 🔶 -* [Alertift](https://github.com/sgr-ksmt/Alertift) - Swifty, modern UIAlertController wrapper. :large_orange_diamond: -* [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. :large_orange_diamond: -* [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. 🔶 -* [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS :large_orange_diamond: -* [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. :large_orange_diamond: -* [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. :large_orange_diamond: -* [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. :large_orange_diamond: -* [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. :large_orange_diamond: +* [NoticeBar](https://github.com/qiuncheng/NoticeBar) - 😍A simple NoticeBar written by Swift 3, similar with QQ notice view. +* [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS +* [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook). +* [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone. +* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. +* [Alertift](https://github.com/sgr-ksmt/Alertift) - Swifty, modern UIAlertController wrapper. +* [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. +* [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. +* [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS +* [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. +* [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. +* [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. +* [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. #### Badge -* [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. :large_orange_diamond: -* [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. :large_orange_diamond:[e] +* [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. +* [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. [e] * [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. -* [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift :large_orange_diamond: +* [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift #### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. -* [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. :large_orange_diamond: +* [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. * [VBFPopFlatButton](https://github.com/victorBaro/VBFPopFlatButton) - Flat button with 9 different states animated using Facebook POP. * [HTPressableButton](https://github.com/Famolus/HTPressableButton) - Flat design pressable button. -* [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state :large_orange_diamond: +* [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state * [JTFadingInfoView](https://github.com/JunichiT/JTFadingInfoView) - An UIButton-based view with fade in/out animation features. -* [Floaty](https://github.com/kciter/Floaty) - :heart: Floating Action Button for iOS :large_orange_diamond: -* [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). :large_orange_diamond: -* [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift :large_orange_diamond: -* [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. :large_orange_diamond: +* [Floaty](https://github.com/kciter/Floaty) - :heart: Floating Action Button for iOS +* [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). +* [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift +* [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. * [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - Inspired by Apple’s download progress buttons in the App Store. -* [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design :large_orange_diamond: +* [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design * [JOEmojiableBtn](https://github.com/lojals/JOEmojiableBtn) - Emoji selector like Facebook Reactions. * [EMEmojiableBtn](https://github.com/Eke/EMEmojiableBtn) - Option selector that works similar to Reactions by fb. Objective-c version. * [WYMaterialButton](https://github.com/Yu-w/WYMaterialButton) - Interactive and fully animated Material Design button for iOS developers. -* [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift :large_orange_diamond: -* [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash :large_orange_diamond: -* [CRNetworkButton](https://github.com/Cleveroad/CRNetworkButton) - Send Button for iOS :large_orange_diamond: -* [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. :large_orange_diamond: -* [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. :large_orange_diamond: -* [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. 🔶 -* [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. :large_orange_diamond: -* [MultiToggleButton](https://github.com/yonat/MultiToggleButton) - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons). :large_orange_diamond: -* [PMSuperButton](https://github.com/Codeido/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! 🔶 -* [JSButton](https://github.com/imjog/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. 🔶 -* [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation :large_orange_diamond: -* [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. :large_orange_diamond: -* [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class 🔶 -* [DesignableButton](https://github.com/IdleHandsApps/DesignableButton) - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time! 🔶 +* [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift +* [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash +* [CRNetworkButton](https://github.com/Cleveroad/CRNetworkButton) - Send Button for iOS +* [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. +* [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. +* [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. +* [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. +* [MultiToggleButton](https://github.com/yonat/MultiToggleButton) - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons). +* [PMSuperButton](https://github.com/Codeido/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! +* [JSButton](https://github.com/imjog/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. +* [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation +* [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. +* [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class +* [DesignableButton](https://github.com/IdleHandsApps/DesignableButton) - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time! #### Calendar -* [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). :large_orange_diamond: +* [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). * [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. -* [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS :large_orange_diamond: +* [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS * [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A superiorly awesome iOS7+ calendar control, compatible with both Objective-C and Swift2. * [GLCalendarView](https://github.com/Glow-Inc/GLCalendarView) - A fully customizable calendar view acting as a date range picker * [JTCalendar](https://github.com/jonathantribouharet/JTCalendar) - A customizable calendar view for iOS. -* [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The Unofficial Swift Apple Calendar Library. View. Control. for iOS & tvOS :large_orange_diamond: +* [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The Unofficial Swift Apple Calendar Library. View. Control. for iOS & tvOS * [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. -* [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern :large_orange_diamond: +* [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern * [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS -* [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift :large_orange_diamond: -* [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time :large_orange_diamond: +* [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift +* [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time * [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. -* [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. :large_orange_diamond: -* [GDPersianCalendar](https://github.com/saeid/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. 🔶 +* [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. +* [GDPersianCalendar](https://github.com/saeid/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. * [MBCalendarKit](https://github.com/MosheBerman/MBCalendarKit) - A calendar framework for iOS built with customization, and localization in mind. -* [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. 🔶 +* [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. * [KDCalendarView](https://github.com/mmick66/CalendarView) - A calendar component for iOS written in Swift 4.0. It features both vertical and horizontal layout (and scrolling) and the display of native calendar events. #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS * [XLForm](https://github.com/xmartlabs/XLForm) - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C. -* [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. :large_orange_diamond: +* [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. * [YALField](https://github.com/Yalantis/YALField) - Custom Field component with validation for creating easier form-like UI from interface builder. -* [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. :large_orange_diamond: -* [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. :large_orange_diamond: +* [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. +* [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. * [APValidators](https://github.com/Alterplay/APValidators) - Codeless solution for form validation in iOS! -* [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS :large_orange_diamond: -* [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - SwiftyFORM is a form framework for iOS written in Swift :large_orange_diamond: +* [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS +* [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - SwiftyFORM is a form framework for iOS written in Swift * [FXForms](https://github.com/nicklockwood/FXForms) - FXForms is an Objective-C library for easily creating table-based forms on iOS. It is ideal for settings pages, or user data entry tasks. -* [SwiftValidator](https://github.com/SwiftValidatorCommunity/SwiftValidator) - A rule-based validation library for Swift :large_orange_diamond: +* [SwiftValidator](https://github.com/SwiftValidatorCommunity/SwiftValidator) - A rule-based validation library for Swift * [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. -* [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. :large_orange_diamond: -* [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. :large_orange_diamond: -* [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. :large_orange_diamond: +* [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. +* [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. +* [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. * [LightForm](https://github.com/farshidce/LightForm) - A Simple interactive and customizable library to handle form input and validations -* [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. :large_orange_diamond: +* [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. #### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. @@ -2057,420 +2055,420 @@ Most of these are paid services, some have free tiers. * [IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager) - Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. * [NgKeyboardTracker](https://github.com/meiwin/NgKeyboardTracker) - Objective-C library for tracking keyboard in iOS apps. * [MMNumberKeyboard](https://github.com/matmartinez/MMNumberKeyboard) - A simple keyboard to use with numbers and, optionally, a decimal point. -* [KeyboardObserver](https://github.com/morizotter/KeyboardObserver) - For less complicated keyboard event handling. :large_orange_diamond: +* [KeyboardObserver](https://github.com/morizotter/KeyboardObserver) - For less complicated keyboard event handling. * [TPKeyboardAvoiding](https://github.com/michaeltyson/TPKeyboardAvoiding) - A drop-in universal solution for moving text fields out of the way of the keyboard in iOS * [YYKeyboardManager](https://github.com/ibireme/YYKeyboardManager) - iOS utility class allows you to access keyboard view and track keyboard animation. -* [KeyboardMan](https://github.com/nixzhu/KeyboardMan) - KeyboardMan helps you make keyboard animation. :large_orange_diamond: +* [KeyboardMan](https://github.com/nixzhu/KeyboardMan) - KeyboardMan helps you make keyboard animation. * [MakemojiSDK](https://github.com/makemoji/MakemojiSDK) - Emoji Keyboard SDK (iOS) -* [Typist](https://github.com/totocaster/Typist) - Small, drop-in Swift UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center. :large_orange_diamond: -* [KeyboardHideManager](https://github.com/bonyadmitr/KeyboardHideManager) - Codeless manager to hide keyboard by tapping on views for iOS written in Swift :large_orange_diamond: -* [Toolbar](https://github.com/1amageek/Toolbar) - Awesome autolayout Toolbar. :large_orange_diamond: -* [IHKeyboardAvoiding](https://github.com/IdleHandsApps/IHKeyboardAvoiding) - A drop-in universal solution for keeping any UIView visible when the keyboard is being shown - no more UIScrollViews! 🔶 +* [Typist](https://github.com/totocaster/Typist) - Small, drop-in Swift UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center. +* [KeyboardHideManager](https://github.com/bonyadmitr/KeyboardHideManager) - Codeless manager to hide keyboard by tapping on views for iOS written in Swift +* [Toolbar](https://github.com/1amageek/Toolbar) - Awesome autolayout Toolbar. +* [IHKeyboardAvoiding](https://github.com/IdleHandsApps/IHKeyboardAvoiding) - A drop-in universal solution for keeping any UIView visible when the keyboard is being shown - no more UIScrollViews! #### Label -* [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. :large_orange_diamond: -* [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift :large_orange_diamond: +* [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. +* [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift * [MZTimerLabel](https://github.com/mineschan/MZTimerLabel) - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App. -* [CountdownLabel](https://github.com/suzuki-0000/CountdownLabel) - Simple countdown UILabel with morphing animation, and some useful function. :large_orange_diamond: -* [IncrementableLabel](https://github.com/tbaranes/IncrementableLabel) - Incrementable label for iOS, macOS, and tvOS. :large_orange_diamond: +* [CountdownLabel](https://github.com/suzuki-0000/CountdownLabel) - Simple countdown UILabel with morphing animation, and some useful function. +* [IncrementableLabel](https://github.com/tbaranes/IncrementableLabel) - Incrementable label for iOS, macOS, and tvOS. * [TTTAttributedLabel](https://github.com/TTTAttributedLabel/TTTAttributedLabel) - A drop-in replacement for UILabel that supports attributes, data detectors, links, and more -* [NumberMorphView](https://github.com/me-abhinav/NumberMorphView) - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. :large_orange_diamond: -* [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. :large_orange_diamond: +* [NumberMorphView](https://github.com/me-abhinav/NumberMorphView) - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. +* [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. * [TOMSMorphingLabel](https://github.com/tomknig/TOMSMorphingLabel) - Configurable morphing transitions between text values of a label. * [THLabel](https://github.com/tobihagemann/THLabel) - UILabel subclass, which additionally allows shadow blur, inner shadow, stroke text and fill gradient. * [RQShineLabel](https://github.com/zipme/RQShineLabel) - Secret app like text animation * [ZCAnimatedLabel](https://github.com/overboming/ZCAnimatedLabel) - UILabel replacement with fine-grain appear/disappear animation -* [TriLabelView](https://github.com/mukeshthawani/TriLabelView) - A triangle shaped corner label view for iOS written in Swift. :large_orange_diamond: +* [TriLabelView](https://github.com/mukeshthawani/TriLabelView) - A triangle shaped corner label view for iOS written in Swift. * [Preloader.Ophiuchus](https://github.com/Yalantis/Preloader.Ophiuchus) - Custom Label to apply animations on whole text or letters. -* [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. :large_orange_diamond: +* [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. * [UICountingLabel](https://github.com/dataxpress/UICountingLabel/) - Adds animated counting support to UILabel. -* [SlidingText](https://github.com/dnKaratzas/SlidingText) - Swift UIView for sliding text with page indicator. :large_orange_diamond: -* [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. :large_orange_diamond: -* [JSLabel](https://github.com/imjog/JSLabel/) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. :large_orange_diamond: +* [SlidingText](https://github.com/dnKaratzas/SlidingText) - Swift UIView for sliding text with page indicator. +* [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. +* [JSLabel](https://github.com/imjog/JSLabel/) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. #### Login -* [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. :large_orange_diamond: -* [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. 🔶 -* [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. :large_orange_diamond: +* [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. +* [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. +* [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. #### Menu -* [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. :large_orange_diamond: +* [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. * [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. -* [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. :large_orange_diamond: -* [PagingMenuController](https://github.com/kitasuke/PagingMenuController) - Paging view controller with customizable menu in Swift. :large_orange_diamond: -* [RadialMenu](https://github.com/bradjasper/radialmenu) - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP :large_orange_diamond: -* [cariocamenu](https://github.com/arn00s/cariocamenu) - The fastest zero-tap iOS menu. :large_orange_diamond: +* [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. +* [PagingMenuController](https://github.com/kitasuke/PagingMenuController) - Paging view controller with customizable menu in Swift. +* [RadialMenu](https://github.com/bradjasper/radialmenu) - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP +* [cariocamenu](https://github.com/arn00s/cariocamenu) - The fastest zero-tap iOS menu. * [VLDContextSheet](https://github.com/vangelov/VLDContextSheet) - Context menu similar to the one in the Pinterest iOS app -* [GuillotineMenu](https://github.com/Yalantis/GuillotineMenu) - Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine. :large_orange_diamond: -* [MediumMenu](https://github.com/pixyzehn/MediumMenu) - A menu based on Medium iOS app. :large_orange_diamond: +* [GuillotineMenu](https://github.com/Yalantis/GuillotineMenu) - Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine. +* [MediumMenu](https://github.com/pixyzehn/MediumMenu) - A menu based on Medium iOS app. * [SwiftySideMenu](https://github.com/hossamghareeb/SwiftySideMenu) - SwiftySideMenu is a lightweight and easy to use side menu controller to add left menu and center view controllers with scale animation based on Pop framework. * [LLSlideMenu](https://github.com/lilei644/LLSlideMenu) - This is a spring slide menu for iOS apps -* [Swift-Slide-Menu](https://github.com/PhilippeBoisney/Swift-Slide-Menu) - A Slide Menu, written in Swift, inspired by Slide Menu Material Design. :large_orange_diamond: -* [MenuItemKit](https://github.com/cxa/MenuItemKit) - UIMenuItem with image and block(closure) :large_orange_diamond: -* [BTNavigationDropdownMenu](https://github.com/PhamBaTho/BTNavigationDropdownMenu) - The elegant dropdown menu, written in Swift, appears underneath navigation bar to display a list of related items when a user click on the navigation title. :large_orange_diamond: -* [ALRadialMenu](https://github.com/AlexLittlejohn/ALRadialMenu) - A radial/circular menu featuring spring animations. Written in swift :large_orange_diamond: -* [AZDropdownMenu](https://github.com/Azuritul/AZDropdownMenu) - An easy to use dropdown menu that supports images. :large_orange_diamond: -* [CircleMenu](https://github.com/Ramotion/circle-menu) - An animated, multi-option menu button. :large_orange_diamond: -* [SlideMenuControllerSwift](https://github.com/dekatotoro/SlideMenuControllerSwift) - iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure Swift. :large_orange_diamond: -* [SideMenu](https://github.com/jonkykong/SideMenu) - Simple side menu control in Swift inspired by Facebook. Right and Left sides. Lots of customization and animation options. Can be implemented in Storyboard with no code. :large_orange_diamond: +* [Swift-Slide-Menu](https://github.com/PhilippeBoisney/Swift-Slide-Menu) - A Slide Menu, written in Swift, inspired by Slide Menu Material Design. +* [MenuItemKit](https://github.com/cxa/MenuItemKit) - UIMenuItem with image and block(closure) +* [BTNavigationDropdownMenu](https://github.com/PhamBaTho/BTNavigationDropdownMenu) - The elegant dropdown menu, written in Swift, appears underneath navigation bar to display a list of related items when a user click on the navigation title. +* [ALRadialMenu](https://github.com/AlexLittlejohn/ALRadialMenu) - A radial/circular menu featuring spring animations. Written in swift +* [AZDropdownMenu](https://github.com/Azuritul/AZDropdownMenu) - An easy to use dropdown menu that supports images. +* [CircleMenu](https://github.com/Ramotion/circle-menu) - An animated, multi-option menu button. +* [SlideMenuControllerSwift](https://github.com/dekatotoro/SlideMenuControllerSwift) - iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure Swift. +* [SideMenu](https://github.com/jonkykong/SideMenu) - Simple side menu control in Swift inspired by Facebook. Right and Left sides. Lots of customization and animation options. Can be implemented in Storyboard with no code. * [CategorySliderView](https://github.com/cemolcay/CategorySliderView) - slider view for choosing categories. add any UIView type as category item view. Fully customisable * [MKDropdownMenu](https://github.com/maxkonovalov/MKDropdownMenu) - A Dropdown Menu for iOS with many customizable parameters to suit any needs. -* [ExpandingMenu](https://github.com/monoqlo/ExpandingMenu) - ExpandingMenu is menu button for iOS written in Swift. :large_orange_diamond: -* [PageMenu](https://github.com/PageMenu/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) :large_orange_diamond: +* [ExpandingMenu](https://github.com/monoqlo/ExpandingMenu) - ExpandingMenu is menu button for iOS written in Swift. +* [PageMenu](https://github.com/PageMenu/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) * [XXXRoundMenuButton](https://github.com/zsy78191/XXXRoundMenuButton) - A simple circle style menu. * [IGCMenu](https://github.com/sunilsharma08/IGCMenu) - Grid and Circular menu with animation.Easy to customise. * [EEJSelectMenu](https://github.com/eejahromi/EEJSelectMenu) - Single selection menu with cool animations, responsive with all screen sizes. * [IGLDropDownMenu](https://github.com/bestwnh/IGLDropDownMenu) - An iOS drop down menu with pretty animation and easy to customize. -* [Side-Menu.iOS](https://github.com/Yalantis/Side-Menu.iOS) - Animated side menu with customizable UI :large_orange_diamond: +* [Side-Menu.iOS](https://github.com/Yalantis/Side-Menu.iOS) - Animated side menu with customizable UI * [PopMenu](https://github.com/xhzengAIB/PopMenu) - PopMenu is pop animation menu inspired by Sina weibo / NetEase app. -* [FlowingMenu](https://github.com/yannickl/FlowingMenu) - Interactive view transition to display menus with flowing and bouncing effects in Swift :large_orange_diamond: -* [Persei](https://github.com/Yalantis/Persei) - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift :large_orange_diamond: -* [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS :large_orange_diamond: +* [FlowingMenu](https://github.com/yannickl/FlowingMenu) - Interactive view transition to display menus with flowing and bouncing effects in Swift +* [Persei](https://github.com/Yalantis/Persei) - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift +* [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS * [KYGooeyMenu](https://github.com/KittenYang/KYGooeyMenu) - A not bad gooey effects menu. -* [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift :large_orange_diamond: +* [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift * [Context-Menu.iOS](https://github.com/Yalantis/Context-Menu.iOS) - You can easily add awesome animated context menu to your app. * [ViewDeck](https://github.com/ViewDeck/ViewDeck) - An implementation of the sliding functionality found in the Path 2.0 or Facebook iOS apps. -* [FrostedSidebar](https://github.com/edekhayser/FrostedSidebar) - Hamburger Menu using Swift and iOS 8 API's :large_orange_diamond: +* [FrostedSidebar](https://github.com/edekhayser/FrostedSidebar) - Hamburger Menu using Swift and iOS 8 API's * [VHBoomMenuButton](https://github.com/Nightonke/VHBoomMenuButton) - A menu which can ... BOOM! -* [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. :large_orange_diamond: -* [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. :large_orange_diamond: -* [RHSideButtons](https://github.com/robertherdzik/RHSideButtons) - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. :large_orange_diamond: -* [Swift-CircleMenu](https://github.com/Sufi-Al-Hussaini/Swift-CircleMenu) - Rotating circle menu written in Swift 3. :large_orange_diamond: -* [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. :large_orange_diamond: -* [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. :large_orange_diamond: -* [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. :large_orange_diamond: -* [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! :large_orange_diamond: -* [JNDropDownMenu](https://github.com/javalnanda/JNDropDownMenu) - Easy to use tableview style drop down menu with multi-column support written in Swift3. :large_orange_diamond: -* [FanMenu](https://github.com/exyte/fan-menu) - Menu with a circular layout based on Macaw. :large_orange_diamond: -* [AirBar](https://github.com/uptechteam/AirBar) - UIScrollView driven expandable menu written in Swift 3. :large_orange_diamond: -* [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition :large_orange_diamond: -* [SwipeMenuViewController](https://github.com/yysskk/SwipeMenuViewController) - Swipable tab and menu View and ViewController. :large_orange_diamond: -* [DTPagerController](https://github.com/tungvoduc/DTPagerController) - A fully customizable container view controller to display set of ViewControllers in horizontal scroller 🔶 -* [PagingKit](https://github.com/kazuhiro4949/PagingKit) - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries. 🔶 +* [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. +* [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. +* [RHSideButtons](https://github.com/robertherdzik/RHSideButtons) - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. +* [Swift-CircleMenu](https://github.com/Sufi-Al-Hussaini/Swift-CircleMenu) - Rotating circle menu written in Swift 3. +* [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. +* [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. +* [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. +* [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! +* [JNDropDownMenu](https://github.com/javalnanda/JNDropDownMenu) - Easy to use tableview style drop down menu with multi-column support written in Swift3. +* [FanMenu](https://github.com/exyte/fan-menu) - Menu with a circular layout based on Macaw. +* [AirBar](https://github.com/uptechteam/AirBar) - UIScrollView driven expandable menu written in Swift 3. +* [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition +* [SwipeMenuViewController](https://github.com/yysskk/SwipeMenuViewController) - Swipable tab and menu View and ViewController. +* [DTPagerController](https://github.com/tungvoduc/DTPagerController) - A fully customizable container view controller to display set of ViewControllers in horizontal scroller +* [PagingKit](https://github.com/kazuhiro4949/PagingKit) - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries. * [Dropdowns](https://github.com/hyperoslo/Dropdowns) - 💧 Dropdown in Swift #### Navigation Bar -* [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls :large_orange_diamond: +* [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls * [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! * [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. * [LTNavigationBar](https://github.com/ltebean/LTNavigationBar) - UINavigationBar Category which allows you to change its appearance dynamically -* [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects :large_orange_diamond: -* [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. :large_orange_diamond: -* [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView :large_orange_diamond: -* [NavKit](https://github.com/wilbertliu/NavKit) - Simple and integrated way to customize navigation bar experience on iOS app. :large_orange_diamond: +* [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects +* [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. +* [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView +* [NavKit](https://github.com/wilbertliu/NavKit) - Simple and integrated way to customize navigation bar experience on iOS app. #### PickerView * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. -* [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. :large_orange_diamond: -* [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - Date picker dialog for iOS :large_orange_diamond: +* [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. +* [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - Date picker dialog for iOS * [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. * [AIDatePickerController](https://github.com/alikaragoz/AIDatePickerController) - :date: UIDatePicker modally presented with iOS 7 custom transitions. -* [CountryPicker](https://github.com/4taras4/CountryCode) - :date: UIPickerView with Country names flags and phoneCodes 🔶 -* [McPicker](https://github.com/kmcgill88/McPicker-iOS) - A customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready. :large_orange_diamond: -* [Mandoline](https://github.com/blueapron/Mandoline) - An iOS picker view to serve all your "picking" needs :large_orange_diamond: -* [D2PDatePicker](https://github.com/di2pra/D2PDatePicker) - Elegant and Easy-to-Use iOS Swift Date Picker :large_orange_diamond: -* [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps :large_orange_diamond: +* [CountryPicker](https://github.com/4taras4/CountryCode) - :date: UIPickerView with Country names flags and phoneCodes +* [McPicker](https://github.com/kmcgill88/McPicker-iOS) - A customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready. +* [Mandoline](https://github.com/blueapron/Mandoline) - An iOS picker view to serve all your "picking" needs +* [D2PDatePicker](https://github.com/di2pra/D2PDatePicker) - Elegant and Easy-to-Use iOS Swift Date Picker +* [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps #### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. * [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. -* [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. :large_orange_diamond: +* [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. * [CNPPopupController](https://github.com/carsonperrotti/CNPPopupController) - Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. * [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. -* [SubscriptionPrompt](https://github.com/binchik/SubscriptionPrompt) - Subscription View Controller like the Tinder uses :large_orange_diamond: -* [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ :large_orange_diamond: -* [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. :large_orange_diamond: -* [SelectionDialog](https://github.com/kciter/SelectionDialog) - Simple selection dialog. :large_orange_diamond: -* [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. :large_orange_diamond: +* [SubscriptionPrompt](https://github.com/binchik/SubscriptionPrompt) - Subscription View Controller like the Tinder uses +* [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ +* [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. +* [SelectionDialog](https://github.com/kciter/SelectionDialog) - Simple selection dialog. +* [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. * [MIBlurPopup](https://github.com/MarioIannotta/MIBlurPopup) - MIBlurPopup let you create amazing popups with a blurred background. * [LNPopupController](https://github.com/LeoNatan/LNPopupController) - a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps. -* [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. :large_orange_diamond: -* [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. :large_orange_diamond: +* [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. +* [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. #### ProgressView -* [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift :large_orange_diamond: +* [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift #### Pull to Refresh -* [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift :large_orange_diamond: -* [PullToBounce](https://github.com/entotsu/PullToBounce) - Animated "Pull To Refresh" Library for UIScrollView. :large_orange_diamond: +* [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift +* [PullToBounce](https://github.com/entotsu/PullToBounce) - Animated "Pull To Refresh" Library for UIScrollView. * [SVPullToRefresh](https://github.com/samvermette/SVPullToRefresh) - Give pull-to-refresh & infinite scrolling to any UIScrollView with 1 line of code. http://samvermette.com/314 * [UzysAnimatedGifPullToRefresh](https://github.com/uzysjung/UzysAnimatedGifPullToRefresh) - Add PullToRefresh using animated GIF to any scrollView with just simple code * [PullToRefreshCoreText](https://github.com/cemolcay/PullToRefreshCoreText) - PullToRefresh extension for all UIScrollView type classes with animated text drawing style * [BOZPongRefreshControl](https://github.com/boztalay/BOZPongRefreshControl) - A pull-down-to-refresh control for iOS that plays pong, originally created for the MHacks III iOS app * [CBStoreHouseRefreshControl](https://github.com/coolbeet/CBStoreHouseRefreshControl) - Fully customizable pull-to-refresh control inspired by Storehouse iOS app -* [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift :large_orange_diamond: +* [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift * [mntpulltoreact](https://github.com/mentionapp/mntpulltoreact) - One gesture, many actions. An evolution of Pull to Refresh. * [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. -* [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. :large_orange_diamond: +* [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. * [MJRefresh](https://github.com/CoderMJLee/MJRefresh) An easy way to use pull-to-refresh. * [HTPullToRefresh](https://github.com/hoang-tran/HTPullToRefresh) - Easily add vertical and horizontal pull to refresh to any UIScrollView. Can also add multiple pull-to-refesh views at once. -* [PullToRefreshSwift](https://github.com/dekatotoro/PullToRefreshSwift) - iOS Simple Cool PullToRefresh Library. It is written in pure swift. :large_orange_diamond: -* [GIFRefreshControl](https://github.com/delannoyk/GIFRefreshControl) - GIFRefreshControl is a pull to refresh that supports GIF images as track animations. :large_orange_diamond: -* [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift :large_orange_diamond: :large_orange_diamond: -* [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView :large_orange_diamond: -* [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). :large_orange_diamond: -* [ESPullToRefresh](https://github.com/eggswift/pull-to-refresh) - Customisable pull-to-refresh, including nice animation on the top :large_orange_diamond: -* [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. :large_orange_diamond: +* [PullToRefreshSwift](https://github.com/dekatotoro/PullToRefreshSwift) - iOS Simple Cool PullToRefresh Library. It is written in pure swift. +* [GIFRefreshControl](https://github.com/delannoyk/GIFRefreshControl) - GIFRefreshControl is a pull to refresh that supports GIF images as track animations. +* [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift +* [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView +* [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). +* [ESPullToRefresh](https://github.com/eggswift/pull-to-refresh) - Customisable pull-to-refresh, including nice animation on the top +* [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. * [KafkaRefresh](https://github.com/xorshine/KafkaRefresh) - Highly scalable, custom, multi-style refresh framework. #### Rating Stars -* [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift :large_orange_diamond: -* [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. :large_orange_diamond: -* [StarryStars](https://github.com/peterprokop/StarryStars) - StarryStars is iOS GUI library for displaying and editing ratings :large_orange_diamond: -* [Cosmos](https://github.com/evgenyneu/Cosmos) - A star rating control for iOS / Swift :large_orange_diamond: +* [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift +* [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. +* [StarryStars](https://github.com/peterprokop/StarryStars) - StarryStars is iOS GUI library for displaying and editing ratings +* [Cosmos](https://github.com/evgenyneu/Cosmos) - A star rating control for iOS / Swift * [HCSStarRatingView](https://github.com/hsousa/HCSStarRatingView) - Simple star rating view for iOS written in Objective-C -* [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift :large_orange_diamond: +* [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift #### ScrollView * [ScrollingFollowView](https://github.com/ktanaka117/ScrollingFollowView) - ScrollingFollowView is a simple view which follows UIScrollView scrolling. * [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category. * [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. -* [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. :large_orange_diamond: -* [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. :large_orange_diamond: -* [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. :large_orange_diamond: -* [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 :large_orange_diamond: -* [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf :large_orange_diamond: +* [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. +* [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. +* [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. +* [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 +* [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf #### Segmented Control -* [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. :large_orange_diamond: +* [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. * [LUNSegmentedControl](https://github.com/Stormotion-Mobile/LUNSegmentedControl) - Customizable segmented control with interactive animation. * [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS. -* [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. :large_orange_diamond: -* [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. :large_orange_diamond: +* [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. +* [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. * [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) - A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products. * [YUSegment](https://github.com/afishhhhh/YUSegment) - A customizable segmented control for iOS. Supports both text and image. * [MultiSelectSegmentedControl](https://github.com/yonat/MultiSelectSegmentedControl) - adds Multiple-Selection to the standard `UISegmentedControl`. -* [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect :large_orange_diamond: -* [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. :large_orange_diamond: -* [Rotary](https://github.com/rob-nash/Rotary) - A customisable rotary wheel composed of selectable segments. :large_orange_diamond: +* [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect +* [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. +* [Rotary](https://github.com/rob-nash/Rotary) - A customisable rotary wheel composed of selectable segments. #### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. * [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management -* [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. :large_orange_diamond: -* [RangeSlider](https://github.com/warchimede/RangeSlider) - A simple range slider made in Swift :large_orange_diamond: -* [CircleSlider](https://github.com/shushutochako/CircleSlider) - CircleSlider is a Circular slider library. written in pure Swift. :large_orange_diamond: +* [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. +* [RangeSlider](https://github.com/warchimede/RangeSlider) - A simple range slider made in Swift +* [CircleSlider](https://github.com/shushutochako/CircleSlider) - CircleSlider is a Circular slider library. written in pure Swift. * [MARKRangeSlider](https://github.com/vadymmarkov/MARKRangeSlider) - A custom reusable slider control with 2 thumbs (range slider). * [ASValueTrackingSlider](https://github.com/alskipp/ASValueTrackingSlider) - A UISlider subclass that displays the slider value in a popup view * [TTRangeSlider](https://github.com/TomThorpe/TTRangeSlider) - A slider, similar in style to UISlider, but which allows you to pick a minimum and maximum range. * [MMSegmentSlider](https://github.com/MedvedevMax/MMSegmentSlider) - Customizable animated slider for iOS. * [StepSlider](https://github.com/spromicky/StepSlider) - StepSlider its custom implementation of slider such as UISlider for preset integer values. -* [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. :large_orange_diamond: -* [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift :large_orange_diamond: -* [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. :large_orange_diamond: -* [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. :large_orange_diamond: -* [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. :large_orange_diamond: -* [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. :large_orange_diamond: -* [PivotSlider](https://github.com/dereklimbus/pivot-slider) - Slider that pivots :large_orange_diamond: -* [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. :large_orange_diamond: -* [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. :large_orange_diamond: -* [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. :large_orange_diamond: -* [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. :large_orange_diamond: -* [VSVerticalSlider](https://github.com/vsmithers1087/VSVerticalSlider) - An animatable and customizable vertical slider written in Swift4.🔶 -* [Fluid Slider](https://github.com/Ramotion/fluid-slider) - A slider widget with a popup bubble displaying the precise value selected. :large_orange_diamond: +* [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. +* [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift +* [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. +* [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. +* [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. +* [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. +* [PivotSlider](https://github.com/dereklimbus/pivot-slider) - Slider that pivots +* [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. +* [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. +* [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. +* [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. +* [VSVerticalSlider](https://github.com/vsmithers1087/VSVerticalSlider) - An animatable and customizable vertical slider written in Swift4. +* [Fluid Slider](https://github.com/Ramotion/fluid-slider) - A slider widget with a popup bubble displaying the precise value selected. #### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. * [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. -* [RevealingSplashView](https://github.com/PiXeL16/RevealingSplashView) - A Splash view that animates and reveals its content, inspired by Twitter splash :large_orange_diamond: +* [RevealingSplashView](https://github.com/PiXeL16/RevealingSplashView) - A Splash view that animates and reveals its content, inspired by Twitter splash #### Stepper -* [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! :large_orange_diamond: -* [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. :large_orange_diamond: -* [GMStepper](https://github.com/gmertk/GMStepper) - A stepper with a sliding label in the middle. :large_orange_diamond: -* [barceloneta](https://github.com/arn00s/barceloneta) - The right way to increment/decrement values with a simple gesture on iOS. :large_orange_diamond: -* [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift :large_orange_diamond: -* [SMNumberWheel](https://github.com/SinaMoetakef/SMNumberWheel) - A custom control written in Swift, which is ideal for picking numbers very fast but yet very accurate using a rotating wheel :large_orange_diamond: +* [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! +* [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. +* [GMStepper](https://github.com/gmertk/GMStepper) - A stepper with a sliding label in the middle. +* [barceloneta](https://github.com/arn00s/barceloneta) - The right way to increment/decrement values with a simple gesture on iOS. +* [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift +* [SMNumberWheel](https://github.com/SinaMoetakef/SMNumberWheel) - A custom control written in Swift, which is ideal for picking numbers very fast but yet very accurate using a rotating wheel #### Switch -* [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. :large_orange_diamond: +* [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. * [ViralSwitch](https://github.com/andreamazz/ViralSwitch) - A UISwitch that infects its superview with its tint color. * [JTMaterialSwitch](https://github.com/JunichiT/JTMaterialSwitch) - A customizable switch UI with ripple effect and bounce animations, inspired from Google's Material Design. -* [TKSwitcherCollection](https://github.com/TBXark/TKSwitcherCollection) - An animate switch collection :large_orange_diamond: -* [SevenSwitch](https://github.com/bvogelzang/SevenSwitch) - iOS7 style drop in replacement for UISwitch. :large_orange_diamond: -* [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) :large_orange_diamond: -* [PMZSwitch](https://github.com/kovpas/PMZSwitch) - Yet another animated toggle :large_orange_diamond: -* [Switcher](https://github.com/knn90/Switcher) - Swift - Custom UISwitcher with animation when change status :large_orange_diamond: -* [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. :large_orange_diamond: -* [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS :large_orange_diamond: -* [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support.🔶 +* [TKSwitcherCollection](https://github.com/TBXark/TKSwitcherCollection) - An animate switch collection +* [SevenSwitch](https://github.com/bvogelzang/SevenSwitch) - iOS7 style drop in replacement for UISwitch. +* [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) +* [PMZSwitch](https://github.com/kovpas/PMZSwitch) - Yet another animated toggle +* [Switcher](https://github.com/knn90/Switcher) - Swift - Custom UISwitcher with animation when change status +* [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. +* [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS +* [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support. #### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. -* [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) -A gooey effect tabbar :large_orange_diamond: -* [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. :large_orange_diamond: +* [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) -A gooey effect tabbar +* [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. * [FoldingTabBar.iOS](https://github.com/Yalantis/FoldingTabBar.iOS) - Folding Tab Bar and Tab Bar Controller * [GGTabBar](https://github.com/Goles/GGTabBar) - Another UITabBar & UITabBarController (iOS Tab Bar) replacement, but uses Auto Layout for arranging it's views hierarchy. -* [adaptive-tab-bar](https://github.com/Ramotion/adaptive-tab-bar) - AdaptiveController is a 'Progressive Reduction' Swift module for adding custom states to Native or Custom iOS UI elements :large_orange_diamond: -* [Pager](https://github.com/lucoceano/Pager) - Easily create sliding tabs with Pager :large_orange_diamond: -* [XLPagerTabStrip](https://github.com/xmartlabs/XLPagerTabStrip) - Android PagerTabStrip for iOS. :large_orange_diamond: -* [TabPageViewController](https://github.com/EndouMari/TabPageViewController) - Paging view controller and scroll tab view. 🔶 -* [TabDrawer](https://github.com/winslowdibona/TabDrawer) - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift 🔶 -* [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers :large_orange_diamond: -* [ColorMatchTabs](https://github.com/Yalantis/ColorMatchTabs) - Interesting way to display tabs :large_orange_diamond: +* [adaptive-tab-bar](https://github.com/Ramotion/adaptive-tab-bar) - AdaptiveController is a 'Progressive Reduction' Swift module for adding custom states to Native or Custom iOS UI elements +* [Pager](https://github.com/lucoceano/Pager) - Easily create sliding tabs with Pager +* [XLPagerTabStrip](https://github.com/xmartlabs/XLPagerTabStrip) - Android PagerTabStrip for iOS. +* [TabPageViewController](https://github.com/EndouMari/TabPageViewController) - Paging view controller and scroll tab view. +* [TabDrawer](https://github.com/winslowdibona/TabDrawer) - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift +* [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers +* [ColorMatchTabs](https://github.com/Yalantis/ColorMatchTabs) - Interesting way to display tabs * [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection -* [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager that displays a list of tabs (segments) and manages paging between given views :large_orange_diamond: -* [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. :large_orange_diamond: -* [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. :large_orange_diamond: -* [SuperBadges](https://github.com/odedharth/SuperBadges) - Add emojis and colored dots as badges for your Tab Bar buttons 🔶 -* [AZTabBarController](https://github.com/Minitour/AZTabBarController) - A custom tab bar controller for iOS written in Swift 3.0 🔶 -* [MiniTabBar](https://github.com/D-32/MiniTabBar) - A clean simple alternative to the UITabBar 🔶 -* [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) - UITabBarController with swipe interaction between its tabs. 🔶 -* [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) 🔶 -* [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. 🔶 -* [WormTabStrip](https://github.com/EzimetYusup/WormTabStrip) Beatiful ViewPager For iOS written in Swift 🔶 (inspired by Android [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout)) -* [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. 🔶 +* [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager that displays a list of tabs (segments) and manages paging between given views +* [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. +* [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. +* [SuperBadges](https://github.com/odedharth/SuperBadges) - Add emojis and colored dots as badges for your Tab Bar buttons +* [AZTabBarController](https://github.com/Minitour/AZTabBarController) - A custom tab bar controller for iOS written in Swift 3.0 +* [MiniTabBar](https://github.com/D-32/MiniTabBar) - A clean simple alternative to the UITabBar +* [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) - UITabBarController with swipe interaction between its tabs. +* [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) +* [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. +* [WormTabStrip](https://github.com/EzimetYusup/WormTabStrip) Beatiful ViewPager For iOS written in Swift (inspired by Android [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout)) +* [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. * [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. * [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. -* [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ :large_orange_diamond: -* [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. :large_orange_diamond: -* [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material :large_orange_diamond: +* [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ +* [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. +* [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material * [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. -* [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. :large_orange_diamond: +* [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. * [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. * [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. * [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. -* [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff :large_orange_diamond: -* [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). :large_orange_diamond: +* [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff +* [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). * [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) -* [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy :large_orange_diamond: -* [BWSwipeRevealCell](https://github.com/bitwit/BWSwipeRevealCell) - A Swift library for swipeable table cells :large_orange_diamond: -* [preview-transition](https://github.com/Ramotion/preview-transition) - PreviewTransition is a simple preview gallery controller :large_orange_diamond: -* [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A simple way to create a UITableView for settings in Swift. :large_orange_diamond: -* [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views with Swift :large_orange_diamond: -* [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView :large_orange_diamond: -* [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu :large_orange_diamond: -* [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts :large_orange_diamond: +* [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy +* [BWSwipeRevealCell](https://github.com/bitwit/BWSwipeRevealCell) - A Swift library for swipeable table cells +* [preview-transition](https://github.com/Ramotion/preview-transition) - PreviewTransition is a simple preview gallery controller +* [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A simple way to create a UITableView for settings in Swift. +* [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views with Swift +* [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView +* [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu +* [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts * [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. -* [mosaic-layout](https://github.com/vinnyoodles/mosaic-layout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift :large_orange_diamond: -* [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells :large_orange_diamond: +* [mosaic-layout](https://github.com/vinnyoodles/mosaic-layout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift +* [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells * [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. * [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). -* [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager :large_orange_diamond: -* [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift :large_orange_diamond: +* [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager +* [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift * [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout which can move item with drag and drop. -* [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. :large_orange_diamond: +* [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. * [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. * [TLLayoutTransitioning](https://github.com/SwiftKickMobile/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. * [Bohr](https://github.com/DavdRoman/Bohr) - Bohr allows you to set up a settings screen for your app with three principles in mind: ease, customization and extensibility. -* [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. :large_orange_diamond:[e] +* [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. [e] * [TLIndexPathTools](https://github.com/SwiftKickMobile/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. -* [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. :large_orange_diamond: -* [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. :large_orange_diamond: +* [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. +* [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. * [IGListKit](https://github.com/Instagram/IGListKit) - A data-driven UICollectionView framework for building fast and flexible lists. -* [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App :large_orange_diamond: +* [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App * [FlexibleTableViewController](https://github.com/dimpiax/FlexibleTableViewController) - Swift library of generic table view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler * [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc -* [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift.:large_orange_diamond: -* [TimelineTableViewCell](https://github.com/kf99916/TimelineTableViewCell) - Simple timeline view implemented by UITableViewCell written in Swift 3.0.:large_orange_diamond: -* [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". :large_orange_diamond: -* [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. :large_orange_diamond: +* [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift. +* [TimelineTableViewCell](https://github.com/kf99916/TimelineTableViewCell) - Simple timeline view implemented by UITableViewCell written in Swift 3.0. +* [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". +* [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. * [TORoundedTableView](https://github.com/TimOliver/TORoundedTableView) - A subclass of UITableView that styles it like Settings.app on iPad -* [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. :large_orange_diamond: -* [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ :large_orange_diamond: -* [DTTableViewManager](https://github.com/DenHeadless/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. :large_orange_diamond: -* [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView :large_orange_diamond: -* [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. :large_orange_diamond: -* [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView :large_orange_diamond: -* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. :large_orange_diamond: -* [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content :large_orange_diamond: +* [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. +* [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ +* [DTTableViewManager](https://github.com/DenHeadless/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. +* [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView +* [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. +* [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView +* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. +* [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. -* [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 -* [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations 🔶 -* [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. 🔶 -* [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. 🔶 -* [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. 🔶 -* [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. :large_orange_diamond: -* [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. :large_orange_diamond:🔶 -* [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. 🔶 +* [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 +* [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations +* [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. +* [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. +* [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. +* [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. +* [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. +* [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. * [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. * [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). -* [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project 🔶 -* [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. :large_orange_diamond: -* [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS written in Swift 3 🔶 -* [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) 🔶 -* [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. 🔶 -* [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views :large_orange_diamond: -* [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections :large_orange_diamond: -* [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. 🔶 -* [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. 🔶 -* [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. 🔶 -* [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. 🔶 +* [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project +* [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. +* [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS written in Swift 3 +* [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) +* [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. +* [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views +* [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections +* [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. +* [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. +* [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. +* [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. * [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. -* [TagCellLayout](https://github.com/riteshhgupta/TagCellLayout) - UICollectionView layout for Tags with Left, Center & Right alignments. :large_orange_diamond: +* [TagCellLayout](https://github.com/riteshhgupta/TagCellLayout) - UICollectionView layout for Tags with Left, Center & Right alignments. * [TTGTagCollectionView](https://github.com/zekunyan/TTGTagCollectionView) - Show simple text tags or custom tag views in a vertical scrollable view. -* [TagListView](https://github.com/ElaWorkshop/TagListView) - Simple and highly customizable iOS tag list view, in Swift. :large_orange_diamond: +* [TagListView](https://github.com/ElaWorkshop/TagListView) - Simple and highly customizable iOS tag list view, in Swift. * [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. -* [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags :large_orange_diamond: -* [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. :large_orange_diamond: -* [YNSearch](https://github.com/younatics/YNSearch) - Awesome fully customizable search view like Pinterest written in Swift 3 🔶 +* [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags +* [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. +* [YNSearch](https://github.com/younatics/YNSearch) - Awesome fully customizable search view like Pinterest written in Swift 3 #### TextField & TextView * [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. * [ARAutocompleteTextView](https://github.com/alexruperez/ARAutocompleteTextView) - subclass of UITextView that automatically displays text suggestions in real-time. Perfect for email Textviews. * [IQDropDownTextField](https://github.com/hackiftekhar/IQDropDownTextField) - TextField with DropDown support using UIPickerView -* [UITextField-Shake](https://github.com/andreamazz/UITextField-Shake) - UITextField category that adds shake animation. [Also with Swift version](https://github.com/King-Wizard/UITextField-Shake-Swift) :large_orange_diamond: -* [HTYTextField](https://github.com/hanton/HTYTextField) - A UITextField with bouncy placeholder. :large_orange_diamond: +* [UITextField-Shake](https://github.com/andreamazz/UITextField-Shake) - UITextField category that adds shake animation. [Also with Swift version](https://github.com/King-Wizard/UITextField-Shake-Swift) +* [HTYTextField](https://github.com/hanton/HTYTextField) - A UITextField with bouncy placeholder. * [MVAutocompletePlaceSearchTextField](https://github.com/TheMrugraj/MVAutocompletePlaceSearchTextField) - A drop-in Autocompletion control for Place Search like Google Places, Uber, etc. -* [AutocompleteField](https://github.com/filipstefansson/AutocompleteField) - Add word completion to your UITextFields. :large_orange_diamond: -* [RSKGrowingTextView](https://github.com/ruslanskorb/RSKGrowingTextView) - A light-weight UITextView subclass that automatically grows and shrinks. :large_orange_diamond: -* [RSKPlaceholderTextView](https://github.com/ruslanskorb/RSKPlaceholderTextView) - A light-weight UITextView subclass that adds support for placeholder. :large_orange_diamond: -* [StatefulViewController](https://github.com/aschuch/StatefulViewController) - Placeholder views based on content, loading, error or empty states :large_orange_diamond: +* [AutocompleteField](https://github.com/filipstefansson/AutocompleteField) - Add word completion to your UITextFields. +* [RSKGrowingTextView](https://github.com/ruslanskorb/RSKGrowingTextView) - A light-weight UITextView subclass that automatically grows and shrinks. +* [RSKPlaceholderTextView](https://github.com/ruslanskorb/RSKPlaceholderTextView) - A light-weight UITextView subclass that adds support for placeholder. +* [StatefulViewController](https://github.com/aschuch/StatefulViewController) - Placeholder views based on content, loading, error or empty states * [MBAutoGrowingTextView](https://github.com/MatejBalantic/MBAutoGrowingTextView) - An auto-layout base UITextView subclass which automatically grows with user input and can be constrained by maximal and minimal height - all without a single line of code -* [TextFieldEffects](https://github.com/raulriera/TextFieldEffects) - Custom UITextFields effects inspired by Codrops, built using Swift :large_orange_diamond: -* [Reel Search](https://github.com/Ramotion/reel-search) - RAMReel is a controller that allows you to choose options from a list. :large_orange_diamond: +* [TextFieldEffects](https://github.com/raulriera/TextFieldEffects) - Custom UITextFields effects inspired by Codrops, built using Swift +* [Reel Search](https://github.com/Ramotion/reel-search) - RAMReel is a controller that allows you to choose options from a list. * [MLPAutoCompleteTextField](https://github.com/EddyBorja/MLPAutoCompleteTextField) - a subclass of UITextField that behaves like a typical UITextField with one notable exception: it manages a drop down table of autocomplete suggestions that update as the user types. -* [SkyFloatingLabelTextField](https://github.com/Skyscanner/SkyFloatingLabelTextField) - A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift.:large_orange_diamond: +* [SkyFloatingLabelTextField](https://github.com/Skyscanner/SkyFloatingLabelTextField) - A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift. * [VMaskTextField](https://github.com/viniciusmo/VMaskTextField) - VMaskTextField is a library which create an input mask for iOS. -* [TJTextField](https://github.com/tejas-ardeshna/TJTextField) - UITextField with underline and left image :large_orange_diamond: +* [TJTextField](https://github.com/tejas-ardeshna/TJTextField) - UITextField with underline and left image * [NextGrowingTextView](https://github.com/muukii/NextGrowingTextView) - The next in the generations of 'growing textviews' optimized for iOS 7 and above. * [RPFloatingPlaceholders](https://github.com/iwasrobbed/RPFloatingPlaceholders) - UITextField and UITextView subclasses with placeholders that change into floating labels when the fields are populated with text. -* [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. :large_orange_diamond: -* [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.🔶[e] -* [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield :large_orange_diamond: -* [EmojiTextView](https://github.com/fastred/EmojiTextView) - Tap to swap out words with emojis. Inspired by Messages.app on iOS 10. :large_orange_diamond: -* [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. :large_orange_diamond: -* [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies :large_orange_diamond: -* [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS :large_orange_diamond: -* [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. :large_orange_diamond: -* [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) :large_orange_diamond: -* [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple library for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. :large_orange_diamond: -* [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. :large_orange_diamond: -* [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion :large_orange_diamond: -* [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 3.0 for any numerical pin or code entry. :large_orange_diamond: -* [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. :large_orange_diamond: -* [DTTextField](https://github.com/iDhaval/DTTextField) - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0.🔶 -* [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. 🔶 -* [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. 🔶 -* [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. 🔶 -* [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. 🔶 -* [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list :large_orange_diamond: +* [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. +* [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.[e] +* [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield +* [EmojiTextView](https://github.com/fastred/EmojiTextView) - Tap to swap out words with emojis. Inspired by Messages.app on iOS 10. +* [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. +* [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies +* [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS +* [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. +* [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) +* [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple library for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. +* [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. +* [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion +* [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 3.0 for any numerical pin or code entry. +* [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. +* [DTTextField](https://github.com/iDhaval/DTTextField) - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0. +* [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. +* [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. +* [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. +* [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. +* [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list * [PYSearch](https://github.com/ko1o/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). -* [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. 🔶 -* [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. 🔶 -* [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. 🔶 +* [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. +* [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. +* [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. #### UIPageControl -* [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. :large_orange_diamond: -* [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here :large_orange_diamond: -* [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. :large_orange_diamond: +* [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. +* [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here +* [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. #### Web View -* [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. :large_orange_diamond: -* [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. :large_orange_diamond: +* [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. +* [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. * [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. -* [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. :large_orange_diamond: +* [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. ## Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. @@ -2478,194 +2476,194 @@ Most of these are paid services, some have free tiers. * [ReflectableEnum](https://github.com/fastred/ReflectableEnum) - Reflection for enumerations in Objective-C. * [ObjectiveSugar](https://github.com/supermarin/ObjectiveSugar) - ObjectiveC additions for humans. Ruby style. * [OpinionatedC](https://github.com/leoschweizer/OpinionatedC) - Because Objective-C should have inherited more from Smalltalk. - * [SwiftRandom](https://github.com/thellimist/SwiftRandom) - Generator for random data. :large_orange_diamond: - * [RandomKit](https://github.com/nvzqz/RandomKit/) - Random data generation in Swift. :large_orange_diamond: + * [SwiftRandom](https://github.com/thellimist/SwiftRandom) - Generator for random data. + * [RandomKit](https://github.com/nvzqz/RandomKit/) - Random data generation in Swift. * [YOLOKit](https://github.com/mxcl/YOLOKit) - Getting square objects down round holes. - * [EZSwiftExtensions](https://github.com/goktugyil/EZSwiftExtensions) - :smirk: How Swift standard types and classes were supposed to work. :large_orange_diamond:[e] - * [Pantry](https://github.com/nickoneill/Pantry) - The missing light persistence layer for Swift :large_orange_diamond: - * [SwiftParsec](https://github.com/davedufresne/SwiftParsec) - A parser combinator library written in the Swift programming language. :large_orange_diamond: - * [OrderedSet](https://github.com/Weebly/OrderedSet) - A Swift collection of unique, ordered objects :large_orange_diamond: - * [Datez](https://github.com/SwiftKitz/Datez) - Swift library for dealing with `NSDate`, `NSCalendar`, and `NSDateComponents`. :large_orange_diamond: + * [EZSwiftExtensions](https://github.com/goktugyil/EZSwiftExtensions) - :smirk: How Swift standard types and classes were supposed to work. [e] + * [Pantry](https://github.com/nickoneill/Pantry) - The missing light persistence layer for Swift + * [SwiftParsec](https://github.com/davedufresne/SwiftParsec) - A parser combinator library written in the Swift programming language. + * [OrderedSet](https://github.com/Weebly/OrderedSet) - A Swift collection of unique, ordered objects + * [Datez](https://github.com/SwiftKitz/Datez) - Swift library for dealing with `NSDate`, `NSCalendar`, and `NSDateComponents`. * [BFKit](https://github.com/FabrizioBrancati/BFKit) - An Objective-C collection of useful classes to develop Apps faster. - * [BFKit-Swift](https://github.com/FabrizioBrancati/BFKit-Swift) - A Swift collection of useful classes to develop Apps faster. :large_orange_diamond: - * [Scale](https://github.com/onmyway133/scale) - Unit converter in Swift (available via CocoaPods) :large_orange_diamond: - * [Standard Template Protocols](https://github.com/cconeil/Standard-Template-Protocols) - Protocols for your every day iOS needs :large_orange_diamond: - * [TimeLord](https://github.com/JonFir/TimeLord) - Easy DateTime (NSDate) management in Swift :large_orange_diamond: + * [BFKit-Swift](https://github.com/FabrizioBrancati/BFKit-Swift) - A Swift collection of useful classes to develop Apps faster. + * [Scale](https://github.com/onmyway133/scale) - Unit converter in Swift (available via CocoaPods) + * [Standard Template Protocols](https://github.com/cconeil/Standard-Template-Protocols) - Protocols for your every day iOS needs + * [TimeLord](https://github.com/JonFir/TimeLord) - Easy DateTime (NSDate) management in Swift * [AppVersionMonitor](https://github.com/eure/AppVersionMonitor) - Monitor iOS app version easily. - * [Sugar](https://github.com/hyperoslo/Sugar) - Something sweet that goes great with your Cocoa. :large_orange_diamond:[e] - * [Then](https://github.com/devxoul/Then) - ✨ Super sweet syntactic sugar for Swift initializers. :large_orange_diamond:[e] - * [Kvitto](https://github.com/Cocoanetics/Kvitto) - App Store Receipt Validation :large_orange_diamond: - * [Notificationz](https://github.com/SwiftKitz/Notificationz) - Helping you own NSNotificationCenter in Swift :large_orange_diamond: - * [SwiftFoundation](https://github.com/PureSwift/SwiftFoundation) - Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux) :large_orange_diamond:[e] + * [Sugar](https://github.com/hyperoslo/Sugar) - Something sweet that goes great with your Cocoa. [e] + * [Then](https://github.com/devxoul/Then) - ✨ Super sweet syntactic sugar for Swift initializers. [e] + * [Kvitto](https://github.com/Cocoanetics/Kvitto) - App Store Receipt Validation + * [Notificationz](https://github.com/SwiftKitz/Notificationz) - Helping you own NSNotificationCenter in Swift + * [SwiftFoundation](https://github.com/PureSwift/SwiftFoundation) - Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux) [e] * [libextobjc](https://github.com/jspahrsummers/libextobjc) - A Cocoa library to extend the Objective-C programming language. - * [VersionTrackerSwift](https://github.com/tbaranes/VersionTrackerSwift) - Track which versions of your app a user has previously installed. :large_orange_diamond: - * [DeviceGuru](https://github.com/InderKumarRathore/DeviceGuru/) - DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s. :large_orange_diamond: - * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight App Version Tracking for iOS written in Swift :large_orange_diamond: + * [VersionTrackerSwift](https://github.com/tbaranes/VersionTrackerSwift) - Track which versions of your app a user has previously installed. + * [DeviceGuru](https://github.com/InderKumarRathore/DeviceGuru/) - DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s. + * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight App Version Tracking for iOS written in Swift * [BlocksKit](https://github.com/BlocksKit/BlocksKit) - The Objective-C block utilities you always wish you had. - * [SwiftyUtils](https://github.com/tbaranes/swiftyutils) - All the reusable code that we need in each project. :large_orange_diamond:[e] - * [RateLimit](https://github.com/soffes/RateLimit) - Simple utility for only executing code every so often. :large_orange_diamond: - * [Outlets](https://github.com/phatblat/Outlets) - Utility functions for validating IBOutlet and IBAction connections :large_orange_diamond: + * [SwiftyUtils](https://github.com/tbaranes/swiftyutils) - All the reusable code that we need in each project. [e] + * [RateLimit](https://github.com/soffes/RateLimit) - Simple utility for only executing code every so often. + * [Outlets](https://github.com/phatblat/Outlets) - Utility functions for validating IBOutlet and IBAction connections * [EasyAbout](https://github.com/JARMourato/EasyAbout) - A way to easily add CocoaPods licenses and App Version to your iOS App using the Settings Bundle - * [Validated](https://github.com/Ben-G/Validated) - A Swift μ-Library for Somewhat Dependent Types :large_orange_diamond: - * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes :large_orange_diamond: - * [AssistantKit](https://github.com/anatoliyv/AssistantKit) - Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift. :large_orange_diamond: - * [SwiftLinkPreview](https://github.com/LeonardoCardoso/SwiftLinkPreview) - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. 🔶 - * [BundleInfos](https://github.com/rollmind/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. 🔶 + * [Validated](https://github.com/Ben-G/Validated) - A Swift μ-Library for Somewhat Dependent Types + * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes + * [AssistantKit](https://github.com/anatoliyv/AssistantKit) - Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift. + * [SwiftLinkPreview](https://github.com/LeonardoCardoso/SwiftLinkPreview) - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. + * [BundleInfos](https://github.com/rollmind/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. * [YAML.framework](https://github.com/mirek/YAML.framework) - Proper YAML support for Objective-C based on `LibYAML`. - * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. 🔶 - * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, macOS) :large_orange_diamond: - * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! :large_orange_diamond: - * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) :large_orange_diamond: - * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. :large_orange_diamond: - * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . :large_orange_diamond: - * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. :large_orange_diamond: - * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. :large_orange_diamond: - * [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 400 native Swift 3 extensions to boost your productivity. :large_orange_diamond: - * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. :large_orange_diamond: + * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. + * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, macOS) + * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! + * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) + * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. + * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . + * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. + * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. + * [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 400 native Swift 3 extensions to boost your productivity. + * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. - * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift :large_orange_diamond: - * [OpenSourceController](https://github.com/floriangbh/OpenSourceController) - The simplest way to display the libraries licences used in your application. :large_orange_diamond: + * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift + * [OpenSourceController](https://github.com/floriangbh/OpenSourceController) - The simplest way to display the libraries licences used in your application. * [App-Update-Tracker](https://github.com/Stunner/App-Update-Tracker) - Easily detect and run code upon app installation or update. - * [ExtensionalSwift](https://github.com/4taras4/SwiftExtension) - Useful swift extensions in one place 🔶[e] + * [ExtensionalSwift](https://github.com/4taras4/SwiftExtension) - Useful swift extensions in one place [e] * [InAppSettingsKit](https://github.com/futuretap/InAppSettingsKit) - This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app. * [MMWormhole](https://github.com/mutualmobile/MMWormhole) - Message passing between iOS apps and extensions. - * [DefaultStringConvertible](https://github.com/jessesquires/DefaultStringConvertible) - A default CustomStringConvertible implementation for Swift types 🔶[e] - * [FluxCapacitor](https://github.com/marty-suzuki/FluxCapacitor) - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias. 🔶 + * [DefaultStringConvertible](https://github.com/jessesquires/DefaultStringConvertible) - A default CustomStringConvertible implementation for Swift types [e] + * [FluxCapacitor](https://github.com/marty-suzuki/FluxCapacitor) - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias. * [VTAcknowledgementsViewController](https://github.com/vtourraine/VTAcknowledgementsViewController) - Ready to use “Acknowledgements”/“Licenses”/“Credits” view controller for CocoaPods. - * [Closures](https://github.com/vhesener/Closures) - Swifty closures for UIKit and Foundation. 🔶 - * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote :large_orange_diamond: + * [Closures](https://github.com/vhesener/Closures) - Swifty closures for UIKit and Foundation. + * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote ## VR -* [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS :large_orange_diamond: +* [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS * [360 VR Player](https://github.com/hanton/HTY360Player) - A open source, ad-free, native and universal 360 degree panorama video player for iOS. -* [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. :large_orange_diamond: -* [Swifty360Player](https://github.com/abdullahselek/Swifty360Player) - iOS 360-degree video player streaming from an AVPlayer with Swift. :large_orange_diamond: +* [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. +* [Swifty360Player](https://github.com/abdullahselek/Swifty360Player) - iOS 360-degree video player streaming from an AVPlayer with Swift. ## Walkthrough / Intro / Tutorial * [Onboard](https://github.com/mamaral/Onboard) - Easily create a beautiful and engaging onboarding experience with only a few lines of code. * [EAIntroView](https://github.com/ealeksandrov/EAIntroView) - Highly customizable drop-in solution for introduction views. * [MYBlurIntroductionView](https://github.com/MatthewYork/MYBlurIntroductionView) - A super-charged version of MYIntroductionView for building custom app introductions and tutorials. -* [BWWalkthrough](https://github.com/ariok/BWWalkthrough) - A class to build custom walkthroughs for your iOS App. :large_orange_diamond: +* [BWWalkthrough](https://github.com/ariok/BWWalkthrough) - A class to build custom walkthroughs for your iOS App. * [GHWalkThrough](https://github.com/GnosisHub/GHWalkThrough) - A UICollectionView backed drop-in component for introduction views. * [ICETutorial](https://github.com/icepat/ICETutorial) - A nice tutorial like the one introduced in the Path 3.X App. * [JazzHands](https://github.com/IFTTT/JazzHands) - Jazz Hands is a simple keyframe-based animation framework for UIKit. Animations can be controlled via gestures, scroll views, KVO, or ReactiveCocoa. -* [RazzleDazzle](https://github.com/IFTTT/RazzleDazzle) - A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros. :large_orange_diamond: -* [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. :large_orange_diamond: -* [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. :large_orange_diamond: -* [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. :large_orange_diamond: -* [VideoSplashKit](https://github.com/svtek/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos :large_orange_diamond: -* [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. :large_orange_diamond: +* [RazzleDazzle](https://github.com/IFTTT/RazzleDazzle) - A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros. +* [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. +* [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. +* [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. +* [VideoSplashKit](https://github.com/svtek/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos +* [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. * [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. -* [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. :large_orange_diamond: -* [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. :large_orange_diamond: -* [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider :large_orange_diamond: -* [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. :large_orange_diamond: -* [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. :large_orange_diamond: -* [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. :large_orange_diamond: -* [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. :large_orange_diamond: +* [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. +* [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. +* [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider +* [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. +* [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. +* [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. +* [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. -* [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. 🔶 -* [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. 🔶 +* [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. +* [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. * [PVOnboardKit](https://github.com/vpeschenkov/PVOnboardKit) - Framework that allows you to add your own walkthrough/intro/tutorial into your app. ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. -* [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/macOS. :large_orange_diamond: -* [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and macOS. :large_orange_diamond: -* [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and macOS :large_orange_diamond: -* [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. :large_orange_diamond: -* [Socks](https://github.com/vapor/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS :large_orange_diamond: -* [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS :large_orange_diamond: -* [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. :large_orange_diamond: +* [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/macOS. +* [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and macOS. +* [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and macOS +* [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. +* [Socks](https://github.com/vapor/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS +* [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS +* [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. # Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. * [liftoff](https://github.com/liftoffcli/liftoff) - Another CLI for creating iOS projects. * [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents -* [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. :large_orange_diamond: +* [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. * [xclint](https://github.com/xcodeswift/xclint) - Validate the state of your Xcode projects. * [xcproj](https://github.com/xcodeswift/xcproj) - Read and update Xcode projects. # Dependency / Package Manager * [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. * [Xcode Maven](http://sap-production.github.io/xcode-maven-plugin/site/) - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle. -* [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. :large_orange_diamond: -* [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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. :large_orange_diamond: +* [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. +* [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. -* [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language :large_orange_diamond: +* [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language * [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool # Tools -* [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. :large_orange_diamond: +* [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. -* [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. :large_orange_diamond: -* [SwiftGen](https://github.com/SwiftGen/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). :large_orange_diamond: +* [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. +* [SwiftGen](https://github.com/SwiftGen/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). * [Blade](https://github.com/jondot/blade) - Generate Xcode image catalogs for iOS / macOS app icons, universal images, and more. * [Retini](https://github.com/terwanerik/Retini) - A super simple retina (2x, 3x) image converter. -* [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. :large_orange_diamond: +* [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. * [appledoc](https://github.com/tomaz/appledoc) - ObjectiveC code Apple style documentation set generator. -* [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! :large_orange_diamond: +* [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! * [StoryboardMerge](https://github.com/marcinolawski/StoryboardMerge) - Xcode storyboards diff and merge tool. * [ai2app](https://github.com/metasmile/ai2appiconset) - Creating AppIcon sets from Adobe Illustrator (all supported formats). -* [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. :large_orange_diamond: -* [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or macOS application. :large_orange_diamond: -* [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. :large_orange_diamond: -* [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. :large_orange_diamond:[e] +* [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. +* [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or macOS application. +* [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. +* [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. [e] * [git-xcp](https://github.com/metasmile/git-xcp) - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. * [WatchdogInspector](https://github.com/tapwork/WatchdogInspector) - Shows your current framerate (fps) in the status bar of your iOS app -* [Cichlid](https://github.com/dealforest/Cichlid) - automatically delete the current project's DerivedData directories :large_orange_diamond: -* [Delta](https://github.com/thoughtbot/Delta) - Managing state is hard. Delta aims to make it simple. :large_orange_diamond: -* [SwiftLintXcode](https://github.com/ypresto/SwiftLintXcode) - An Xcode plug-in to format your code using SwiftLint. :large_orange_diamond: -* [XCSwiftr](https://github.com/dzenbot/XCSwiftr) - An Xcode Plugin to convert Objective-C to Swift :large_orange_diamond: -* [SwiftKitten](https://github.com/johncsnyder/SwiftKitten) - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework :large_orange_diamond: -* [Kin](https://github.com/Karumi/Kin) - Have you ever found yourself undoing a merge due to a broken Xcode build? Then Kin is your tool. It will parse your project configuration file and detect errors. :large_orange_diamond: -* [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click :large_orange_diamond: -* [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. :large_orange_diamond: -* [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. :large_orange_diamond: -* [Localizations](https://github.com/athiercelin/localizations) - macOS app that manages localizations of Xcode projects. :large_orange_diamond: +* [Cichlid](https://github.com/dealforest/Cichlid) - automatically delete the current project's DerivedData directories +* [Delta](https://github.com/thoughtbot/Delta) - Managing state is hard. Delta aims to make it simple. +* [SwiftLintXcode](https://github.com/ypresto/SwiftLintXcode) - An Xcode plug-in to format your code using SwiftLint. +* [XCSwiftr](https://github.com/dzenbot/XCSwiftr) - An Xcode Plugin to convert Objective-C to Swift +* [SwiftKitten](https://github.com/johncsnyder/SwiftKitten) - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework +* [Kin](https://github.com/Karumi/Kin) - Have you ever found yourself undoing a merge due to a broken Xcode build? Then Kin is your tool. It will parse your project configuration file and detect errors. +* [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click +* [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. +* [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. +* [Localizations](https://github.com/athiercelin/localizations) - macOS app that manages localizations of Xcode projects. * [xcbuild](https://github.com/facebook/xcbuild) - Xcode-compatible build tool. -* [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. :large_orange_diamond: -* [SwiftCompilationPerformanceReporter](https://github.com/tumblr/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets :large_orange_diamond: -* [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift :large_orange_diamond: -* [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations :large_orange_diamond: -* [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. :large_orange_diamond: -* [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your macOS file system with their metadata to your iOS simulator (Swift 2.0) :large_orange_diamond: +* [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. +* [SwiftCompilationPerformanceReporter](https://github.com/tumblr/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets +* [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift +* [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations +* [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. +* [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your macOS file system with their metadata to your iOS simulator (Swift 2.0) * [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a macOS utility to open and modify realm database files. * [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. * [fastlane-plugin-appicon](https://github.com/KrauseFx/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. * [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. -* [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. :large_orange_diamond: +* [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. * [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance * [xcenv](https://github.com/xcenv/xcenv) - Groom your Xcode environment. * [playgroundbook](https://github.com/playgroundbooks/playgroundbook) - Tool for Swift Playground books -* [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. :large_orange_diamond: +* [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. -* [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! :large_orange_diamond: +* [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A macOS library for managing and manipulating iOS Simulators * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. -* [Cookiecutter](https://github.com/JetpackSwift/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file :large_orange_diamond: -* [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. :large_orange_diamond: -* [AssetChecker 👮](https://github.com/freshOS/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. :large_orange_diamond: -* [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar :large_orange_diamond: -* [GDPerformanceView-Swift](https://github.com/dani-gavrilov/GDPerformanceView-Swift) - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate. :large_orange_diamond: -* [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). :large_orange_diamond: +* [Cookiecutter](https://github.com/JetpackSwift/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file +* [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. +* [AssetChecker 👮](https://github.com/freshOS/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. +* [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar +* [GDPerformanceView-Swift](https://github.com/dani-gavrilov/GDPerformanceView-Swift) - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate. +* [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). * [Struct](https://www.get-struct.tools) - A tool for iOS and Mac developers to automate the creation and management of Xcode projects. -* [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. :large_orange_diamond: -* [Attabench](https://github.com/attaswift/Attabench) - Microbenchmarking app for Swift with nice log-log plots :large_orange_diamond: -* [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. :large_orange_diamond: -* [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. :large_orange_diamond: +* [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. +* [Attabench](https://github.com/attaswift/Attabench) - Microbenchmarking app for Swift with nice log-log plots +* [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. +* [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. * [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class * [AppDevKit](https://github.com/yahoo/AppDevKit) - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. * [Tweaks](https://github.com/facebook/Tweaks) - An easy way to fine-tune, and adjust parameters for iOS apps in development. -* [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. :large_orange_diamond: -* [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. :large_orange_diamond: +* [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. +* [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. * [Plank](https://github.com/pinterest/plank) - A tool for generating immutable model objects. * [Lona](https://github.com/airbnb/Lona) - A tool for defining design systems and using them to generate cross-platform UI code, Sketch files, images, and other artifacts. -* [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. :large_orange_diamond: +* [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. * [iSimulator](https://github.com/wigl/iSimulator) - iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator. -* [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. :large_orange_diamond: +* [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. @@ -2679,11 +2677,11 @@ Most of these are paid services, some have free tiers. * [Swinject](https://github.com/Swinject/Swinject) - Dependency injection framework for Swift * [Reliant](https://github.com/appfoundry/Reliant) - Nonintrusive Objective-C dependency injection. * [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. -* [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. :large_orange_diamond: +* [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. * [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). -* [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. :large_orange_diamond: +* [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. * [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. -* [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift :large_orange_diamond: +* [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift # Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. @@ -2712,21 +2710,21 @@ Most of these are paid services, some have free tiers. * [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. * [iRate](https://github.com/nicklockwood/iRate) - A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while. Similar to Appirater, but with a simpler, cleaner interface and automatic support for iOS fast application switching. * [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. -* [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. :large_orange_diamond: +* [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. * [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. # Xcode #### Extensions (Xcode 8+) -* [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. :large_orange_diamond: -* [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8) :large_orange_diamond: -* [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. :large_orange_diamond: -* [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. :large_orange_diamond: -* [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. :large_orange_diamond: -* [Mark](https://github.com/velyan/Mark) - Xcode extension for generating MARK comments. :large_orange_diamond: -* [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). :large_orange_diamond: -* [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. :large_orange_diamond: -* [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. :large_orange_diamond: +* [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. +* [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8) +* [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. +* [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. +* [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. +* [Mark](https://github.com/velyan/Mark) - Xcode extension for generating MARK comments. +* [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). +* [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. +* [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. * [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. #### Themes @@ -2743,16 +2741,16 @@ Most of these are paid services, some have free tiers. * [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator * [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. * [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. -* [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 :large_orange_diamond: -* [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift :large_orange_diamond: +* [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 +* [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift * [XcodeCodeSnippets](https://github.com/ismetanin/XcodeCodeSnippets) - A set of code snippets for iOS development, includes code and comments snippets. # Reference -* [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. :large_orange_diamond: +* [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. * [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. * [SwiftSnippets](https://github.com/hyperoslo/SwiftSnippets) - A collection of Swift snippets to be used in Xcode * [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. -* [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. :large_orange_diamond: +* [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. * [WWDC17-Recap](https://github.com/erenkabakci/WWDC17-Recap) - Markdown collection repo for the sessions at WWDC17. # Style Guides @@ -2760,11 +2758,11 @@ Most of these are paid services, some have free tiers. * [raywenderlich Style Guide](https://github.com/raywenderlich/objective-c-style-guide) - A style guide that outlines the coding conventions for raywenderlich.com. * [Github Objective-C Style Guide](https://github.com/github/objective-c-style-guide) - Style guide & coding conventions for Objective-C projects. * [Objective-C Coding Convention and Best Practices](https://gist.github.com/soffes/812796) - Gist with coding conventions. -* [Swift Style Guide by @raywenderlich](https://github.com/raywenderlich/swift-style-guide) - The official Swift style guide for raywenderlich.com. :large_orange_diamond: +* [Swift Style Guide by @raywenderlich](https://github.com/raywenderlich/swift-style-guide) - The official Swift style guide for raywenderlich.com. * [Spotify Objective-C Coding Style](https://github.com/spotify/ios-style) - Guidelines for iOS development in use at Spotify. -* [Github - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. :large_orange_diamond: +* [Github - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. * [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). -* [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift :large_orange_diamond: +* [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift * [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. # Good Websites @@ -2777,19 +2775,19 @@ Most of these are paid services, some have free tiers. * [Objc.io](https://www.objc.io/) * [ASCIIwwdc](http://asciiwwdc.com) * [Natasha The Robot](https://www.natashatherobot.com/) -* [Apple's Swift Blog](https://developer.apple.com/swift/blog/) :large_orange_diamond: +* [Apple's Swift Blog](https://developer.apple.com/swift/blog/) * [iOS Programming Subreddit](https://www.reddit.com/r/iOSProgramming/) -* [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) :large_orange_diamond: -* [iOScreator](https://www.ioscreator.com/) :large_orange_diamond: -* [Mathew Sanders](http://mathewsanders.com/) :large_orange_diamond: -* [Little Bites of Cocoa](https://littlebitesofcocoa.com/) :large_orange_diamond: -* [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) :large_orange_diamond: +* [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) +* [iOScreator](https://www.ioscreator.com/) +* [Mathew Sanders](http://mathewsanders.com/) +* [Little Bites of Cocoa](https://littlebitesofcocoa.com/) +* [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) * [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. -* [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) :large_orange_diamond: +* [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) * [Code Facebook](https://code.facebook.com/ios/) -* [iOS Cookies](http://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift :large_orange_diamond: +* [iOS Cookies](http://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. -* [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) :large_orange_diamond: +* [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) #### UIKit references * [iOS Fonts](http://iosfonts.com/) @@ -2805,23 +2803,23 @@ Most of these are paid services, some have free tiers. * [Code with Chris](https://codewithchris.com/) * [Cocoa with Love](http://www.cocoawithlove.com/) * [Code School - Try Objective-C](https://www.codeschool.com/courses/try-objective-c) -* [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. :large_orange_diamond: +* [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. * [RAYWENDERLICH](https://www.raywenderlich.com/tutorials) - Tutorials for developers and gamers * [Mike Ash](https://www.mikeash.com/pyblog/) -* [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) :large_orange_diamond: -* [Tuts+](https://code.tutsplus.com/categories/ios-sdk) :large_orange_diamond: -* [iOS-Blog](http://www.ios-blog.co.uk/) :large_orange_diamond: -* [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) :large_orange_diamond: -* [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. :large_orange_diamond: +* [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) +* [Tuts+](https://code.tutsplus.com/categories/ios-sdk) +* [iOS-Blog](http://www.ios-blog.co.uk/) +* [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) +* [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. * [Cocoa Dev Central](http://cocoadevcentral.com) * [Use Your Loaf](https://useyourloaf.com/) -* [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) :large_orange_diamond: -* [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - :fire: All of the resources for Learning About Swift :large_orange_diamond: -* [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - ⭐ A List of Awesome Swift Playgrounds! :large_orange_diamond: -* [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. :large_orange_diamond: +* [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) +* [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - :fire: All of the resources for Learning About Swift +* [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - ⭐ A List of Awesome Swift Playgrounds! +* [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. * [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. -* [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. :large_orange_diamond: -* [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. :large_orange_diamond: +* [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. +* [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. * [Realm Academy](https://academy.realm.io/) #### iOS UI Template @@ -2888,21 +2886,21 @@ Most of these are paid services, some have free tiers. * [Fireside Swift](https://itunes.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) # Books -* [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) :large_orange_diamond: -* [Using Swift with Cocoa and Objective C by Apple](https://itunes.apple.com/us/book/using-swift-cocoa-objective/id888894773?mt=11) :large_orange_diamond: +* [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) +* [Using Swift with Cocoa and Objective C by Apple](https://itunes.apple.com/us/book/using-swift-cocoa-objective/id888894773?mt=11) * [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming/) * [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) * [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) * [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) * [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) -* [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) :large_orange_diamond: -* [iOS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) :large_orange_diamond: -* [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) :large_orange_diamond: -* [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) :large_orange_diamond: -* [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) :large_orange_diamond: -* [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) :large_orange_diamond: -* [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) :large_orange_diamond: -* [Swift in Depth](https://www.manning.com/books/swift-in-depth) :large_orange_diamond: +* [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) +* [iOS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) +* [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) +* [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) +* [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) +* [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) +* [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) +* [Swift in Depth](https://www.manning.com/books/swift-in-depth) # Other Awesome Lists Other amazingly awesome lists can be found in the @@ -2911,7 +2909,7 @@ Other amazingly awesome lists can be found in the * Awesome-swift * [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. * [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. - * [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift :large_orange_diamond: + * [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift * [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. :watch: * [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. * [awesome-ios-animation](https://github.com/ameizi/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. From 73821648cdd9864e73194804334602794dcac7d4 Mon Sep 17 00:00:00 2001 From: RyoIshikawa Date: Thu, 1 Feb 2018 23:42:05 +0900 Subject: [PATCH 1610/2606] Add SwiftFlyer --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index e8b380c7a..03c654d69 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [ARKit](#arkit) - [Authentication](#authentication) - [Bridging](#bridging) + - [Bitcoin](#bitcoin) - [Cache](#cache) - [Charts](#charts) - [Code Quality](#code-quality) @@ -287,6 +288,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews * [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS +## Bitcoin +* [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API :large_orange_diamond: + ## Cache * [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) :large_orange_diamond: * [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content :large_orange_diamond: From 5b085c25565c2c47a213d66472882c9cb416a4e3 Mon Sep 17 00:00:00 2001 From: Wiliam Vabrinskas Date: Thu, 1 Feb 2018 10:43:52 -0500 Subject: [PATCH 1611/2606] added Avatar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e8b380c7a..cb18c7dd9 100644 --- a/README.md +++ b/README.md @@ -881,6 +881,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine :large_orange_diamond: #### Image +* [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. :large_orange_diamond: * [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. * [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - iOS UIImage processing functions using the vDSP/Accelerate framework for speed. * [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. From 126d63112a36e7a1fbb9db1b4e0f85bddb0b1214 Mon Sep 17 00:00:00 2001 From: Wiliam Vabrinskas Date: Thu, 1 Feb 2018 10:47:07 -0500 Subject: [PATCH 1612/2606] moved avatar to the bnottom of the image category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cb18c7dd9..0fd2ec11c 100644 --- a/README.md +++ b/README.md @@ -881,7 +881,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine :large_orange_diamond: #### Image -* [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. :large_orange_diamond: * [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. * [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - iOS UIImage processing functions using the vDSP/Accelerate framework for speed. * [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. @@ -969,6 +968,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below :large_orange_diamond: * [MetalPetal](https://github.com/MetalPetal/MetalPetal) - A GPU-accelerated image/video processing framework based on [Metal](https://developer.apple.com/metal/). * [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. :large_orange_diamond: +* [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. :large_orange_diamond: #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift :large_orange_diamond: From ba888d55a6b623293cd17302be0f5b97ed0e332d Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 1 Feb 2018 18:47:01 +0200 Subject: [PATCH 1613/2606] Add Mothership --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e8b380c7a..fa04f44eb 100644 --- a/README.md +++ b/README.md @@ -1389,6 +1389,7 @@ Most of these are paid services, some have free tiers. * [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. :large_orange_diamond: * [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. :large_orange_diamond: * [PerfectSlackAPIClient](https://github.com/SvenTiigi/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework 🔶 +* [Mothership](https://github.com/thecb4/MotherShip) - Tunes Connect Library inspired by FastLane. ## Security From 1398c6920e4bca678e4d1ad5e8e3982921751f5a Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 1 Feb 2018 18:54:03 +0200 Subject: [PATCH 1614/2606] Remove duplication of SDK section --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index e8b380c7a..5eec99d2b 100644 --- a/README.md +++ b/README.md @@ -155,9 +155,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Injection](#injection) - [Deployment / Distribution](#deployment--distribution) - [App Store](#app-store) -- [SDK](#sdk) - - [Official](#official) - - [Unofficial](#unofficial) - [Xcode](#xcode) - [Extensions (Xcode 8+)](#extensions-xcode-8) - [Themes](#themes) From 5325b87510e17fb3c51d01dde4848c345e2f5439 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 1 Feb 2018 19:17:59 +0200 Subject: [PATCH 1615/2606] Remove :large_orange_diamond: Remove :large_orange_diamond: after resolve conflicts --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 568346642..94d5626af 100644 --- a/README.md +++ b/README.md @@ -1369,22 +1369,22 @@ Most of these are paid services, some have free tiers. * [Lyft](https://github.com/genadyo/Lyft) - Some pink mustache company forgot to build that SDK. * [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift * [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. -* [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project :large_orange_diamond: -* [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & macOS written in Swift :large_orange_diamond: -* [SlackKit](https://github.com/SlackKit/SlackKit) - a Slack client library for iOS and macOS written in Swift :large_orange_diamond: -* [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift 3 Framework to Generate Random Users - An Unofficial SDK for randomuser.me :large_orange_diamond: -* [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). :large_orange_diamond: -* [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. :large_orange_diamond: -* [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. :large_orange_diamond: -* [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. :large_orange_diamond: -* [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. :large_orange_diamond: -* [BittrexApiKit](https://github.com/saeid/BittrexApiKit) - Simple and complete Swift wrapper for Bittrex Exchange API. 🔶 -* [SwiftyVK](https://github.com/SwiftyVK/SwiftyVK) Library for easy interact with VK social network API written in Swift 🔶 -* [ARKKit](https://github.com/sleepdefic1t/ARKKit) - ARK Ecosystem Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. :large_orange_diamond: -* [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. :large_orange_diamond: -* [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. :large_orange_diamond: -* [PerfectSlackAPIClient](https://github.com/SvenTiigi/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework 🔶 -* [Mothership](https://github.com/thecb4/MotherShip) - Tunes Connect Library inspired by FastLane. +* [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project. +* [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & macOS written in Swift. +* [SlackKit](https://github.com/SlackKit/SlackKit) - a Slack client library for iOS and macOS written in Swift. +* [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift 3 Framework to Generate Random Users - An Unofficial SDK for randomuser.me. +* [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). +* [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. +* [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. +* [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. +* [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. +* [BittrexApiKit](https://github.com/saeid/BittrexApiKit) - Simple and complete Swift wrapper for Bittrex Exchange API. +* [SwiftyVK](https://github.com/SwiftyVK/SwiftyVK) Library for easy interact with VK social network API written in Swift. +* [ARKKit](https://github.com/sleepdefic1t/ARKKit) - ARK Ecosystem Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. +* [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. +* [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. +* [PerfectSlackAPIClient](https://github.com/SvenTiigi/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework. +* [Mothership](https://github.com/thecb4/MotherShip) - Tunes Connect Library inspired by FastLane. From 04b712616bfdd238786f9e347ba51ba5434a8c21 Mon Sep 17 00:00:00 2001 From: Wilson Ding Date: Thu, 1 Feb 2018 23:20:26 -0600 Subject: [PATCH 1616/2606] Added MultiPeer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43e75983f..54ea11b1d 100644 --- a/README.md +++ b/README.md @@ -1097,6 +1097,7 @@ Also see [push notifications](#push-notifications) * [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). * [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework * [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development +* [MultiPeer](https://github.com/dingwilson/MultiPeer) - An easy-to-use wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices #### Email From 0b06ca5ae92ab34cd0f4f0fde1d67300b08a57dc Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 2 Feb 2018 11:32:07 +0200 Subject: [PATCH 1617/2606] Add PMHTTP --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43e75983f..92b4436e7 100644 --- a/README.md +++ b/README.md @@ -1195,6 +1195,7 @@ Most of these are paid services, some have free tiers. * [WAMapping](https://github.com/Wasappli/WAMapping) - A library to turn dictionary into object and vice versa for iOS. Designed for speed! * [json-swift](https://github.com/owensd/json-swift) - A basic library for working with JSON in Swift. * [Himotoki](https://github.com/ikesyo/Himotoki) - A type-safe JSON decoding library purely written in Swift. +* [PMHTTP](https://github.com/postmates/PMHTTP) - Swift/Obj-C HTTP framework with a focus on REST and JSON. #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. From 052f059993f7ae0b1ff073fe93f965987ad5323f Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 2 Feb 2018 11:35:49 +0200 Subject: [PATCH 1618/2606] Add YetAnotherAnimationLibrary --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43e75983f..5428e35a1 100644 --- a/README.md +++ b/README.md @@ -1883,6 +1883,7 @@ Most of these are paid services, some have free tiers. * [Ease](https://github.com/roberthein/Ease) - Animate everything with Ease. * [Kinieta](https://github.com/mmick66/kinieta) - An Animation Engine with Custom Bezier Easing, an Intuitive API and perfect Color Intepolation. * [LSAnimator](https://github.com/Lision/LSAnimator) - Easy to Read and Write Multi-chain Animations Kit in Objective-C and Swift. +* [YetAnotherAnimationLibrary](https://github.com/lkzhao/YetAnotherAnimationLibrary) - Designed for gesture-driven animations. Fast, simple, & extensible!. ##### Transition From a45d2978b1f1025f448298be1f95424494827174 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 2 Feb 2018 11:41:24 +0200 Subject: [PATCH 1619/2606] Add Mockingjay --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43e75983f..bb4bc0694 100644 --- a/README.md +++ b/README.md @@ -1097,6 +1097,7 @@ Also see [push notifications](#push-notifications) * [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). * [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework * [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development +* [Mockingjay](https://github.com/kylef/Mockingjay) - An elegant library for stubbing HTTP requests with ease in Swift. #### Email From 2860b515b716ee18fbd89c7a0df142af20f3feda Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 2 Feb 2018 11:45:18 +0200 Subject: [PATCH 1620/2606] Add Swift-YouTube-Player --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 43e75983f..b88de79c0 100644 --- a/README.md +++ b/README.md @@ -1011,6 +1011,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. * [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. * [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. +* [Swift-YouTube-Player](https://github.com/gilesvangruisen/Swift-YouTube-Player) - Swift library for embedding and controlling YouTube videos in your iOS applications! ## Messaging From e442d21f02d9c98f1c0f28b825a34dc9261fbc32 Mon Sep 17 00:00:00 2001 From: Yoshitaka Seki Date: Sat, 3 Feb 2018 11:15:13 +0900 Subject: [PATCH 1621/2606] Add ActionClosurable ## Project URL https://github.com/takasek/ActionClosurable ## Category [Utility](https://github.com/vsouza/awesome-ios#utility) ## Description Extensions which helps to convert objc-style target/action to swifty closures ## Why it should be included to `awesome-ios` (optional) It is useful and easy to extend. Designed in protocol-oriented style. ## Checklist - [x] Only one project/change is in this pull request - [x] Addition in chronological order (bottom of category) - [x] Supports iOS 9 / tvOS 10 or later - [x] Supports Swift 4 or later - [x] Has a commit from less than 2 years ago - [x] Has a **clear** README in English --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0a9213624..4ecade6a5 100644 --- a/README.md +++ b/README.md @@ -2537,6 +2537,7 @@ Most of these are paid services, some have free tiers. * [VTAcknowledgementsViewController](https://github.com/vtourraine/VTAcknowledgementsViewController) - Ready to use “Acknowledgements”/“Licenses”/“Credits” view controller for CocoaPods. * [Closures](https://github.com/vhesener/Closures) - Swifty closures for UIKit and Foundation. * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote + * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS From 09310126f93e3834486ffdeb62ba624e89e81172 Mon Sep 17 00:00:00 2001 From: RyoIshikawa Date: Sun, 4 Feb 2018 15:00:56 +0900 Subject: [PATCH 1622/2606] Change category to SDK/Unofficial --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 03c654d69..fa413e79c 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [ARKit](#arkit) - [Authentication](#authentication) - [Bridging](#bridging) - - [Bitcoin](#bitcoin) - [Cache](#cache) - [Charts](#charts) - [Code Quality](#code-quality) @@ -288,9 +287,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews * [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS -## Bitcoin -* [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API :large_orange_diamond: - ## Cache * [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) :large_orange_diamond: * [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content :large_orange_diamond: @@ -1393,7 +1389,7 @@ Most of these are paid services, some have free tiers. * [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. :large_orange_diamond: * [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. :large_orange_diamond: * [PerfectSlackAPIClient](https://github.com/SvenTiigi/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework 🔶 - +* [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API :large_orange_diamond: ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 4ef4abd47b77119c433176f926fa62c76ca9e0ff Mon Sep 17 00:00:00 2001 From: Aleph Retamal Date: Sun, 4 Feb 2018 23:12:26 +1100 Subject: [PATCH 1623/2606] Add RLPSwift --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 20bbedcee..089e179b9 100644 --- a/README.md +++ b/README.md @@ -1219,7 +1219,8 @@ Most of these are paid services, some have free tiers. * [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. * [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. * [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. -* [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. +* [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. +* [RLPSwift](https://github.com/bitfwdcommunity/RLPSwift) - Recursive Length Prefix encoding written in Swift. ## Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. From e47b45a2ed6afb67069ccab06777a21e3b9812d4 Mon Sep 17 00:00:00 2001 From: Semen Zhydenko Date: Mon, 5 Feb 2018 11:56:41 +0100 Subject: [PATCH 1624/2606] extentions -> extensions --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 20bbedcee..aa8121213 100644 --- a/README.md +++ b/README.md @@ -1267,7 +1267,7 @@ Most of these are paid services, some have free tiers. ## Reactive Programming * [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift -* [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extentions for Swift optionals and "Occupiable" types +* [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extensions for Swift optionals and "Occupiable" types * [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes * [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) - Streams of values over time. * [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. From 5928577d819a48cd180944cc56dc5ef081a89738 Mon Sep 17 00:00:00 2001 From: Semen Zhydenko Date: Mon, 5 Feb 2018 11:57:16 +0100 Subject: [PATCH 1625/2606] heirarchy -> hierarchy --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa8121213..75ff1aa02 100644 --- a/README.md +++ b/README.md @@ -1902,7 +1902,7 @@ Most of these are paid services, some have free tiers. * [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao * [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller * [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. -* [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view heirarchy. Used extensively in the Zola iOS application. +* [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view hierarchy. Used extensively in the Zola iOS application. * [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. * [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. From 5ea3805967fa76b8ccfa14e9b8c268842939ac39 Mon Sep 17 00:00:00 2001 From: Semen Zhydenko Date: Mon, 5 Feb 2018 11:58:04 +0100 Subject: [PATCH 1626/2606] initalizers -> initializers --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 75ff1aa02..dedf83f16 100644 --- a/README.md +++ b/README.md @@ -1184,7 +1184,7 @@ Most of these are paid services, some have free tiers. * [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. * [MJExtension](https://github.com/CoderMJLee/MJExtension) - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file. * [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper -* [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initalizers for data models. +* [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initializers for data models. * [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. * [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x. * [Marshal](https://github.com/utahiosmac/Marshal) - Marshaling the typeless wild west of [String: Any] (Protocol based). From 7cdf1995fa4ae7c4d2cc058864f17355eef1f54e Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 5 Feb 2018 11:57:17 -0200 Subject: [PATCH 1627/2606] Update links --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 20bbedcee..c5c24b737 100644 --- a/README.md +++ b/README.md @@ -15,10 +15,10 @@ A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). -# Supported with ❤️ by [Instabug](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=header) +# Supported with ❤️ by [Instabug](https://goo.gl/hNadrZ) [![ios](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) -> Instabug SDK allows iOS developers to receive detailed bug reports from users and testers directly from inside the app. It attaches screenshots, screen recordings, network requests, and reproduce steps with each bug report. This minimizes debugging time and helps developers in tracing weird bugs. [Learn more.](https://try.instabug.com/awesomeios?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more)🚀 -[![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) +> Instabug SDK allows iOS developers to receive detailed bug reports from users and testers directly from inside the app. It attaches screenshots, screen recordings, network requests, and reproduce steps with each bug report. This minimizes debugging time and helps developers in tracing weird bugs. [Learn more.](https://goo.gl/q93Qtd)🚀 +[![](https://goo.gl/A74z8Q)](https://instabug.com) # How to Use Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use are: From 496a341268681478f854ecba7d9c4af9e9397bef Mon Sep 17 00:00:00 2001 From: mylittleswift Date: Mon, 5 Feb 2018 09:25:14 -0800 Subject: [PATCH 1628/2606] Added promises from @google --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5c24b737..f6f5b5cce 100644 --- a/README.md +++ b/README.md @@ -557,6 +557,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Hydra](https://github.com/malcommac/Hydra) - Promises & Await - Write better async code in Swift * [Promis](https://github.com/albertodebortoli/Promis) - The easiest Future and Promises framework in Swift. No magic. No boilerplate. * [Bluebird.swift](https://github.com/AndrewBarba/Bluebird.swift) - Promise/A+, Bluebird inspired, implementation in Swift 4. +* [promises](https://github.com/google/promises) - Google provides a synchronization construct for Objective-C and Swift to facilitate writing asynchronous code. ## Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. From 4d5a8c38bd2b3b529b47b96603e1a0fbf730ab17 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 5 Feb 2018 19:26:09 +0200 Subject: [PATCH 1629/2606] Add fuse-swift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5c24b737..5f34e07bc 100644 --- a/README.md +++ b/README.md @@ -1525,6 +1525,7 @@ Most of these are paid services, some have free tiers. * [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. * [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS * [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. +* [fuse-swift](https://github.com/krisk/fuse-swift) - A lightweight fuzzy-search library, with zero dependencies. #### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. From 5a88c1f211199a0e00585ab5a8de7bb6d13bbd23 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 5 Feb 2018 19:30:53 +0200 Subject: [PATCH 1630/2606] Add Promise --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5c24b737..23891e14d 100644 --- a/README.md +++ b/README.md @@ -557,6 +557,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Hydra](https://github.com/malcommac/Hydra) - Promises & Await - Write better async code in Swift * [Promis](https://github.com/albertodebortoli/Promis) - The easiest Future and Promises framework in Swift. No magic. No boilerplate. * [Bluebird.swift](https://github.com/AndrewBarba/Bluebird.swift) - Promise/A+, Bluebird inspired, implementation in Swift 4. +* [Promise](https://github.com/khanlou/Promise) - A Promise library for Swift, based partially on Javascript's A+ spec. ## Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. From 4d642454580a3369305942f6125c0bdb0b52b8a5 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 5 Feb 2018 19:35:51 +0200 Subject: [PATCH 1631/2606] Add SmileToUnlock --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5c24b737..609dfb78b 100644 --- a/README.md +++ b/README.md @@ -257,6 +257,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. * [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆. * [ARKitEnvironmentMapper](https://github.com/svtek/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. +* [SmileToUnlock](https://github.com/rsrbk/SmileToUnlock) - This library uses ARKit Face Tracking in order to catch a user's smile. ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. From 69b9dd4b86a572cf2f94647986459c738aa39257 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 5 Feb 2018 19:40:39 +0200 Subject: [PATCH 1632/2606] Add MKUnits --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5c24b737..4c06d21d8 100644 --- a/README.md +++ b/README.md @@ -2538,6 +2538,7 @@ Most of these are paid services, some have free tiers. * [VTAcknowledgementsViewController](https://github.com/vtourraine/VTAcknowledgementsViewController) - Ready to use “Acknowledgements”/“Licenses”/“Credits” view controller for CocoaPods. * [Closures](https://github.com/vhesener/Closures) - Swifty closures for UIKit and Foundation. * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote + * [MKUnits](https://github.com/michalkonturek/MKUnits) - Unit conversion library for Swift. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS From 87e9d0d37ec4b89f9cfbf83f7fa4d7e7e65afb87 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 5 Feb 2018 19:45:36 +0200 Subject: [PATCH 1633/2606] Add Anima --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c5c24b737..170b0e745 100644 --- a/README.md +++ b/README.md @@ -1890,6 +1890,7 @@ Most of these are paid services, some have free tiers. * [Kinieta](https://github.com/mmick66/kinieta) - An Animation Engine with Custom Bezier Easing, an Intuitive API and perfect Color Intepolation. * [LSAnimator](https://github.com/Lision/LSAnimator) - Easy to Read and Write Multi-chain Animations Kit in Objective-C and Swift. * [YetAnotherAnimationLibrary](https://github.com/lkzhao/YetAnotherAnimationLibrary) - Designed for gesture-driven animations. Fast, simple, & extensible!. +* [Anima](https://github.com/satoshin21/Anima) - Anima is chainable Layer-Based Animation library for Swift4. ##### Transition From 9303d5020160bb05b0b3aaea433420e8bfd89e67 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 5 Feb 2018 16:05:04 -0200 Subject: [PATCH 1634/2606] remove boombox. Fix redirects --- .travis.yml | 4 ++-- README.md | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9b6135365..49b9a69ab 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,8 +5,8 @@ before_script: - gem install awesome_bot - gem install danger script: - - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,PerfectlySoft - - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix,amazon,facebook.com/groups + - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,PerfectlySoft,gitter,instabug + - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix,amazon,facebook.com/groups,goo.gl - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger notifications: diff --git a/README.md b/README.md index cf4589d5c..e1486a19b 100644 --- a/README.md +++ b/README.md @@ -2710,7 +2710,6 @@ Most of these are paid services, some have free tiers. * [HockeyApp](https://www.hockeyapp.net) - With HockeyApp, you can distribute beta versions of your app, collect live crash reports, get feedback from users, and analyze test coverage. * [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. * [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. -* [Boombox.io](https://boombox.io/) - Sign up TestFlight beta testers on your website. Embeddable and hosted TestFlight beta sign-up forms * [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. * [AppLaunchpad](https://theapplaunchpad.com/) - Free App Store screenshot builder. * [LaunchKit](https://github.com/LaunchKit/LaunchKit) - A set of web-based tools for mobile app developers, now open source! From 2a415df26a524133baa648c0c48e9f1a2a97b6e1 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 5 Feb 2018 20:13:41 +0200 Subject: [PATCH 1635/2606] Add Differ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf4589d5c..49df58506 100644 --- a/README.md +++ b/README.md @@ -505,6 +505,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Dispatch](https://github.com/alexdrone/Dispatch) - Multi-store Flux implementation in Swift * [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift * [BinaryKit](https://github.com/Cosmo/BinaryKit) - Access bits and bytes directly in Swift. +* [Differ](https://github.com/tonyarnold/Differ) - Swift library to generate differences and patches between collections. ## Date & Time From 446fe0812fdcc088432dfd479487c8355c17ee68 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 5 Feb 2018 20:23:46 +0200 Subject: [PATCH 1636/2606] Add GradientCircularProgress --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf4589d5c..56ee4b991 100644 --- a/README.md +++ b/README.md @@ -2201,6 +2201,7 @@ Most of these are paid services, some have free tiers. #### ProgressView * [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift +* [GradientCircularProgress](https://github.com/keygx/GradientCircularProgress) - Customizable progress indicator library in Swift. #### Pull to Refresh * [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift From 956755513a5dc6b5d7c8a2220e3d25d6bac9fce3 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 6 Feb 2018 11:37:27 +0200 Subject: [PATCH 1637/2606] Add RMessage --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e221b6b63..976bfed48 100644 --- a/README.md +++ b/README.md @@ -1985,6 +1985,7 @@ Most of these are paid services, some have free tiers. * [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. * [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. * [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. +* [RMessage](https://github.com/donileo/RMessage) - A crisp in-app notification/message banner built in ObjC. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From 67635114c821d1e320d48a85152cde1a546cc82c Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 6 Feb 2018 12:17:50 +0200 Subject: [PATCH 1638/2606] Add PlaygroundTDD --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e221b6b63..0708b8327 100644 --- a/README.md +++ b/README.md @@ -1565,6 +1565,7 @@ Most of these are paid services, some have free tiers. * [SwiftCheck](https://github.com/typelift/SwiftCheck) - QuickCheck for Swift * [Spry](https://github.com/Quick/Spry) - A Mac and iOS Playgrounds Unit Testing library based on Nimble. * [swift-corelibs-xctest](https://github.com/apple/swift-corelibs-xctest) - The XCTest Project, A Swift core library for providing unit test support. +* [PlaygroundTDD](https://github.com/app-shack/PlaygroundTDD) - Small library to easily run your tests directly within a Playground. #### A/B Testing * [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. From 4bc290373c65d32c3d8c33e7816e2adfebe4b676 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 6 Feb 2018 12:22:15 +0200 Subject: [PATCH 1639/2606] Add rides-ios-sdk --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e221b6b63..8b8a6ec75 100644 --- a/README.md +++ b/README.md @@ -1362,6 +1362,7 @@ Most of these are paid services, some have free tiers. * [playkit-ios](https://github.com/kaltura/playkit-ios) - PlayKit: Kaltura Player SDK for iOS. * [algoliasearch-client-swift](https://github.com/algolia/algoliasearch-client-swift) - Algolia Search API Client for Swift * [twitter-kit-ios](https://github.com/twitter/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps. +* [rides-ios-sdk](https://github.com/uber/rides-ios-sdk) - Uber Rides iOS SDK (beta). #### Unofficial From 9495b924d4f75c36edba386ecf02a339f68cd98d Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 6 Feb 2018 12:46:08 +0200 Subject: [PATCH 1640/2606] Add waterwheel.swift --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e221b6b63..7fd00ea0d 100644 --- a/README.md +++ b/README.md @@ -1396,7 +1396,8 @@ Most of these are paid services, some have free tiers. * [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. * [PerfectSlackAPIClient](https://github.com/SvenTiigi/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework. * [Mothership](https://github.com/thecb4/MotherShip) - Tunes Connect Library inspired by FastLane. -* [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API :large_orange_diamond: +* [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API. +* [waterwheel.swift](https://github.com/kylebrowning/waterwheel.swift) - The Waterwheel Swift SDK provides classes to natively connect iOS, macOS, tvOS, and watchOS applications to Drupal 7 and 8. ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 29976c3e561b7778f10c654ead7a33465ce69c59 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 6 Feb 2018 12:51:59 +0200 Subject: [PATCH 1641/2606] Remove :large_orange_diamond: --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e221b6b63..b1cb2dfbb 100644 --- a/README.md +++ b/README.md @@ -363,9 +363,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap #### Linter * [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. -* [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. :large_orange_diamond: -* [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. :large_orange_diamond: -* [IBLinter](https://github.com/kateinoigakukun/IBLinter) - A linter tool for Interface Builder :large_orange_diamond: +* [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. +* [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. +* [IBLinter](https://github.com/kateinoigakukun/IBLinter) - A linter tool for Interface Builder. ## Color * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). @@ -968,8 +968,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. * [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below * [MetalPetal](https://github.com/MetalPetal/MetalPetal) - A GPU-accelerated image/video processing framework based on [Metal](https://developer.apple.com/metal/). -* [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. :large_orange_diamond: -* [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. :large_orange_diamond: +* [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. +* [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift @@ -1396,7 +1396,7 @@ Most of these are paid services, some have free tiers. * [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. * [PerfectSlackAPIClient](https://github.com/SvenTiigi/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework. * [Mothership](https://github.com/thecb4/MotherShip) - Tunes Connect Library inspired by FastLane. -* [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API :large_orange_diamond: +* [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API. ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 148de94f5e3fe54f3f2f2226a54ede73eeb3aa75 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Tue, 6 Feb 2018 16:45:54 +0530 Subject: [PATCH 1642/2606] Add UberSignature --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ea6e50f7c..8d8594ea6 100644 --- a/README.md +++ b/README.md @@ -1766,6 +1766,7 @@ Most of these are paid services, some have free tiers. * [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. * [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). * [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list +* [UberSignature](https://github.com/uber/UberSignature) - Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style. #### Activity Indicator From ba1182a4953c9b5400d25705a98fdd3f116b6fcc Mon Sep 17 00:00:00 2001 From: qualityjacks Date: Tue, 6 Feb 2018 22:49:31 +0530 Subject: [PATCH 1643/2606] Added Hackr.io's curated resources. https://hackr.io/tutorials/learn-ios-swift - Learn iOS & Swift online from the best iOS & Swift tutorials and courses recommended by the programming community. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index faff22ab9..49f1b7fa8 100644 --- a/README.md +++ b/README.md @@ -2946,6 +2946,7 @@ Other amazingly awesome lists can be found in the * [Awesome-ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. * [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. * [example-ios-apps](https://github.com/imjog/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. +* [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 42b9af710870524b5a955d589ecbf0b55a8f6901 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 6 Feb 2018 20:46:56 +0200 Subject: [PATCH 1644/2606] Add AlertTransition --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index faff22ab9..f7f90f95c 100644 --- a/README.md +++ b/README.md @@ -1928,6 +1928,7 @@ Most of these are paid services, some have free tiers. * [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. * [DeckTransition](https://github.com/HarshilShah/DeckTransition) - A library to recreate the iOS Apple Music now playing transition * [TransitionableTab](https://github.com/Interactive-Studio/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab +* [AlertTransition](https://github.com/loopeer/AlertTransition) - AlertTransition is a extensible library for making view controller transitions, especially for alert transitions. #### Alert & Action Sheet From 36881a5da3d3a698faac4f374e7e5ae5a81919aa Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 6 Feb 2018 20:50:42 +0200 Subject: [PATCH 1645/2606] Add InAppNotify --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index faff22ab9..89eb62189 100644 --- a/README.md +++ b/README.md @@ -1990,6 +1990,7 @@ Most of these are paid services, some have free tiers. * [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. * [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. * [RMessage](https://github.com/donileo/RMessage) - A crisp in-app notification/message banner built in ObjC. +* [InAppNotify](https://github.com/lucabecchetti/InAppNotify) - Swift library to manage in-app notification in swift language, like WhatsApp, Telegram, Frind, etc. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From 2167ebc43029cabad963ff222fe7b8a6d1dae15d Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 6 Feb 2018 21:13:07 +0200 Subject: [PATCH 1646/2606] Add FDTake --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index faff22ab9..1207c95fa 100644 --- a/README.md +++ b/README.md @@ -669,6 +669,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CameraBackground](https://github.com/yonat/CameraBackground) - Show camera layer as a background to any UIView. * [Lumina](https://github.com/dokun1/Lumina) - Full service camera that takes photos, videos, streams frames, detects metadata, and streams CoreML predictions :largeorangediamond: * [RAImagePicker](https://github.com/rallahaseh/RAImagePicker) - RAImagePicker is a protocol-oriented framework that provides custom features from the built-in Image Picker Edit. +* [FDTake](https://github.com/fulldecent/FDTake) - Easily take a photo or video or choose from library. #### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) From 84639d9e6eeab7278f63432b542b18ec6d0c9582 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 6 Feb 2018 21:33:30 +0200 Subject: [PATCH 1647/2606] Add swift-protobuf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index faff22ab9..dda3b771b 100644 --- a/README.md +++ b/README.md @@ -1226,6 +1226,7 @@ Most of these are paid services, some have free tiers. * [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. * [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. * [RLPSwift](https://github.com/bitfwdcommunity/RLPSwift) - Recursive Length Prefix encoding written in Swift. +* [swift-protobuf](https://github.com/apple/swift-protobuf) - Plugin and runtime library for using protobuf with Swift. ## Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. From 015014fd38375d79e44fb03208464ce035d91f5a Mon Sep 17 00:00:00 2001 From: DimaMishchenko Date: Wed, 7 Feb 2018 12:45:14 +0200 Subject: [PATCH 1648/2606] Added NativeJSONMapper. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1207c95fa..85becc3c5 100644 --- a/README.md +++ b/README.md @@ -1204,6 +1204,7 @@ Most of these are paid services, some have free tiers. * [json-swift](https://github.com/owensd/json-swift) - A basic library for working with JSON in Swift. * [Himotoki](https://github.com/ikesyo/Himotoki) - A type-safe JSON decoding library purely written in Swift. * [PMHTTP](https://github.com/postmates/PMHTTP) - Swift/Obj-C HTTP framework with a focus on REST and JSON. +* [NativeJSONMapper](https://github.com/DimaMishchenko/NativeJSONMapper) - Simple Swift 4 encoding & decoding. #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. From 75bf4ddacd22507cc52f70ae864b436704e06419 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 7 Feb 2018 13:38:25 +0200 Subject: [PATCH 1649/2606] Add AsyncMessagesViewController --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1207c95fa..b413affb1 100644 --- a/README.md +++ b/README.md @@ -1037,6 +1037,7 @@ Also see [push notifications](#push-notifications) * [Messenger](https://github.com/relatedcode/Messenger) - This is a native iOS Messenger app, making realtime chat conversations and audio calls with full offline support. * [OTTextChatAccelerator](https://github.com/opentok/accelerator-textchat-ios) - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices. * [chat-sdk-ios](https://github.com/chat-sdk/chat-sdk-ios) - Chat SDK iOS - Open Source Mobile Messenger. +* [AsyncMessagesViewController](https://github.com/nguyenhuy/AsyncMessagesViewController) - A smooth, responsive and flexible messages UI library for iOS. ## Networking * [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. From 2ffda49c246e21f7bd757d9a2b5bfe32e505b3e4 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 7 Feb 2018 13:41:38 -0200 Subject: [PATCH 1650/2606] update links and description. --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f9e44aadf..e06554326 100644 --- a/README.md +++ b/README.md @@ -9,15 +9,16 @@ PRs Welcome

-[Subscribe on Awesome-iOS Weekly!! 🗞](http://weekly.awesomeios.com/) +[Subscribe on Awesome-iOS Weekly!! 🗞](https://goo.gl/UtS5qk) # About A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). -# Supported with ❤️ by [Instabug](https://goo.gl/hNadrZ) +## Recommend SDK for bug and crash reporting [Instabug](https://goo.gl/hNadrZ) [![ios](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) -> Instabug SDK allows iOS developers to receive detailed bug reports from users and testers directly from inside the app. It attaches screenshots, screen recordings, network requests, and reproduce steps with each bug report. This minimizes debugging time and helps developers in tracing weird bugs. [Learn more.](https://goo.gl/q93Qtd)🚀 +> We highly recommend integrating Instabug’s framework as they compiled a lot of great features in their SDK that provides useful and rich data with each bug/crash report. +They removed the hassle of debugging as the SDK automatically attach screenshots, screen recordings, device details, network logs and repro-steps with each bug report which speeds up development process. Instabug is offering awesome-ios community an exclusive **15% discount** on all paid plans. [**Go to 5-minute installation guide.**](https://goo.gl/q93Qtd)🚀 [![](https://goo.gl/A74z8Q)](https://instabug.com) # How to Use From 93d52bf96e85bce66703d96f61ac8e659876f39c Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 7 Feb 2018 18:51:52 +0200 Subject: [PATCH 1651/2606] Move swift-protobuf into Networking/Representations section Remove unexpected spaces --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index dda3b771b..89b5c9510 100644 --- a/README.md +++ b/README.md @@ -1112,9 +1112,10 @@ Also see [push notifications](#push-notifications) #### Representations - * [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS, written in Swift - * [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library purely written in Swift - * [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift +* [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS, written in Swift +* [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library purely written in Swift +* [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift +* [swift-protobuf](https://github.com/apple/swift-protobuf) - Plugin and runtime library for using protobuf with Swift. ## Notifications @@ -1226,7 +1227,6 @@ Most of these are paid services, some have free tiers. * [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. * [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. * [RLPSwift](https://github.com/bitfwdcommunity/RLPSwift) - Recursive Length Prefix encoding written in Swift. -* [swift-protobuf](https://github.com/apple/swift-protobuf) - Plugin and runtime library for using protobuf with Swift. ## Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. From 47f00f18d5c95d99dbf22c81266bd7a5b9e762c7 Mon Sep 17 00:00:00 2001 From: Frank Kair Date: Wed, 7 Feb 2018 16:24:23 -0200 Subject: [PATCH 1652/2606] Modifies README to uptade SwifterSwift's swift version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c7c86f69f..4db6e8e18 100644 --- a/README.md +++ b/README.md @@ -2544,7 +2544,7 @@ Most of these are paid services, some have free tiers. * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. - * [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 400 native Swift 3 extensions to boost your productivity. + * [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 400 native Swift 4 extensions to boost your productivity. * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift From 61a334432fc9400c9656988ec42851e7a0130e82 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 7 Feb 2018 18:32:43 -0200 Subject: [PATCH 1653/2606] fix danger redirect alert --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4db6e8e18..d8090a762 100644 --- a/README.md +++ b/README.md @@ -1357,7 +1357,7 @@ Most of these are paid services, some have free tiers. * [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. * [Liquid Analytics](https://github.com/lqd-io/liquid-sdk-ios) Identify behaviours through Analytics and react with real-time Personalization. * [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. -* [PacketZoom](https://packetzoom.com) PacketZoom SDK for iOS. +* [PacketZoom](https://www.packetzoom.com/) PacketZoom SDK for iOS. * [Primer](https://www.goprimer.com) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. * [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device * [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps From 2729b93da4449d99a1e48250dcc010104ab93715 Mon Sep 17 00:00:00 2001 From: Alexey Karetski Date: Wed, 7 Feb 2018 23:34:38 +0300 Subject: [PATCH 1654/2606] Doc update with Snowonder --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c7c86f69f..6e4ed120c 100644 --- a/README.md +++ b/README.md @@ -2754,6 +2754,7 @@ Most of these are paid services, some have free tiers. * [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. * [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. * [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. +* [Snowonder](https://github.com/Karetski/Snowonder) - 🔮 Magical import declarations formatter for Xcode. #### Themes * [Dracula Theme](https://draculatheme.com/xcode/) - A dark theme for Xcode. From 8eda00006e72d5dbace022a336c4329fe3b78036 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 8 Feb 2018 01:43:50 +0200 Subject: [PATCH 1655/2606] Add PMJSON --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8090a762..eaa720352 100644 --- a/README.md +++ b/README.md @@ -1208,6 +1208,7 @@ Most of these are paid services, some have free tiers. * [Himotoki](https://github.com/ikesyo/Himotoki) - A type-safe JSON decoding library purely written in Swift. * [PMHTTP](https://github.com/postmates/PMHTTP) - Swift/Obj-C HTTP framework with a focus on REST and JSON. * [NativeJSONMapper](https://github.com/DimaMishchenko/NativeJSONMapper) - Simple Swift 4 encoding & decoding. +* [PMJSON](https://github.com/postmates/PMJSON) - Pure Swift JSON encoding/decoding library. #### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. From 685ccda8e03edcb7892a44966e74109317ac121e Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 8 Feb 2018 02:02:08 +0200 Subject: [PATCH 1656/2606] Add iOS-Viper-Architecture --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8090a762..15669c128 100644 --- a/README.md +++ b/README.md @@ -251,6 +251,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. * [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS * [YARCH](https://github.com/alfa-laboratory/YARCH-Examples) - More clean alternative to VIPER with unidirectional data flow (flux-like). +* [iOS-Viper-Architecture](https://github.com/MindorksOpenSource/iOS-Viper-Architecture) - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc. ## ARKit From 42155f95baea2bfab16b3422a759996df7e52564 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 8 Feb 2018 02:07:10 +0200 Subject: [PATCH 1657/2606] Add TensorSwift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8090a762..80b44765b 100644 --- a/README.md +++ b/README.md @@ -813,6 +813,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of unique Core ML Models. * [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. * [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. +* [TensorSwift](https://github.com/qoncept/TensorSwift) - A lightweight library to calculate tensors in Swift, which has similar APIs to TensorFlow's. ## Maps * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. From 8cd6a8c9e77dc0f53c32d398a6d34975e56dd08f Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 8 Feb 2018 02:12:21 +0200 Subject: [PATCH 1658/2606] Add Minamo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8090a762..dc00e539f 100644 --- a/README.md +++ b/README.md @@ -2594,6 +2594,7 @@ Most of these are paid services, some have free tiers. * [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. * [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. * [PVOnboardKit](https://github.com/vpeschenkov/PVOnboardKit) - Framework that allows you to add your own walkthrough/intro/tutorial into your app. +* [Minamo](https://github.com/yukiasai/Minamo) - Simple coach mark library written in Swift. ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From 7079349a399a141d7279eb0025caab0193682246 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 8 Feb 2018 02:16:46 +0200 Subject: [PATCH 1659/2606] Add EFMarkdown --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8090a762..f9189872b 100644 --- a/README.md +++ b/README.md @@ -1538,6 +1538,7 @@ Most of these are paid services, some have free tiers. * [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS * [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. * [fuse-swift](https://github.com/krisk/fuse-swift) - A lightweight fuzzy-search library, with zero dependencies. +* [EFMarkdown](https://github.com/EyreFree/EFMarkdown) - A lightweight Markdown library for iOS. #### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. From 7cbf82392559436b4c0661db0e0a89906d534e02 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 8 Feb 2018 02:23:44 +0200 Subject: [PATCH 1660/2606] Add Serrata --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8090a762..55cb7acee 100644 --- a/README.md +++ b/README.md @@ -972,6 +972,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MetalPetal](https://github.com/MetalPetal/MetalPetal) - A GPU-accelerated image/video processing framework based on [Metal](https://developer.apple.com/metal/). * [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. * [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. +* [Serrata](https://github.com/horitaku46/Serrata) - Slide image viewer library similar to Twitter and LINE. #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift From 039ddc6811d07248851d4ae661253f18484ead7e Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 8 Feb 2018 02:28:52 +0200 Subject: [PATCH 1661/2606] Add Probably --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8090a762..b2f3d8eaa 100644 --- a/README.md +++ b/README.md @@ -507,6 +507,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift * [BinaryKit](https://github.com/Cosmo/BinaryKit) - Access bits and bytes directly in Swift. * [Differ](https://github.com/tonyarnold/Differ) - Swift library to generate differences and patches between collections. +* [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. ## Date & Time From dc12d1f7194d0dbedcb3e6e0ce59bf0119b89a0c Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 8 Feb 2018 02:51:21 +0200 Subject: [PATCH 1662/2606] Add Cache --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8090a762..3bbe45d21 100644 --- a/README.md +++ b/README.md @@ -300,6 +300,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift * [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. * [Cachyr](https://github.com/YR/Cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift +* [Cache](https://github.com/soffes/Cache) - Swift caching library. ## Charts * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). From 4fa65ed0b6b516c42af00c95fe7fee328860b5ff Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 8 Feb 2018 02:57:35 +0200 Subject: [PATCH 1663/2606] Add CalendarPopUp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8090a762..87597036a 100644 --- a/README.md +++ b/README.md @@ -2054,6 +2054,7 @@ Most of these are paid services, some have free tiers. * [MBCalendarKit](https://github.com/MosheBerman/MBCalendarKit) - A calendar framework for iOS built with customization, and localization in mind. * [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. * [KDCalendarView](https://github.com/mmick66/CalendarView) - A calendar component for iOS written in Swift 4.0. It features both vertical and horizontal layout (and scrolling) and the display of native calendar events. +* [CalendarPopUp](https://github.com/orazz/CalendarPopUp) - CalendarPopUp - JTAppleCalendar library. #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From 81f25c797ec4efc7b0d3702cbfbc554bb2db13d0 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 8 Feb 2018 13:03:52 +0200 Subject: [PATCH 1664/2606] Add SwViewCapture --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 55cb7acee..8540becfc 100644 --- a/README.md +++ b/README.md @@ -1775,6 +1775,7 @@ Most of these are paid services, some have free tiers. * [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). * [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list * [UberSignature](https://github.com/uber/UberSignature) - Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style. +* [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. #### Activity Indicator From 5db4a445310baa9905fc59d756d167d68c8d02e9 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 8 Feb 2018 16:05:32 +0200 Subject: [PATCH 1665/2606] Remove ifAction --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 65181bd47..0bb9fef4a 100644 --- a/README.md +++ b/README.md @@ -588,7 +588,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift * [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. -* [ifAction](https://github.com/trilliwon/ifAction) - Custom if for Optional and Boolean [e] ## Games * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. From bb849274c4082e78def5690c37c055a1b87f117a Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 9 Feb 2018 12:37:03 +0200 Subject: [PATCH 1666/2606] Add CreditCardForm-iOS --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8f6a541f6..e61d6d2a8 100644 --- a/README.md +++ b/README.md @@ -1262,6 +1262,7 @@ Most of these are paid services, some have free tiers. * [MFCard](https://github.com/mobilefirstinc/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI * [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt * [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL +* [CreditCardForm-iOS](https://github.com/orazz/CreditCardForm-iOS) - CreditCardForm is iOS framework that allows developers to create the UI which replicates an actual Credit Card. ## Permissions * [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). From cd8bbe94963f79686cf696b78ca26c66c6991974 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 9 Feb 2018 17:01:52 +0200 Subject: [PATCH 1667/2606] Fix link issue: http://facebook.design/ redirects to https://facebook.design/ --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e61d6d2a8..936770be7 100644 --- a/README.md +++ b/README.md @@ -2864,7 +2864,7 @@ Most of these are paid services, some have free tiers. #### iOS UI Template * [iOS UI Design Kit](https://www.invisionapp.com/tethr) * [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) -* [iOS GUI by Facebook Design Resources](http://facebook.design/) +* [iOS GUI by Facebook Design Resources](https://facebook.design/) #### Prototyping * [FluidUI](https://www.fluidui.com) From 18275fc26aae629f0677ffe5b49d41a344e642a5 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 9 Feb 2018 17:14:37 +0200 Subject: [PATCH 1668/2606] Add MessageViewController --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e61d6d2a8..58d23bf9e 100644 --- a/README.md +++ b/README.md @@ -1043,6 +1043,7 @@ Also see [push notifications](#push-notifications) * [OTTextChatAccelerator](https://github.com/opentok/accelerator-textchat-ios) - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices. * [chat-sdk-ios](https://github.com/chat-sdk/chat-sdk-ios) - Chat SDK iOS - Open Source Mobile Messenger. * [AsyncMessagesViewController](https://github.com/nguyenhuy/AsyncMessagesViewController) - A smooth, responsive and flexible messages UI library for iOS. +* [MessageViewController](https://github.com/GitHawkApp/MessageViewController) - A SlackTextViewController replacement written in Swift for the iPhone X. ## Networking * [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. From c750f8c26dd853f872eeeda7cbecb70fa2c1c6cb Mon Sep 17 00:00:00 2001 From: S4cha Date: Mon, 12 Feb 2018 22:54:11 +0100 Subject: [PATCH 1669/2606] Adds YPImagePicker library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b30cdc7ba..4ee437797 100644 --- a/README.md +++ b/README.md @@ -673,6 +673,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Lumina](https://github.com/dokun1/Lumina) - Full service camera that takes photos, videos, streams frames, detects metadata, and streams CoreML predictions :largeorangediamond: * [RAImagePicker](https://github.com/rallahaseh/RAImagePicker) - RAImagePicker is a protocol-oriented framework that provides custom features from the built-in Image Picker Edit. * [FDTake](https://github.com/fulldecent/FDTake) - Easily take a photo or video or choose from library. +* [YPImagePicker](https://github.com/Yummypets/YPImagePicker) - Instagram-like image picker & filters for iOS #### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) From 4feba21dbcd34365e7535c3a6dbdd7469769de6e Mon Sep 17 00:00:00 2001 From: Valeriy Van Date: Tue, 13 Feb 2018 12:42:04 +0100 Subject: [PATCH 1670/2606] Update README.md Fixes info about SwiftyXML --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b30cdc7ba..d74129517 100644 --- a/README.md +++ b/README.md @@ -1225,7 +1225,7 @@ Most of these are paid services, some have free tiers. * [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. * [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift -* [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 3 +* [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 4 #### Other Parsing * [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. From 1ee7120ada5a0923f2f7d7d38ee75a66241791b1 Mon Sep 17 00:00:00 2001 From: Eugene Date: Wed, 14 Feb 2018 12:38:09 +0300 Subject: [PATCH 1671/2606] Update README.md Added Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fecd1e6e..4aa7f7672 100644 --- a/README.md +++ b/README.md @@ -597,6 +597,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. * [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit * [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit +* [AssetImportKit](https://github.com/eugenebokhan/Asset-Import-Kit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. ## GCD * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. From a0abecc3585ded8d899f2ddeeb552d50f1762a98 Mon Sep 17 00:00:00 2001 From: Tommaso Piazza Date: Wed, 14 Feb 2018 16:34:06 +0100 Subject: [PATCH 1672/2606] Add Rome --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fecd1e6e..6dc43c012 100644 --- a/README.md +++ b/README.md @@ -2634,6 +2634,7 @@ Most of these are paid services, some have free tiers. * [CocoaSeeds](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. * [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language * [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool +* [Rome](https://github.com/blender/Rome) - A cache tool for Carthage built frameworks # Tools * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. From e64fcb65313d9137335052d67d1531640c5c4682 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 18:01:57 +0200 Subject: [PATCH 1673/2606] Fix link issues --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9fecd1e6e..35ef638fa 100644 --- a/README.md +++ b/README.md @@ -296,7 +296,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SPTPersistentCache](https://github.com/spotify/SPTPersistentCache) - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify * [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. * [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cell cache that cures scroll-lags on a cell instantiating. -* [RocketData](https://github.com/linkedin/RocketData) - A caching and consistency solution for immutable models. +* [RocketData](https://github.com/plivesey/RocketData) - A caching and consistency solution for immutable models. * [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS * [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift * [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. @@ -1643,7 +1643,7 @@ Most of these are paid services, some have free tiers. * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. * [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. -* [ComponentKit](http://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. +* [ComponentKit](https://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit @@ -2914,7 +2914,7 @@ Most of these are paid services, some have free tiers. * [The Ray Wenderlich Podcast](https://www.raywenderlich.com/rwpodcast) * [Debug](https://www.imore.com/debug) * [App Story](http://www.appstorypodcast.com) -* [Mobile Couch](http://mobilecouch.co/) +* [Mobile Couch](https://mobilecouch.co/) * [iPhreaks](https://devchat.tv/iphreaks) * [Under the Radar](https://www.relay.fm/radar) * [Core Intuition](http://coreint.org/) From ce5142647a5bcf843c27b4abec9f7889c1e5d230 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 18:12:27 +0200 Subject: [PATCH 1674/2606] Add AGInterfaceInteraction --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fecd1e6e..5b5fed349 100644 --- a/README.md +++ b/README.md @@ -1784,6 +1784,7 @@ Most of these are paid services, some have free tiers. * [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list * [UberSignature](https://github.com/uber/UberSignature) - Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style. * [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. +* [AGInterfaceInteraction](https://github.com/agilie/AGInterfaceInteraction) - library performs interaction with UI interface. #### Activity Indicator From 81bd6c47811dedcf93c8fef2d370ecfa79d5135d Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 18:26:47 +0200 Subject: [PATCH 1675/2606] Add Solar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35ef638fa..916136695 100644 --- a/README.md +++ b/README.md @@ -529,6 +529,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. * [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. [e] * [Chronology](https://github.com/davedelong/Chronology) - Building a better date/time library +* [Solar](https://github.com/ceeK/Solar) - A Swift micro library for generating Sunrise and Sunset times. ## Debugging * [Xniffer](https://github.com/vsouza/awesome-ios/issues/1841) - A swift network profiler built on top of URLSession. From 31c03cefdfed3c9a0d46a11fab2786704b169280 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 18:36:34 +0200 Subject: [PATCH 1676/2606] Add SwiftSimplify --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35ef638fa..2d7f6d1b7 100644 --- a/README.md +++ b/README.md @@ -845,6 +845,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. * [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library with generic integer algorithms, complex numbers, rational numbers, and pseudorandom number generators (written in, and for, Swift 4) * [EasyRoot](https://github.com/aaronjsutton/EasyRoot) - A framework to simplify radical expressions +* [SwiftSimplify](https://github.com/malcommac/SwiftSimplify) - Tiny high-performance Swift Polyline Simplification Library. ## Media #### Audio From 9c2a840d21728984757460d4a1406710146e2449 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 18:43:57 +0200 Subject: [PATCH 1677/2606] Add SecureEnclaveCrypto --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35ef638fa..0091fe6cf 100644 --- a/README.md +++ b/README.md @@ -1447,6 +1447,7 @@ Most of these are paid services, some have free tiers. * [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. * [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. * [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. +* [SecureEnclaveCrypto](https://github.com/trailofbits/SecureEnclaveCrypto) - Demonstration library for using the Secure Enclave on iOS. #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. From e8c33941c068fcf35c662f79d5ce3047bd1d862b Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 18:47:43 +0200 Subject: [PATCH 1678/2606] Add FloatingActionSheetController --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35ef638fa..08dfa05fd 100644 --- a/README.md +++ b/README.md @@ -2007,6 +2007,7 @@ Most of these are paid services, some have free tiers. * [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. * [RMessage](https://github.com/donileo/RMessage) - A crisp in-app notification/message banner built in ObjC. * [InAppNotify](https://github.com/lucabecchetti/InAppNotify) - Swift library to manage in-app notification in swift language, like WhatsApp, Telegram, Frind, etc. +* [FloatingActionSheetController](https://github.com/ra1028/FloatingActionSheetController) - FloatingActionSheetController is a cool design ActionSheetController library written in Swift. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From a56ab92ce00ea0d6dd0fa958c1259efa4d3365fc Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 18:53:48 +0200 Subject: [PATCH 1679/2606] Add CSV.swift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35ef638fa..50f22da1d 100644 --- a/README.md +++ b/README.md @@ -1165,6 +1165,7 @@ Most of these are paid services, some have free tiers. #### CSV * [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 +* [CSV.swift](https://github.com/yaslab/CSV.swift) - CSV reading and writing library written in Swift. #### JSON * [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. From e5d41b5bc7a18ec5bb702a07d0e2834d0266f4b1 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 18:56:56 +0200 Subject: [PATCH 1680/2606] Add Embassy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35ef638fa..6e6c2c321 100644 --- a/README.md +++ b/README.md @@ -1483,6 +1483,7 @@ Most of these are paid services, some have free tiers. * [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. * [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! * [GCDWebServer](https://github.com/swisspol/GCDWebServer) - Lightweight GCD based HTTP server for macOS & iOS (includes web based uploader & WebDAV server) +* [Embassy](https://github.com/envoy/Embassy) - Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux. ## Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From b2da59a209ac58491cf3e71cc882652b070e97be Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 18:59:27 +0200 Subject: [PATCH 1681/2606] Add Yalta --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35ef638fa..c01d2cad7 100644 --- a/README.md +++ b/README.md @@ -757,6 +757,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. * [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. * [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. +* [Yalta](https://github.com/kean/Yalta) - An intuitive and powerful Auto Layout library. ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From dab80608370ff27dc925d5ec4d79bdc4f81cb3b0 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 19:10:56 +0200 Subject: [PATCH 1682/2606] Add Gestalt --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35ef638fa..e359c1822 100644 --- a/README.md +++ b/README.md @@ -390,6 +390,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. * [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. * [Lorikeet](https://github.com/valdirunars/Lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation. +* [Gestalt](https://github.com/regexident/Gestalt) - An unintrusive & light-weight iOS app-theming library with support for animated theme switching. ## Command Line * [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. From 975584b0231c2bf57e505dc45585d8067a3eb606 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 19:15:35 +0200 Subject: [PATCH 1683/2606] Add StyleArt --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35ef638fa..0536fcc17 100644 --- a/README.md +++ b/README.md @@ -977,6 +977,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. * [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. * [Serrata](https://github.com/horitaku46/Serrata) - Slide image viewer library similar to Twitter and LINE. +* [StyleArt](https://github.com/ileafsolutions/StyleArt) - Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style. #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift From 04185f3a0477ff94a17ac2a789ab1bc4665d94df Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Feb 2018 19:24:13 +0200 Subject: [PATCH 1684/2606] Add MotionAnimation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35ef638fa..40dc95199 100644 --- a/README.md +++ b/README.md @@ -1916,6 +1916,7 @@ Most of these are paid services, some have free tiers. * [LSAnimator](https://github.com/Lision/LSAnimator) - Easy to Read and Write Multi-chain Animations Kit in Objective-C and Swift. * [YetAnotherAnimationLibrary](https://github.com/lkzhao/YetAnotherAnimationLibrary) - Designed for gesture-driven animations. Fast, simple, & extensible!. * [Anima](https://github.com/satoshin21/Anima) - Anima is chainable Layer-Based Animation library for Swift4. +* [MotionAnimation](https://github.com/lkzhao/MotionAnimation) - Lightweight animation library for UIKit. ##### Transition From 9b5dd8e89c660f0ae285ed4368d5dca1c0905686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sr=C4=91an=20Ra=C5=A1i=C4=87?= Date: Wed, 14 Feb 2018 22:30:03 +0100 Subject: [PATCH 1685/2606] Add Layoutless --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9034d468f..dbe9c3123 100644 --- a/README.md +++ b/README.md @@ -759,6 +759,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. * [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. * [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. +* [Layoutless](https://github.com/AbsurdAbstractions/Layoutless) - Minimalistic declarative layout and styling framework built on top of Auto Layout. ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From 7dc8c7c9bcd66f83b717f5463bad925468ce0c49 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 15 Feb 2018 05:59:11 +0200 Subject: [PATCH 1686/2606] Add ForecastIO (#2328) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9034d468f..31e26f422 100644 --- a/README.md +++ b/README.md @@ -1415,6 +1415,7 @@ Most of these are paid services, some have free tiers. * [Mothership](https://github.com/thecb4/MotherShip) - Tunes Connect Library inspired by FastLane. * [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API. * [waterwheel.swift](https://github.com/kylebrowning/waterwheel.swift) - The Waterwheel Swift SDK provides classes to natively connect iOS, macOS, tvOS, and watchOS applications to Drupal 7 and 8. +* [ForecastIO](https://github.com/sxg/ForecastIO) - A Swift library for the Forecast.io Dark Sky API. ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 66e0fb1dff8f37a7c424bd081332f6cd5fee807d Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 15 Feb 2018 15:11:20 +0200 Subject: [PATCH 1687/2606] Add Device.swift (#2337) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 66beefe00..69ccf7246 100644 --- a/README.md +++ b/README.md @@ -711,6 +711,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. * [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. * [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. +* [Device.swift](https://github.com/schickling/Device.swift) - Super-lightweight library to detect used device. ## Layout * [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift From e61bd339af42fb3a959152a8b07c0b0f5a8b64cb Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 15 Feb 2018 14:53:55 -0200 Subject: [PATCH 1688/2606] fix spelling mistake. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d5a9fc2d7..589c679da 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). -## Recommend SDK for bug and crash reporting [Instabug](https://goo.gl/hNadrZ) +## Recommended SDK for bug and crash reporting [Instabug](https://goo.gl/hNadrZ) [![ios](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) > We highly recommend integrating Instabug’s framework as they compiled a lot of great features in their SDK that provides useful and rich data with each bug/crash report. They removed the hassle of debugging as the SDK automatically attach screenshots, screen recordings, device details, network logs and repro-steps with each bug report which speeds up development process. Instabug is offering awesome-ios community an exclusive **15% discount** on all paid plans. [**Go to 5-minute installation guide.**](https://goo.gl/q93Qtd)🚀 From 87fc4934bdc66942f80f4183ca2318e7a808c639 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 15 Feb 2018 19:44:13 -0200 Subject: [PATCH 1689/2606] Added Continuum by @marty-suzuki --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 589c679da..025c85bd1 100644 --- a/README.md +++ b/README.md @@ -567,7 +567,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Bluebird.swift](https://github.com/AndrewBarba/Bluebird.swift) - Promise/A+, Bluebird inspired, implementation in Swift 4. * [Promise](https://github.com/khanlou/Promise) - A Promise library for Swift, based partially on Javascript's A+ spec. * [promises](https://github.com/google/promises) - Google provides a synchronization construct for Objective-C and Swift to facilitate writing asynchronous code. - +* [Continuum](https://github.com/marty-suzuki/Continuum) - NotificationCenter based Lightweight UI / AnyObject binder. ## Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. From b9731e532284699a0671419144cefd81f3a2f75d Mon Sep 17 00:00:00 2001 From: Andres Canal Date: Fri, 16 Feb 2018 09:00:10 +0100 Subject: [PATCH 1690/2606] Update README.md Do you think is the under Tools is the right place to put this? --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 589c679da..233cd556a 100644 --- a/README.md +++ b/README.md @@ -2720,6 +2720,7 @@ Most of these are paid services, some have free tiers. * [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. * [iSimulator](https://github.com/wigl/iSimulator) - iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator. * [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. +* [Transformer](https://github.com/andresinaka/transformer) - Easy Online Attributed String Creator. This tool lets you format a string directly in the browser and then copy/paste the attributed string code into your app. # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From 91283d3f6e8303f923c0ee92cc6f7e2e296448a2 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 16 Feb 2018 10:58:11 +0200 Subject: [PATCH 1691/2606] Move AGInterfaceInteraction to UI/Animation section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 619fad9c4..60aac2952 100644 --- a/README.md +++ b/README.md @@ -1796,7 +1796,6 @@ Most of these are paid services, some have free tiers. * [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list * [UberSignature](https://github.com/uber/UberSignature) - Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style. * [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. -* [AGInterfaceInteraction](https://github.com/agilie/AGInterfaceInteraction) - library performs interaction with UI interface. #### Activity Indicator @@ -1930,6 +1929,7 @@ Most of these are paid services, some have free tiers. * [YetAnotherAnimationLibrary](https://github.com/lkzhao/YetAnotherAnimationLibrary) - Designed for gesture-driven animations. Fast, simple, & extensible!. * [Anima](https://github.com/satoshin21/Anima) - Anima is chainable Layer-Based Animation library for Swift4. * [MotionAnimation](https://github.com/lkzhao/MotionAnimation) - Lightweight animation library for UIKit. +* [AGInterfaceInteraction](https://github.com/agilie/AGInterfaceInteraction) - library performs interaction with UI interface. ##### Transition From 8780431e67efe9f7af14fc231bb311a28ec2e59c Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 16 Feb 2018 11:04:44 +0200 Subject: [PATCH 1692/2606] Fix link issues --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 589c679da..48f7af304 100644 --- a/README.md +++ b/README.md @@ -599,7 +599,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. * [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit * [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit -* [AssetImportKit](https://github.com/eugenebokhan/Asset-Import-Kit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. +* [AssetImportKit](https://github.com/eugenebokhan/AssetImportKit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. ## GCD * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. @@ -1026,7 +1026,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. * [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. * [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. -* [swift-360-videos](https://github.com/team-pie/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. +* [swift-360-videos](https://github.com/gsabran/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. * [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. * [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. * [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. From 170cb941b8ebacc2bff23c2eaea2573c09006fd2 Mon Sep 17 00:00:00 2001 From: Oleh Date: Sat, 17 Feb 2018 22:58:40 +0100 Subject: [PATCH 1693/2606] Added TimePicker. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 97404ddd9..e51e99bc1 100644 --- a/README.md +++ b/README.md @@ -531,6 +531,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. [e] * [Chronology](https://github.com/davedelong/Chronology) - Building a better date/time library * [Solar](https://github.com/ceeK/Solar) - A Swift micro library for generating Sunrise and Sunset times. +* [TimePicker](https://github.com/Endore8/TimePicker) - Configurable time picker component based on a pan gesture and its velocity. ## Debugging * [Xniffer](https://github.com/vsouza/awesome-ios/issues/1841) - A swift network profiler built on top of URLSession. From 46258a016536f6f97fa9be048e92d113ae4ee853 Mon Sep 17 00:00:00 2001 From: Soubhi Hadri Date: Sat, 17 Feb 2018 22:02:52 -0600 Subject: [PATCH 1694/2606] Update README.md added webrtc to streaming libs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 97404ddd9..654a7424c 100644 --- a/README.md +++ b/README.md @@ -1009,6 +1009,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate * [Airstream](https://github.com/qasim/Airstream) - A framework for streaming audio between Apple devices using AirPlay. * [OTAcceleratorCore](https://github.com/opentok/accelerator-core-ios) - A painless way to integrate audio/video(screen sharing) to any iOS applications via Tokbox. +* [webrtc](https://webrtc.org/native-code/ios/) - Provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. #### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. From bef3928953f7c3f66f1ae48a20286a7c98106199 Mon Sep 17 00:00:00 2001 From: Afroz Zaheer Date: Mon, 19 Feb 2018 12:31:56 +0500 Subject: [PATCH 1695/2606] AZPeerToPeerConnectivity added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 61af1e9d1..5dbed6b08 100644 --- a/README.md +++ b/README.md @@ -621,6 +621,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BabyBluetooth](https://github.com/coolnameismy/BabyBluetooth) - The easiest way to use Bluetooth (BLE) in iOS/MacOS. * [ExtendaBLE](https://github.com/AntonTheDev/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](https://github.com/rchatham/PeerConnectivity) - Functional wrapper for Apple's MultipeerConnectivity framework. :large_orange_diamond: +* [AZPeerToPeerConnection](https://github.com/AfrozZaheer/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 :large_orange_diamond: #### Camera * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. From 470d2fffac5284724fa7d674883bba43f8bf18c6 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 20 Feb 2018 11:17:10 +0200 Subject: [PATCH 1696/2606] Add SDVersion --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91bf9446e..e7dfb0a69 100644 --- a/README.md +++ b/README.md @@ -715,6 +715,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. * [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. * [Device.swift](https://github.com/schickling/Device.swift) - Super-lightweight library to detect used device. +* [SDVersion](https://github.com/sebyddd/SDVersion) - :iphone: Lightweight Cocoa library for detecting the running device's model and screen size. ## Layout * [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift From 7bc44c2b635df4ba485e0c922fc9cd58d24870e5 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 20 Feb 2018 11:20:14 +0200 Subject: [PATCH 1697/2606] Add FastPdfKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91bf9446e..2326d3e30 100644 --- a/README.md +++ b/README.md @@ -1003,6 +1003,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftPDFGenerator](https://github.com/kayoslab/SwiftPDFGenerator) - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'. * [PSPDFKit](https://pspdfkit.com/) - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. * [TPPDF](https://github.com/Techprimate/TPPDF) - Generate PDF using commands and automatic layout. +* [FastPdfKit](https://github.com/mobfarm/FastPdfKit) - A Static Library to be embedded on iOS applications to display pdf documents derived from Fast PDF. #### Streaming * [HaishinKit.swift](https://github.com/shogo4405/HaishinKit.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. From 4498acadde9dcc6b42c8e37f83971c559a9e288d Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 20 Feb 2018 11:23:25 +0200 Subject: [PATCH 1698/2606] Add ZipZap --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91bf9446e..f268b6940 100644 --- a/README.md +++ b/README.md @@ -581,6 +581,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. * [ZIPFoundation](https://github.com/weichsel/ZIPFoundation) - Effortless ZIP Handling in Swift * [AppFolder](https://github.com/dreymonde/AppFolder) - AppFolder is a lightweight framework that lets you design a friendly, strongly-typed representation of a directories inside your app's container. +* [ZipZap](https://github.com/pixelglow/ZipZap) - zip file I/O library for iOS, macOS and tvOS. ## Functional Programming * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. From 2588acb36cac6e68184c885dab09baf4198d8343 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 17:08:33 -0300 Subject: [PATCH 1699/2606] Added HGRippleRadarView by @HamzaGhazouani --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e80b214c4..3e83e0bc5 100644 --- a/README.md +++ b/README.md @@ -1802,6 +1802,7 @@ Most of these are paid services, some have free tiers. * [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list * [UberSignature](https://github.com/uber/UberSignature) - Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style. * [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. +* [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable #### Activity Indicator From 79763f8d47726d94f375b7d86fd930b353b01461 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 20 Feb 2018 18:05:29 -0300 Subject: [PATCH 1700/2606] Update readme. Reorder libs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3e83e0bc5..81582a9ce 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap # Libraries And Frameworks ## Analytics +* [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. * [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. * [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. * [Answers by Fabric](https://answers.io/) - Answers gives you real-time insight into people’s experience in your app. From d5103ea6dc8a7d380685d785fda0b7bba1e954f5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 20:00:05 -0300 Subject: [PATCH 1701/2606] Moved SAInboxViewController to /TableView --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..bfc2ad4e6 100644 --- a/README.md +++ b/README.md @@ -1657,7 +1657,6 @@ Most of these are paid services, some have free tiers. * [MVMaterialView](https://github.com/TheMrugraj/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. -* [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. @@ -2461,6 +2460,7 @@ Most of these are paid services, some have free tiers. * [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. * [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. * [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. +* [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 08a27389ed256351d267d3b7b11bf8c2e8ad80d5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 20:03:06 -0300 Subject: [PATCH 1702/2606] Moved Cocoa Controls to /News, Blogs and more --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..3c96dcfb7 100644 --- a/README.md +++ b/README.md @@ -1659,7 +1659,6 @@ Most of these are paid services, some have free tiers. * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. -* [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. * [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. * [ComponentKit](https://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. @@ -2854,6 +2853,7 @@ Most of these are paid services, some have free tiers. * [iOS Cookies](http://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. * [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) +* [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. #### UIKit references * [iOS Fonts](http://iosfonts.com/) From 98575ae6fa10cc5ad5331f54c0e377c63beb6e37 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 20:07:03 -0300 Subject: [PATCH 1703/2606] Moved PMTween to /Animation --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 81582a9ce..9016e96a6 100644 --- a/README.md +++ b/README.md @@ -1663,7 +1663,6 @@ Most of these are paid services, some have free tiers. * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. * [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. * [ComponentKit](https://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. -* [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift @@ -1938,7 +1937,7 @@ Most of these are paid services, some have free tiers. * [Anima](https://github.com/satoshin21/Anima) - Anima is chainable Layer-Based Animation library for Swift4. * [MotionAnimation](https://github.com/lkzhao/MotionAnimation) - Lightweight animation library for UIKit. * [AGInterfaceInteraction](https://github.com/agilie/AGInterfaceInteraction) - library performs interaction with UI interface. - +* [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 77463978cc8734d5ed61a111b51b8043ea3a69bf Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 20:10:35 -0300 Subject: [PATCH 1704/2606] Moved EatFit to /Charts --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 81582a9ce..fdd083817 100644 --- a/README.md +++ b/README.md @@ -335,7 +335,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SMDiagramViewSwift](https://github.com/VRGsoftUA/SMDiagramView) - Meet cute and very flexibility library for iOS application for different data view in one circle diagram. * [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. * [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. - +* [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit ## Code Quality * [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. @@ -1665,7 +1665,6 @@ Most of these are paid services, some have free tiers. * [ComponentKit](https://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. -* [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. * [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. From 5eec731f1e06eadca336bcba9b2bcf6f47d097e2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 20:13:28 -0300 Subject: [PATCH 1705/2606] Moved SFFocusViewLayout to /TableView --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..5393c678a 100644 --- a/README.md +++ b/README.md @@ -1668,7 +1668,6 @@ Most of these are paid services, some have free tiers. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. -* [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. * [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) * [HorizontalProgress](https://github.com/AliThink/HorizontalProgress) - Simple horizontal progress bar with animation @@ -2472,6 +2471,7 @@ Most of these are paid services, some have free tiers. * [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags * [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. * [YNSearch](https://github.com/younatics/YNSearch) - Awesome fully customizable search view like Pinterest written in Swift 3 +* [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. #### TextField & TextView * [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. From e3a6ed69e8dc8760b2bfa7ab57353ca1acfbf85a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 20:15:58 -0300 Subject: [PATCH 1706/2606] Moved BEMCheckBox to /Button --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..bfc056a1e 100644 --- a/README.md +++ b/README.md @@ -1670,7 +1670,6 @@ Most of these are paid services, some have free tiers. * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. * [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. * [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. -* [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) * [HorizontalProgress](https://github.com/AliThink/HorizontalProgress) - Simple horizontal progress bar with animation * [JRSplitVC](https://github.com/tommypeps/JRSplitVC) - UISplitViewController with adaptative layouts * [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. @@ -2067,6 +2066,7 @@ Most of these are paid services, some have free tiers. * [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. * [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class * [DesignableButton](https://github.com/IdleHandsApps/DesignableButton) - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time! +* [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). From 0d56e23ae85b2d970cb2d0cee27a6bd93fc37222 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 20:16:52 -0300 Subject: [PATCH 1707/2606] Updated link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bfc056a1e..d23746fe6 100644 --- a/README.md +++ b/README.md @@ -2066,7 +2066,7 @@ Most of these are paid services, some have free tiers. * [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. * [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class * [DesignableButton](https://github.com/IdleHandsApps/DesignableButton) - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time! -* [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) +* [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox) - Tasteful Checkbox for iOS. (Check box) #### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). From ed5aa43acb3b0ba58ff9e32565f6c29387611502 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 20:18:22 -0300 Subject: [PATCH 1708/2606] Removed HorizontalProgress --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..eaa6007e8 100644 --- a/README.md +++ b/README.md @@ -1671,7 +1671,6 @@ Most of these are paid services, some have free tiers. * [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. * [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) -* [HorizontalProgress](https://github.com/AliThink/HorizontalProgress) - Simple horizontal progress bar with animation * [JRSplitVC](https://github.com/tommypeps/JRSplitVC) - UISplitViewController with adaptative layouts * [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. * [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications From 17e800046db6751ece9b436a655f6dccf12ad292 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 20:21:15 -0300 Subject: [PATCH 1709/2606] Removed JRSplitVC --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..8b3a121fa 100644 --- a/README.md +++ b/README.md @@ -1672,7 +1672,6 @@ Most of these are paid services, some have free tiers. * [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) * [HorizontalProgress](https://github.com/AliThink/HorizontalProgress) - Simple horizontal progress bar with animation -* [JRSplitVC](https://github.com/tommypeps/JRSplitVC) - UISplitViewController with adaptative layouts * [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. * [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications * [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages From 99c43a9ccb891c210be1ad222490c712009bb561 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 20:27:34 -0300 Subject: [PATCH 1710/2606] Moved XLActionController to /Alert & Action Sheet --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..a1184af51 100644 --- a/README.md +++ b/README.md @@ -1677,7 +1677,6 @@ Most of these are paid services, some have free tiers. * [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications * [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages * [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. -* [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. * [StackPageView](https://github.com/noppefoxwolf/StackPageView) - Vertical page view with UIViewControllers stacked on the top of each other * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. * [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple @@ -2030,6 +2029,7 @@ Most of these are paid services, some have free tiers. * [RMessage](https://github.com/donileo/RMessage) - A crisp in-app notification/message banner built in ObjC. * [InAppNotify](https://github.com/lucabecchetti/InAppNotify) - Swift library to manage in-app notification in swift language, like WhatsApp, Telegram, Frind, etc. * [FloatingActionSheetController](https://github.com/ra1028/FloatingActionSheetController) - FloatingActionSheetController is a cool design ActionSheetController library written in Swift. +* [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From 877ad9dc9bc1cd5d47178b078e5272cc2893eb1a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 20:48:33 -0300 Subject: [PATCH 1711/2606] Removed StackPageView --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..d28af4ce2 100644 --- a/README.md +++ b/README.md @@ -1678,7 +1678,6 @@ Most of these are paid services, some have free tiers. * [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages * [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. -* [StackPageView](https://github.com/noppefoxwolf/StackPageView) - Vertical page view with UIViewControllers stacked on the top of each other * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. * [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. From ca43272ddcb05a804ea663ce32ba25a3f6ba1cf7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:02:10 -0300 Subject: [PATCH 1712/2606] Moved RainbowNavigation to /Navigation Bar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..d7a0b2475 100644 --- a/README.md +++ b/README.md @@ -1682,7 +1682,6 @@ Most of these are paid services, some have free tiers. * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. * [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. -* [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop * [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. * [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion @@ -2215,6 +2214,7 @@ Most of these are paid services, some have free tiers. * [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. * [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView * [NavKit](https://github.com/wilbertliu/NavKit) - Simple and integrated way to customize navigation bar experience on iOS app. +* [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop #### PickerView * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. From 9f65a347195bbfd13b789d75348cc5a9a1a00856 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:04:18 -0300 Subject: [PATCH 1713/2606] Moved ALTextInputBar to /Text Field --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..c9c39f5bf 100644 --- a/README.md +++ b/README.md @@ -1683,7 +1683,6 @@ Most of these are paid services, some have free tiers. * [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. * [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop -* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. * [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers @@ -2517,6 +2516,7 @@ Most of these are paid services, some have free tiers. * [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. * [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. * [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. +* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. #### UIPageControl * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. From 3ec39f3082698132a10d4c3d201e192e9417137f Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:05:51 -0300 Subject: [PATCH 1714/2606] Removed APCustomBlurView --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..f91e30771 100644 --- a/README.md +++ b/README.md @@ -1684,7 +1684,6 @@ Most of these are paid services, some have free tiers. * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. * [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop * [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. -* [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. From d72316a4db858f022827f136c7392dd3511798c4 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:09:39 -0300 Subject: [PATCH 1715/2606] Moved MICountryPicker to /PickerView --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..9ced3a7fc 100644 --- a/README.md +++ b/README.md @@ -1687,7 +1687,6 @@ Most of these are paid services, some have free tiers. * [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers -* [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. * [SCNavigationControlCenter](https://github.com/SergioChan/SCNavigationControlCenter) - This is an advanced navigation control center on iOS that can allow you to navigate to whichever view controller you want * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. * [FXBlurView](https://github.com/nicklockwood/FXBlurView) - UIView subclass that replicates the iOS 7 realtime background blur effect, but works on iOS 5 and above. @@ -2227,6 +2226,7 @@ Most of these are paid services, some have free tiers. * [Mandoline](https://github.com/blueapron/Mandoline) - An iOS picker view to serve all your "picking" needs * [D2PDatePicker](https://github.com/di2pra/D2PDatePicker) - Elegant and Easy-to-Use iOS Swift Date Picker * [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps +* [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. #### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). From b0c4b329d512519d010955068c899126c55f8113 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:12:01 -0300 Subject: [PATCH 1716/2606] Removed SCNavigationControlCenter --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..644634efd 100644 --- a/README.md +++ b/README.md @@ -1688,7 +1688,6 @@ Most of these are paid services, some have free tiers. * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. -* [SCNavigationControlCenter](https://github.com/SergioChan/SCNavigationControlCenter) - This is an advanced navigation control center on iOS that can allow you to navigate to whichever view controller you want * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. * [FXBlurView](https://github.com/nicklockwood/FXBlurView) - UIView subclass that replicates the iOS 7 realtime background blur effect, but works on iOS 5 and above. * [NGAParallaxMotion](https://github.com/michaeljbishop/NGAParallaxMotion) - A tiny category on UIView that allows you to set one property: "parallaxIntensity" to achieve a parallax effect with UIMotionEffect From d42ea1e4b0f4d154dcf7d3353de47ec2732f8e95 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:14:25 -0300 Subject: [PATCH 1717/2606] Removed FXBlurView --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..1037b2b92 100644 --- a/README.md +++ b/README.md @@ -1690,7 +1690,6 @@ Most of these are paid services, some have free tiers. * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. * [SCNavigationControlCenter](https://github.com/SergioChan/SCNavigationControlCenter) - This is an advanced navigation control center on iOS that can allow you to navigate to whichever view controller you want * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. -* [FXBlurView](https://github.com/nicklockwood/FXBlurView) - UIView subclass that replicates the iOS 7 realtime background blur effect, but works on iOS 5 and above. * [NGAParallaxMotion](https://github.com/michaeljbishop/NGAParallaxMotion) - A tiny category on UIView that allows you to set one property: "parallaxIntensity" to achieve a parallax effect with UIMotionEffect * [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. * [CRParticleEffect](https://github.com/Cleveroad/CRParticleEffect) - A CocoaPod that simplifies creation of the particle effects. From e0aa4702074fb8ed4e898bf56d0a3e225a15f9d9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:17:19 -0300 Subject: [PATCH 1718/2606] Removed NGAParallaxMotion --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..4629a904b 100644 --- a/README.md +++ b/README.md @@ -1691,7 +1691,6 @@ Most of these are paid services, some have free tiers. * [SCNavigationControlCenter](https://github.com/SergioChan/SCNavigationControlCenter) - This is an advanced navigation control center on iOS that can allow you to navigate to whichever view controller you want * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. * [FXBlurView](https://github.com/nicklockwood/FXBlurView) - UIView subclass that replicates the iOS 7 realtime background blur effect, but works on iOS 5 and above. -* [NGAParallaxMotion](https://github.com/michaeljbishop/NGAParallaxMotion) - A tiny category on UIView that allows you to set one property: "parallaxIntensity" to achieve a parallax effect with UIMotionEffect * [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. * [CRParticleEffect](https://github.com/Cleveroad/CRParticleEffect) - A CocoaPod that simplifies creation of the particle effects. * [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. From c84ccf289ffbb7b5b21ce48a47455150b111f59a Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:19:52 -0300 Subject: [PATCH 1719/2606] Moved EPShapes to /Graphics --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..713b9b7e8 100644 --- a/README.md +++ b/README.md @@ -640,6 +640,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. * [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit * [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX +* [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. ## Hardware #### Bluetooth @@ -1692,7 +1693,6 @@ Most of these are paid services, some have free tiers. * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. * [FXBlurView](https://github.com/nicklockwood/FXBlurView) - UIView subclass that replicates the iOS 7 realtime background blur effect, but works on iOS 5 and above. * [NGAParallaxMotion](https://github.com/michaeljbishop/NGAParallaxMotion) - A tiny category on UIView that allows you to set one property: "parallaxIntensity" to achieve a parallax effect with UIMotionEffect -* [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. * [CRParticleEffect](https://github.com/Cleveroad/CRParticleEffect) - A CocoaPod that simplifies creation of the particle effects. * [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. * [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book From 654aa7b1366a5c75d96a423a24ef3af290cb1010 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:24:06 -0300 Subject: [PATCH 1720/2606] Moved greedo-layout-for-ios to /Image --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..15143fdef 100644 --- a/README.md +++ b/README.md @@ -990,6 +990,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. * [Serrata](https://github.com/horitaku46/Serrata) - Slide image viewer library similar to Twitter and LINE. * [StyleArt](https://github.com/ileafsolutions/StyleArt) - Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style. +* [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift @@ -1697,7 +1698,6 @@ Most of these are paid services, some have free tiers. * [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. * [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book * [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. -* [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS * [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library * [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. * [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. From af57c190a573713f4e2a1162db5be25caae5a925 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:27:22 -0300 Subject: [PATCH 1721/2606] Moved GranadaLayout to /Layout --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..3d56308d6 100644 --- a/README.md +++ b/README.md @@ -768,6 +768,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. * [Layoutless](https://github.com/AbsurdAbstractions/Layoutless) - Minimalistic declarative layout and styling framework built on top of Auto Layout. * [Yalta](https://github.com/kean/Yalta) - An intuitive and powerful Auto Layout library. +* [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. @@ -1699,7 +1700,6 @@ Most of these are paid services, some have free tiers. * [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. * [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS * [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library -* [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. * [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. * [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities. * [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. From 8eb4f717a3554d84c3b743dbf7a4c5671e7f5a43 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:31:34 -0300 Subject: [PATCH 1722/2606] Moved MKGradientView to /Graphics --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..8a914fd26 100644 --- a/README.md +++ b/README.md @@ -640,6 +640,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. * [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit * [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX +* [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. ## Hardware #### Bluetooth @@ -1703,7 +1704,6 @@ Most of these are paid services, some have free tiers. * [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. * [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities. * [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. -* [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. * [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift * [CoreDragon](https://github.com/nevyn/CoreDragon) - [iOS] Stop using context menus. Drag and drop instead, even between apps! * [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. From 04582be696dd1cbc42d8917f89f0feead4e102af Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:35:22 -0300 Subject: [PATCH 1723/2606] Moved AEConicalGradient to /Graphics --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..8cf7df217 100644 --- a/README.md +++ b/README.md @@ -640,6 +640,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. * [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit * [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX +* [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. ## Hardware #### Bluetooth @@ -1706,7 +1707,6 @@ Most of these are paid services, some have free tiers. * [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. * [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift * [CoreDragon](https://github.com/nevyn/CoreDragon) - [iOS] Stop using context menus. Drag and drop instead, even between apps! -* [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. * [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face. * [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. * [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. From 921b1df342e46352e92f1e6967f640cf5319c0aa Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:39:03 -0300 Subject: [PATCH 1724/2606] Moved NumPad to /Keyboard --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..77bc5269e 100644 --- a/README.md +++ b/README.md @@ -1714,7 +1714,6 @@ Most of these are paid services, some have free tiers. * [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. * [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app. * [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. -* [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). * [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller * [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift @@ -2123,6 +2122,7 @@ Most of these are paid services, some have free tiers. * [KeyboardHideManager](https://github.com/bonyadmitr/KeyboardHideManager) - Codeless manager to hide keyboard by tapping on views for iOS written in Swift * [Toolbar](https://github.com/1amageek/Toolbar) - Awesome autolayout Toolbar. * [IHKeyboardAvoiding](https://github.com/IdleHandsApps/IHKeyboardAvoiding) - A drop-in universal solution for keeping any UIView visible when the keyboard is being shown - no more UIScrollViews! +* [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). #### Label * [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. From e4dddb215630d1217c7cf770143bc2488003ceeb Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:46:14 -0300 Subject: [PATCH 1725/2606] Moved expanding-collection to /Table View --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..1bc43a128 100644 --- a/README.md +++ b/README.md @@ -1715,7 +1715,6 @@ Most of these are paid services, some have free tiers. * [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app. * [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. * [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). -* [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller * [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift * [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. @@ -2461,6 +2460,7 @@ Most of these are paid services, some have free tiers. * [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. * [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. * [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. +* [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From febddf1388ecf3a0e5b20de665611637b79c23c2 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:48:39 -0300 Subject: [PATCH 1726/2606] Moved LFTimePicker to /Date & Time --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..4acb6d586 100644 --- a/README.md +++ b/README.md @@ -533,6 +533,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Chronology](https://github.com/davedelong/Chronology) - Building a better date/time library * [Solar](https://github.com/ceeK/Solar) - A Swift micro library for generating Sunrise and Sunset times. * [TimePicker](https://github.com/Endore8/TimePicker) - Configurable time picker component based on a pan gesture and its velocity. +* [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift ## Debugging * [Xniffer](https://github.com/vsouza/awesome-ios/issues/1841) - A swift network profiler built on top of URLSession. @@ -1717,7 +1718,6 @@ Most of these are paid services, some have free tiers. * [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). * [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller * [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) -* [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift * [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. * [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. * [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. From 8803aa93d5eabc9b55cf5d02fe824e329bfa4b39 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:50:50 -0300 Subject: [PATCH 1727/2606] Moved JQSwiftIcon to /Font --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..622be4440 100644 --- a/README.md +++ b/README.md @@ -1584,6 +1584,7 @@ Most of these are paid services, some have free tiers. * [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! * [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. * [Font-Awesome-Swift](https://github.com/Vaberer/Font-Awesome-Swift) - Font Awesome swift library for iOS. +* [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. ## Testing @@ -1720,7 +1721,6 @@ Most of these are paid services, some have free tiers. * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift * [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. * [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. -* [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. * [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 * [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller From 86f63115fb26fe44f6c13a04d8bf5ee3a8a5ea0c Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:52:29 -0300 Subject: [PATCH 1728/2606] Removed FlickToDismiss --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..bda0695e0 100644 --- a/README.md +++ b/README.md @@ -1721,7 +1721,6 @@ Most of these are paid services, some have free tiers. * [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. * [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. * [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. -* [FlickToDismiss](https://github.com/jakelawson1/FlickToDismiss) - A basic UIViewController class that presents a UIView which can be dismissed by flicking it off the screen. * [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 * [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller * [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. From 8af7f14053d5e4ed77b760834b78fef1dfc83bac Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:55:46 -0300 Subject: [PATCH 1729/2606] Moved PinpointKit to /Other Testing --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..fa9ef6c55 100644 --- a/README.md +++ b/README.md @@ -1646,6 +1646,7 @@ Most of these are paid services, some have free tiers. * [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. * [OCMock](http://ocmock.org) - Mock objects for Objective-C. * [Mockingjay](https://github.com/kylef/Mockingjay) - An elegant library for stubbing HTTP requests with ease in Swift. +* [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. ## UI * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. @@ -1728,7 +1729,6 @@ Most of these are paid services, some have free tiers. * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views. * [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects * [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ -* [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ * [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. From 7066ffeaccdd0c90381ad08ba4c21338b9533786 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 21:57:59 -0300 Subject: [PATCH 1730/2606] Moved Popover to /Popup --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 81582a9ce..a017b1dbf 100644 --- a/README.md +++ b/README.md @@ -1730,7 +1730,6 @@ Most of these are paid services, some have free tiers. * [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ * [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ -* [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. * [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS @@ -2244,7 +2243,7 @@ Most of these are paid services, some have free tiers. * [LNPopupController](https://github.com/LeoNatan/LNPopupController) - a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps. * [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. * [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. - +* [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. #### ProgressView * [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift From 06ba62425ee1a5a15f88c748ebe3a91c3edd84df Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 22:00:17 -0300 Subject: [PATCH 1731/2606] Moved TOActionSheet to /Alert & Action Sheet --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..ef70eef56 100644 --- a/README.md +++ b/README.md @@ -1732,7 +1732,6 @@ Most of these are paid services, some have free tiers. * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ * [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. -* [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS * [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. * [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. @@ -2030,6 +2029,7 @@ Most of these are paid services, some have free tiers. * [RMessage](https://github.com/donileo/RMessage) - A crisp in-app notification/message banner built in ObjC. * [InAppNotify](https://github.com/lucabecchetti/InAppNotify) - Swift library to manage in-app notification in swift language, like WhatsApp, Telegram, Frind, etc. * [FloatingActionSheetController](https://github.com/ra1028/FloatingActionSheetController) - FloatingActionSheetController is a cool design ActionSheetController library written in Swift. +* [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From 4f1d3033b4b676d3d28905fadb3efdb9bc302ac3 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 22:03:29 -0300 Subject: [PATCH 1732/2606] Removed Blurable --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..2ba57fbe4 100644 --- a/README.md +++ b/README.md @@ -1736,7 +1736,6 @@ Most of these are paid services, some have free tiers. * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS * [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. * [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. -* [Blurable](https://github.com/FlexMonkey/Blurable) - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions * [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code * [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. * [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. From 33132058521e9dbe4cf6cf02ed630e467d82adf9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 22:32:10 -0300 Subject: [PATCH 1733/2606] Moved EZYGradientView to /Graphics --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 81582a9ce..9a9d05930 100644 --- a/README.md +++ b/README.md @@ -640,6 +640,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. * [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit * [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX +* [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code ## Hardware #### Bluetooth @@ -1737,7 +1738,6 @@ Most of these are paid services, some have free tiers. * [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. * [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. * [Blurable](https://github.com/FlexMonkey/Blurable) - Apply a Gaussian Blur to any UIView with Swift Protocol Extensions -* [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code * [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. * [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. From 7c1995fc8d05e862fc4d57501018b3e254af72c3 Mon Sep 17 00:00:00 2001 From: Tim Oliver Date: Wed, 21 Feb 2018 10:34:48 +0900 Subject: [PATCH 1734/2606] Add `TONavigationBar` to the UI section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 81582a9ce..a9aefb6b3 100644 --- a/README.md +++ b/README.md @@ -2215,6 +2215,7 @@ Most of these are paid services, some have free tiers. * [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. * [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView * [NavKit](https://github.com/wilbertliu/NavKit) - Simple and integrated way to customize navigation bar experience on iOS app. +* [TONavigationBar](https://github.com/TimOliver/TONavigationBar) - A simple subclass that adds the ability to set the navigation bar background to 'clear' and gradually transition it visibly back in, similar to the effect in the iOS Music app. #### PickerView * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. From 7fd49d8e71cc64e336bee59e2ed0bbd5bd28de37 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 22:48:59 -0300 Subject: [PATCH 1735/2606] Moved planet to /PickerView --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a9aefb6b3..a32617cc9 100644 --- a/README.md +++ b/README.md @@ -1741,7 +1741,6 @@ Most of these are paid services, some have free tiers. * [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. * [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. * [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. -* [planet](https://github.com/kwallet/planet) - A country picker * [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. * [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views * [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style @@ -2228,6 +2227,7 @@ Most of these are paid services, some have free tiers. * [Mandoline](https://github.com/blueapron/Mandoline) - An iOS picker view to serve all your "picking" needs * [D2PDatePicker](https://github.com/di2pra/D2PDatePicker) - Elegant and Easy-to-Use iOS Swift Date Picker * [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps +* [planet](https://github.com/kwallet/planet) - A country picker #### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). From 91ca2d565f9aef5cb8d1f94e5051b18b0714f3d9 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 22:54:41 -0300 Subject: [PATCH 1736/2606] Moved VENTokenField /TextField --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a9aefb6b3..38dd1ba6f 100644 --- a/README.md +++ b/README.md @@ -1747,7 +1747,6 @@ Most of these are paid services, some have free tiers. * [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. * [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. -* [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. * [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background * [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. @@ -2513,11 +2512,12 @@ Most of these are paid services, some have free tiers. * [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. * [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. * [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. -* [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list +* [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list * [PYSearch](https://github.com/ko1o/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). * [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. * [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. * [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. +* [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. #### UIPageControl * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. From a671c628d3385337fd86a5464479aed0095692d4 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 22:56:25 -0300 Subject: [PATCH 1737/2606] Moved Macaw to /Graphics --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a9aefb6b3..6033bf383 100644 --- a/README.md +++ b/README.md @@ -640,6 +640,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. * [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit * [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX +* [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. ## Hardware #### Bluetooth @@ -1750,7 +1751,6 @@ Most of these are paid services, some have free tiers. * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. * [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background * [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. -* [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. * [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. * [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app * [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect From e1c5364ffdf0255ea621849d9498e599c959aef5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 22:57:38 -0300 Subject: [PATCH 1738/2606] Removed HubFramework --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a9aefb6b3..522fd0d53 100644 --- a/README.md +++ b/README.md @@ -1751,7 +1751,6 @@ Most of these are paid services, some have free tiers. * [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background * [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. -* [HubFramework](https://github.com/spotify/HubFramework) - Spotify’s component-driven UI framework for iOS. * [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app * [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect * [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. From e5cf8b546bcbc0c56a247a22254bfbacb06b2b1d Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 20 Feb 2018 23:52:55 -0300 Subject: [PATCH 1739/2606] Removed between-kit (#2349) Last commit is older than 2 years ago --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a9aefb6b3..ab37e494f 100644 --- a/README.md +++ b/README.md @@ -1649,7 +1649,6 @@ Most of these are paid services, some have free tiers. ## UI * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. -* [BetweenKit](https://github.com/ice3-software/between-kit) - A robust drag-and-drop framework for iOS. * [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. * [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. From 503fb85fe70e9b11cf16e868317f976ff89e2cc1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 21 Feb 2018 00:35:55 -0300 Subject: [PATCH 1740/2606] Removed MVMaterialView (#2350) README lacks information --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ab37e494f..51fc981d9 100644 --- a/README.md +++ b/README.md @@ -1653,7 +1653,6 @@ Most of these are paid services, some have free tiers. * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. * [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. * [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. -* [MVMaterialView](https://github.com/TheMrugraj/MVMaterialView) - Subclass of UIControls and UIButton to mimic Ripple effect of Material Design concept. * [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. From e5f501726cc58d70b20c371e93ba98f1acfbb0b1 Mon Sep 17 00:00:00 2001 From: Fan Jin Date: Tue, 20 Feb 2018 23:40:22 -0800 Subject: [PATCH 1741/2606] Add XVim2 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9d5caf28c..53f523877 100644 --- a/README.md +++ b/README.md @@ -2779,6 +2779,7 @@ Most of these are paid services, some have free tiers. # Xcode #### Extensions (Xcode 8+) +* [XVim2](https://github.com/XVimProject/XVim2) - Vim key-bindings for Xcode 9. * [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. * [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8) * [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. From 35e1b5512dea770b2f56fb51f6977381b5e63c52 Mon Sep 17 00:00:00 2001 From: Fan Jin Date: Tue, 20 Feb 2018 23:44:54 -0800 Subject: [PATCH 1742/2606] re-order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 53f523877..4d59a64ac 100644 --- a/README.md +++ b/README.md @@ -2779,7 +2779,6 @@ Most of these are paid services, some have free tiers. # Xcode #### Extensions (Xcode 8+) -* [XVim2](https://github.com/XVimProject/XVim2) - Vim key-bindings for Xcode 9. * [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. * [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8) * [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. @@ -2791,6 +2790,7 @@ Most of these are paid services, some have free tiers. * [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. * [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. * [Snowonder](https://github.com/Karetski/Snowonder) - 🔮 Magical import declarations formatter for Xcode. +* [XVim2](https://github.com/XVimProject/XVim2) - Vim key-bindings for Xcode 9. #### Themes * [Dracula Theme](https://draculatheme.com/xcode/) - A dark theme for Xcode. From ee3729d763b6fe6ec92aaf5f8e37d7c0cd98f9b8 Mon Sep 17 00:00:00 2001 From: Evgeny Aleksandrov Date: Thu, 22 Feb 2018 01:10:29 +0300 Subject: [PATCH 1743/2606] Add ProvisionQL to Tools --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 297c1e942..21473f1db 100644 --- a/README.md +++ b/README.md @@ -2718,6 +2718,7 @@ Most of these are paid services, some have free tiers. * [iSimulator](https://github.com/wigl/iSimulator) - iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator. * [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. * [Transformer](https://github.com/andresinaka/transformer) - Easy Online Attributed String Creator. This tool lets you format a string directly in the browser and then copy/paste the attributed string code into your app. +* [ProvisionQL](https://github.com/ealeksandrov/ProvisionQL) - Quick Look plugin for apps and provisioning profile files. # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From dea3bf948187d47fc348ae684fdf5061b98a0520 Mon Sep 17 00:00:00 2001 From: Sven Tiigi Date: Thu, 22 Feb 2018 16:08:38 +0100 Subject: [PATCH 1744/2606] Added FlyoverKit to Maps section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 21473f1db..5eba23897 100644 --- a/README.md +++ b/README.md @@ -846,6 +846,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. * [JDSwiftHeatMap](https://github.com/jamesdouble/JDSwiftHeatMap) - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. * [ClusterKit](https://github.com/hulab/ClusterKit) - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. +* [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - Perform a 360° flyover on an MKMapView ## Math * [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation From 0080121e9357ff02fd9a47f876a54864dec3a6f8 Mon Sep 17 00:00:00 2001 From: Sven Tiigi Date: Thu, 22 Feb 2018 16:12:09 +0100 Subject: [PATCH 1745/2606] Updated FlyoverKit description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5eba23897..f2ab6e279 100644 --- a/README.md +++ b/README.md @@ -846,7 +846,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. * [JDSwiftHeatMap](https://github.com/jamesdouble/JDSwiftHeatMap) - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. * [ClusterKit](https://github.com/hulab/ClusterKit) - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. -* [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - Perform a 360° flyover on an MKMapView +* [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities. ## Math * [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation From 4375230bd9f257a4cc0e4d58f6e71cd3430a9f35 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 22 Feb 2018 13:16:05 -0300 Subject: [PATCH 1746/2606] Remove RainbowNavigation (duplicated) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f2ab6e279..7a44e2a23 100644 --- a/README.md +++ b/README.md @@ -1682,7 +1682,6 @@ Most of these are paid services, some have free tiers. * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. * [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. -* [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop * [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers From f1bb9bd89e068565d8d623be55422b1ae842457a Mon Sep 17 00:00:00 2001 From: Pavel Kondrashkov Date: Fri, 23 Feb 2018 11:16:41 +0300 Subject: [PATCH 1747/2606] Add SlideController --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7a44e2a23..ca239d0cc 100644 --- a/README.md +++ b/README.md @@ -2273,6 +2273,7 @@ Most of these are paid services, some have free tiers. * [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. * [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 * [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf +* [SlideController](https://github.com/touchlane/SlideController) - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types. #### Segmented Control * [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. From 160a38c4a61348b218dd188da0b4b49106c47283 Mon Sep 17 00:00:00 2001 From: Dan Loewenherz Date: Fri, 23 Feb 2018 08:56:13 -0600 Subject: [PATCH 1748/2606] Added SuperLayout to /Layout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7a44e2a23..0f24e200e 100644 --- a/README.md +++ b/README.md @@ -775,6 +775,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Layoutless](https://github.com/AbsurdAbstractions/Layoutless) - Minimalistic declarative layout and styling framework built on top of Auto Layout. * [Yalta](https://github.com/kean/Yalta) - An intuitive and powerful Auto Layout library. * [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. +* [SuperLayout](https://github.com/lionheart/SuperLayout) - Simplify Auto Layout with super syntactic sugar. ## Localization * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. From eab337ddbe6e47872bd0982335560475e4625c77 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 23 Feb 2018 15:40:20 -0300 Subject: [PATCH 1749/2606] Remove http://www.ios-blog.co.uk/ (suspended page) close #2388 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 7ff53a7c3..0845ec5e6 100644 --- a/README.md +++ b/README.md @@ -2867,7 +2867,6 @@ Most of these are paid services, some have free tiers. * [Mike Ash](https://www.mikeash.com/pyblog/) * [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) * [Tuts+](https://code.tutsplus.com/categories/ios-sdk) -* [iOS-Blog](http://www.ios-blog.co.uk/) * [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) * [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. * [Cocoa Dev Central](http://cocoadevcentral.com) From 1fbd2c5a9957cfb1dee3e5a60b237977cb8f7e19 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 23 Feb 2018 15:43:14 -0300 Subject: [PATCH 1750/2606] Add description on Code Quality category. --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 0845ec5e6..164be1f60 100644 --- a/README.md +++ b/README.md @@ -338,6 +338,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit ## Code Quality + +>

Quality always matters. Code checkers, memory vigilants, syntastic sugars and more.

+ * [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. * [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL. * [PSPDFUIKitMainThreadGuard](https://gist.github.com/steipete/5664345) - Simple snippet generating assertions when UIKit is used on background threads. From 14108a3890d54facd64edef5678a5753ae5b23de Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 23 Feb 2018 15:45:51 -0300 Subject: [PATCH 1751/2606] Change style category description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 164be1f60..0ce460d92 100644 --- a/README.md +++ b/README.md @@ -339,7 +339,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Code Quality ->

Quality always matters. Code checkers, memory vigilants, syntastic sugars and more.

+ *Quality always matters. Code checkers, memory vigilants, syntastic sugars and more.* * [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. * [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL. From 9d20546c56d669a2dda613390393bedc0daa6ed5 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 23 Feb 2018 15:58:00 -0300 Subject: [PATCH 1752/2606] Add description on Chart category --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 0ce460d92..35cdf7b4e 100644 --- a/README.md +++ b/README.md @@ -305,6 +305,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Cache](https://github.com/soffes/Cache) - Swift caching library. ## Charts + +*Beautiful, Easy and Fully customized charts* + * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). * [JTChartView](https://github.com/kubatruhlar/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. * [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS From 38be294029575be6ac81606866590562d2b2de52 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sat, 24 Feb 2018 17:06:50 -0300 Subject: [PATCH 1753/2606] add description on Cache category --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 35cdf7b4e..d34675a46 100644 --- a/README.md +++ b/README.md @@ -287,6 +287,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS ## Cache + +*Thread safe, offline and high performance cache libs and frameworks.* + * [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) * [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content * [Carlos](https://github.com/WeltN24/Carlos) - A simple but flexible cache From a7b7486199c70eb2173d4f51301f25006f6fb025 Mon Sep 17 00:00:00 2001 From: Maksim Kurpa Date: Mon, 26 Feb 2018 13:30:03 +0300 Subject: [PATCH 1754/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d34675a46..87a815ca0 100644 --- a/README.md +++ b/README.md @@ -231,6 +231,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. * [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. * [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. +* [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS, written in Swift 4. ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 69a07a3617526004c697d5d23db0cf74b89637e6 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 26 Feb 2018 14:03:07 -0300 Subject: [PATCH 1755/2606] add ScreenshotFramer by @IdeasOnCanvas --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d34675a46..0f8f30428 100644 --- a/README.md +++ b/README.md @@ -2766,6 +2766,7 @@ Most of these are paid services, some have free tiers. * [LaunchKit](https://github.com/LaunchKit/LaunchKit) - A set of web-based tools for mobile app developers, now open source! * [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. * [Appfigurate](https://github.com/electricbolt/appfiguratesdk) - Secure runtime configuration for iOS and watchOS, apps and app extensions. +* [ScreenshotFramer](https://github.com/IdeasOnCanvas/ScreenshotFramer) - With Screenshot Framer you can easily create nice-looking and localized App Store Images. # App Store * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. @@ -2776,7 +2777,7 @@ Most of these are paid services, some have free tiers. * [iRate](https://github.com/nicklockwood/iRate) - A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while. Similar to Appirater, but with a simpler, cleaner interface and automatic support for iOS fast application switching. * [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. * [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. -* [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. +* [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. # Xcode From 8f75d2aaafc98dcaa5f2d37f21e867898dc5ef72 Mon Sep 17 00:00:00 2001 From: Pavel Kondrashkov Date: Tue, 27 Feb 2018 11:57:50 +0300 Subject: [PATCH 1756/2606] add CampcotCollectionView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7a44e2a23..5736a4445 100644 --- a/README.md +++ b/README.md @@ -2446,6 +2446,7 @@ Most of these are paid services, some have free tiers. * [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. * [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. +* [CampcotCollectionView](https://github.com/touchlane/CampcotCollectionView) - CampcotCollectionView is a custom UICollectionView written in Swift that allows to expand and collapse sections. It provides a simple API to manage collection view appearance. #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From 10cd708f829672612c7a79b847951fe99d0bd2b8 Mon Sep 17 00:00:00 2001 From: Damien R Date: Wed, 28 Feb 2018 08:09:08 +0100 Subject: [PATCH 1757/2606] Add JamfKit as an Unofficial SDK --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e7f365444..96a5642cb 100644 --- a/README.md +++ b/README.md @@ -1448,6 +1448,7 @@ Most of these are paid services, some have free tiers. * [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API. * [waterwheel.swift](https://github.com/kylebrowning/waterwheel.swift) - The Waterwheel Swift SDK provides classes to natively connect iOS, macOS, tvOS, and watchOS applications to Drupal 7 and 8. * [ForecastIO](https://github.com/sxg/ForecastIO) - A Swift library for the Forecast.io Dark Sky API. +* [JamfKit](https://github.com/ethenyl/JamfKit) - A JSS communication framework written in Swift. ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. From 76e2ec46baabac60fc1bf8185eecb995ab130a4a Mon Sep 17 00:00:00 2001 From: wyh Date: Wed, 28 Feb 2018 16:39:18 +0800 Subject: [PATCH 1758/2606] add SolarNetwork --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e7f365444..db79dcb28 100644 --- a/README.md +++ b/README.md @@ -1146,7 +1146,7 @@ Also see [push notifications](#push-notifications) * [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework * [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development * [MultiPeer](https://github.com/dingwilson/MultiPeer) - An easy-to-use wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices - +* [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. #### Email From 9821d70252efe970e7f02919aae68a8e9a0f7349 Mon Sep 17 00:00:00 2001 From: JamesKuo Date: Wed, 28 Feb 2018 18:33:33 +0800 Subject: [PATCH 1759/2606] Add RandMyMod --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e7f365444..6c12141fa 100644 --- a/README.md +++ b/README.md @@ -521,6 +521,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BinaryKit](https://github.com/Cosmo/BinaryKit) - Access bits and bytes directly in Swift. * [Differ](https://github.com/tonyarnold/Differ) - Swift library to generate differences and patches between collections. * [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. +* [RandMyMod](https://github.com/jamesdouble/RandMyMod) - RandMyMod base on your own struct or class create one or a set of randomized instance. ## Date & Time From 02d96c65d7091c7f54668e5d18c4e68b36e9dee6 Mon Sep 17 00:00:00 2001 From: JamesKuo Date: Wed, 28 Feb 2018 18:57:54 +0800 Subject: [PATCH 1760/2606] Add JDVideoKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e7f365444..4ebf7e652 100644 --- a/README.md +++ b/README.md @@ -1058,6 +1058,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. * [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. * [Swift-YouTube-Player](https://github.com/gilesvangruisen/Swift-YouTube-Player) - Swift library for embedding and controlling YouTube videos in your iOS applications! +* [JDVideoKit](https://github.com/jamesdouble/JDVideoKit) - You can easily transfer your video into Three common video type via this framework. ## Messaging From da3bcc76687156d00d0b3e67f71b86a6976dc4fd Mon Sep 17 00:00:00 2001 From: Andrea De Angelis Date: Wed, 28 Feb 2018 18:44:09 +0100 Subject: [PATCH 1761/2606] Add Tempura under Architecture Patterns --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ba0f2f6b..c936921e2 100644 --- a/README.md +++ b/README.md @@ -253,6 +253,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS * [YARCH](https://github.com/alfa-laboratory/YARCH-Examples) - More clean alternative to VIPER with unidirectional data flow (flux-like). * [iOS-Viper-Architecture](https://github.com/MindorksOpenSource/iOS-Viper-Architecture) - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc. +* [Tempura](https://github.com/BendingSpoons/tempura-swift) - A holistic approach to iOS development, inspired by Redux and MVVM. ## ARKit From ea06852e5ed0c46a0f59ccfc1d59611bd88d1a20 Mon Sep 17 00:00:00 2001 From: Martin Rechsteiner Date: Wed, 28 Feb 2018 19:44:16 +0100 Subject: [PATCH 1762/2606] Add Parchment --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ba0f2f6b..45dd5a4f1 100644 --- a/README.md +++ b/README.md @@ -2197,6 +2197,7 @@ Most of these are paid services, some have free tiers. * [DTPagerController](https://github.com/tungvoduc/DTPagerController) - A fully customizable container view controller to display set of ViewControllers in horizontal scroller * [PagingKit](https://github.com/kazuhiro4949/PagingKit) - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries. * [Dropdowns](https://github.com/hyperoslo/Dropdowns) - 💧 Dropdown in Swift +* [Parchment](https://github.com/rechsteiner/Parchment) - A paging view controller with a highly customizable menu. Built on UICollectionView, with support for custom layouts and infinite data sources. #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls From 83693d93109484e7748ef79006258646957e6447 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 1 Mar 2018 11:58:11 +0530 Subject: [PATCH 1763/2606] Add Shallows --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ba0f2f6b..9575b0d6e 100644 --- a/README.md +++ b/README.md @@ -494,6 +494,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Default](https://github.com/Nirma/Default) - Modern interface to UserDefaults + Codable support * [IceCream](https://github.com/caiyue1993/IceCream) - Sync Realm Database with CloudKit * [FirebaseHelper](https://github.com/quanvo87/FirebaseHelper) - Safe and easy wrappers for common Firebase Realtime Database functions. +* [Shallows](https://github.com/dreymonde/Shallows) - Your lightweight persistence toolbox. ## Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift From 7cd2e9e6e5ca8e2e09cf7c003aec1256982593f9 Mon Sep 17 00:00:00 2001 From: "Yervand Saribekyan, iOS Dev" <36422250+yervandsar@users.noreply.github.com> Date: Fri, 2 Mar 2018 12:58:12 +0400 Subject: [PATCH 1764/2606] Update README.md adding SmoothTab library to Tab Bar Section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7e28350d4..75dbc1cf8 100644 --- a/README.md +++ b/README.md @@ -2356,6 +2356,7 @@ Most of these are paid services, some have free tiers. * [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support. #### Tab Bar +* [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. * [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) -A gooey effect tabbar * [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. From 9479fb433adb2770e7f06739849aa9beb2f734cc Mon Sep 17 00:00:00 2001 From: "Yervand Saribekyan, iOS Dev" <36422250+yervandsar@users.noreply.github.com> Date: Fri, 2 Mar 2018 21:57:39 +0400 Subject: [PATCH 1765/2606] Adding SmoothTab lib to end of Tab Bar section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 75dbc1cf8..a9ee37852 100644 --- a/README.md +++ b/README.md @@ -2356,7 +2356,6 @@ Most of these are paid services, some have free tiers. * [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support. #### Tab Bar -* [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. * [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) -A gooey effect tabbar * [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. @@ -2381,6 +2380,7 @@ Most of these are paid services, some have free tiers. * [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. * [WormTabStrip](https://github.com/EzimetYusup/WormTabStrip) Beatiful ViewPager For iOS written in Swift (inspired by Android [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout)) * [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. +* [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From 604f1c0fa12e19625b11074786402761380c7231 Mon Sep 17 00:00:00 2001 From: andreadelfante Date: Sat, 3 Mar 2018 17:15:36 +0100 Subject: [PATCH 1766/2606] Update README.md PredicateFlow added. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9ee37852..f44c9993b 100644 --- a/README.md +++ b/README.md @@ -456,6 +456,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. * [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. * [Records](https://github.com/rob-nash/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. +* [PredicateFlow](https://github.com/andreadelfante/PredicateFlow) - Write amazing, strong-typed and easy-to-read NSPredicate, allowing you to write flowable NSPredicate, without guessing attribution names, predicate operation or writing wrong arguments type. ## Database * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. From c7f143347394e5211346bcd042179e16e4ff5747 Mon Sep 17 00:00:00 2001 From: Afroz Zaheer Date: Wed, 7 Mar 2018 09:16:17 +0500 Subject: [PATCH 1767/2606] AZSafariCollectionViewLayout added --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 91bf9446e..b68a7ecf7 100644 --- a/README.md +++ b/README.md @@ -2455,7 +2455,9 @@ Most of these are paid services, some have free tiers. * [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. * [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. * [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. -* [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. +* [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. +* [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. + #### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From cb56300a147aee50df0c19ab1f8b743d30b10e5b Mon Sep 17 00:00:00 2001 From: Duderichy Date: Wed, 7 Mar 2018 14:21:19 -0500 Subject: [PATCH 1768/2606] Added ios_system --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 727c1533b..3280f8cf3 100644 --- a/README.md +++ b/README.md @@ -2605,6 +2605,7 @@ CollectionView, make Instagram Discover within minutes. * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote * [MKUnits](https://github.com/michalkonturek/MKUnits) - Unit conversion library for Swift. * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures + * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs ## VR From 5ccc58c77cef6ec200b16ce3c3339c6e60ddc95e Mon Sep 17 00:00:00 2001 From: Joseph Date: Thu, 8 Mar 2018 12:22:13 +0000 Subject: [PATCH 1769/2606] Updated README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3280f8cf3..87fc80090 100644 --- a/README.md +++ b/README.md @@ -1590,7 +1590,8 @@ Most of these are paid services, some have free tiers. * [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS * [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. * [fuse-swift](https://github.com/krisk/fuse-swift) - A lightweight fuzzy-search library, with zero dependencies. -* [EFMarkdown](https://github.com/EyreFree/EFMarkdown) - A lightweight Markdown library for iOS. +* [EFMarkdown](https://github.com/EyreFree/EFMarkdown) - A lightweight Markdown library for iOS. +* [Croc](https://github.com/jkalash/croc) - A lightweight Swift library for Emoji parsing and querying. #### Font * [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. From d6c936acf41aa17653387fb58c7a535f8b895ebf Mon Sep 17 00:00:00 2001 From: Vadym Markov Date: Fri, 9 Mar 2018 10:50:16 +0100 Subject: [PATCH 1770/2606] Add RetroProgress --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3280f8cf3..ad3c9ac33 100644 --- a/README.md +++ b/README.md @@ -1854,6 +1854,7 @@ Most of these are paid services, some have free tiers. * [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. * [Skeleton](https://github.com/gonzalonunez/Skeleton) - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content. +* [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch" +* [RetroProgress](https://github.com/hyperoslo/RetroProgress) - Retro looking progress bar straight from the 90s. #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From 0e3e1db04ac6afeb97f3f34b15c683708979b043 Mon Sep 17 00:00:00 2001 From: Christoffer Winterkvist Date: Mon, 12 Mar 2018 10:52:12 +0100 Subject: [PATCH 1771/2606] Add Blueprints to collection view section --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ad3c9ac33..27755b6fe 100644 --- a/README.md +++ b/README.md @@ -2468,7 +2468,8 @@ Most of these are paid services, some have free tiers. * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. * [CampcotCollectionView](https://github.com/touchlane/CampcotCollectionView) - CampcotCollectionView is a custom UICollectionView written in Swift that allows to expand and collapse sections. It provides a simple API to manage collection view appearance. * [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. -CollectionView, make Instagram Discover within minutes. +CollectionView, make Instagram Discover within minutes. +* [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. #### Tag From 590579ede0aadfde93bb00a275ea7f0a8cc94faa Mon Sep 17 00:00:00 2001 From: Christoffer Winterkvist Date: Mon, 12 Mar 2018 11:09:15 +0100 Subject: [PATCH 1772/2606] Add whitepspace --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 27755b6fe..bfe4a3060 100644 --- a/README.md +++ b/README.md @@ -2468,7 +2468,7 @@ Most of these are paid services, some have free tiers. * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. * [CampcotCollectionView](https://github.com/touchlane/CampcotCollectionView) - CampcotCollectionView is a custom UICollectionView written in Swift that allows to expand and collapse sections. It provides a simple API to manage collection view appearance. * [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. -CollectionView, make Instagram Discover within minutes. +CollectionView, make Instagram Discover within minutes. * [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. From 8bbed63a7470e8b158506a46092928945ce22a9e Mon Sep 17 00:00:00 2001 From: Electric Bolt Date: Wed, 14 Mar 2018 16:30:50 +1300 Subject: [PATCH 1773/2606] Add BindKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e163d6328..46af1e76e 100644 --- a/README.md +++ b/README.md @@ -1360,6 +1360,7 @@ Most of these are paid services, some have free tiers. * [SimpleApiClient](https://github.com/jaychang0917/SimpleApiClient-ios) - A configurable api client based on Alamofire4 and RxSwift4 for iOS. * [VueFlux](https://github.com/ra1028/VueFlux) - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux * [RxAnimated](https://github.com/RxSwiftCommunity/RxAnimated) - Animated RxCocoa bindings +* [BindKit](https://github.com/electricbolt/bindkit) - Two-way data binding framework for iOS. Only one API to learn. #### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. From 84d97b74ce220ce033de9be6d93e3049911dc445 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Wed, 14 Mar 2018 09:32:19 +0200 Subject: [PATCH 1774/2606] Fix link issues --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e163d6328..eecb94007 100644 --- a/README.md +++ b/README.md @@ -251,7 +251,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. * [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. * [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS -* [YARCH](https://github.com/alfa-laboratory/YARCH-Examples) - More clean alternative to VIPER with unidirectional data flow (flux-like). +* [YARCH](https://github.com/alfa-laboratory/YARCH) - More clean alternative to VIPER with unidirectional data flow (flux-like). * [iOS-Viper-Architecture](https://github.com/MindorksOpenSource/iOS-Viper-Architecture) - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc. * [Tempura](https://github.com/BendingSpoons/tempura-swift) - A holistic approach to iOS development, inspired by Redux and MVVM. @@ -758,7 +758,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. * [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift * [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy -* [SwiftBond](https://github.com/ReactiveKit/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. +* [SwiftBond](https://github.com/DeclarativeHub/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. * [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift * [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - Auto Layout made easy * [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! @@ -785,7 +785,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. * [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. * [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. -* [Layoutless](https://github.com/AbsurdAbstractions/Layoutless) - Minimalistic declarative layout and styling framework built on top of Auto Layout. +* [Layoutless](https://github.com/DeclarativeHub/Layoutless) - Minimalistic declarative layout and styling framework built on top of Auto Layout. * [Yalta](https://github.com/kean/Yalta) - An intuitive and powerful Auto Layout library. * [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. * [SuperLayout](https://github.com/lionheart/SuperLayout) - Simplify Auto Layout with super syntactic sugar. @@ -867,7 +867,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftMath](https://github.com/madbat/SwiftMath) - :triangular_ruler: A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. * [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations * [Surge](https://github.com/mattt/Surge) - A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation. -* [Upsurge](https://github.com/aleph7/Upsurge) - Swift math +* [Upsurge](https://github.com/alejandro-isaza/Upsurge) - Swift math * [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. * [iosMath](https://github.com/kostub/iosMath) - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS. * [swift-pons](https://github.com/dankogai/swift2-pons) - Protocol-Oriented Number System in Pure Swift @@ -914,7 +914,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [gifu](https://github.com/kaishin/gifu) - Highly performant animated GIF support for iOS in Swift * [AnimatedGIFImageSerialization](https://github.com/mattt/AnimatedGIFImageSerialization) - Complete Animated GIF Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling * [XAnimatedImage](https://github.com/khaledmtaha/XAnimatedImage) - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage -* [SwiftGif](https://github.com/bahlo/SwiftGif) - :sparkles: A small UIImage extension with gif support +* [SwiftGif](https://github.com/swiftgif/SwiftGif) - :sparkles: A small UIImage extension with gif support * [APNGKit](https://github.com/onevcat/APNGKit) - High performance and delightful way to play with APNG format in iOS. * [YYImage](https://github.com/ibireme/YYImage) - Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more. * [AImage](https://github.com/wangjwchn/AImage) - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case. @@ -1332,7 +1332,7 @@ Most of these are paid services, some have free tiers. * [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. * [ReactiveCoreData](https://github.com/apparentsoft/ReactiveCoreData) - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world. * [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux -* [ReactiveKit](https://github.com/ReactiveKit/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. +* [ReactiveKit](https://github.com/DeclarativeHub/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. * [RxPermission](https://github.com/sunshinejr/RxPermission) - RxSwift bindings for Permissions API in iOS. * [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire * [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types @@ -2723,7 +2723,7 @@ CollectionView, make Instagram Discover within minutes. * [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A macOS library for managing and manipulating iOS Simulators * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. -* [Cookiecutter](https://github.com/JetpackSwift/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file +* [Cookiecutter](https://github.com/RahulKatariya/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file * [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. * [AssetChecker 👮](https://github.com/freshOS/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. * [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar @@ -2924,7 +2924,7 @@ CollectionView, make Instagram Discover within minutes. * [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week * [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. * [iOS Trivia Weekly](http://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday -* [Indie iOS Focus Weekly](https://indieiosfocus.curated.co) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. +* [Indie iOS Focus Weekly](http://indieiosfocus.com/) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. * [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. * [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday * [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) From b9898f16862b0c415a53adea0b18040281eaaa0c Mon Sep 17 00:00:00 2001 From: "Yervand Saribekyan, iOS Dev" <36422250+yervandsar@users.noreply.github.com> Date: Wed, 14 Mar 2018 14:18:09 +0400 Subject: [PATCH 1775/2606] Adding ExpandedTabBar in TabBar section ExpandedTabBar is a very creative designed solution for "more" items in UITabBarController --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e163d6328..518d1eff0 100644 --- a/README.md +++ b/README.md @@ -2383,7 +2383,8 @@ Most of these are paid services, some have free tiers. * [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. * [WormTabStrip](https://github.com/EzimetYusup/WormTabStrip) Beatiful ViewPager For iOS written in Swift (inspired by Android [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout)) * [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. -* [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. +* [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. +* [ExpandedTabBar](https://github.com/yervandsar/ExpandedTabBar) - Very creative designed solution for "more" items in UITabBarController #### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. From e31996ac6066cc812630ee248a53aa24385480f1 Mon Sep 17 00:00:00 2001 From: Hussein Habibi Juybari Date: Wed, 14 Mar 2018 11:42:19 +0330 Subject: [PATCH 1776/2606] Add intro library "Material Showcase iOS" --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e163d6328..5de8c7b65 100644 --- a/README.md +++ b/README.md @@ -2635,7 +2635,8 @@ CollectionView, make Instagram Discover within minutes. * [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. * [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. * [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider -* [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. +* [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. +* [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. * [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. * [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. * [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. From 712eaf9bf7aadd1a2a3061bcb77d8fc9610d6d16 Mon Sep 17 00:00:00 2001 From: Hussein Habibi Juybari Date: Wed, 14 Mar 2018 11:45:25 +0330 Subject: [PATCH 1777/2606] Add ios_calendar component ro calendar section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e163d6328..490ff17dd 100644 --- a/README.md +++ b/README.md @@ -2075,6 +2075,7 @@ Most of these are paid services, some have free tiers. * [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. * [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern * [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS +* [ios_calendar](https://github.com/maximbilan/ios_calendar) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar * [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift * [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time * [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. From 7016473a9b97fa20cd42d4eda0b9e7c2f8cb9a2b Mon Sep 17 00:00:00 2001 From: Hussein Habibi Juybari Date: Wed, 14 Mar 2018 19:21:40 +0330 Subject: [PATCH 1778/2606] Add to the end of Intro category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5de8c7b65..a36e86f1d 100644 --- a/README.md +++ b/README.md @@ -2635,7 +2635,6 @@ CollectionView, make Instagram Discover within minutes. * [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. * [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. * [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider -* [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. * [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. * [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. * [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. @@ -2645,6 +2644,7 @@ CollectionView, make Instagram Discover within minutes. * [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. * [PVOnboardKit](https://github.com/vpeschenkov/PVOnboardKit) - Framework that allows you to add your own walkthrough/intro/tutorial into your app. * [Minamo](https://github.com/yukiasai/Minamo) - Simple coach mark library written in Swift. +* [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From a94696aa96714d776e49e60660bfb76329756d0d Mon Sep 17 00:00:00 2001 From: Hussein Habibi Juybari Date: Wed, 14 Mar 2018 19:25:05 +0330 Subject: [PATCH 1779/2606] Add to end of Calendar category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 490ff17dd..0e0d3c3f7 100644 --- a/README.md +++ b/README.md @@ -2075,7 +2075,6 @@ Most of these are paid services, some have free tiers. * [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. * [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern * [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS -* [ios_calendar](https://github.com/maximbilan/ios_calendar) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar * [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift * [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time * [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. @@ -2085,6 +2084,7 @@ Most of these are paid services, some have free tiers. * [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. * [KDCalendarView](https://github.com/mmick66/CalendarView) - A calendar component for iOS written in Swift 4.0. It features both vertical and horizontal layout (and scrolling) and the display of native calendar events. * [CalendarPopUp](https://github.com/orazz/CalendarPopUp) - CalendarPopUp - JTAppleCalendar library. +* [ios_calendar](https://github.com/maximbilan/ios_calendar) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar #### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From 27b536d9424f762739e5edd9476e2d9861db77a6 Mon Sep 17 00:00:00 2001 From: Amirzhan Idryshev Date: Thu, 15 Mar 2018 18:12:49 +0600 Subject: [PATCH 1780/2606] add KKPinCodeTextField --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1060e3723..39c8dacb4 100644 --- a/README.md +++ b/README.md @@ -2533,6 +2533,7 @@ CollectionView, make Instagram Discover within minutes. * [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. * [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. +* [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. #### UIPageControl * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. From 72bd3df0fe57dcc4a9c56f1283f8e41983a98b64 Mon Sep 17 00:00:00 2001 From: Amirzhan Idryshev Date: Fri, 16 Mar 2018 09:28:27 +0600 Subject: [PATCH 1781/2606] changed the category of KKPinCodeTextField to 'Security' --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 39c8dacb4..53e50eefe 100644 --- a/README.md +++ b/README.md @@ -1470,6 +1470,7 @@ Most of these are paid services, some have free tiers. * [VoiceItAPI1IosSDK](https://github.com/voiceittech/VoiceItAPI1IosSDK) - A super easy way to add Voice Authentication(Biometrics) to your iOS apps, conveniently usable via cocoapods * [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS * [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication +* [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. @@ -2532,8 +2533,7 @@ CollectionView, make Instagram Discover within minutes. * [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. * [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. -* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. -* [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. +* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. #### UIPageControl * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. From 753385430ddb5b30e9cf414ea54743b15312f256 Mon Sep 17 00:00:00 2001 From: Amirzhan Idryshev Date: Fri, 16 Mar 2018 09:30:12 +0600 Subject: [PATCH 1782/2606] removed unnessasary changes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 53e50eefe..d9b13ad6f 100644 --- a/README.md +++ b/README.md @@ -2533,7 +2533,7 @@ CollectionView, make Instagram Discover within minutes. * [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. * [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. -* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. +* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. #### UIPageControl * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. From 7838b1df93448413d0ac3f3ce6e265fc76aefd0c Mon Sep 17 00:00:00 2001 From: 4taras4 <4taras4@gmail.com> Date: Fri, 16 Mar 2018 21:46:12 +0200 Subject: [PATCH 1783/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cb453121b..86afbea6e 100644 --- a/README.md +++ b/README.md @@ -1471,6 +1471,7 @@ Most of these are paid services, some have free tiers. * [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS * [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication * [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. +* [RSASwiftGenerator](https://github.com/4taras4/RSASwiftGenerator) - Util for generation RSA keys on your client and save to keychain or cover into Data 🔑 🔐 #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 366fc20f4e7aef13a0ce085de7986bc6d5dc221b Mon Sep 17 00:00:00 2001 From: 4taras4 <4taras4@gmail.com> Date: Mon, 19 Mar 2018 21:58:47 +0200 Subject: [PATCH 1784/2606] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 86afbea6e..cc2e6b90a 100644 --- a/README.md +++ b/README.md @@ -1471,7 +1471,7 @@ Most of these are paid services, some have free tiers. * [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS * [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication * [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. -* [RSASwiftGenerator](https://github.com/4taras4/RSASwiftGenerator) - Util for generation RSA keys on your client and save to keychain or cover into Data 🔑 🔐 + #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. @@ -1493,6 +1493,7 @@ Most of these are paid services, some have free tiers. * [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. * [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. * [SecureEnclaveCrypto](https://github.com/trailofbits/SecureEnclaveCrypto) - Demonstration library for using the Secure Enclave on iOS. +* [RSASwiftGenerator](https://github.com/4taras4/RSASwiftGenerator) - Util for generation RSA keys on your client and save to keychain or cover into Data 🔑 🔐 #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. From 4092a6441b6ca617b8b079438b9ce82c74cfce3e Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Wed, 21 Mar 2018 15:16:43 +0900 Subject: [PATCH 1785/2606] Update README.md Add a library named APNSUtil makes code simple using apple push notification service in push notification category. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d517ab908..c863b6e53 100644 --- a/README.md +++ b/README.md @@ -1175,6 +1175,7 @@ Also see [push notifications](#push-notifications) * [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework. * [NWPusher](https://github.com/noodlewerk/NWPusher) - macOS and iOS application and framework to play with the Apple Push Notification service (APNs) * [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator +* [APNSUtil](https://github.com/pisces/APNSUtil) - It makes code simple using apple push notification service ##### Push Notification Providers From 9c2aff252783fb0b70b8c6c33d1d59b045ec163c Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Wed, 21 Mar 2018 17:25:21 +0900 Subject: [PATCH 1786/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c863b6e53..4067b1825 100644 --- a/README.md +++ b/README.md @@ -1175,7 +1175,7 @@ Also see [push notifications](#push-notifications) * [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework. * [NWPusher](https://github.com/noodlewerk/NWPusher) - macOS and iOS application and framework to play with the Apple Push Notification service (APNs) * [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator -* [APNSUtil](https://github.com/pisces/APNSUtil) - It makes code simple using apple push notification service +* [APNSUtil](https://github.com/pisces/APNSUtil) - Library makes code simple using settings and landing processing for apple push notification service ##### Push Notification Providers From 51332277f9547163a7bbeffd95f680b546d87dd6 Mon Sep 17 00:00:00 2001 From: Steve Kim Date: Wed, 21 Mar 2018 17:26:15 +0900 Subject: [PATCH 1787/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4067b1825..34e69f1b0 100644 --- a/README.md +++ b/README.md @@ -1175,7 +1175,7 @@ Also see [push notifications](#push-notifications) * [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework. * [NWPusher](https://github.com/noodlewerk/NWPusher) - macOS and iOS application and framework to play with the Apple Push Notification service (APNs) * [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator -* [APNSUtil](https://github.com/pisces/APNSUtil) - Library makes code simple using settings and landing processing for apple push notification service +* [APNSUtil](https://github.com/pisces/APNSUtil) - Library makes code simple settings and landing for apple push notification service ##### Push Notification Providers From 2144d4f8f82aa54de31c1ef8a22756ab47dd4153 Mon Sep 17 00:00:00 2001 From: Lisa Dziuba Date: Wed, 21 Mar 2018 18:25:15 +0200 Subject: [PATCH 1788/2606] Deleted some newsletter & added useful blogs & podcast 1. The iOS Times does not exist since 2016 :( So I have deleted it. 2. I've added Swift by Sundell as it's really cool. 3. Add our community blog to Medium blogs. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 34e69f1b0..9cb1b34f3 100644 --- a/README.md +++ b/README.md @@ -2929,7 +2929,6 @@ CollectionView, make Instagram Discover within minutes. #### Newsletters * [iOS Goodies](http://ios-goodies.com) - Weekly iOS newsletter -* [The iOS Times](http://theiostimes.com) - A weekly publication with news and trending projects in the open source iOS ecosystem. * [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week * [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. * [iOS Trivia Weekly](http://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday @@ -2944,6 +2943,7 @@ CollectionView, make Instagram Discover within minutes. #### Medium * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone * [Swift Programming](https://medium.com/swift-programming) - The Swift Programming Language +* [Flawless App](https://medium.com/flawless-app-stories) - Development & design & marketing tips for iOS developers. # Social Media @@ -2977,6 +2977,7 @@ CollectionView, make Instagram Discover within minutes. * [Consult](http://consultpodcast.com/) * [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) * [Fireside Swift](https://itunes.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) +* [Swift by Sundell](https://www.swiftbysundell.com/podcast/) # Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) From efc084bde3ed0b2891fd2a2461db6790b0c74afc Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 22 Mar 2018 15:49:52 -0300 Subject: [PATCH 1789/2606] Remove http://www.pixate.com/ (301 HTTP status) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9cb1b34f3..e228a3b2f 100644 --- a/README.md +++ b/README.md @@ -2924,7 +2924,6 @@ CollectionView, make Instagram Discover within minutes. * [FluidUI](https://www.fluidui.com) * [Proto.io](https://proto.io/) * [Framer](https://framer.com/) -* [Pixate](http://www.pixate.com/) * [Principle](http://principleformac.com) #### Newsletters From e68896376f565e96926028e3dad41d32b4d38539 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 26 Mar 2018 13:47:44 -0300 Subject: [PATCH 1790/2606] Fix redirects. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e228a3b2f..b66d4922e 100644 --- a/README.md +++ b/README.md @@ -380,7 +380,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. * [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. -* [IBLinter](https://github.com/kateinoigakukun/IBLinter) - A linter tool for Interface Builder. +* [IBLinter](https://github.com/IBDecodable/IBLinter) - A linter tool for Interface Builder. ## Color * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). @@ -2660,7 +2660,7 @@ CollectionView, make Instagram Discover within minutes. * [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and macOS. * [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and macOS * [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. -* [Socks](https://github.com/vapor/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS +* [Socks](https://github.com/vapor-community/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS * [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS * [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. From 9c8bfeb78c10dc72e84b0d478c3457953bf30a43 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 27 Mar 2018 13:02:25 -0300 Subject: [PATCH 1791/2606] Fix awesome-ios Animation redirect and move to "Awesome Lists" category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b66d4922e..87214ace7 100644 --- a/README.md +++ b/README.md @@ -1866,7 +1866,6 @@ Most of these are paid services, some have free tiers. #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. * [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. -* [Awesome-iOS-Animation](https://github.com/jackymelb/awesome-ios-animation) - Collection of Animation projects * [RZTransitions](https://github.com/Raizlabs/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. * [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. * [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. @@ -3019,6 +3018,7 @@ Other amazingly awesome lists can be found in the * [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. * [example-ios-apps](https://github.com/imjog/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. * [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. +* [Awesome-iOS-Animation](https://github.com/jzau/awesome-ios-animation) - Collection of Animation projects # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From a8715432f54e5c3c469920d6709c9a21a14c8738 Mon Sep 17 00:00:00 2001 From: Firdavs Khaydarov Date: Wed, 28 Mar 2018 15:17:22 +0500 Subject: [PATCH 1792/2606] Add LinearProgressBar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 87214ace7..fe2a267c2 100644 --- a/README.md +++ b/README.md @@ -1862,6 +1862,7 @@ Most of these are paid services, some have free tiers. * [Skeleton](https://github.com/gonzalonunez/Skeleton) - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content. +* [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch" * [RetroProgress](https://github.com/hyperoslo/RetroProgress) - Retro looking progress bar straight from the 90s. +* [LinearProgressBar](https://github.com/Recouse/LinearProgressBar) - Material Linear Progress Bar for your iOS apps. #### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From 1edaab2d704a12b86489c7e180285b52b7e7bc7a Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 28 Mar 2018 13:42:55 -0300 Subject: [PATCH 1793/2606] add pull requests badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 87214ace7..f2539f7aa 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ awesome Join the chat at gitter Build Status + pr-closed Language Language PRs Welcome From f6b397ccabfc4d60076c2756aa051b29175ab2b5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 28 Mar 2018 13:54:34 -0300 Subject: [PATCH 1794/2606] Added Droar by @myriadmobile --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f2539f7aa..9fc463920 100644 --- a/README.md +++ b/README.md @@ -563,7 +563,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. * [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. * [Hyperion](https://github.com/willowtreeapps/Hyperion-iOS) - In-app design review tool to inspect measurements, attributes, and animations. -* [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. +* [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. +* [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window ## EventBus * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. From f39d7995940db793a8013425b86c1cf8bda2f64d Mon Sep 17 00:00:00 2001 From: Okhan Okbay Date: Thu, 29 Mar 2018 04:16:30 +0300 Subject: [PATCH 1795/2606] Add MapViewPlus --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fd9c1ab87..6bda47843 100644 --- a/README.md +++ b/README.md @@ -863,6 +863,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JDSwiftHeatMap](https://github.com/jamesdouble/JDSwiftHeatMap) - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. * [ClusterKit](https://github.com/hulab/ClusterKit) - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. * [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities. +* [MapViewPlus](https://github.com/okhanokbay/MapViewPlus) - Use any custom view as custom callout view of your MKMapView with cool animations. Also, easily use any image as annotation view. ## Math * [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation From bf5e5d8493626c817c8002d96b14d7c698beb456 Mon Sep 17 00:00:00 2001 From: Nathan Jangula Date: Thu, 29 Mar 2018 08:43:40 -0500 Subject: [PATCH 1796/2606] Fix Xniffer link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fd9c1ab87..fb977c17a 100644 --- a/README.md +++ b/README.md @@ -551,7 +551,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift ## Debugging -* [Xniffer](https://github.com/vsouza/awesome-ios/issues/1841) - A swift network profiler built on top of URLSession. +* [Xniffer](https://github.com/xmartlabs/Xniffer) - A swift network profiler built on top of URLSession. * [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! * [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. * [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. From 6c05f5540caed2ea68843b6f41cf4be211b4b33a Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 29 Mar 2018 11:03:37 -0300 Subject: [PATCH 1797/2606] Remove FSCalendar (Abandoned project) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index bc5371f25..14b4adf1f 100644 --- a/README.md +++ b/README.md @@ -2077,7 +2077,6 @@ Most of these are paid services, some have free tiers. * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). * [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. * [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS -* [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A superiorly awesome iOS7+ calendar control, compatible with both Objective-C and Swift2. * [GLCalendarView](https://github.com/Glow-Inc/GLCalendarView) - A fully customizable calendar view acting as a date range picker * [JTCalendar](https://github.com/jonathantribouharet/JTCalendar) - A customizable calendar view for iOS. * [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The Unofficial Swift Apple Calendar Library. View. Control. for iOS & tvOS From 0e86f0288ecdf7cf9214950a5172ef7421a4b13e Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 29 Mar 2018 11:05:18 -0300 Subject: [PATCH 1798/2606] Fix ioscookies redirects --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14b4adf1f..2f492e29a 100644 --- a/README.md +++ b/README.md @@ -2880,7 +2880,7 @@ CollectionView, make Instagram Discover within minutes. * [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. * [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) * [Code Facebook](https://code.facebook.com/ios/) -* [iOS Cookies](http://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift +* [iOS Cookies](https://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. * [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. From a65fc1c5cae7fc4f75a36b1ee42fb0f56f37f3f1 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 29 Mar 2018 11:07:06 -0300 Subject: [PATCH 1799/2606] Fix Xniffer URL - close #2428 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2f492e29a..d54eb6ef9 100644 --- a/README.md +++ b/README.md @@ -551,7 +551,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift ## Debugging -* [Xniffer](https://github.com/vsouza/awesome-ios/issues/1841) - A swift network profiler built on top of URLSession. +* [Xniffer](https://github.com/xmartlabs/Xniffer) - A swift network profiler built on top of URLSession. * [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! * [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. * [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. From 019b4228e7d8c5175baecd979178f8f6ab760ffa Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 29 Mar 2018 14:41:25 -0300 Subject: [PATCH 1800/2606] Fix CI redirect on ioscookies --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d54eb6ef9..7a6ebaa8e 100644 --- a/README.md +++ b/README.md @@ -2880,7 +2880,7 @@ CollectionView, make Instagram Discover within minutes. * [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. * [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) * [Code Facebook](https://code.facebook.com/ios/) -* [iOS Cookies](https://www.ioscookies.com/) - A hand curated collection of iOS libraries written in Swift +* [iOS Cookies](https://ioscookies.com/) - A hand curated collection of iOS libraries written in Swift * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. * [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. From d1b9aaee38cab7067b7fcddd575a3230affdb0e9 Mon Sep 17 00:00:00 2001 From: Arthur Date: Fri, 30 Mar 2018 19:35:37 +0400 Subject: [PATCH 1801/2606] added library to Networking category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7a6ebaa8e..9a3ce15c7 100644 --- a/README.md +++ b/README.md @@ -1156,6 +1156,7 @@ Also see [push notifications](#push-notifications) * [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development * [MultiPeer](https://github.com/dingwilson/MultiPeer) - An easy-to-use wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices * [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. +* [FGRoute](https://github.com/Feghal/FGRoute) - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses. #### Email From 7d88e6ca067804093aa31b51e5aa1fd0b35a308f Mon Sep 17 00:00:00 2001 From: STDev Date: Mon, 2 Apr 2018 11:30:45 +0400 Subject: [PATCH 1802/2606] Adding RxRestClient in Networking section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7a6ebaa8e..6668ba280 100644 --- a/README.md +++ b/README.md @@ -1156,6 +1156,7 @@ Also see [push notifications](#push-notifications) * [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development * [MultiPeer](https://github.com/dingwilson/MultiPeer) - An easy-to-use wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices * [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. +* [RxRestClient] (https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. #### Email From 32eee1512e2435053ad8abfaaddd90b107b1d6fd Mon Sep 17 00:00:00 2001 From: STDev Date: Mon, 2 Apr 2018 11:40:49 +0400 Subject: [PATCH 1803/2606] Adding STDevRxExt in Utility section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a6ebaa8e..88cba1cc2 100644 --- a/README.md +++ b/README.md @@ -2619,7 +2619,7 @@ CollectionView, make Instagram Discover within minutes. * [MKUnits](https://github.com/michalkonturek/MKUnits) - Unit conversion library for Swift. * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs - + * [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS From cf4fea3a66a8691f0245a3dc6f9fbcf9d09109e9 Mon Sep 17 00:00:00 2001 From: Arthur Date: Mon, 2 Apr 2018 12:19:13 +0400 Subject: [PATCH 1804/2606] added ImageDetect library to Media/Image category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7a6ebaa8e..ade1398dc 100644 --- a/README.md +++ b/README.md @@ -1017,6 +1017,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Serrata](https://github.com/horitaku46/Serrata) - Slide image viewer library similar to Twitter and LINE. * [StyleArt](https://github.com/ileafsolutions/StyleArt) - Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style. * [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS +* [ImageDetect](https://github.com/Feghal/ImageDetect) - Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api. #### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift From 9211ecfa45a85cf757ed895d84634460f2c41c2e Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 2 Apr 2018 08:50:08 -0300 Subject: [PATCH 1805/2606] fix markdown error --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4240fd302..10a032b07 100644 --- a/README.md +++ b/README.md @@ -1157,7 +1157,7 @@ Also see [push notifications](#push-notifications) * [MultiPeer](https://github.com/dingwilson/MultiPeer) - An easy-to-use wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices * [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. * [FGRoute](https://github.com/Feghal/FGRoute) - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses. -* [RxRestClient] (https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. +* [RxRestClient](https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. #### Email From 7f8b92fe3161d1d88e8450e416d64ab0c3700fbf Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 2 Apr 2018 08:55:25 -0300 Subject: [PATCH 1806/2606] Remove JTSImageViewController (the project was deleted by owner) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 4d5dadcea..cd5c9f019 100644 --- a/README.md +++ b/README.md @@ -934,7 +934,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MapleBacon](https://github.com/JanGorman/MapleBacon) - An image download and caching library for iOS written in Swift. * [NYTPhotoViewer](https://github.com/NYTimes/NYTPhotoViewer) - Slideshow and image viewer. * [IDMPhotoBrowser](https://github.com/thiagoperes/IDMPhotoBrowser) - Photo Browser / Viewer. -* [JTSImageViewController](https://github.com/jaredsinclair/JTSImageViewController) - Interactive iOS image viewer. * [Concorde](https://github.com/contentful-labs/Concorde/) - Download and decode progressive JPEGs. * [TOCropViewController](https://github.com/TimOliver/TOCropViewController) - A view controller that allows users to crop UIImage objects. * [YXTMotionView](https://github.com/hanton/YXTMotionView) - A custom image view that implements device motion scrolling. From 17fce9ac7f047928ee60553b4a426ca34fc85b08 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 2 Apr 2018 08:56:40 -0300 Subject: [PATCH 1807/2606] Remove CrashMonkey - Close #2431 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index cd5c9f019..c8fe358e4 100644 --- a/README.md +++ b/README.md @@ -1647,7 +1647,6 @@ Most of these are paid services, some have free tiers. * [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS #### UI Testing -* [CrashMonkey](https://github.com/mokemokechicken/CrashMonkey) - Monkey Test Tool For iOS. * [appium](http://appium.io/) - Appium is an open source test automation framework for use with native and hybrid mobile apps. * [robotframework-appiumlibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary) - AppiumLibrary is an appium testing library for RobotFramework. * [Cucumber](https://cucumber.io/) - Behavior driver development for iOS. From e9a0947f5fc754ec041a1af549a3dc0266ac82e2 Mon Sep 17 00:00:00 2001 From: finnho Date: Tue, 3 Apr 2018 18:41:33 +0800 Subject: [PATCH 1808/2606] Fix README.md format error. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c8fe358e4..9b05c123d 100644 --- a/README.md +++ b/README.md @@ -1864,7 +1864,7 @@ Most of these are paid services, some have free tiers. * [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. * [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. * [Skeleton](https://github.com/gonzalonunez/Skeleton) - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content. -+* [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch" +* [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch" * [RetroProgress](https://github.com/hyperoslo/RetroProgress) - Retro looking progress bar straight from the 90s. * [LinearProgressBar](https://github.com/Recouse/LinearProgressBar) - Material Linear Progress Bar for your iOS apps. From 5f90805ff55da15a39274a1c64e3b5df0f8cd37e Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 3 Apr 2018 13:19:02 -0300 Subject: [PATCH 1809/2606] Insert Command Line category description --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 9b05c123d..bfe3c2485 100644 --- a/README.md +++ b/README.md @@ -406,6 +406,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Gestalt](https://github.com/regexident/Gestalt) - An unintrusive & light-weight iOS app-theming library with support for animated theme switching. ## Command Line + +*Smart, beauftil and elegant tools to help you create command line applications.* + * [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. * [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces * [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift From f8b4b76cc9e2c3ed029578d08b55774d5d4363b9 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 3 Apr 2018 13:20:01 -0300 Subject: [PATCH 1810/2606] Insert Concurrency category description --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index bfe3c2485..5658657cd 100644 --- a/README.md +++ b/README.md @@ -418,6 +418,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. ## Concurrency + +*Job schedulers, Coroutines, Asynchronous and Type safe threads libs and frameworks written in Swift* + * [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift * [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives * [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift From c6a8c75754d9911605573d4d18c67e82c28948a2 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 3 Apr 2018 13:25:16 -0300 Subject: [PATCH 1811/2606] Insert Localization category description --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 5658657cd..630311fae 100644 --- a/README.md +++ b/README.md @@ -800,6 +800,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SuperLayout](https://github.com/lionheart/SuperLayout) - Simplify Auto Layout with super syntactic sugar. ## Localization + +*Tools to manage strings files, translate and enable localization in your apps.* + * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. * [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. * [Rubustrings](https://github.com/dcordero/Rubustrings) - Check the format and consistency of Localizable.strings files From 6fbc268a61015c0213d233e587c3cecffaba9be7 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 3 Apr 2018 13:38:32 -0300 Subject: [PATCH 1812/2606] Insert Database category description --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 630311fae..fbc24860b 100644 --- a/README.md +++ b/README.md @@ -467,6 +467,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PredicateFlow](https://github.com/andreadelfante/PredicateFlow) - Write amazing, strong-typed and easy-to-read NSPredicate, allowing you to write flowable NSPredicate, without guessing attribution names, predicate operation or writing wrong arguments type. ## Database + +*Wrappers, clients, Parse alternatives and safe tools to deal with ephemeral and persistent data.* + * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. * [YapDatabase](https://github.com/yapstudios/YapDatabase) - YapDatabase is an extensible database for iOS & Mac. * [Couchbase Mobile](https://developer.couchbase.com/mobile/) - Couchbase document store for mobile with cloud sync. From 2821639b18ac29dd445955326973dd90cbddb71f Mon Sep 17 00:00:00 2001 From: umbri <17909271+umbri@users.noreply.github.com> Date: Tue, 3 Apr 2018 20:05:35 +0200 Subject: [PATCH 1813/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fbc24860b..95c2e82ee 100644 --- a/README.md +++ b/README.md @@ -1476,6 +1476,7 @@ Most of these are paid services, some have free tiers. * [JamfKit](https://github.com/ethenyl/JamfKit) - A JSS communication framework written in Swift. ## Security +* [🗄 Vault](https://github.com/umbri/Vault) - Simple and Secure container for passwords and other sensitive data * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. * [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. * [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. From aa9b91af21f9971292e690411c02ded327d07272 Mon Sep 17 00:00:00 2001 From: umbri <17909271+umbri@users.noreply.github.com> Date: Tue, 3 Apr 2018 20:07:25 +0200 Subject: [PATCH 1814/2606] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 95c2e82ee..9b871d389 100644 --- a/README.md +++ b/README.md @@ -1476,7 +1476,6 @@ Most of these are paid services, some have free tiers. * [JamfKit](https://github.com/ethenyl/JamfKit) - A JSS communication framework written in Swift. ## Security -* [🗄 Vault](https://github.com/umbri/Vault) - Simple and Secure container for passwords and other sensitive data * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. * [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. * [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. @@ -1491,7 +1490,7 @@ Most of these are paid services, some have free tiers. * [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS * [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication * [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. - +* [🗄 Vault](https://github.com/umbri/Vault) - Simple and Secure container for passwords and other sensitive data #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 23f80247b2350bab95933485a9fba66f72bb5f58 Mon Sep 17 00:00:00 2001 From: STDev Date: Wed, 4 Apr 2018 13:37:35 +0400 Subject: [PATCH 1815/2606] Moving project to Reactive Programming category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 88cba1cc2..e0fee915d 100644 --- a/README.md +++ b/README.md @@ -1366,6 +1366,7 @@ Most of these are paid services, some have free tiers. * [VueFlux](https://github.com/ra1028/VueFlux) - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux * [RxAnimated](https://github.com/RxSwiftCommunity/RxAnimated) - Animated RxCocoa bindings * [BindKit](https://github.com/electricbolt/bindkit) - Two-way data binding framework for iOS. Only one API to learn. +* [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. #### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. @@ -2619,7 +2620,6 @@ CollectionView, make Instagram Discover within minutes. * [MKUnits](https://github.com/michalkonturek/MKUnits) - Unit conversion library for Swift. * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs - * [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS From 6da7cac3bbe7128c53bc3e4bb2cefd872f2921f3 Mon Sep 17 00:00:00 2001 From: Dries Van Schevensteen Date: Wed, 4 Apr 2018 17:02:31 +0200 Subject: [PATCH 1816/2606] added xib2Storyboard --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index afb6ed18a..feb56408a 100644 --- a/README.md +++ b/README.md @@ -2699,6 +2699,7 @@ CollectionView, make Instagram Discover within minutes. * [Rome](https://github.com/blender/Rome) - A cache tool for Carthage built frameworks # Tools +* [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. * [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. From b7c65966dd1b7608429e14cd45b469f2901940da Mon Sep 17 00:00:00 2001 From: Dries Van Schevensteen Date: Wed, 4 Apr 2018 17:06:07 +0200 Subject: [PATCH 1817/2606] moved xib2Storyboard to bottom of category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index feb56408a..98ce33191 100644 --- a/README.md +++ b/README.md @@ -2699,7 +2699,6 @@ CollectionView, make Instagram Discover within minutes. * [Rome](https://github.com/blender/Rome) - A cache tool for Carthage built frameworks # Tools -* [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. * [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. @@ -2771,6 +2770,7 @@ CollectionView, make Instagram Discover within minutes. * [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. * [Transformer](https://github.com/andresinaka/transformer) - Easy Online Attributed String Creator. This tool lets you format a string directly in the browser and then copy/paste the attributed string code into your app. * [ProvisionQL](https://github.com/ealeksandrov/ProvisionQL) - Quick Look plugin for apps and provisioning profile files. +* [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. # Rapid Development * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. From dc6a3dc0079598ec6c8307b6365f5ae9b34edb71 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 5 Apr 2018 14:14:55 -0300 Subject: [PATCH 1818/2606] Reorganize --- README.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 98ce33191..7ef10b833 100644 --- a/README.md +++ b/README.md @@ -3012,16 +3012,20 @@ CollectionView, make Instagram Discover within minutes. * [Swift in Depth](https://www.manning.com/books/swift-in-depth) # Other Awesome Lists -Other amazingly awesome lists can be found in the + +*Other amazingly awesome lists can be found in the* + * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. * [Open Source apps](https://github.com/dkhamsing/open-source-ios-apps) list of open source iOS apps * Awesome-swift * [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. * [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. * [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift -* [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. :watch: +* [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. * [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. -* [awesome-ios-animation](https://github.com/ameizi/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. +* Awesome iOS Animation + * [@ameizi](https://github.com/ameizi/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. + * [@jzau](https://github.com/jzau/awesome-ios-animation) - Collection of Animation projects * [awesome-ios-chart](https://github.com/ameizi/awesome-ios-chart) - A curated list of awesome iOS chart libraries, including Objective-C and Swift. * [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). * [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. @@ -3031,11 +3035,10 @@ Other amazingly awesome lists can be found in the * [iOS-Learning-Materials](https://github.com/jVirus/iOS-Learning-Materials) - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS. * [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts * [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. -* [Awesome-ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. +* [Awesome ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. * [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. * [example-ios-apps](https://github.com/imjog/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. * [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. -* [Awesome-iOS-Animation](https://github.com/jzau/awesome-ios-animation) - Collection of Animation projects # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 591f341e6aae87aa73f00ddfce1e019e367697d5 Mon Sep 17 00:00:00 2001 From: Koray Koska Date: Thu, 5 Apr 2018 20:10:10 +0200 Subject: [PATCH 1819/2606] Add BlockiesSwift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ef10b833..1b59a9d2c 100644 --- a/README.md +++ b/README.md @@ -671,6 +671,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. * [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. +* [BlockiesSwift](https://github.com/Boilertalk/BlockiesSwift) - Unique blocky identicons/profile picture generator. ## Hardware #### Bluetooth From ed185d4fd6855cefd991f8659fa72c95b346c6b9 Mon Sep 17 00:00:00 2001 From: Jogendra Singh Date: Fri, 6 Apr 2018 20:53:41 +0530 Subject: [PATCH 1820/2606] Adding AnimatedMaskLabel --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b59a9d2c..b31b40e9a 100644 --- a/README.md +++ b/README.md @@ -2165,6 +2165,7 @@ Most of these are paid services, some have free tiers. * [SlidingText](https://github.com/dnKaratzas/SlidingText) - Swift UIView for sliding text with page indicator. * [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. * [JSLabel](https://github.com/imjog/JSLabel/) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. +* [AnimatedMaskLabel](https://github.com/imjog/AnimatedMaskLabel) - Animated Mask Label is a nice gradient animated label. This is an easy way to add a shimmering effect to any view in your app. #### Login * [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. From 17d5f1b2b3eae640f29723d45235fc2bf70b7296 Mon Sep 17 00:00:00 2001 From: Vincent Pradeilles Date: Sun, 8 Apr 2018 12:01:36 +0200 Subject: [PATCH 1821/2606] Add KeyPathKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1b59a9d2c..db5c2b3c2 100644 --- a/README.md +++ b/README.md @@ -536,6 +536,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Differ](https://github.com/tonyarnold/Differ) - Swift library to generate differences and patches between collections. * [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. * [RandMyMod](https://github.com/jamesdouble/RandMyMod) - RandMyMod base on your own struct or class create one or a set of randomized instance. +* [KeyPathKit](https://github.com/vincent-pradeilles/KeyPathKit) - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths. ## Date & Time From ddafbdeaeae32cf086cc89e70d70222c38aa0114 Mon Sep 17 00:00:00 2001 From: Bill Panagiotopoulos Date: Tue, 10 Apr 2018 12:12:50 +0300 Subject: [PATCH 1822/2606] Add TermiNetwork networking lib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d99442892..4f2169b94 100644 --- a/README.md +++ b/README.md @@ -1172,6 +1172,7 @@ Also see [push notifications](#push-notifications) * [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. * [FGRoute](https://github.com/Feghal/FGRoute) - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses. * [RxRestClient](https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. +* [TermiNetwork] (https://github.com/billp/TermiNetwork) - A networking library written with Swift 4.0 that supports multi-environment configuration, routing and automatic deserialization #### Email From cddde03616108007acb71e15199084ebf6ac7852 Mon Sep 17 00:00:00 2001 From: Bill Panagiotopoulos Date: Tue, 10 Apr 2018 12:15:36 +0300 Subject: [PATCH 1823/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4f2169b94..b249ee82f 100644 --- a/README.md +++ b/README.md @@ -1172,7 +1172,7 @@ Also see [push notifications](#push-notifications) * [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. * [FGRoute](https://github.com/Feghal/FGRoute) - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses. * [RxRestClient](https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. -* [TermiNetwork] (https://github.com/billp/TermiNetwork) - A networking library written with Swift 4.0 that supports multi-environment configuration, routing and automatic deserialization +* [TermiNetwork](https://github.com/billp/TermiNetwork) - A networking library written with Swift 4.0 that supports multi-environment configuration, routing and automatic deserialization #### Email From e5113fdc5f6bc9a1830bf0bb9629f89616d6d4a5 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 10 Apr 2018 10:01:46 -0300 Subject: [PATCH 1824/2606] Remove deleted projects and fix redirect on MarkdownKit --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index b249ee82f..d3f1c1880 100644 --- a/README.md +++ b/README.md @@ -427,7 +427,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. * [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. * [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. -* [NSLock+Synchronized](https://github.com/Jon-Schneider/NSLock-Synchronized) - Do you miss @synchronized in Swift? NSLock+Synchronized gives you back @synchronized in Swift via a global function and NSLock class and instance methods, conveniently usable via CocoaPods and Carthage Framework. [e] * [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. * [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. * [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift @@ -620,7 +619,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. * [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. * [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. [e] -* [Hookah](https://github.com/HookahSwift/Hookah) - Hookah is a functional library for Swift. It's inspired by LoDash, Underscore project. * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift * [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. @@ -1593,7 +1591,7 @@ Most of these are paid services, some have free tiers. * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). * [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. * [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. -* [MarkdownKit](https://github.com/ivanbruel/MarkdownKit) - A simple and customizable Markdown Parser for Swift. +* [MarkdownKit](https://github.com/bmoliveira/MarkdownKit) - A simple and customizable Markdown Parser for Swift. * [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and macOS. * [Apodimark](https://github.com/loiclec/Apodimark) - Fast, flexible markdown parser written in Swift. * [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. From 1bd0b33822d902e637f17548b6d4992f380d50db Mon Sep 17 00:00:00 2001 From: James Sherlock <15193942+Sherlouk@users.noreply.github.com> Date: Tue, 10 Apr 2018 19:24:08 +0100 Subject: [PATCH 1825/2606] Add SwiftProvisioningProfile --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3f1c1880..fe43a3eac 100644 --- a/README.md +++ b/README.md @@ -2635,6 +2635,7 @@ CollectionView, make Instagram Discover within minutes. * [MKUnits](https://github.com/michalkonturek/MKUnits) - Unit conversion library for Swift. * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs + * [SwiftProvisioningProfile](https://github.com/Sherlouk/SwiftProvisioningProfile) - Parse provisioning profiles into Swift models. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS From b06a591af86517bfe50e91514b21e90106012aaa Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 11 Apr 2018 10:36:05 -0300 Subject: [PATCH 1826/2606] Fix redirects --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fe43a3eac..c1404d93b 100644 --- a/README.md +++ b/README.md @@ -2011,7 +2011,7 @@ Most of these are paid services, some have free tiers. * [DOAlertController](https://github.com/okmr-d/DOAlertController) - Simple Alert View written in Swift, which can be used as a UIAlertController. (AlertController/AlertView/ActionSheet) * [CustomizableActionSheet](https://github.com/beryu/CustomizableActionSheet) - Action sheet allows including your custom views and buttons. * [Toast-Swift](https://github.com/scalessec/Toast-Swift) - A Swift extension that adds toast notifications to the UIView object class. -* [PMAlertController](https://github.com/Codeido/PMAlertController) - PMAlertController is a great and customizable substitute to UIAlertController. +* [PMAlertController](https://github.com/pmusolino/PMAlertController) - PMAlertController is a great and customizable substitute to UIAlertController. * [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. * [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. * [CRToast](https://github.com/cruffenach/CRToast) - A modern iOS toast view that can fit your notification needs @@ -2080,7 +2080,7 @@ Most of these are paid services, some have free tiers. * [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. * [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. * [MultiToggleButton](https://github.com/yonat/MultiToggleButton) - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons). -* [PMSuperButton](https://github.com/Codeido/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! +* [PMSuperButton](https://github.com/pmusolino/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! * [JSButton](https://github.com/imjog/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. * [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation * [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. From ee80818198b086c9c4946cdeb53ee9876d8b2046 Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 11 Apr 2018 19:24:14 +0530 Subject: [PATCH 1827/2606] Add ContextMenu. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c1404d93b..ff4bd1e1a 100644 --- a/README.md +++ b/README.md @@ -2228,6 +2228,7 @@ Most of these are paid services, some have free tiers. * [PagingKit](https://github.com/kazuhiro4949/PagingKit) - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries. * [Dropdowns](https://github.com/hyperoslo/Dropdowns) - 💧 Dropdown in Swift * [Parchment](https://github.com/rechsteiner/Parchment) - A paging view controller with a highly customizable menu. Built on UICollectionView, with support for custom layouts and infinite data sources. +* [ContextMenu](https://github.com/GitHawkApp/ContextMenu) - An iOS context menu UI inspired by Things 3. #### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls From b3dfeed06f9c1798805c1042e8f937b6e419c26a Mon Sep 17 00:00:00 2001 From: Wyatt Baggett Date: Thu, 12 Apr 2018 00:46:59 -0400 Subject: [PATCH 1828/2606] Adding wickwirew/Runtime --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ff4bd1e1a..6063197fa 100644 --- a/README.md +++ b/README.md @@ -1394,7 +1394,8 @@ Most of these are paid services, some have free tiers. * [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive * [EVReflection](https://github.com/evermeer/EVReflection) - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable * [JSONNeverDie](https://github.com/johnlui/JSONNeverDie) - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die -* [SwiftKVC](https://github.com/bradhilton/SwiftKVC) - Key-Value Coding (KVC) for native Swift classes and structs +* [SwiftKVC](https://github.com/bradhilton/SwiftKVC) - Key-Value Coding (KVC) for native Swift classes and structs +* [Runtime](https://github.com/wickwirew/Runtime) - A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties. ## Regex * [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type From 6a5de4d1dab1d60ba1fafda9708bf6adfd8f6890 Mon Sep 17 00:00:00 2001 From: Mariia Malitska <37335222+MariiaMalitska@users.noreply.github.com> Date: Thu, 12 Apr 2018 04:22:15 -0700 Subject: [PATCH 1829/2606] Add Virgil Swift PFS SDK to Security --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ff4bd1e1a..e532c3575 100644 --- a/README.md +++ b/README.md @@ -1493,6 +1493,7 @@ Most of these are paid services, some have free tiers. * [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication * [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. * [🗄 Vault](https://github.com/umbri/Vault) - Simple and Secure container for passwords and other sensitive data +* [Virgil SWIFT PFS SDK](https://github.com/VirgilSecurity/virgil-sdk-pfs-x) - An SDK that allows developers to add the Perfect Forward Secrecy (PFS) technologies to their digital solutions to protect previously intercepted traffic from being decrypted even if the main Private Key is compromised. #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 33daf751f81fa92e3f3be2c107906113ca9e76ff Mon Sep 17 00:00:00 2001 From: Mariia Malitska <37335222+MariiaMalitska@users.noreply.github.com> Date: Thu, 12 Apr 2018 04:29:09 -0700 Subject: [PATCH 1830/2606] Add Virgil Swift Crypto Library to Encryption --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ff4bd1e1a..867443548 100644 --- a/README.md +++ b/README.md @@ -1515,6 +1515,7 @@ Most of these are paid services, some have free tiers. * [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. * [SecureEnclaveCrypto](https://github.com/trailofbits/SecureEnclaveCrypto) - Demonstration library for using the Secure Enclave on iOS. * [RSASwiftGenerator](https://github.com/4taras4/RSASwiftGenerator) - Util for generation RSA keys on your client and save to keychain or cover into Data 🔑 🔐 +* [Virgil Security Objective-C/Swift Crypto Library](https://github.com/VirgilSecurity/virgil-foundation-x) - A high-level cryptographic library that allows to perform all necessary operations for securely storing and transferring data. #### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. From 2f003c9e51f1f0752e078f09c82e1f15e00ed125 Mon Sep 17 00:00:00 2001 From: Amr Salman Date: Thu, 12 Apr 2018 15:36:06 +0200 Subject: [PATCH 1831/2606] Added StorageManager --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ff4bd1e1a..fb1a62572 100644 --- a/README.md +++ b/README.md @@ -507,6 +507,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [IceCream](https://github.com/caiyue1993/IceCream) - Sync Realm Database with CloudKit * [FirebaseHelper](https://github.com/quanvo87/FirebaseHelper) - Safe and easy wrappers for common Firebase Realtime Database functions. * [Shallows](https://github.com/dreymonde/Shallows) - Your lightweight persistence toolbox. +* [StorageManager](https://github.com/iAmrSalman/StorageManager) - Safe and easy way to use FileManager as Database. ## Data Structures / Algorithms * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift From 1e0c290559107d9dd2fe810e6ff6d4c267922aae Mon Sep 17 00:00:00 2001 From: Amr Salman Date: Thu, 12 Apr 2018 16:03:08 +0200 Subject: [PATCH 1832/2606] Added Dots --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ff4bd1e1a..6a1023c9b 100644 --- a/README.md +++ b/README.md @@ -1171,6 +1171,7 @@ Also see [push notifications](#push-notifications) * [FGRoute](https://github.com/Feghal/FGRoute) - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses. * [RxRestClient](https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. * [TermiNetwork](https://github.com/billp/TermiNetwork) - A networking library written with Swift 4.0 that supports multi-environment configuration, routing and automatic deserialization +* [Dots](https://github.com/iAmrSalman/Dots) - Lightweight Concurrent Networking Framework. #### Email From 641a415e64da2a14cedaa15925b857b024da6516 Mon Sep 17 00:00:00 2001 From: Mariia Malitska <37335222+MariiaMalitska@users.noreply.github.com> Date: Fri, 13 Apr 2018 01:56:40 -0700 Subject: [PATCH 1833/2606] Add Virgil Security Swift SDK to Security --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d0c3d9a99..51adcb96a 100644 --- a/README.md +++ b/README.md @@ -1497,6 +1497,7 @@ Most of these are paid services, some have free tiers. * [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. * [🗄 Vault](https://github.com/umbri/Vault) - Simple and Secure container for passwords and other sensitive data * [Virgil SWIFT PFS SDK](https://github.com/VirgilSecurity/virgil-sdk-pfs-x) - An SDK that allows developers to add the Perfect Forward Secrecy (PFS) technologies to their digital solutions to protect previously intercepted traffic from being decrypted even if the main Private Key is compromised. +* [Virgil Security Objective-C/Swift SDK](https://github.com/VirgilSecurity/virgil-sdk-x) - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API. #### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From f675ef66dd34c00e963d9bb4d9af4bc7dd91b2f8 Mon Sep 17 00:00:00 2001 From: Sayed Mahmudul Alam Date: Fri, 13 Apr 2018 18:23:29 +0600 Subject: [PATCH 1834/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d0c3d9a99..b1b8ae03f 100644 --- a/README.md +++ b/README.md @@ -537,6 +537,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. * [RandMyMod](https://github.com/jamesdouble/RandMyMod) - RandMyMod base on your own struct or class create one or a set of randomized instance. * [KeyPathKit](https://github.com/vincent-pradeilles/KeyPathKit) - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths. +* [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. ## Date & Time From 90faddd76b59d179acb79762ea839d58aa3f574c Mon Sep 17 00:00:00 2001 From: Sayed Mahmudul Alam Date: Fri, 13 Apr 2018 23:07:24 +0600 Subject: [PATCH 1835/2606] classic-problem-solving-and-data-structures-in-swift4 added under 'other awesome lists' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b1b8ae03f..08b1fa4f9 100644 --- a/README.md +++ b/README.md @@ -537,7 +537,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. * [RandMyMod](https://github.com/jamesdouble/RandMyMod) - RandMyMod base on your own struct or class create one or a set of randomized instance. * [KeyPathKit](https://github.com/vincent-pradeilles/KeyPathKit) - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths. -* [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. ## Date & Time @@ -3049,6 +3048,7 @@ CollectionView, make Instagram Discover within minutes. * [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. * [example-ios-apps](https://github.com/imjog/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. * [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. +* [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. # Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From d1eb7577a528b0449742c96b5c7e385a868a89a1 Mon Sep 17 00:00:00 2001 From: Andres Silva Gomez Date: Fri, 13 Apr 2018 13:04:49 -0500 Subject: [PATCH 1836/2606] Include Localize --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 51adcb96a..90c142ff5 100644 --- a/README.md +++ b/README.md @@ -820,6 +820,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable * [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings * [L10n-swift](https://github.com/Decybel07/L10n-swift) - Localization of an application with ability to change language "on the fly" and support for plural forms in any language. +* [Localize](https://github.com/andresilvagomez/Localize) - Easy tool to localize apps using JSON or Strings and of course IBDesignables with extensions for UI components. ## Logging * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. From 4a66eb26570b23ca9d92f2c6bb233f00d5c7e4b6 Mon Sep 17 00:00:00 2001 From: "Katherine G. Pe" Date: Sun, 15 Apr 2018 12:20:10 +1000 Subject: [PATCH 1837/2606] Updated link to the Intro to iOS App Development with Swift Udacity course --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0a0b7774c..dcda8eb5a 100644 --- a/README.md +++ b/README.md @@ -192,7 +192,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. * [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. * [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) -* [Udacity - Intro to iOS App Development with Swift](https://br.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) +* [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) ### Other free courses From ff74a363638a8f23edebb1f901a4ca41fbc1edf2 Mon Sep 17 00:00:00 2001 From: Bakhtiyor Khodjaev Date: Mon, 16 Apr 2018 16:16:03 +0500 Subject: [PATCH 1838/2606] Add Rough --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0a0b7774c..4dd2c61b2 100644 --- a/README.md +++ b/README.md @@ -672,6 +672,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. * [BlockiesSwift](https://github.com/Boilertalk/BlockiesSwift) - Unique blocky identicons/profile picture generator. +* [Rough](https://github.com/bakhtiyork/Rough) - lets you draw in a sketchy, hand-drawn-like, style. ## Hardware #### Bluetooth From 6fb98dccd19f94cf6e92807c155c40bba7498db6 Mon Sep 17 00:00:00 2001 From: Cali Castle Date: Tue, 17 Apr 2018 02:46:07 -0700 Subject: [PATCH 1839/2606] Update README.md Add `PopMenu` library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0a0b7774c..8ac8fe413 100644 --- a/README.md +++ b/README.md @@ -2055,6 +2055,7 @@ Most of these are paid services, some have free tiers. * [InAppNotify](https://github.com/lucabecchetti/InAppNotify) - Swift library to manage in-app notification in swift language, like WhatsApp, Telegram, Frind, etc. * [FloatingActionSheetController](https://github.com/ra1028/FloatingActionSheetController) - FloatingActionSheetController is a cool design ActionSheetController library written in Swift. * [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS +* [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. #### Badge From a17ae321e3e63ae761e1a9f55e29d32a17d05998 Mon Sep 17 00:00:00 2001 From: Cali Castle Date: Tue, 17 Apr 2018 02:53:47 -0700 Subject: [PATCH 1840/2606] Add PopMenu Add PopMenu to UI -> Alert & Action Sheet --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ac8fe413..76da06741 100644 --- a/README.md +++ b/README.md @@ -2055,8 +2055,8 @@ Most of these are paid services, some have free tiers. * [InAppNotify](https://github.com/lucabecchetti/InAppNotify) - Swift library to manage in-app notification in swift language, like WhatsApp, Telegram, Frind, etc. * [FloatingActionSheetController](https://github.com/ra1028/FloatingActionSheetController) - FloatingActionSheetController is a cool design ActionSheetController library written in Swift. * [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS -* [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. +* [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From cb0fc16cd65a37f1d57f53f8528296dfbe96cdb9 Mon Sep 17 00:00:00 2001 From: Koray Koska Date: Wed, 18 Apr 2018 00:43:30 +0200 Subject: [PATCH 1841/2606] Add blockchain category, add Web3.swift library --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 9070d8c68..0dd326f26 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Architecture Patterns](#architecture-patterns) - [ARKit](#arkit) - [Authentication](#authentication) + - [Blockchain](#blockchain) - [Bridging](#bridging) - [Cache](#cache) - [Charts](#charts) @@ -283,6 +284,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - [In]visible ReCaptcha for iOS. * [LinkedInSignIn](https://github.com/serhii-londar/LinkedInSignIn) - Simple view controller to login and retrieve access token from LinkedIn. +## Blockchain +* [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. + ## Bridging * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. * [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. From 6df63707ca4f6168efbccb8bd9ae3ab53f9a18fa Mon Sep 17 00:00:00 2001 From: Szymon Mrozek Date: Wed, 18 Apr 2018 06:57:27 +0200 Subject: [PATCH 1842/2606] Add stefan library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9070d8c68..7520dade0 100644 --- a/README.md +++ b/README.md @@ -2507,6 +2507,7 @@ Most of these are paid services, some have free tiers. * [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. CollectionView, make Instagram Discover within minutes. * [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. +* [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. #### Tag From 9cf6f41edf67c653f56988ef979cf924a3ea7fb5 Mon Sep 17 00:00:00 2001 From: Bakhtiyor Khodjaev Date: Thu, 19 Apr 2018 05:03:20 +0500 Subject: [PATCH 1843/2606] Add GraphLayout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35c461096..3390d491d 100644 --- a/README.md +++ b/README.md @@ -677,6 +677,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. * [BlockiesSwift](https://github.com/Boilertalk/BlockiesSwift) - Unique blocky identicons/profile picture generator. * [Rough](https://github.com/bakhtiyork/Rough) - lets you draw in a sketchy, hand-drawn-like, style. +* [GraphLayout](https://github.com/bakhtiyork/GraphLayout) - UI controls for graph visualization. It is powered by Graphviz. ## Hardware #### Bluetooth From 1088ca958683f13b66dcf5819100ff6bebde5434 Mon Sep 17 00:00:00 2001 From: Artur Rymarz Date: Fri, 20 Apr 2018 12:20:19 +0200 Subject: [PATCH 1844/2606] Add VariousViewsEffects --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3390d491d..fd06d1c04 100644 --- a/README.md +++ b/README.md @@ -1969,6 +1969,7 @@ Most of these are paid services, some have free tiers. * [MotionAnimation](https://github.com/lkzhao/MotionAnimation) - Lightweight animation library for UIKit. * [AGInterfaceInteraction](https://github.com/agilie/AGInterfaceInteraction) - library performs interaction with UI interface. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. +* [VariousViewsEffects](https://github.com/artrmz/VariousViewsEffects) - Animates views nicely with easy to use extensions. ##### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 54b1e7620cf3a7c04cdd4adbdfd6630e2288c659 Mon Sep 17 00:00:00 2001 From: Prasenjit Mukherjee Date: Mon, 23 Apr 2018 12:19:52 -0700 Subject: [PATCH 1845/2606] Added Placenote --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fd06d1c04..4ebdf0034 100644 --- a/README.md +++ b/README.md @@ -265,6 +265,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆. * [ARKitEnvironmentMapper](https://github.com/svtek/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. * [SmileToUnlock](https://github.com/rsrbk/SmileToUnlock) - This library uses ARKit Face Tracking in order to catch a user's smile. +* [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. From fa61e1ae051147d8bf259bfdd1ab10236fd8b3ee Mon Sep 17 00:00:00 2001 From: Albin CR Date: Tue, 24 Apr 2018 01:04:46 +0530 Subject: [PATCH 1846/2606] Update SwiftyTask changed SwiftyTask link to new repo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fd06d1c04..4084942a8 100644 --- a/README.md +++ b/README.md @@ -646,7 +646,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. - * [SwiftyTask](https://github.com/CR-Creations/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. + * [SwiftyTask](https://github.com/Albinzr/swiftytask/) 🌸 - An extreme queuing system with high performance for managing all task in app with closure (Swift 4.1+). ## Gesture * [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS From ff8628ed05cfba2fb6ab3c2aea791d288b0aefe5 Mon Sep 17 00:00:00 2001 From: Albin CR Date: Tue, 24 Apr 2018 12:33:11 +0530 Subject: [PATCH 1847/2606] Added Gem A network lib which automatically parse json to model --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fd06d1c04..3a820eea0 100644 --- a/README.md +++ b/README.md @@ -1180,6 +1180,7 @@ Also see [push notifications](#push-notifications) * [RxRestClient](https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. * [TermiNetwork](https://github.com/billp/TermiNetwork) - A networking library written with Swift 4.0 that supports multi-environment configuration, routing and automatic deserialization * [Dots](https://github.com/iAmrSalman/Dots) - Lightweight Concurrent Networking Framework. +* [Gem](https://github.com/Albinzr/Gem) 🌸 - An extreme light weight system with high performance for managing all http request with automated parser with modal. #### Email From 4841b74eec863328ec955bac6dddd121f3258b13 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 24 Apr 2018 10:52:24 +0300 Subject: [PATCH 1848/2606] Fix Link Issues --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index fd06d1c04..bbe7b4f0e 100644 --- a/README.md +++ b/README.md @@ -400,7 +400,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. * [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) * [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes -* [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/publications/standards/Ecma-048.htm). +* [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/cgi-sys/suspendedpage.cgi). * [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). * [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. * [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. @@ -646,7 +646,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. - * [SwiftyTask](https://github.com/CR-Creations/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. + * [SwiftyTask](https://github.com/Albinzr/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. ## Gesture * [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS @@ -1168,7 +1168,7 @@ Also see [push notifications](#push-notifications) * [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. * [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. * [WANetworkRouting](https://github.com/Wasappli/WANetworkRouting) - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers -* [Reactor](https://github.com/MailOnline/Reactor) - Powering your RAC architecture +* [Reactor](https://github.com/RuiAAPeres/Reactor) - Powering your RAC architecture * [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking * [Digger](https://github.com/cornerAnt/Digger) - Digger is a lightweight download framework that requires only one line of code to complete the file download task. * [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). @@ -2041,7 +2041,7 @@ Most of these are paid services, some have free tiers. * [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. * [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. * [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. -* [Hedwig](https://github.com/dereklimbus/hedwig) - Interactive notification +* [Hedwig](https://github.com/carabina/Hedwig) - Interactive notification * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. * [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift * [RAlertView](https://github.com/roycms/AlertView) - AlertView, iOS popup window, A pop-up framework, Can be simple and convenient to join your project. @@ -2365,7 +2365,7 @@ Most of these are paid services, some have free tiers. * [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. * [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. * [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. -* [PivotSlider](https://github.com/dereklimbus/pivot-slider) - Slider that pivots +* [PivotSlider](https://github.com/mrkey0310/pivot-slider) - Slider that pivots * [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. * [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. * [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. From dd92bf88f9f87c0ecbc2f89b62dba4b835363247 Mon Sep 17 00:00:00 2001 From: Sofiane Beors Date: Tue, 24 Apr 2018 11:52:09 +0200 Subject: [PATCH 1849/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fd06d1c04..c1d233891 100644 --- a/README.md +++ b/README.md @@ -2064,6 +2064,7 @@ Most of these are paid services, some have free tiers. * [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. * [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 +* [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. #### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From 038ee18750f45d4585415046dbe26ab11f4336a1 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 24 Apr 2018 14:02:29 -0300 Subject: [PATCH 1850/2606] Remove link from 'ECMA standard 48' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ee013bddf..0337e4d08 100644 --- a/README.md +++ b/README.md @@ -401,7 +401,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. * [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) * [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes -* [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to [ECMA Standard 48](http://www.ecma-international.org/cgi-sys/suspendedpage.cgi). +* [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to ECMA Standard 48. * [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). * [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. * [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. From a797ee81e6b22d5c157977527f74757db8cde7cb Mon Sep 17 00:00:00 2001 From: Albin CR Date: Wed, 25 Apr 2018 00:02:13 +0530 Subject: [PATCH 1851/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3a820eea0..45859d3da 100644 --- a/README.md +++ b/README.md @@ -1180,7 +1180,7 @@ Also see [push notifications](#push-notifications) * [RxRestClient](https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. * [TermiNetwork](https://github.com/billp/TermiNetwork) - A networking library written with Swift 4.0 that supports multi-environment configuration, routing and automatic deserialization * [Dots](https://github.com/iAmrSalman/Dots) - Lightweight Concurrent Networking Framework. -* [Gem](https://github.com/Albinzr/Gem) 🌸 - An extreme light weight system with high performance for managing all http request with automated parser with modal. +* [Gem](https://github.com/Albinzr/Gem) - An extreme light weight system with high performance for managing all http request with automated parser with modal. #### Email From 5f26728d07a0c543ed615757fba22da3ea6b80c1 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 26 Apr 2018 13:33:56 -0300 Subject: [PATCH 1852/2606] Change categories to use correct format --- README.md | 3417 +++++++++++++++++++++++++++-------------------------- 1 file changed, 1729 insertions(+), 1688 deletions(-) diff --git a/README.md b/README.md index 1e3f8284a..ddcbd410a 100644 --- a/README.md +++ b/README.md @@ -12,143 +12,143 @@ [Subscribe on Awesome-iOS Weekly!! 🗞](https://goo.gl/UtS5qk) -# About +## About A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). ## Recommended SDK for bug and crash reporting [Instabug](https://goo.gl/hNadrZ) [![ios](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) -> We highly recommend integrating Instabug’s framework as they compiled a lot of great features in their SDK that provides useful and rich data with each bug/crash report. +> We highly recommend integrating Instabug’s framework as they compiled a lot of great features in their SDK that provides useful and rich data with each bug/crash report. They removed the hassle of debugging as the SDK automatically attach screenshots, screen recordings, device details, network logs and repro-steps with each bug report which speeds up development process. Instabug is offering awesome-ios community an exclusive **15% discount** on all paid plans. [**Go to 5-minute installation guide.**](https://goo.gl/q93Qtd)🚀 [![](https://goo.gl/A74z8Q)](https://instabug.com) -# How to Use + +## How to Use Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use are: - Ask for help on our [Twitter](https://twitter.com/awesome_ios) or [Gitter Channel](https://gitter.im/vsouza/awesome-ios) - Simply press command + F to search for a keyword - Go through our *Content Menu* -## Content +### Content - [About](#about) - [How to Use](#how-to-use) - [Courses](#courses) -- [Library and Frameworks](#libraries-and-frameworks) - - [Analytics](#analytics) - - [App Routing](#app-routing) - - [Apple TV](#apple-tv) - - [Architecture Patterns](#architecture-patterns) - - [ARKit](#arkit) - - [Authentication](#authentication) - - [Blockchain](#blockchain) - - [Bridging](#bridging) - - [Cache](#cache) - - [Charts](#charts) - - [Code Quality](#code-quality) - - [Linter](#linter) - - [Color](#color) - - [Command Line](#command-line) - - [Concurrency](#concurrency) - - [Core Data](#core-data) - - [Database](#database) - - [Data Structures / Algorithms](#data-structures--algorithms) - - [Date & Time](#date--time) - - [Debugging](#debugging) - - [EventBus](#eventbus) - - [Files](#files) - - [Functional Programming](#functional-programming) - - [Games](#games) - - [GCD](#gcd) - - [Gesture](#gesture) - - [Graphics](#graphics) - - [Hardware](#hardware) - - [Bluetooth](#bluetooth) - - [Camera](#camera) - - [Force Touch](#force-touch) - - [iBeacon](#ibeacon) - - [Location](#location) - - [Other Hardware](#other-hardware) - - [Layout](#layout) - - [Logging](#logging) - - [Localization](#localization) - - [Machine Learning](#machine-learning) - - [Maps](#maps) - - [Math](#math) - - [Media](#media) - - [Audio](#audio) - - [GIF](#gif) - - [Image](#image) - - [Media Processing](#media-processing) - - [PDF](#pdf) - - [Streaming](#streaming) - - [Video](#video) - - [Messaging](#messaging) - - [Networking](#networking) - - [Notifications](#notifications) - - [Push Notifications](#push-notifications) - - [Push Notification Providers](#push-notification-providers) - - [Local Notifications](#local-notifications) - - [Optimization](#optimization) - - [Parsing](#parsing) - - [CSV](#csv) - - [JSON](#json) - - [XML & HTML](#xml--html) - - [Other Parsing](#other-parsing) - - [Passbook](#passbook) - - [Payments](#payments) - - [Permissions](#permissions) - - [Products](#products) - - [Reactive Programming](#reactive-programming) - - [React-Like](#react-like) - - [Reflection](#reflection) - - [Regex](#regex) - - [SDK](#sdk) - - [Official](#official) - - [Unofficial](#unofficial) - - [Security](#security) - - [Encryption](#encryption) - - [Keychain](#keychain) - - [Server](#server) - - [Testing](#testing) - - [TDD / BDD](#tdd--bdd) - - [A/B Testing](#ab-testing) - - [UI Testing](#ui-testing) - - [Other Testing](#other-testing) - - [Text](#text) - - [Font](#font) - - [UI](#ui) - - [Activity Indicator](#activity-indicator) - - [Alert & Action Sheet](#alert--action-sheet) - - [Animation](#animation) - - [Transition](#transition) - - [Badge](#badge) - - [Button](#button) - - [Calendar](#calendar) - - [Form & Settings](#form--settings) - - [Keyboard](#keyboard) - - [Label](#label) - - [Login](#login) - - [Menu](#menu) - - [Navigation Bar](#navigation-bar) - - [PickerView](#pickerview) - - [Popup](#popup) - - [Pull to Refresh](#pull-to-refresh) - - [Rating Stars](#rating-stars) - - [ScrollView](#scrollview) - - [Segmented Control](#segmented-control) - - [Slider](#slider) - - [Splash View](#splash-view) - - [Stepper](#stepper) - - [Switch](#switch) - - [Tab Bar](#tab-bar) - - [Table View / Collection View](#table-view--collection-view) - - [Tag](#tag) - - [TextField & TextView](#textfield--textview) - - [UIPageControl](#uipagecontrol) - - [Web View](#web--view) - - [Utility](#utility) - - [VR](#vr) - - [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) - - [Websocket](#websocket) +- [Analytics](#analytics) +- [App Routing](#app-routing) +- [Apple TV](#apple-tv) +- [Architecture Patterns](#architecture-patterns) +- [ARKit](#arkit) +- [Authentication](#authentication) +- [Blockchain](#blockchain) +- [Bridging](#bridging) +- [Cache](#cache) +- [Charts](#charts) +- [Code Quality](#code-quality) + - [Linter](#linter) +- [Color](#color) +- [Command Line](#command-line) +- [Concurrency](#concurrency) +- [Core Data](#core-data) +- [Database](#database) +- [Data Structures / Algorithms](#data-structures--algorithms) +- [Date & Time](#date--time) +- [Debugging](#debugging) +- [EventBus](#eventbus) +- [Files](#files) +- [Functional Programming](#functional-programming) +- [Games](#games) +- [GCD](#gcd) +- [Gesture](#gesture) +- [Graphics](#graphics) +- [Hardware](#hardware) + - [Bluetooth](#bluetooth) + - [Camera](#camera) + - [Force Touch](#force-touch) + - [iBeacon](#ibeacon) + - [Location](#location) + - [Other Hardware](#other-hardware) +- [Layout](#layout) +- [Logging](#logging) +- [Localization](#localization) +- [Machine Learning](#machine-learning) +- [Maps](#maps) +- [Math](#math) +- [Media](#media) + - [Audio](#audio) + - [GIF](#gif) + - [Image](#image) + - [Media Processing](#media-processing) + - [PDF](#pdf) + - [Streaming](#streaming) + - [Video](#video) +- [Messaging](#messaging) +- [Networking](#networking) +- [Notifications](#notifications) + - [Push Notifications](#push-notifications) + - [Push Notification Providers](#push-notification-providers) + - [Local Notifications](#local-notifications) +- [Optimization](#optimization) +- [Parsing](#parsing) + - [CSV](#csv) + - [JSON](#json) + - [XML & HTML](#xml--html) + - [Other Parsing](#other-parsing) +- [Passbook](#passbook) +- [Payments](#payments) +- [Permissions](#permissions) +- [Products](#products) +- [Reactive Programming](#reactive-programming) + - [React-Like](#react-like) +- [Reflection](#reflection) +- [Regex](#regex) +- [SDK](#sdk) + - [Official](#official) + - [Unofficial](#unofficial) +- [Security](#security) + - [Encryption](#encryption) + - [Keychain](#keychain) +- [Server](#server) +- [Testing](#testing) + - [TDD / BDD](#tdd--bdd) + - [A/B Testing](#ab-testing) + - [UI Testing](#ui-testing) + - [Other Testing](#other-testing) +- [Text](#text) + - [Font](#font) +- [UI](#ui) + - [Activity Indicator](#activity-indicator) + - [Alert & Action Sheet](#alert--action-sheet) + - [Animation](#animation) + - [Transition](#transition) + - [Badge](#badge) + - [Button](#button) + - [Calendar](#calendar) + - [Form & Settings](#form--settings) + - [Keyboard](#keyboard) + - [Label](#label) + - [Login](#login) + - [Menu](#menu) + - [Navigation Bar](#navigation-bar) + - [PickerView](#pickerview) + - [Popup](#popup) + - [Pull to Refresh](#pull-to-refresh) + - [Rating Stars](#rating-stars) + - [ScrollView](#scrollview) + - [Segmented Control](#segmented-control) + - [Slider](#slider) + - [Splash View](#splash-view) + - [Stepper](#stepper) + - [Switch](#switch) + - [Tab Bar](#tab-bar) + - [Table View / Collection View](#table-view--collection-view) + - [Tag](#tag) + - [TextField & TextView](#textfield--textview) + - [UIPageControl](#uipagecontrol) + - [Web View](#web--view) +- [Utility](#utility) +- [VR](#vr) +- [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) +- [Websocket](#websocket) - [Project setup](#project-setup) - [Dependency / Package Manager](#dependency--package-manager) - [Tools](#tools) @@ -180,30 +180,29 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *** -# Courses + +## Courses ### Getting Started -* [Apple- Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. +* [Apple- Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. * [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) * [Apple - Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. * [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. * [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) -* [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. -* [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. +* [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. +* [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. * [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) * [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) ### Other free courses - * [Codeschool - Exploring Google Maps for iOS](https://www.codeschool.com/courses/exploring-google-maps-for-ios) + * [Codeschool - Exploring Google Maps for iOS](https://www.codeschool.com/courses/exploring-google-maps-for-ios) * [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS) - -# Libraries And Frameworks - ## Analytics + * [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. * [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. * [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. @@ -224,71 +223,73 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. * [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. * [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. -* [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks -* [Compass](https://github.com/hyperoslo/Compass) - :earth_africa: Compass helps you setup a central navigation system for your application -* [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. -* [URLNavigator](https://github.com/devxoul/URLNavigator) - ⛵️ Elegant URL Routing for Swift -* [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. -* [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 -* [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. +* [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks +* [Compass](https://github.com/hyperoslo/Compass) - :earth_africa: Compass helps you setup a central navigation system for your application +* [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. +* [URLNavigator](https://github.com/devxoul/URLNavigator) - ⛵️ Elegant URL Routing for Swift +* [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. +* [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 +* [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. * [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. -* [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. +* [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. * [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS, written in Swift 4. ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS -* [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager with or without client-server -* [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! -* [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. -* [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. -* [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text -* [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS -* [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. -* [TvOSPinKeyboard](https://github.com/zattoo/TvOSPinKeyboard) - PIN keyboard for tvOS -* [TvOSScribble](https://github.com/dcordero/TvOSScribble) - Handwriting numbers recognizer for Siri Remote -* [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS +* [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager with or without client-server +* [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! +* [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. +* [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. +* [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text +* [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS +* [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. +* [TvOSPinKeyboard](https://github.com/zattoo/TvOSPinKeyboard) - PIN keyboard for tvOS +* [TvOSScribble](https://github.com/dcordero/TvOSScribble) - Handwriting numbers recognizer for Siri Remote +* [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS ## Architecture Patterns -* [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. -* [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. -* [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. -* [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS -* [YARCH](https://github.com/alfa-laboratory/YARCH) - More clean alternative to VIPER with unidirectional data flow (flux-like). +* [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. +* [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. +* [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. +* [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS +* [YARCH](https://github.com/alfa-laboratory/YARCH) - More clean alternative to VIPER with unidirectional data flow (flux-like). * [iOS-Viper-Architecture](https://github.com/MindorksOpenSource/iOS-Viper-Architecture) - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc. * [Tempura](https://github.com/BendingSpoons/tempura-swift) - A holistic approach to iOS development, inspired by Redux and MVVM. ## ARKit -* [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. +* [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. * [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. -* [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆. -* [ARKitEnvironmentMapper](https://github.com/svtek/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. +* [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆. +* [ARKitEnvironmentMapper](https://github.com/svtek/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. * [SmileToUnlock](https://github.com/rsrbk/SmileToUnlock) - This library uses ARKit Face Tracking in order to catch a user's smile. * [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision ## Authentication -* [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. -* [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. -* [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. -* [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for macOS and iOS, written in Swift. -* [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS +* [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. +* [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. +* [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. +* [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for macOS and iOS, written in Swift. +* [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS * [SimpleAuth](https://github.com/calebd/SimpleAuth) - Simple social authentication for iOS. -* [AlamofireOauth2](https://github.com/evermeer/AlamofireOauth2) - A swift implementation of OAuth2 -* [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers -* [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and macOS apps. -* [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. +* [AlamofireOauth2](https://github.com/evermeer/AlamofireOauth2) - A swift implementation of OAuth2 +* [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers +* [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and macOS apps. +* [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. * [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. * [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. * [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. -* [InstagramLogin](https://github.com/AnderGoig/InstagramLogin) - A simple way to authenticate Instagram accounts on iOS. -* [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - [In]visible ReCaptcha for iOS. -* [LinkedInSignIn](https://github.com/serhii-londar/LinkedInSignIn) - Simple view controller to login and retrieve access token from LinkedIn. +* [InstagramLogin](https://github.com/AnderGoig/InstagramLogin) - A simple way to authenticate Instagram accounts on iOS. +* [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - [In]visible ReCaptcha for iOS. +* [LinkedInSignIn](https://github.com/serhii-londar/LinkedInSignIn) - Simple view controller to login and retrieve access token from LinkedIn. ## Blockchain + * [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. ## Bridging + * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. * [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. * [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews @@ -298,28 +299,28 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Thread safe, offline and high performance cache libs and frameworks.* -* [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) -* [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content -* [Carlos](https://github.com/WeltN24/Carlos) - A simple but flexible cache -* [HanekeSwift](https://github.com/Haneke/HanekeSwift) - A lightweight generic cache for iOS written in Swift with extra love for images. +* [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) +* [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content +* [Carlos](https://github.com/WeltN24/Carlos) - A simple but flexible cache +* [HanekeSwift](https://github.com/Haneke/HanekeSwift) - A lightweight generic cache for iOS written in Swift with extra love for images. * [YYCache](https://github.com/ibireme/YYCache) - High performance cache framework for iOS. -* [Cache](https://github.com/hyperoslo/Cache) - Nothing but Cache. +* [Cache](https://github.com/hyperoslo/Cache) - Nothing but Cache. * [MGCacheManager](https://github.com/Mortgy/MGCacheManager) - A delightful iOS Networking Cache Managing Class. * [SPTPersistentCache](https://github.com/spotify/SPTPersistentCache) - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify -* [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. +* [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. * [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cell cache that cures scroll-lags on a cell instantiating. -* [RocketData](https://github.com/plivesey/RocketData) - A caching and consistency solution for immutable models. +* [RocketData](https://github.com/plivesey/RocketData) - A caching and consistency solution for immutable models. * [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS -* [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift -* [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. -* [Cachyr](https://github.com/YR/Cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift -* [Cache](https://github.com/soffes/Cache) - Swift caching library. +* [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift +* [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. +* [Cachyr](https://github.com/YR/Cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift +* [Cache](https://github.com/soffes/Cache) - Swift caching library. ## Charts *Beautiful, Easy and Fully customized charts* -* [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). +* [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). * [JTChartView](https://github.com/kubatruhlar/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. * [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS * [XJYChart](https://github.com/JunyiXie/XJYChart) - A Beautiful chart for iOS. Support animation, click, slide, area highlight. @@ -332,23 +333,23 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [chartee](https://github.com/zhiyu/chartee) - a charting library for mobile platforms. * [ANDLineChartView](https://github.com/anaglik/ANDLineChartView) - ANDLineChartView is easy to use view-based class for displaying animated line chart. * [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. -* [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. -* [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. -* [Scrollable-GraphView](https://github.com/philackm/ScrollableGraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. +* [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. +* [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. +* [Scrollable-GraphView](https://github.com/philackm/ScrollableGraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. * [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. -* [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generator for iOS. +* [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generator for iOS. * [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS! * [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. -* [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift +* [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift * [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantastically fast and fully customizable. Amazing animations available with MagicPie!!1 🎉 ✨✨✨✨✨ -* [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. -* [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. -* [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. +* [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. +* [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. +* [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. * [core-plot](https://github.com/core-plot/core-plot) - a 2D plotting lib which is highly customizable and capable of drawing many types of plots. * [ChartProgressBar](https://github.com/hadiidbouk/ChartProgressBar-iOS) - Draw a chart with progress bar style. * [SMDiagramViewSwift](https://github.com/VRGsoftUA/SMDiagramView) - Meet cute and very flexibility library for iOS application for different data view in one circle diagram. -* [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. -* [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. +* [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. +* [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit ## Code Quality @@ -362,8 +363,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [spacecommander](https://github.com/square/spacecommander) - Commit fully-formatted Objective-C code as a team without even trying. * [DWURecyclingAlert](https://github.com/diwu/DWURecyclingAlert) - Optimizing UITableViewCell For Fast Scrolling. * [Tailor](https://github.com/sleekbyte/tailor) - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs. -* [SwiftCop](https://github.com/andresinaka/SwiftCop) - SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations. -* [Trackable](https://github.com/VojtaStavik/Trackable) - Trackable is a simple analytics integration helper library. It’s especially designed for easy and comfortable integration with existing projects. +* [SwiftCop](https://github.com/andresinaka/SwiftCop) - SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations. +* [Trackable](https://github.com/VojtaStavik/Trackable) - Trackable is a simple analytics integration helper library. It’s especially designed for easy and comfortable integration with existing projects. * [MLeaksFinder](https://github.com/Tencent/MLeaksFinder) - Find memory leaks in your iOS app at develop time. * [HeapInspector-for-iOS](https://github.com/tapwork/HeapInspector-for-iOS) - Find memory issues & leaks in your iOS app without instruments * [FBMemoryProfiler](https://github.com/facebook/FBMemoryProfiler) - iOS tool that helps with profiling iOS Memory usage. @@ -372,75 +373,78 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Warnings-xcconfig](https://github.com/boredzo/Warnings-xcconfig) - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets. * [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. * [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. -* [GlueKit](https://github.com/attaswift/GlueKit) - A type-safe observer framework for Swift. -* [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. +* [GlueKit](https://github.com/attaswift/GlueKit) - A type-safe observer framework for Swift. +* [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. * [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. * [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. -* [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. -* [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. -* [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. +* [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. +* [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. +* [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. * [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. * [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. -#### Linter +### Linter + * [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. -* [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. -* [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. -* [IBLinter](https://github.com/IBDecodable/IBLinter) - A linter tool for Interface Builder. +* [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. +* [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. +* [IBLinter](https://github.com/IBDecodable/IBLinter) - A linter tool for Interface Builder. ## Color -* [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). + +* [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). * [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. * [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. [e] * [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. [e] * [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier. -* [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. +* [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. * [Hue](https://github.com/hyperoslo/Hue) - Hue is the all-in-one coloring utility that you'll ever need. -* [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. -* [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. -* [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. -* [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) +* [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. +* [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. +* [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. +* [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) * [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes -* [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to ECMA Standard 48. -* [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). -* [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. -* [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. -* [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. -* [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. -* [Lorikeet](https://github.com/valdirunars/Lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation. -* [Gestalt](https://github.com/regexident/Gestalt) - An unintrusive & light-weight iOS app-theming library with support for animated theme switching. +* [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to ECMA Standard 48. +* [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). +* [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. +* [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. +* [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. +* [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. +* [Lorikeet](https://github.com/valdirunars/Lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation. +* [Gestalt](https://github.com/regexident/Gestalt) - An unintrusive & light-weight iOS app-theming library with support for animated theme switching. ## Command Line *Smart, beauftil and elegant tools to help you create command line applications.* -* [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. -* [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces -* [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift -* [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. -* [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift -* [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts -* [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. +* [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. +* [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces +* [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift +* [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. +* [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift +* [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts +* [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. ## Concurrency *Job schedulers, Coroutines, Asynchronous and Type safe threads libs and frameworks written in Swift* -* [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift -* [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives -* [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift -* [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. +* [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift +* [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives +* [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift +* [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. * [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. -* [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. -* [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. -* [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. -* [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift -* [Flow-iOS](https://github.com/roytornado/Flow-iOS) - Make your logic flow and data flow clean and human readable -* [Queuer](https://github.com/FabrizioBrancati/Queuer) - A queue manager, built on top of OperationQueue and Dispatch (aka GCD). -* [SwiftQueue](https://github.com/lucas34/SwiftQueue) - Job Scheduler with Concurrent run, failure/retry, persistence, repeat, delay and more. -* [GroupWork](https://github.com/quanvo87/GroupWork) - Easy concurrent, asynchronous tasks in Swift. +* [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. +* [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. +* [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. +* [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift +* [Flow-iOS](https://github.com/roytornado/Flow-iOS) - Make your logic flow and data flow clean and human readable +* [Queuer](https://github.com/FabrizioBrancati/Queuer) - A queue manager, built on top of OperationQueue and Dispatch (aka GCD). +* [SwiftQueue](https://github.com/lucas34/SwiftQueue) - Job Scheduler with Concurrent run, failure/retry, persistence, repeat, delay and more. +* [GroupWork](https://github.com/quanvo87/GroupWork) - Easy concurrent, asynchronous tasks in Swift. ## Core Data + * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. * [ObjectiveRecord](https://github.com/supermarin/ObjectiveRecord) - ActiveRecord for Objective-C. * [SSDataKit](https://github.com/soffes/SSDataKit) - Eliminate your Core Data boilerplate code. @@ -451,23 +455,23 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [HardCoreData](https://github.com/Krivoblotsky/HardCoreData) - CoreData stack and controller that will never block UI thread. * [encrypted-core-data](https://github.com/project-imas/encrypted-core-data) - Core Data encrypted SQLite store using SQLCipher. * [MagicalRecord](https://github.com/magicalpanda/MagicalRecord) - Super Awesome Easy Fetching for Core Data. -* [QueryKit](https://github.com/QueryKit/QueryKit) - A simple type-safe Core Data query language. -* [CoreStore](https://github.com/JohnEstropia/CoreStore) - Powerful Core Data framework for Incremental Migrations, Fetching, Observering, etc. -* [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. -* [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. -* [CoreDataDandy](https://github.com/fuzz-productions/CoreDataDandy) - A feature-light wrapper around Core Data that simplifies common database operations. -* [Sync](https://github.com/3lvis/Sync) - :arrows_counterclockwise: Modern Swift JSON synchronization to Core Data -* [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. -* [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. -* [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack -* [JSQCoreDataKit](https://github.com/jessesquires/JSQCoreDataKit) - A swifter Core Data stack -* [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. -* [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. -* [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. -* [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. +* [QueryKit](https://github.com/QueryKit/QueryKit) - A simple type-safe Core Data query language. +* [CoreStore](https://github.com/JohnEstropia/CoreStore) - Powerful Core Data framework for Incremental Migrations, Fetching, Observering, etc. +* [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. +* [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. +* [CoreDataDandy](https://github.com/fuzz-productions/CoreDataDandy) - A feature-light wrapper around Core Data that simplifies common database operations. +* [Sync](https://github.com/3lvis/Sync) - :arrows_counterclockwise: Modern Swift JSON synchronization to Core Data +* [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. +* [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. +* [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack +* [JSQCoreDataKit](https://github.com/jessesquires/JSQCoreDataKit) - A swifter Core Data stack +* [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. +* [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. +* [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. +* [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. * [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. -* [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. -* [Records](https://github.com/rob-nash/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. +* [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. +* [Records](https://github.com/rob-nash/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. * [PredicateFlow](https://github.com/andreadelfante/PredicateFlow) - Write amazing, strong-typed and easy-to-read NSPredicate, allowing you to write flowable NSPredicate, without guessing attribution names, predicate operation or writing wrong arguments type. ## Database @@ -479,102 +483,104 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Couchbase Mobile](https://developer.couchbase.com/mobile/) - Couchbase document store for mobile with cloud sync. * [FMDB](https://github.com/ccgus/fmdb) - A Cocoa / Objective-C wrapper around SQLite. * [FCModel](https://github.com/marcoarment/FCModel) - An alternative to Core Data for people who like having direct SQL access. -* [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly synchronize NSUserDefaults over iCloud. -* [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. -* [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). -* [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. -* [SugarRecord](https://github.com/carambalabs/SugarRecord) - Data persistence management library written in Swift 2.0 -* [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. -* [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support -* [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. +* [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly synchronize NSUserDefaults over iCloud. +* [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. +* [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). +* [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. +* [SugarRecord](https://github.com/carambalabs/SugarRecord) - Data persistence management library written in Swift 2.0 +* [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. +* [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support +* [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. * [ParseAlternatives](https://github.com/relatedcode/ParseAlternatives) - A collaborative list of Parse alternative backend service providers. -* [TypedDefaults](https://github.com/tasanobu/TypedDefaults) - TypedDefaults is a utility library to type-safely use NSUserDefaults. -* [realm-cocoa-converter](https://github.com/realm/realm-cocoa-converter) - A library that provides the ability to import/export Realm files from a variety of data container formats. -* [YapDatabaseExtensions](https://github.com/danthorpe/YapDatabaseExtensions) - YapDatabase extensions for use with Swift +* [TypedDefaults](https://github.com/tasanobu/TypedDefaults) - TypedDefaults is a utility library to type-safely use NSUserDefaults. +* [realm-cocoa-converter](https://github.com/realm/realm-cocoa-converter) - A library that provides the ability to import/export Realm files from a variety of data container formats. +* [YapDatabaseExtensions](https://github.com/danthorpe/YapDatabaseExtensions) - YapDatabase extensions for use with Swift * [RealmGeoQueries](https://github.com/mhergon/RealmGeoQueries) - RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do proximity search. [e] -* [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift +* [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift * [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. * [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. -* [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB -* [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. +* [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB +* [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. * [MongoDB](https://github.com/PerfectlySoft/Perfect-MongoDB) - A Swift wrapper around the mongo-c client library, enabling access to MongoDB servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [SQLite](https://github.com/PerfectlySoft/Perfect-SQLite) - A Swift wrapper around the SQLite 3 client library, enabling access to SQLite servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [MySQL](https://github.com/PerfectlySoft/Perfect-MySQL) - A Swift wrapper around the MySQL client library, enabling access to MySQL servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [Redis](https://github.com/PerfectlySoft/Perfect-Redis) - A Swift wrapper around the Redis client library, enabling access to Redis. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [PostgreSQL](https://github.com/PerfectlySoft/Perfect-PostgreSQL) - A Swift wrapper around the libpq client library, enabling access to PostgreSQL servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. * [FileMaker](https://github.com/PerfectlySoft/Perfect-FileMaker) - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. -* [Nora](https://github.com/SD10/Nora) - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage. -* [PersistentStorageSerializable](https://github.com/IvanRublev/PersistentStorageSerializable) - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. +* [Nora](https://github.com/SD10/Nora) - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage. +* [PersistentStorageSerializable](https://github.com/IvanRublev/PersistentStorageSerializable) - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. * [WCDB](https://github.com/Tencent/wcdb) - WCDB is an efficient, complete, easy-to-use mobile database framework for iOS, macOS. * [StorageKit](https://github.com/StorageKit/StorageKit) - Your Data Storage Troubleshooter 🛠 -* [UserDefaults](https://github.com/nmdias/DefaultsKit) - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS -* [Default](https://github.com/Nirma/Default) - Modern interface to UserDefaults + Codable support -* [IceCream](https://github.com/caiyue1993/IceCream) - Sync Realm Database with CloudKit +* [UserDefaults](https://github.com/nmdias/DefaultsKit) - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS +* [Default](https://github.com/Nirma/Default) - Modern interface to UserDefaults + Codable support +* [IceCream](https://github.com/caiyue1993/IceCream) - Sync Realm Database with CloudKit * [FirebaseHelper](https://github.com/quanvo87/FirebaseHelper) - Safe and easy wrappers for common Firebase Realtime Database functions. * [Shallows](https://github.com/dreymonde/Shallows) - Your lightweight persistence toolbox. * [StorageManager](https://github.com/iAmrSalman/StorageManager) - Safe and easy way to use FileManager as Database. ## Data Structures / Algorithms -* [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift -* [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another -* [BTree](https://github.com/attaswift/BTree) - Fast ordered collections for Swift using in-memory B-trees -* [SwiftStructures](https://github.com/waynewbishop/SwiftStructures) - Examples of commonly used data structures and algorithms in Swift. -* [diff](https://github.com/soffes/diff) - Simple diff library in pure Swift -* [Brick](https://github.com/hyperoslo/Brick) - :droplet: A generic view model for both basic and complex scenarios -* [Algorithm](https://github.com/CosmicMind/Algorithm) - Algorithm is a collection of data structures that are empowered by a probability toolset. -* [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. -* [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript https://www.dollarswift.org/. -* [Result](https://github.com/antitypical/Result) - Swift type modeling the success/failure of arbitrary operations. + +* [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift +* [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another +* [BTree](https://github.com/attaswift/BTree) - Fast ordered collections for Swift using in-memory B-trees +* [SwiftStructures](https://github.com/waynewbishop/SwiftStructures) - Examples of commonly used data structures and algorithms in Swift. +* [diff](https://github.com/soffes/diff) - Simple diff library in pure Swift +* [Brick](https://github.com/hyperoslo/Brick) - :droplet: A generic view model for both basic and complex scenarios +* [Algorithm](https://github.com/CosmicMind/Algorithm) - Algorithm is a collection of data structures that are empowered by a probability toolset. +* [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. +* [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript https://www.dollarswift.org/. +* [Result](https://github.com/antitypical/Result) - Swift type modeling the success/failure of arbitrary operations. * [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. * [Monaka](https://github.com/naru-jpn/Monaka) - Convert custom struct and fundamental values to NSData. -* [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. -* [SwiftGraph](https://github.com/davecom/SwiftGraph) - Graph data structure and utility functions in pure Swift. -* [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. -* [Pencil](https://github.com/naru-jpn/pencil) - Write values to file and read it more easily. -* [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. -* [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. -* [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! -* [Impeller](https://github.com/mentalfaculty/impeller) - A Distributed Value Store in Swift -* [Dispatch](https://github.com/alexdrone/Dispatch) - Multi-store Flux implementation in Swift -* [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift -* [BinaryKit](https://github.com/Cosmo/BinaryKit) - Access bits and bytes directly in Swift. +* [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. +* [SwiftGraph](https://github.com/davecom/SwiftGraph) - Graph data structure and utility functions in pure Swift. +* [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. +* [Pencil](https://github.com/naru-jpn/pencil) - Write values to file and read it more easily. +* [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. +* [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. +* [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! +* [Impeller](https://github.com/mentalfaculty/impeller) - A Distributed Value Store in Swift +* [Dispatch](https://github.com/alexdrone/Dispatch) - Multi-store Flux implementation in Swift +* [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift +* [BinaryKit](https://github.com/Cosmo/BinaryKit) - Access bits and bytes directly in Swift. * [Differ](https://github.com/tonyarnold/Differ) - Swift library to generate differences and patches between collections. -* [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. +* [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. * [RandMyMod](https://github.com/jamesdouble/RandMyMod) - RandMyMod base on your own struct or class create one or a set of randomized instance. * [KeyPathKit](https://github.com/vincent-pradeilles/KeyPathKit) - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths. ## Date & Time -* [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions in Swift -* [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 -* [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 +* [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions in Swift +* [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 +* [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 * [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C -* [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer -* [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift +* [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer +* [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift * [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. -* [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. -* [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift -* [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . -* [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. +* [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. +* [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift +* [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . +* [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. * [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. -* [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. -* [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. +* [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. +* [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. * [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. [e] -* [Chronology](https://github.com/davedelong/Chronology) - Building a better date/time library -* [Solar](https://github.com/ceeK/Solar) - A Swift micro library for generating Sunrise and Sunset times. +* [Chronology](https://github.com/davedelong/Chronology) - Building a better date/time library +* [Solar](https://github.com/ceeK/Solar) - A Swift micro library for generating Sunrise and Sunset times. * [TimePicker](https://github.com/Endore8/TimePicker) - Configurable time picker component based on a pan gesture and its velocity. -* [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift +* [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift ## Debugging -* [Xniffer](https://github.com/xmartlabs/Xniffer) - A swift network profiler built on top of URLSession. -* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! + +* [Xniffer](https://github.com/xmartlabs/Xniffer) - A swift network profiler built on top of URLSession. +* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! * [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. * [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. * [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. * [chisel](https://github.com/facebook/chisel) - Collection of LLDB commands to assist debugging iOS apps. * [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. -* [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. -* [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. +* [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. +* [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. * [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. * [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. * [Hyperion](https://github.com/willowtreeapps/Hyperion-iOS) - In-app design review tool to inspect measurements, attributes, and animations. @@ -582,229 +588,237 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window ## EventBus -* [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. +* [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. * [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and macOS. * [Bolts](https://github.com/BoltsFramework/Bolts-ObjC) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links). -* [SwiftTask](https://github.com/ReactKit/SwiftTask) - Promise + progress + pause + cancel + retry for Swift. -* [When](https://github.com/vadymmarkov/When) - A lightweight implementation of Promises in Swift. -* [then🎬](https://github.com/freshOS/then) - Elegant Async code in Swift. -* [Bolts-Swift](https://github.com/BoltsFramework/Bolts-Swift) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier. +* [SwiftTask](https://github.com/ReactKit/SwiftTask) - Promise + progress + pause + cancel + retry for Swift. +* [When](https://github.com/vadymmarkov/When) - A lightweight implementation of Promises in Swift. +* [then🎬](https://github.com/freshOS/then) - Elegant Async code in Swift. +* [Bolts-Swift](https://github.com/BoltsFramework/Bolts-Swift) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier. * [RWPromiseKit](https://github.com/deput/RWPromiseKit) - A light-weighted Promise library for Objective-C -* [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. -* [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety -* [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for iOS and macOS. +* [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. +* [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety +* [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for iOS and macOS. * [signals-ios](https://github.com/uber/signals-ios) - Typeful eventing -* [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. -* [NoticeObserveKit](https://github.com/marty-suzuki/NoticeObserveKit) - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. -* [Hydra](https://github.com/malcommac/Hydra) - Promises & Await - Write better async code in Swift -* [Promis](https://github.com/albertodebortoli/Promis) - The easiest Future and Promises framework in Swift. No magic. No boilerplate. -* [Bluebird.swift](https://github.com/AndrewBarba/Bluebird.swift) - Promise/A+, Bluebird inspired, implementation in Swift 4. -* [Promise](https://github.com/khanlou/Promise) - A Promise library for Swift, based partially on Javascript's A+ spec. +* [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. +* [NoticeObserveKit](https://github.com/marty-suzuki/NoticeObserveKit) - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. +* [Hydra](https://github.com/malcommac/Hydra) - Promises & Await - Write better async code in Swift +* [Promis](https://github.com/albertodebortoli/Promis) - The easiest Future and Promises framework in Swift. No magic. No boilerplate. +* [Bluebird.swift](https://github.com/AndrewBarba/Bluebird.swift) - Promise/A+, Bluebird inspired, implementation in Swift 4. +* [Promise](https://github.com/khanlou/Promise) - A Promise library for Swift, based partially on Javascript's A+ spec. * [promises](https://github.com/google/promises) - Google provides a synchronization construct for Objective-C and Swift to facilitate writing asynchronous code. * [Continuum](https://github.com/marty-suzuki/Continuum) - NotificationCenter based Lightweight UI / AnyObject binder. ## Files -* [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. -* [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. -* [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. -* [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices -* [FileProvider](https://github.com/amosavian/FileProvider) - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS. -* [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. +* [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. +* [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. +* [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. +* [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices +* [FileProvider](https://github.com/amosavian/FileProvider) - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS. +* [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. * [ZipArchive](https://github.com/ZipArchive/ZipArchive) - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac. -* [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. -* [ZIPFoundation](https://github.com/weichsel/ZIPFoundation) - Effortless ZIP Handling in Swift -* [AppFolder](https://github.com/dreymonde/AppFolder) - AppFolder is a lightweight framework that lets you design a friendly, strongly-typed representation of a directories inside your app's container. +* [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. +* [ZIPFoundation](https://github.com/weichsel/ZIPFoundation) - Effortless ZIP Handling in Swift +* [AppFolder](https://github.com/dreymonde/AppFolder) - AppFolder is a lightweight framework that lets you design a friendly, strongly-typed representation of a directories inside your app's container. * [ZipZap](https://github.com/pixelglow/ZipZap) - zip file I/O library for iOS, macOS and tvOS. ## Functional Programming -* [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. -* [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. -* [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. +* [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. +* [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. +* [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. * [Oriole](https://github.com/tptee/Oriole) - A functional utility belt implemented as Swift 2.0 protocol extensions. [e] -* [Prelude](https://github.com/robrix/Prelude) - Swift µframework of simple functional programming tools. -* [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. -* [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. +* [Prelude](https://github.com/robrix/Prelude) - Swift µframework of simple functional programming tools. +* [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. +* [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. * [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. [e] -* [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift -* [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. +* [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift +* [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. ## Games -* [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. -* [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. -* [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit -* [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit +* [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. +* [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. +* [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit +* [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit * [AssetImportKit](https://github.com/eugenebokhan/AssetImportKit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. ## GCD - * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. - * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch - * [SwiftSafe](https://github.com/nodes-ios/SwiftSafe) - Thread synchronization made easy + * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. + * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch + * [SwiftSafe](https://github.com/nodes-ios/SwiftSafe) - Thread synchronization made easy * [YYDispatchQueuePool](https://github.com/ibireme/YYDispatchQueuePool) - iOS utility class to manage global dispatch queue. - * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. - * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) + * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. + * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. - * [Dispatch](https://github.com/JARMourato/Dispatch) - Just a tiny library to make using GCD easier and intuitive - * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. - * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities - * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. - * [SwiftyTask](https://github.com/Albinzr/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. + * [Dispatch](https://github.com/JARMourato/Dispatch) - Just a tiny library to make using GCD easier and intuitive + * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. + * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities + * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. + * [SwiftyTask](https://github.com/Albinzr/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. ## Gesture -* [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS -* [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds -* [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] -* [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. -* [SplitViewDragAndDrop](https://github.com/MarioIannotta/SplitViewDragAndDrop) - Easily add drag and drop to pass data between your apps in split view mode. +* [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS +* [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds +* [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] +* [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. +* [SplitViewDragAndDrop](https://github.com/MarioIannotta/SplitViewDragAndDrop) - Easily add drag and drop to pass data between your apps in split view mode. * [FDFullscreenPopGesture](https://github.com/forkingdog/FDFullscreenPopGesture) - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP. ## Graphics -* [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! +* [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! * [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. * [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext -* [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! -* [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). -* [InkKit](https://github.com/shaps80/InkKit) - Write-Once, Draw-Everywhere for iOS and macOS -- Now in Swift! +* [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! +* [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). +* [InkKit](https://github.com/shaps80/InkKit) - Write-Once, Draw-Everywhere for iOS and macOS -- Now in Swift! * [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. -* [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone +* [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone * [jot](https://github.com/IFTTT/jot) - An iOS framework for easily adding drawings and text to images. * [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / macOS, using native rendering (CoreAnimation) (currently only supported for iOS - macOS code needs updating). -* [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. +* [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. * [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit -* [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX -* [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code -* [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. -* [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. -* [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. -* [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. -* [BlockiesSwift](https://github.com/Boilertalk/BlockiesSwift) - Unique blocky identicons/profile picture generator. +* [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX +* [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code +* [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. +* [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. +* [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. +* [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. +* [BlockiesSwift](https://github.com/Boilertalk/BlockiesSwift) - Unique blocky identicons/profile picture generator. * [Rough](https://github.com/bakhtiyork/Rough) - lets you draw in a sketchy, hand-drawn-like, style. * [GraphLayout](https://github.com/bakhtiyork/GraphLayout) - UI controls for graph visualization. It is powered by Graphviz. ## Hardware -#### Bluetooth + +### Bluetooth + * [Discovery](https://github.com/omergul/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). * [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. -* [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. -* [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/macOS devices using BLE. -* [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift -* [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework -* [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. -* [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U -* [Bluejay](https://github.com/steamclock/bluejay) - A simple Swift framework for building reliable Bluetooth LE apps. +* [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. +* [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/macOS devices using BLE. +* [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift +* [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework +* [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. +* [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U +* [Bluejay](https://github.com/steamclock/bluejay) - A simple Swift framework for building reliable Bluetooth LE apps. * [BabyBluetooth](https://github.com/coolnameismy/BabyBluetooth) - The easiest way to use Bluetooth (BLE) in iOS/MacOS. * [ExtendaBLE](https://github.com/AntonTheDev/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](https://github.com/rchatham/PeerConnectivity) - Functional wrapper for Apple's MultipeerConnectivity framework. * [AZPeerToPeerConnection](https://github.com/AfrozZaheer/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. -#### Camera +### Camera + * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. * [PBJVision](https://github.com/piemonte/PBJVision) - iOS camera engine, features touch-to-record video, slow motion video, and photo capture. * [Cool-iOS-Camera](https://github.com/GabrielAlva/Cool-iOS-Camera) - A fully customisable and modern camera implementation for iOS made with AVFoundation. * [SCRecorder](https://github.com/rFlex/SCRecorder) - Camera engine with Vine-like tap to record, animatable filters, slow motion, segments editing. -* [ALCameraViewController](https://github.com/AlexLittlejohn/ALCameraViewController) - A camera view controller with custom image picker and image cropping. Written in Swift. -* [ImagePicker](https://github.com/hyperoslo/ImagePicker) - Reinventing the way ImagePicker works. -* [CameraManager](https://github.com/imaginary-cloud/CameraManager) - Simple Swift class to provide all the configurations you need to create custom camera view in your app. -* [RSBarcodes_Swift](https://github.com/yeahdongcn/RSBarcodes_Swift) - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. +* [ALCameraViewController](https://github.com/AlexLittlejohn/ALCameraViewController) - A camera view controller with custom image picker and image cropping. Written in Swift. +* [ImagePicker](https://github.com/hyperoslo/ImagePicker) - Reinventing the way ImagePicker works. +* [CameraManager](https://github.com/imaginary-cloud/CameraManager) - Simple Swift class to provide all the configurations you need to create custom camera view in your app. +* [RSBarcodes_Swift](https://github.com/yeahdongcn/RSBarcodes_Swift) - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. * [LLSimpleCamera](https://github.com/omergul/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. -* [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. -* [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. +* [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. +* [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. * [JVTImageFilePicker](https://github.com/mcmatan/JVTImageFilePicker) - Easy and beautiful way for a user to pick content, files or images. Written in Objective C. * [HorizonSDK-iOS](https://github.com/HorizonCamera/HorizonSDK-iOS) - State of the art real-time video recording / photo shooting iOS library. * [FastttCamera](https://github.com/IFTTT/FastttCamera) - Fasttt and easy camera framework for iOS with customizable filters -* [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. -* [NextLevel](https://github.com/NextLevel/NextLevel) - Next Level is a media capture camera library for iOS. -* [CameraEngine](https://github.com/remirobert/CameraEngine) - 🐒📷 Camera engine for iOS, written in Swift, above AVFoundation. 🐒 -* [SwiftyCam](https://github.com/Awalz/SwiftyCam) - A Snapchat Inspired iOS Camera Framework written in Swift. -* [CameraBackground](https://github.com/yonat/CameraBackground) - Show camera layer as a background to any UIView. +* [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. +* [NextLevel](https://github.com/NextLevel/NextLevel) - Next Level is a media capture camera library for iOS. +* [CameraEngine](https://github.com/remirobert/CameraEngine) - 🐒📷 Camera engine for iOS, written in Swift, above AVFoundation. 🐒 +* [SwiftyCam](https://github.com/Awalz/SwiftyCam) - A Snapchat Inspired iOS Camera Framework written in Swift. +* [CameraBackground](https://github.com/yonat/CameraBackground) - Show camera layer as a background to any UIView. * [Lumina](https://github.com/dokun1/Lumina) - Full service camera that takes photos, videos, streams frames, detects metadata, and streams CoreML predictions :largeorangediamond: * [RAImagePicker](https://github.com/rallahaseh/RAImagePicker) - RAImagePicker is a protocol-oriented framework that provides custom features from the built-in Image Picker Edit. -* [FDTake](https://github.com/fulldecent/FDTake) - Easily take a photo or video or choose from library. +* [FDTake](https://github.com/fulldecent/FDTake) - Easily take a photo or video or choose from library. * [YPImagePicker](https://github.com/Yummypets/YPImagePicker) - Instagram-like image picker & filters for iOS -#### Force Touch -* [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) -* [JustPeek](https://github.com/justeat/JustPeek) - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. -* [PeekView](https://github.com/itsmeichigo/PeekView) - PeekView supports peek, pop and preview actions for iOS devices without 3D Touch capibility. +### Force Touch + +* [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) +* [JustPeek](https://github.com/justeat/JustPeek) - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. +* [PeekView](https://github.com/itsmeichigo/PeekView) - PeekView supports peek, pop and preview actions for iOS devices without 3D Touch capibility. + +### iBeacon -#### iBeacon * [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. * [OWUProximityManager](https://github.com/ohayon/OWUProximityManager) - iBeacons + CoreBluetooth. * [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy Bluetooth devices in the background. * [BeaconEmitter](https://github.com/lgaches/BeaconEmitter) - Turn your Mac as an iBeacon. * [MOCA Proximity](https://mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. -* [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. +* [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. + +### Location -#### Location * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. * [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. -* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift +* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift * [SOMotionDetector](https://github.com/arturdev/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. -* [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app +* [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app * [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. -* [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. +* [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. + +### Other Hardware -#### Other Hardware * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. * [DarkLightning](https://github.com/jensmeder/DarkLightning) - Simply the fastest way to transmit data between iOS/tvOS and macOS. -* [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) -* [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. -* [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. -* [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. -* [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. +* [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) +* [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. +* [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. +* [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. +* [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. * [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. ⌚️ -* [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. -* [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. -* [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. +* [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. +* [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. +* [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. * [Device.swift](https://github.com/schickling/Device.swift) - Super-lightweight library to detect used device. -* [SDVersion](https://github.com/sebyddd/SDVersion) - :iphone: Lightweight Cocoa library for detecting the running device's model and screen size. +* [SDVersion](https://github.com/sebyddd/SDVersion) - :iphone: Lightweight Cocoa library for detecting the running device's model and screen size. ## Layout -* [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift + +* [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift * [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. * [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. * [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. * [PureLayout](https://github.com/PureLayout/PureLayout) - The ultimate API for iOS & macOS Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible. -* [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & macOS. -* [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :iphone::triangular_ruler: -* [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. -* [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. -* [MisterFusion](https://github.com/marty-suzuki/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. -* [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. +* [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & macOS. +* [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :iphone::triangular_ruler: +* [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. +* [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. +* [MisterFusion](https://github.com/marty-suzuki/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. +* [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. * [ManualLayout](https://github.com/isair/ManualLayout) - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit. [e] -* [Stevia](https://github.com/freshOS/Stevia) - Elegant view layout for iOS. -* [Manuscript](https://github.com/floriankrueger/Manuscript) - AutoLayoutKit in pure Swift. +* [Stevia](https://github.com/freshOS/Stevia) - Elegant view layout for iOS. +* [Manuscript](https://github.com/floriankrueger/Manuscript) - AutoLayoutKit in pure Swift. * [FDTemplateLayoutCell](https://github.com/forkingdog/UITableView-FDTemplateLayoutCell) - Template auto layout cell for automatically UITableViewCell height calculating -* [SwiftAutoLayout](https://github.com/indragiek/SwiftAutoLayout) - Tiny Swift DSL for Autolayout -* [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. -* [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift -* [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy -* [SwiftBond](https://github.com/DeclarativeHub/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. -* [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift -* [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - Auto Layout made easy -* [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! -* [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. -* [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS. +* [SwiftAutoLayout](https://github.com/indragiek/SwiftAutoLayout) - Tiny Swift DSL for Autolayout +* [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. +* [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift +* [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy +* [SwiftBond](https://github.com/DeclarativeHub/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. +* [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift +* [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - Auto Layout made easy +* [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! +* [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. +* [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS. * [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications -* [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally -* [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. -* [Compose](https://github.com/GrupoZapVivaReal/Compose) - Compose is a library that helps you compose complex and dynamic views. -* [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. -* [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. -* [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. +* [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally +* [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. +* [Compose](https://github.com/GrupoZapVivaReal/Compose) - Compose is a library that helps you compose complex and dynamic views. +* [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. +* [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. +* [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. * [MyLinearLayout](https://github.com/youngsoft/MyLinearLayout) - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. -* [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. -* [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+ -* [PinLayout](https://github.com/mirego/PinLayout) - Extremely Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. +* [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. +* [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+ +* [PinLayout](https://github.com/mirego/PinLayout) - Extremely Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. * [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. [e] -* [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. -* [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. -* [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. -* [FlexLayout](https://github.com/layoutBox/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. -* [Layout](https://github.com/schibsted/layout) - A declarative UI framework for iOS -* [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. +* [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. +* [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. +* [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. +* [FlexLayout](https://github.com/layoutBox/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. +* [Layout](https://github.com/schibsted/layout) - A declarative UI framework for iOS +* [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. * [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. * [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. -* [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. +* [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. * [Layoutless](https://github.com/DeclarativeHub/Layoutless) - Minimalistic declarative layout and styling framework built on top of Auto Layout. * [Yalta](https://github.com/kean/Yalta) - An intuitive and powerful Auto Layout library. * [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. @@ -815,277 +829,284 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Tools to manage strings files, translate and enable localization in your apps.* * [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. -* [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. +* [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. * [Rubustrings](https://github.com/dcordero/Rubustrings) - Check the format and consistency of Localizable.strings files -* [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) - Incrementally update/translate your Strings files from Code and Storyboards/XIBs. +* [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) - Incrementally update/translate your Strings files from Code and Storyboards/XIBs. * [LocalizationKit](https://github.com/willpowell8/LocalizationKit_iOS) - Localization management in realtime from a web portal. Easily manage your texts and translations without redeploy and resubmission. -* [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching +* [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching * [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. * [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. * [lokalise](https://lokalise.co/en ) - Translation platform for software developers. Free for open source projects * [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. -* [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable +* [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable * [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings -* [L10n-swift](https://github.com/Decybel07/L10n-swift) - Localization of an application with ability to change language "on the fly" and support for plural forms in any language. +* [L10n-swift](https://github.com/Decybel07/L10n-swift) - Localization of an application with ability to change language "on the fly" and support for plural forms in any language. * [Localize](https://github.com/andresilvagomez/Localize) - Easy tool to localize apps using JSON or Strings and of course IBDesignables with extensions for UI components. ## Logging -* [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. + +* [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. * [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. * [NSLogger](https://github.com/fpillet/NSLogger) - a high performance logging utility which displays traces emitted by client applications running on macOS, iOS and Android. -* [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. -* [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. -* [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. -* [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development & release in Swift 2 & 3 -* [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. -* [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread -* [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. +* [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. +* [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. +* [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. +* [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development & release in Swift 2 & 3 +* [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. +* [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread +* [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. * [puree](https://github.com/cookpad/puree-ios) - A log collector for iOS * [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! [e] -* [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. -* [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. -* [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. -* [Evergreen](https://github.com/nilsleiffischer/Evergreen) - Most natural Swift logging -* [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations -* [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. +* [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. +* [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. +* [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. +* [Evergreen](https://github.com/nilsleiffischer/Evergreen) - Most natural Swift logging +* [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations +* [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. * [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. * [LxDBAnything](https://github.com/DeveloperLx/LxDBAnything) - Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! * [XLTestLog](https://github.com/xareelee/XLTestLog) - Styling and coloring your XCTest logs on Xcode Console * [XLFacility](https://github.com/swisspol/XLFacility) - Elegant and extensive logging facility for macOS & iOS (includes database, Telnet and HTTP servers) -* [Atlantis](https://github.com/DrewKiino/Atlantis) - A powerful input-agnostic swift logging framework made to speed up development with maximum readability. +* [Atlantis](https://github.com/DrewKiino/Atlantis) - A powerful input-agnostic swift logging framework made to speed up development with maximum readability. * [StoryTeller](https://github.com/drekka/StoryTeller) - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important. * [LumberMill](https://github.com/ubclaunchpad/LumberMill) - Stupidly simple logging for iOS 10 and Swift 3.0 -* [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. Written in Swift 3. -* [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger for iOS, macOS, tvOS, watchOS and Linux with Swift 3. -* [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. +* [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. Written in Swift 3. +* [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger for iOS, macOS, tvOS, watchOS and Linux with Swift 3. +* [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. * [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. -* [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support +* [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support ## Machine Learning -* [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. -* [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. + +* [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. +* [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. * [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios) - The official Google-built powerful neural network library port for iOS. * [Bender](https://github.com/xmartlabs/Bender) - Easily craft fast Neural Networks. Use TensorFlow models. Metal under the hood. * [Caffe2](https://github.com/caffe2/caffe2) - Lightweight, modular, and scalable deep learning framework. -* [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. -* [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. +* [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. +* [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. * [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of unique Core ML Models. -* [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. -* [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. -* [TensorSwift](https://github.com/qoncept/TensorSwift) - A lightweight library to calculate tensors in Swift, which has similar APIs to TensorFlow's. +* [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. +* [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. +* [TensorSwift](https://github.com/qoncept/TensorSwift) - A lightweight library to calculate tensors in Swift, which has similar APIs to TensorFlow's. ## Maps + * [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. * [NAMapKit](https://github.com/neilang/NAMapKit) - Allows you to use custom maps in iPhone applications and attempts to mimics some of the behaviour of the MapKit framework. * [Mapbox GL](https://github.com/mapbox/mapbox-gl-native) - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS. * [CMMapLauncher](https://github.com/citymapper/CMMapLauncher) - iOS library that makes it quick and easy to show directions in various mapping applications. -* [GEOSwift](https://github.com/GEOSwift/GEOSwift) - The Swift Geographic Engine. -* [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift -* [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. -* [JDSwiftHeatMap](https://github.com/jamesdouble/JDSwiftHeatMap) - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. +* [GEOSwift](https://github.com/GEOSwift/GEOSwift) - The Swift Geographic Engine. +* [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift +* [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. +* [JDSwiftHeatMap](https://github.com/jamesdouble/JDSwiftHeatMap) - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. * [ClusterKit](https://github.com/hulab/ClusterKit) - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. * [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities. * [MapViewPlus](https://github.com/okhanokbay/MapViewPlus) - Use any custom view as custom callout view of your MKMapView with cool animations. Also, easily use any image as annotation view. ## Math -* [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation -* [SwiftMath](https://github.com/madbat/SwiftMath) - :triangular_ruler: A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. -* [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations -* [Surge](https://github.com/mattt/Surge) - A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation. -* [Upsurge](https://github.com/alejandro-isaza/Upsurge) - Swift math -* [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. + +* [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation +* [SwiftMath](https://github.com/madbat/SwiftMath) - :triangular_ruler: A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. +* [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations +* [Surge](https://github.com/mattt/Surge) - A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation. +* [Upsurge](https://github.com/alejandro-isaza/Upsurge) - Swift math +* [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. * [iosMath](https://github.com/kostub/iosMath) - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS. -* [swift-pons](https://github.com/dankogai/swift2-pons) - Protocol-Oriented Number System in Pure Swift -* [BigInt](https://github.com/attaswift/BigInt) - Arbitrary-precision arithmetic in pure Swift -* [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. -* [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics -* [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime -* [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. -* [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library with generic integer algorithms, complex numbers, rational numbers, and pseudorandom number generators (written in, and for, Swift 4) -* [EasyRoot](https://github.com/aaronjsutton/EasyRoot) - A framework to simplify radical expressions +* [swift-pons](https://github.com/dankogai/swift2-pons) - Protocol-Oriented Number System in Pure Swift +* [BigInt](https://github.com/attaswift/BigInt) - Arbitrary-precision arithmetic in pure Swift +* [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. +* [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics +* [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime +* [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. +* [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library with generic integer algorithms, complex numbers, rational numbers, and pseudorandom number generators (written in, and for, Swift 4) +* [EasyRoot](https://github.com/aaronjsutton/EasyRoot) - A framework to simplify radical expressions * [SwiftSimplify](https://github.com/malcommac/SwiftSimplify) - Tiny high-performance Swift Polyline Simplification Library. ## Media -#### Audio + +### Audio + * [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing. -* [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. +* [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. * [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/macOS audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. * [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and macOS. * [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). -* [Cephalopod](https://github.com/evgenyneu/Cephalopod) - A sound fader for AVAudioPlayer written in Swift. -* [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! -* [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. -* [AudioPlayerSwift]( https://github.com/tbaranes/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps. -* [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). -* [TuningFork](https://github.com/comyar/TuningFork) - :musical_keyboard: Simple Tuner for iOS -* [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift -* [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. +* [Cephalopod](https://github.com/evgenyneu/Cephalopod) - A sound fader for AVAudioPlayer written in Swift. +* [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! +* [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. +* [AudioPlayerSwift]( https://github.com/tbaranes/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps. +* [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). +* [TuningFork](https://github.com/comyar/TuningFork) - :musical_keyboard: Simple Tuner for iOS +* [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift +* [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. * [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/macOS DSP for audio (with Novocaine) * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. * [IQAudioRecorderController](https://github.com/hackiftekhar/IQAudioRecorderController) - A drop-in universal library allows to record audio within the app with a nice User Interface. * [TheAmazingAudioEngine2](https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine2) - The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to. -* [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view -* [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift +* [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view +* [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift * [QuietModemKit](https://github.com/quiet/QuietModemKit) - iOS framework for the Quiet Modem (data over sound) -* [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. CocoaPods and Carthage compatible. -* [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. -* [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit and completely written in Swift +* [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. CocoaPods and Carthage compatible. +* [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. +* [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit and completely written in Swift * [SonogramView](https://github.com/Luccifer/SonogramView) - Audio visualisation of song -* [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. +* [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. + +### GIF -#### GIF * [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. * [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage) - Performant animated GIF engine for iOS -* [gifu](https://github.com/kaishin/gifu) - Highly performant animated GIF support for iOS in Swift +* [gifu](https://github.com/kaishin/gifu) - Highly performant animated GIF support for iOS in Swift * [AnimatedGIFImageSerialization](https://github.com/mattt/AnimatedGIFImageSerialization) - Complete Animated GIF Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling -* [XAnimatedImage](https://github.com/khaledmtaha/XAnimatedImage) - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage -* [SwiftGif](https://github.com/swiftgif/SwiftGif) - :sparkles: A small UIImage extension with gif support -* [APNGKit](https://github.com/onevcat/APNGKit) - High performance and delightful way to play with APNG format in iOS. +* [XAnimatedImage](https://github.com/khaledmtaha/XAnimatedImage) - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage +* [SwiftGif](https://github.com/swiftgif/SwiftGif) - :sparkles: A small UIImage extension with gif support +* [APNGKit](https://github.com/onevcat/APNGKit) - High performance and delightful way to play with APNG format in iOS. * [YYImage](https://github.com/ibireme/YYImage) - Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more. * [AImage](https://github.com/wangjwchn/AImage) - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case. * [NSGIF2](https://github.com/metasmile/NSGIF2) - Simplify creation of a GIF from the provided video file url. -* [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine +* [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine -#### Image +### Image * [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. * [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - iOS UIImage processing functions using the vDSP/Accelerate framework for speed. * [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. * [SDWebImage](https://github.com/rs/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. * [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. -* [MapleBacon](https://github.com/JanGorman/MapleBacon) - An image download and caching library for iOS written in Swift. +* [MapleBacon](https://github.com/JanGorman/MapleBacon) - An image download and caching library for iOS written in Swift. * [NYTPhotoViewer](https://github.com/NYTimes/NYTPhotoViewer) - Slideshow and image viewer. * [IDMPhotoBrowser](https://github.com/thiagoperes/IDMPhotoBrowser) - Photo Browser / Viewer. * [Concorde](https://github.com/contentful-labs/Concorde/) - Download and decode progressive JPEGs. * [TOCropViewController](https://github.com/TimOliver/TOCropViewController) - A view controller that allows users to crop UIImage objects. * [YXTMotionView](https://github.com/hanton/YXTMotionView) - A custom image view that implements device motion scrolling. * [PINRemoteImage](https://github.com/pinterest/PINRemoteImage) - A thread safe, performant, feature rich image fetcher. -* [SABlurImageView](https://github.com/marty-suzuki/SABlurImageView) - Easily Adding Animated Blur/Unblur Effects To An Image. +* [SABlurImageView](https://github.com/marty-suzuki/SABlurImageView) - Easily Adding Animated Blur/Unblur Effects To An Image. * [FastImageCache](https://github.com/path/FastImageCache) - iOS library for quickly displaying images while scrolling. * [BKAsciiImage](https://github.com/bkoc/BKAsciiImage) - Convert UIImage to ASCII art -* [AlamofireImage](https://github.com/Alamofire/AlamofireImage) - An image component library for Alamofire. -* [Nuke](https://github.com/kean/Nuke) - Image loading, processing, caching and preheating -* [FlagKit](https://github.com/madebybowtie/FlagKit) - Beautiful flag icons for usage in apps and on the web. +* [AlamofireImage](https://github.com/Alamofire/AlamofireImage) - An image component library for Alamofire. +* [Nuke](https://github.com/kean/Nuke) - Image loading, processing, caching and preheating +* [FlagKit](https://github.com/madebybowtie/FlagKit) - Beautiful flag icons for usage in apps and on the web. * [YYWebImage](https://github.com/ibireme/YYWebImage) - Asynchronous image loading framework (supports WebP, APNG, GIF). * [RSKImageCropper](https://github.com/ruslanskorb/RSKImageCropper) - An image cropper for iOS like in the Contacts app with support for landscape orientation. -* [Silo](https://github.com/josejuanqm/Silo) - Image loading framework with loaders. -* [Ody](https://github.com/josejuanqm/Ody) - Ody is an easy to use random image generator built with Swift, Perfect for placeholders. -* [Banana](https://github.com/gauravkatoch007/banana) - Image slider with very simple interface. -* [JDSwiftAvatarProgress](https://github.com/JellyDevelopment/JDSwiftAvatarProgress) - Easy customizable avatar image asynchronously with progress bar animated -* [Kingfisher](https://github.com/onevcat/Kingfisher) - A lightweight and pure Swift implemented library for downloading and caching image from the web. +* [Silo](https://github.com/josejuanqm/Silo) - Image loading framework with loaders. +* [Ody](https://github.com/josejuanqm/Ody) - Ody is an easy to use random image generator built with Swift, Perfect for placeholders. +* [Banana](https://github.com/gauravkatoch007/banana) - Image slider with very simple interface. +* [JDSwiftAvatarProgress](https://github.com/JellyDevelopment/JDSwiftAvatarProgress) - Easy customizable avatar image asynchronously with progress bar animated +* [Kingfisher](https://github.com/onevcat/Kingfisher) - A lightweight and pure Swift implemented library for downloading and caching image from the web. * [EBPhotoPages](https://github.com/EddyBorja/EBPhotoPages) - A photo gallery for iOS with a modern feature set. Similar features as the Facebook photo browser. -* [UIImageView-BetterFace-Swift](https://github.com/croath/UIImageView-BetterFace-Swift) - The Swift version of https://github.com/croath/UIImageView-BetterFace -* [KFSwiftImageLoader](https://github.com/kiavashfaisali/KFSwiftImageLoader) - An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and  Watch. -* [Toucan](https://github.com/gavinbunney/Toucan) - Fabulous Image Processing in Swift -* [ImageLoaderSwift](https://github.com/hirohisa/ImageLoaderSwift) - A lightweight and fast image loader for iOS written in Swift. -* [ImageScout](https://github.com/kaishin/ImageScout) - A Swift implementation of fastimage. Supports PNG, GIF, and JPEG. -* [JLStickerTextView](https://github.com/luiyezheng/JLStickerTextView) - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image. -* [Agrume](https://github.com/JanGorman/Agrume) - A lemony fresh iOS image viewer written in Swift. -* [PASImageView](https://github.com/abiaad/PASImageView) - Rounded async imageview downloader lightly cached and written in Swift -* [Navi](https://github.com/nixzhu/Navi) - Focus on avatar caching. -* [SwiftPhotoGallery](https://github.com/Inspirato/SwiftPhotoGallery) - Simple, fullscreen image gallery with tap, swipe, and pinch gestures. +* [UIImageView-BetterFace-Swift](https://github.com/croath/UIImageView-BetterFace-Swift) - The Swift version of https://github.com/croath/UIImageView-BetterFace +* [KFSwiftImageLoader](https://github.com/kiavashfaisali/KFSwiftImageLoader) - An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and  Watch. +* [Toucan](https://github.com/gavinbunney/Toucan) - Fabulous Image Processing in Swift +* [ImageLoaderSwift](https://github.com/hirohisa/ImageLoaderSwift) - A lightweight and fast image loader for iOS written in Swift. +* [ImageScout](https://github.com/kaishin/ImageScout) - A Swift implementation of fastimage. Supports PNG, GIF, and JPEG. +* [JLStickerTextView](https://github.com/luiyezheng/JLStickerTextView) - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image. +* [Agrume](https://github.com/JanGorman/Agrume) - A lemony fresh iOS image viewer written in Swift. +* [PASImageView](https://github.com/abiaad/PASImageView) - Rounded async imageview downloader lightly cached and written in Swift +* [Navi](https://github.com/nixzhu/Navi) - Focus on avatar caching. +* [SwiftPhotoGallery](https://github.com/Inspirato/SwiftPhotoGallery) - Simple, fullscreen image gallery with tap, swipe, and pinch gestures. * [MetalAcc](https://github.com/wangjwchn/MetalAcc) - GPU-based Media processing library using Metal written in Swift. * [MWPhotoBrowser](https://github.com/mwaterfall/MWPhotoBrowser) - A simple iOS photo and video browser with grid view, captions and selections. * [UIImageColors](https://github.com/jathu/UIImageColors) - iTunes style color fetcher for UIImage. [e] * [CDFlipView](https://github.com/jibeex/CDFlipView) - A view that takes a set of images, make transition from one to another by using flipping effects. -* [GPUImage2](https://github.com/BradLarson/GPUImage2) - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. -* [TGLParallaxCarousel](https://github.com/taglia3/TGLParallaxCarousel) - A lightweight 3D Linear Carousel with parallax effect +* [GPUImage2](https://github.com/BradLarson/GPUImage2) - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. +* [TGLParallaxCarousel](https://github.com/taglia3/TGLParallaxCarousel) - A lightweight 3D Linear Carousel with parallax effect * [ImageButter](https://github.com/dollarshaveclub/ImageButter) - Makes dealing with images buttery smooth -* [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by Facebook, Twitter photo browsers written by swift +* [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by Facebook, Twitter photo browsers written by swift * [YUCIHighPassSkinSmoothing](https://github.com/YuAo/YUCIHighPassSkinSmoothing) - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework -* [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up -* [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition! +* [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up +* [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition! * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. [e] -* [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. -* [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter -* [FaceAware](https://github.com/BeauNouvelle/FaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. +* [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. +* [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter +* [FaceAware](https://github.com/BeauNouvelle/FaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. * [SwiftyAvatar](https://github.com/dkalaitzidis/SwiftyAvatar) - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard -* [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters -* [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. -* [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. -* [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. -* [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. -* [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. -* [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. -* [FacebookImagePicker](https://github.com/floriangbh/FacebookImagePicker) - Facebook album photo picker written in Swift. -* [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. -* [AvatarImageView](https://github.com/ayushn21/AvatarImageView) - AvatarImageView is a UIImageView subclass designed to show a user's profile picture, falling back to their initials when a picture is unavailable. +* [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters +* [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. +* [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. +* [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. +* [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. +* [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. +* [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. +* [FacebookImagePicker](https://github.com/floriangbh/FacebookImagePicker) - Facebook album photo picker written in Swift. +* [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. +* [AvatarImageView](https://github.com/ayushn21/AvatarImageView) - AvatarImageView is a UIImageView subclass designed to show a user's profile picture, falling back to their initials when a picture is unavailable. * [Ebblink](https://github.com/ebbapp/ebblinkSDK) - An iOS SDK for sharing photos that automatically expire and can be deleted at any time. -* [Sharaku](https://github.com/makomori/Sharaku) - Instagram-like image filter ViewController. -* [CTPanoramaView](https://github.com/scihant/CTPanoramaView) - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options. +* [Sharaku](https://github.com/makomori/Sharaku) - Instagram-like image filter ViewController. +* [CTPanoramaView](https://github.com/scihant/CTPanoramaView) - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options. * [Twitter Image Pipline](https://github.com/twitter/ios-twitter-image-pipeline) - streamlined framework for fetching and storing images in an application. -* [TinyCrayon](https://github.com/TinyCrayon/TinyCrayon-iOS-SDK) - A smart and easy-to-use image masking and cutout SDK for mobile apps. -* [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! -* [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. -* [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. -* [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. -* [SimpleImageViewer](https://github.com/aFrogleap/SimpleImageViewer) - A snappy image viewer with zoom and interactive dismissal transition. -* [AZImagePreview](https://github.com/Minitour/AZImagePreview) - A framework that makes image viewing easy. -* [FaceCropper](https://github.com/KimDarren/FaceCropper) - Crop faces, inside of your image, with iOS 11 Vision api -* [Paparazzo](https://github.com/avito-tech/Paparazzo) - Custom iOS camera and photo picker with editing capabilities -* [ZImageCropper](https://github.com/ZaidPathan/ZImageCropper) - A Swift project to crop image in any shape. -* [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. -* [DTPhotoViewerController](https://github.com/tungvoduc/DTPhotoViewerController) - A fully customizable photo viewer ViewController, inspired by Facebook photo viewer. -* [LetterAvatarKit](https://github.com/vpeschenkov/LetterAvatarKit) - A UIImage extension that generates letter-based avatars written in Swift. -* [AXPhotoViewer](https://github.com/alexhillc/AXPhotoViewer) - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos -* [TJProfileImage](https://github.com/tejas-ardeshna/TJProfileImage) - Live rendering of componet’s properties in Interface Builder. -* [Viewer](https://github.com/bakkenbaeck/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images -* [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. -* [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below +* [TinyCrayon](https://github.com/TinyCrayon/TinyCrayon-iOS-SDK) - A smart and easy-to-use image masking and cutout SDK for mobile apps. +* [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! +* [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. +* [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. +* [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. +* [SimpleImageViewer](https://github.com/aFrogleap/SimpleImageViewer) - A snappy image viewer with zoom and interactive dismissal transition. +* [AZImagePreview](https://github.com/Minitour/AZImagePreview) - A framework that makes image viewing easy. +* [FaceCropper](https://github.com/KimDarren/FaceCropper) - Crop faces, inside of your image, with iOS 11 Vision api +* [Paparazzo](https://github.com/avito-tech/Paparazzo) - Custom iOS camera and photo picker with editing capabilities +* [ZImageCropper](https://github.com/ZaidPathan/ZImageCropper) - A Swift project to crop image in any shape. +* [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. +* [DTPhotoViewerController](https://github.com/tungvoduc/DTPhotoViewerController) - A fully customizable photo viewer ViewController, inspired by Facebook photo viewer. +* [LetterAvatarKit](https://github.com/vpeschenkov/LetterAvatarKit) - A UIImage extension that generates letter-based avatars written in Swift. +* [AXPhotoViewer](https://github.com/alexhillc/AXPhotoViewer) - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos +* [TJProfileImage](https://github.com/tejas-ardeshna/TJProfileImage) - Live rendering of componet’s properties in Interface Builder. +* [Viewer](https://github.com/bakkenbaeck/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images +* [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. +* [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below * [MetalPetal](https://github.com/MetalPetal/MetalPetal) - A GPU-accelerated image/video processing framework based on [Metal](https://developer.apple.com/metal/). -* [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. -* [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. +* [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. +* [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. * [Serrata](https://github.com/horitaku46/Serrata) - Slide image viewer library similar to Twitter and LINE. -* [StyleArt](https://github.com/ileafsolutions/StyleArt) - Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style. +* [StyleArt](https://github.com/ileafsolutions/StyleArt) - Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style. * [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS * [ImageDetect](https://github.com/Feghal/ImageDetect) - Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api. -#### Media Processing -* [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift +### Media Processing +* [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift * [QR Code Scanner](https://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. -* [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. -* [EFQRCode](https://github.com/EyreFree/EFQRCode) - A better way to operate two-dimensional code in Swift. +* [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. +* [EFQRCode](https://github.com/EyreFree/EFQRCode) - A better way to operate two-dimensional code in Swift. -#### PDF +### PDF * [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. * [UIView 2 PDF](https://github.com/RobertAPhillips/UIView_2_PDF) - PDF generator using UIViews or UIViews with an associated XIB -* [FolioReaderKit](https://github.com/FolioReader/FolioReaderKit) - A Swift ePub reader and parser framework for iOS. -* [PDFGenerator](https://github.com/sgr-ksmt/PDFGenerator) - A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s). -* [SimplePDF](https://github.com/nRewik/SimplePDF) - Create a simple PDF effortlessly. -* [SwiftPDFGenerator](https://github.com/kayoslab/SwiftPDFGenerator) - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'. +* [FolioReaderKit](https://github.com/FolioReader/FolioReaderKit) - A Swift ePub reader and parser framework for iOS. +* [PDFGenerator](https://github.com/sgr-ksmt/PDFGenerator) - A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s). +* [SimplePDF](https://github.com/nRewik/SimplePDF) - Create a simple PDF effortlessly. +* [SwiftPDFGenerator](https://github.com/kayoslab/SwiftPDFGenerator) - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'. * [PSPDFKit](https://pspdfkit.com/) - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. -* [TPPDF](https://github.com/Techprimate/TPPDF) - Generate PDF using commands and automatic layout. +* [TPPDF](https://github.com/Techprimate/TPPDF) - Generate PDF using commands and automatic layout. * [FastPdfKit](https://github.com/mobfarm/FastPdfKit) - A Static Library to be embedded on iOS applications to display pdf documents derived from Fast PDF. -#### Streaming -* [HaishinKit.swift](https://github.com/shogo4405/HaishinKit.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. +### Streaming +* [HaishinKit.swift](https://github.com/shogo4405/HaishinKit.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. * [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for macOS and iOS. -* [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. +* [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. * [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate * [Airstream](https://github.com/qasim/Airstream) - A framework for streaming audio between Apple devices using AirPlay. * [OTAcceleratorCore](https://github.com/opentok/accelerator-core-ios) - A painless way to integrate audio/video(screen sharing) to any iOS applications via Tokbox. -* [webrtc](https://webrtc.org/native-code/ios/) - Provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. +* [webrtc](https://webrtc.org/native-code/ios/) - Provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. -#### Video +### Video * [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. * [MobilePlayer](https://github.com/mobileplayer/mobileplayer-ios) - A powerful and completely customizable media player for iOS. * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS * [AVAnimator](http://www.modejong.com/AVAnimator/) - An open source iOS native library that makes it easy to implement non-trivial video/audio enabled apps. -* [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control +* [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control * [MHVideoPhotoGallery](https://github.com/mariohahn/MHVideoPhotoGallery) - A Photo and Video Gallery -* [PlayerView](https://github.com/davidlondono/PlayerView) - Player View is a delegated view using AVPlayer of Swift +* [PlayerView](https://github.com/davidlondono/PlayerView) - Player View is a delegated view using AVPlayer of Swift * [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. * [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. [e] * [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. [e] * [ZFPlayer](https://github.com/renzifeng/ZFPlayer) - Based on AVPlayer, support for the horizontal screen, vertical screen (full screen playback can also lock the screen direction), the upper and lower slide to adjust the volume, the screen brightness, or so slide to adjust the playback progress. -* [Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media in your iOS or tvOS app -* [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. -* [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. +* [Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media in your iOS or tvOS app +* [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. +* [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. * [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. * [swift-360-videos](https://github.com/gsabran/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. * [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. -* [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. -* [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. -* [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. +* [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. +* [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. +* [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. * [Swift-YouTube-Player](https://github.com/gilesvangruisen/Swift-YouTube-Player) - Swift library for embedding and controlling YouTube videos in your iOS applications! * [JDVideoKit](https://github.com/jamesdouble/JDVideoKit) - You can easily transfer your video into Three common video type via this framework. @@ -1097,18 +1118,18 @@ Also see [push notifications](#push-notifications) * [Twilio](https://www.twilio.com/) - Power modern communications. Build the next generation of voice and SMS applications. * [Plivo](https://www.plivo.com/) - SMS API, Voice API, & Global Carrier Provider. * [XMPPFramework](https://github.com/robbiehanson/XMPPFramework) - An XMPP Framework in Objective-C for Mac and iOS. -* [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift +* [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift * [Smooch](https://smooch.io) - Simple, lightweight SDKs and interfaces that enable customer messaging inside your apps and websites. * [SlackTextViewController](https://github.com/slackhq/SlackTextViewController) - A drop-in UIViewController subclass with a growing text input view and other useful messaging features. -* [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController -* [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. -* [NMessenger](https://github.com/eBay/NMessenger) - A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift +* [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController +* [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. +* [NMessenger](https://github.com/eBay/NMessenger) - A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift * [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. * [Messenger](https://github.com/relatedcode/Messenger) - This is a native iOS Messenger app, making realtime chat conversations and audio calls with full offline support. * [OTTextChatAccelerator](https://github.com/opentok/accelerator-textchat-ios) - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices. * [chat-sdk-ios](https://github.com/chat-sdk/chat-sdk-ios) - Chat SDK iOS - Open Source Mobile Messenger. * [AsyncMessagesViewController](https://github.com/nguyenhuy/AsyncMessagesViewController) - A smooth, responsive and flexible messages UI library for iOS. -* [MessageViewController](https://github.com/GitHawkApp/MessageViewController) - A SlackTextViewController replacement written in Swift for the iPhone X. +* [MessageViewController](https://github.com/GitHawkApp/MessageViewController) - A SlackTextViewController replacement written in Swift for the iPhone X. ## Networking * [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. @@ -1117,87 +1138,88 @@ Also see [push notifications](#push-notifications) * [ASIHTTPRequest](https://github.com/pokeb/asi-http-request) - Easy to use CFNetwork wrapper for HTTP requests, Objective-C, macOS and iPhone. * [Overcoat](https://github.com/Overcoat/Overcoat) - Small but powerful library that makes creating REST clients simple and fun. * [ROADFramework](https://github.com/epam/road-ios-framework) - Attributed-oriented approach for interacting with web services. The framework has built-in json and xml serialization for requests and responses and can be easily extensible. -* [Alamofire](https://github.com/Alamofire/Alamofire) - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking. -* [Transporter](https://github.com/nghialv/Transporter) - A tiny library makes uploading and downloading easier. +* [Alamofire](https://github.com/Alamofire/Alamofire) - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking. +* [Transporter](https://github.com/nghialv/Transporter) - A tiny library makes uploading and downloading easier. * [CDZPinger](https://github.com/cdzombak/CDZPinger) - Easy-to-use ICMP Ping. * [NSRails](https://github.com/dingbat/nsrails) - iOS/Mac OS framework for Rails. -* [NKMultipeer](https://github.com/nathankot/NKMultipeer) - A testable abstraction over multipeer connectivity. +* [NKMultipeer](https://github.com/nathankot/NKMultipeer) - A testable abstraction over multipeer connectivity. * [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket) - Asynchronous socket networking library for Mac and iOS. -* [Siesta](https://bustoutsolutions.github.io/siesta/) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. -* [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures +* [Siesta](https://bustoutsolutions.github.io/siesta/) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. +* [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures * [OctopusKit](https://github.com/icoco/OctopusKit) - A simplicity but graceful solution for invoke RESTful web service APIs. -* [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. +* [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. * [TWRDownloadManager](https://github.com/chasseurmic/TWRDownloadManager) - A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. * [HappyDns](https://github.com/qiniu/happy-dns-objc) - A Dns library, support custom dns server, dnspod httpdns. Only support A record. -* [Bridge](https://github.com/BridgeNetworking/Bridge) - A simple extensible typed networking library. Intercept and process/alter requests and responses easily. -* [TRON](https://github.com/MLSDev/TRON) - Lightweight network abstraction layer, written on top of Alamofire -* [EVCloudKitDao](https://github.com/evermeer/EVCloudKitDao) - Simplified access to Apple's CloudKit -* [EVURLCache](https://github.com/evermeer/EVURLCache) - a NSURLCache subclass for handling all web requests that use NSURLRequest -* [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer. -* [Pitaya](https://github.com/johnlui/Pitaya) - A Swift HTTP / HTTPS networking library just incidentally execute on machines -* [Just](https://github.com/JustHTTP/Just) - Swift HTTP for Humans -* [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and macOS -* [Reach](https://github.com/Isuru-Nanayakkara/Reach) - A simple class to check for internet connection availability in Swift. -* [SwiftHTTP](https://github.com/daltoniam/SwiftHTTP) - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. +* [Bridge](https://github.com/BridgeNetworking/Bridge) - A simple extensible typed networking library. Intercept and process/alter requests and responses easily. +* [TRON](https://github.com/MLSDev/TRON) - Lightweight network abstraction layer, written on top of Alamofire +* [EVCloudKitDao](https://github.com/evermeer/EVCloudKitDao) - Simplified access to Apple's CloudKit +* [EVURLCache](https://github.com/evermeer/EVURLCache) - a NSURLCache subclass for handling all web requests that use NSURLRequest +* [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer. +* [Pitaya](https://github.com/johnlui/Pitaya) - A Swift HTTP / HTTPS networking library just incidentally execute on machines +* [Just](https://github.com/JustHTTP/Just) - Swift HTTP for Humans +* [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and macOS +* [Reach](https://github.com/Isuru-Nanayakkara/Reach) - A simple class to check for internet connection availability in Swift. +* [SwiftHTTP](https://github.com/daltoniam/SwiftHTTP) - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. * [Netdiag](https://github.com/qiniu/iOS-netdiag) - A network diagnosis library. Support Ping/TcpPing/Rtmp/TraceRoute/DNS/external IP/external DNS. * [AFNetworkingHelper](https://github.com/betacraft/AFNetworkingHelper) - A custom wrapper over AFNetworking library that we use inside RC extensively -* [NetKit](https://github.com/azizuysal/NetKit) - A Concise HTTP Framework in Swift. +* [NetKit](https://github.com/azizuysal/NetKit) - A Concise HTTP Framework in Swift. * [RealReachability](https://github.com/dustturtle/RealReachability) - We need to observe the REAL reachability of network. That's what RealReachability do. -* [MonkeyKing](https://github.com/nixzhu/MonkeyKing) - MonkeyKing helps you post messages to Chinese Social Networks. -* [NetworkKit](https://github.com/imex94/NetworkKit) - Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS. -* [APIKit](https://github.com/ishkawa/APIKit) - A networking library for building type safe web API client in Swift. +* [MonkeyKing](https://github.com/nixzhu/MonkeyKing) - MonkeyKing helps you post messages to Chinese Social Networks. +* [NetworkKit](https://github.com/imex94/NetworkKit) - Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS. +* [APIKit](https://github.com/ishkawa/APIKit) - A networking library for building type safe web API client in Swift. * [ws ☁️](https://github.com/freshOS/ws) - Elegant JSON WebService in Swift. * [SPTDataLoader](https://github.com/spotify/SPTDataLoader) - The HTTP library used by the Spotify iOS client. * [SWNetworking](https://github.com/skywite/SWNetworking) - Powerful high-level iOS, macOS and tvOS networking library. -* [Networking](https://github.com/3lvis/Networking) - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support +* [Networking](https://github.com/3lvis/Networking) - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support * [SOAPEngine](https://github.com/priore/SOAPEngine) - This generic SOAP client allows you to access web services using a your iOS app, macOS app and AppleTV app. -* [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working) -* [Malibu](https://github.com/hyperoslo/Malibu) - :surfer: Malibu is a networking library built on promises +* [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working) +* [Malibu](https://github.com/hyperoslo/Malibu) - :surfer: Malibu is a networking library built on promises * [YTKNetwork](https://github.com/yuantiku/YTKNetwork) - YTKNetwork is a high level request util based on AFNetworking. -* [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. +* [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. * [MMLanScan](https://github.com/mavris/MMLanScan) - An iOS LAN Network Scanner library * [Domainer](https://github.com/FelixLinBH/Domainer) - Manage multi-domain url auto mapping ip address table -* [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way +* [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way * [AFNetworking+RetryPolicy](https://github.com/kubatruhlar/AFNetworking-RetryPolicy) - An objective-c category that adds the ability to set the retry logic for requests made with AFNetworking. -* [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. -* [Nikka](https://github.com/stremsdoerfer/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx +* [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. +* [Nikka](https://github.com/stremsdoerfer/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx * [XMNetworking](https://github.com/kangzubin/XMNetworking) - A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. * [Merhaba](https://github.com/abdullahselek/Merhaba) - Bonjour networking for discovery and connection between iOS, macOS and tvOS devices. -* [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. -* [EFInternetIndicator](https://github.com/ezefranca/EFInternetIndicator) - A little swift Internet error status indicator using ReachabilitySwift. +* [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. +* [EFInternetIndicator](https://github.com/ezefranca/EFInternetIndicator) - A little swift Internet error status indicator using ReachabilitySwift. * [AFNetworking-Synchronous](https://github.com/paulmelnikow/AFNetworking-Synchronous) - Synchronous requests for AFNetworking 1.x, 2.x, and 3.x. -* [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. -* [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. +* [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. +* [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. * [WANetworkRouting](https://github.com/Wasappli/WANetworkRouting) - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers -* [Reactor](https://github.com/RuiAAPeres/Reactor) - Powering your RAC architecture -* [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking -* [Digger](https://github.com/cornerAnt/Digger) - Digger is a lightweight download framework that requires only one line of code to complete the file download task. -* [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). -* [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework -* [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development +* [Reactor](https://github.com/RuiAAPeres/Reactor) - Powering your RAC architecture +* [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking +* [Digger](https://github.com/cornerAnt/Digger) - Digger is a lightweight download framework that requires only one line of code to complete the file download task. +* [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). +* [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework +* [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development * [MultiPeer](https://github.com/dingwilson/MultiPeer) - An easy-to-use wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices * [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. * [FGRoute](https://github.com/Feghal/FGRoute) - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses. -* [RxRestClient](https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. +* [RxRestClient](https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. * [TermiNetwork](https://github.com/billp/TermiNetwork) - A networking library written with Swift 4.0 that supports multi-environment configuration, routing and automatic deserialization * [Dots](https://github.com/iAmrSalman/Dots) - Lightweight Concurrent Networking Framework. * [Gem](https://github.com/Albinzr/Gem) - An extreme light weight system with high performance for managing all http request with automated parser with modal. -#### Email +### Email * [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. -* [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. +* [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. -#### Representations +## Representations -* [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS, written in Swift -* [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library purely written in Swift -* [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift -* [swift-protobuf](https://github.com/apple/swift-protobuf) - Plugin and runtime library for using protobuf with Swift. +* [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS, written in Swift +* [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library purely written in Swift +* [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift +* [swift-protobuf](https://github.com/apple/swift-protobuf) - Plugin and runtime library for using protobuf with Swift. ## Notifications -#### Push Notifications +### Push Notifications + * [Orbiter](https://github.com/mattt/Orbiter) - Push Notification Registration for iOS. * [PEM](https://github.com/fastlane/fastlane/tree/master/pem) - Automatically generate and renew your push notification profiles. * [Knuff](https://github.com/KnuffApp/Knuff) - The debug application for Apple Push Notification Service (APNS). @@ -1206,7 +1228,7 @@ Also see [push notifications](#push-notifications) * [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator * [APNSUtil](https://github.com/pisces/APNSUtil) - Library makes code simple settings and landing for apple push notification service -##### Push Notification Providers +### Push Notification Providers Most of these are paid services, some have free tiers. @@ -1225,88 +1247,90 @@ Most of these are paid services, some have free tiers. * [Pusher](https://pusher.com/push-notifications) - Free and unlimited. * [Swrve](https://www.swrve.com) -#### Local Notifications -* [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. +### Local Notifications + +* [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. ## Optimization -* [Unreachable](https://github.com/nvzqz/Unreachable) - Unreachable code path optimization hint for Swift. + +* [Unreachable](https://github.com/nvzqz/Unreachable) - Unreachable code path optimization hint for Swift. ## Parsing -#### CSV -* [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 -* [CSV.swift](https://github.com/yaslab/CSV.swift) - CSV reading and writing library written in Swift. +### CSV +* [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 +* [CSV.swift](https://github.com/yaslab/CSV.swift) - CSV reading and writing library written in Swift. -#### JSON +### JSON * [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. * [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. * [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. * [PropertyMapper](https://github.com/krzysztofzablocki/PropertyMapper) - Data mapping and validation with minimal amount of code. * [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modeling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. -* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. +* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. * [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. -* [ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. -* [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. -* [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. -* [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization -* [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift model files from JSON using either SwiftyJSON or ObjectMapper. Supports NSCoding and provides method for JSON string representation of the model. -* [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift -* [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. -* [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. -* [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. -* [mapper](https://github.com/lyft/mapper) - A JSON deserialization library for Swift -* [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection -* [Jay](https://github.com/DanToml/Jay) - Pure-Swift JSON parser & formatter. Linux & macOS ready. +* [ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. +* [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. +* [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. +* [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization +* [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift model files from JSON using either SwiftyJSON or ObjectMapper. Supports NSCoding and provides method for JSON string representation of the model. +* [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift +* [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. +* [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. +* [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. +* [mapper](https://github.com/lyft/mapper) - A JSON deserialization library for Swift +* [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection +* [Jay](https://github.com/DanToml/Jay) - Pure-Swift JSON parser & formatter. Linux & macOS ready. * [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/macOS. -* [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON -* [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder -* [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. -* [Decodable](https://github.com/Anviking/Decodable) - Swift 2/3 JSON parsing done (more) right -* [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux) -* [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder -* [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. -* [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects -* [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for macOS which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. -* [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. +* [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON +* [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder +* [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. +* [Decodable](https://github.com/Anviking/Decodable) - Swift 2/3 JSON parsing done (more) right +* [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux) +* [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder +* [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. +* [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects +* [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for macOS which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. +* [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. * [MJExtension](https://github.com/CoderMJLee/MJExtension) - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file. -* [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper -* [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initializers for data models. -* [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. -* [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x. +* [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper +* [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initializers for data models. +* [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. +* [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x. * [Marshal](https://github.com/utahiosmac/Marshal) - Marshaling the typeless wild west of [String: Any] (Protocol based). * [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). * [NSTEasyJSON](https://github.com/bernikowich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). -* [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. -* [MagicMapper](https://github.com/adrianmateoaea24/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. -* [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. -* [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). +* [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. +* [MagicMapper](https://github.com/adrianmateoaea24/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. +* [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. +* [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). * [WAMapping](https://github.com/Wasappli/WAMapping) - A library to turn dictionary into object and vice versa for iOS. Designed for speed! -* [json-swift](https://github.com/owensd/json-swift) - A basic library for working with JSON in Swift. -* [Himotoki](https://github.com/ikesyo/Himotoki) - A type-safe JSON decoding library purely written in Swift. -* [PMHTTP](https://github.com/postmates/PMHTTP) - Swift/Obj-C HTTP framework with a focus on REST and JSON. -* [NativeJSONMapper](https://github.com/DimaMishchenko/NativeJSONMapper) - Simple Swift 4 encoding & decoding. -* [PMJSON](https://github.com/postmates/PMJSON) - Pure Swift JSON encoding/decoding library. - -#### XML & HTML -* [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. -* [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. +* [json-swift](https://github.com/owensd/json-swift) - A basic library for working with JSON in Swift. +* [Himotoki](https://github.com/ikesyo/Himotoki) - A type-safe JSON decoding library purely written in Swift. +* [PMHTTP](https://github.com/postmates/PMHTTP) - Swift/Obj-C HTTP framework with a focus on REST and JSON. +* [NativeJSONMapper](https://github.com/DimaMishchenko/NativeJSONMapper) - Simple Swift 4 encoding & decoding. +* [PMJSON](https://github.com/postmates/PMJSON) - Pure Swift JSON encoding/decoding library. + +### XML & HTML +* [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. +* [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. * [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & macOS -* [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects -* [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support -* [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for macOS/iOS. -* [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift +* [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects +* [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support +* [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for macOS/iOS. +* [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. -* [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift -* [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 4 - -#### Other Parsing -* [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. -* [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages -* [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift -* [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. -* [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. -* [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. -* [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. +* [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift +* [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 4 + +### Other Parsing +* [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. +* [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages +* [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift +* [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. +* [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. +* [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. +* [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. * [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. * [RLPSwift](https://github.com/bitfwdcommunity/RLPSwift) - Recursive Length Prefix encoding written in Swift. @@ -1316,39 +1340,39 @@ Most of these are paid services, some have free tiers. * [Passkit](https://passkit.com) - Design, Create and validate Passbook Passes. ## Payments -* [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. +* [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. * [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend. * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. * [Moltin](https://moltin.com/ios-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. -* [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. -* [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ -* [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS -* [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework +* [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. +* [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ +* [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS +* [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework * [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions * [EasyIAPs](https://github.com/aaalveee/EasyIAPs) - An easy way to manage In App Purchases * [PayPal](https://github.com/paypal/PayPal-iOS-SDK) - Accept payments in your iOS app via PayPal. * [card.io-iOS-SDK](https://github.com/card-io/card.io-iOS-SDK) - card.io provides fast, easy credit card scanning in mobile apps -* [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift +* [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift * [ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn) - Luhn Credit Card Validation Algorithm * [RMStore](https://github.com/robotmedia/RMStore) - A lightweight iOS library for In-App Purchases * [MFCard](https://github.com/mobilefirstinc/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI -* [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt -* [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL +* [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt +* [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL * [CreditCardForm-iOS](https://github.com/orazz/CreditCardForm-iOS) - CreditCardForm is iOS framework that allows developers to create the UI which replicates an actual Credit Card. ## Permissions -* [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). -* [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). +* [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). +* [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). * [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. * [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. * [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. * [ClusterPrePermissions](https://github.com/rsattar/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. -* [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS -* [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. -* [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS -* [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. -* [RequestPermission](https://github.com/IvanVorobei/RequestPermission) - simple permission request with beautiful UI +* [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS +* [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. +* [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS +* [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. +* [RequestPermission](https://github.com/IvanVorobei/RequestPermission) - simple permission request with beautiful UI ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. @@ -1356,71 +1380,71 @@ Most of these are paid services, some have free tiers. * [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. ## Reactive Programming -* [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift -* [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extensions for Swift optionals and "Occupiable" types -* [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes +* [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift +* [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extensions for Swift optionals and "Occupiable" types +* [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes * [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) - Streams of values over time. -* [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. +* [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. * [ReactiveCoreData](https://github.com/apparentsoft/ReactiveCoreData) - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world. -* [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux -* [ReactiveKit](https://github.com/DeclarativeHub/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. -* [RxPermission](https://github.com/sunshinejr/RxPermission) - RxSwift bindings for Permissions API in iOS. -* [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire -* [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types -* [RxMultipeer](https://github.com/RxSwiftCommunity/RxMultipeer) - A testable RxSwift wrapper around MultipeerConnectivity -* [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & macOS Bluetooth library for RxSwift -* [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures -* [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. -* [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data -* [RxAutomaton](https://github.com/inamiy/RxAutomaton) - RxSwift + State Machine, inspired by Redux and Elm. -* [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. -* [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. -* [ReduxSwift](https://github.com/lsunsi/ReduxSwift) - Predictable state container for Swift apps too. -* [Aftermath](https://github.com/hyperoslo/Aftermath) - Stateless message-driven micro-framework in Swift. -* [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. +* [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux +* [ReactiveKit](https://github.com/DeclarativeHub/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. +* [RxPermission](https://github.com/sunshinejr/RxPermission) - RxSwift bindings for Permissions API in iOS. +* [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire +* [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types +* [RxMultipeer](https://github.com/RxSwiftCommunity/RxMultipeer) - A testable RxSwift wrapper around MultipeerConnectivity +* [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & macOS Bluetooth library for RxSwift +* [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures +* [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. +* [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data +* [RxAutomaton](https://github.com/inamiy/RxAutomaton) - RxSwift + State Machine, inspired by Redux and Elm. +* [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. +* [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. +* [ReduxSwift](https://github.com/lsunsi/ReduxSwift) - Predictable state container for Swift apps too. +* [Aftermath](https://github.com/hyperoslo/Aftermath) - Stateless message-driven micro-framework in Swift. +* [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. * [JASONETTE-iOS](https://github.com/Jasonette/JASONETTE-iOS) - Native App over HTTP. Create your own native iOS app with nothing but JSON. * [ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) - Streams of values over time by ReactiveCocoa group -* [Listenable](https://github.com/msaps/Listenable) - Swift object that provides an observable platform. -* [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . -* [Snail](https://github.com/UrbanCompass/Snail) - An observables framework for Swift -* [RxWebSocket](https://github.com/fjcaetano/RxWebSocket) - Reactive extension over Starscream for websockets -* [ACKReactiveExtensions](https://github.com/AckeeCZ/ACKReactiveExtensions) - Useful extensions for ReactiveCocoa -* [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive -* [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. -* [Observable](https://github.com/roberthein/Observable) - The easiest way to observe values in Swift. -* [SimpleApiClient](https://github.com/jaychang0917/SimpleApiClient-ios) - A configurable api client based on Alamofire4 and RxSwift4 for iOS. -* [VueFlux](https://github.com/ra1028/VueFlux) - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux +* [Listenable](https://github.com/msaps/Listenable) - Swift object that provides an observable platform. +* [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . +* [Snail](https://github.com/UrbanCompass/Snail) - An observables framework for Swift +* [RxWebSocket](https://github.com/fjcaetano/RxWebSocket) - Reactive extension over Starscream for websockets +* [ACKReactiveExtensions](https://github.com/AckeeCZ/ACKReactiveExtensions) - Useful extensions for ReactiveCocoa +* [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive +* [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. +* [Observable](https://github.com/roberthein/Observable) - The easiest way to observe values in Swift. +* [SimpleApiClient](https://github.com/jaychang0917/SimpleApiClient-ios) - A configurable api client based on Alamofire4 and RxSwift4 for iOS. +* [VueFlux](https://github.com/ra1028/VueFlux) - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux * [RxAnimated](https://github.com/RxSwiftCommunity/RxAnimated) - Animated RxCocoa bindings * [BindKit](https://github.com/electricbolt/bindkit) - Two-way data binding framework for iOS. Only one API to learn. * [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. -#### React-Like -* [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. -* [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. -* [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. -* [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. +### React-Like +* [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. +* [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. +* [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. +* [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. ## Reflection -* [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. -* [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive -* [EVReflection](https://github.com/evermeer/EVReflection) - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable -* [JSONNeverDie](https://github.com/johnlui/JSONNeverDie) - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die +* [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. +* [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive +* [EVReflection](https://github.com/evermeer/EVReflection) - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable +* [JSONNeverDie](https://github.com/johnlui/JSONNeverDie) - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die * [SwiftKVC](https://github.com/bradhilton/SwiftKVC) - Key-Value Coding (KVC) for native Swift classes and structs * [Runtime](https://github.com/wickwirew/Runtime) - A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties. ## Regex -* [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type -* [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like Regex =~ operator for Swift -* [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way -* [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift -* [Regex](https://github.com/brynbellomy/Regex) - Regex class for Swift. Wraps NSRegularExpression. +* [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type +* [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like Regex =~ operator for Swift +* [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way +* [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift +* [Regex](https://github.com/brynbellomy/Regex) - Regex class for Swift. Wraps NSRegularExpression. ## SDK -#### Official +### Official * [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. -* [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. +* [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. * [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. * [Facebook Swift](https://github.com/facebook/facebook-sdk-swift) Integrate your iOS apps in Swift with Facebook Platform. * [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS @@ -1443,15 +1467,15 @@ Most of these are paid services, some have free tiers. * [Primer](https://www.goprimer.com) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. * [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device * [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps -* [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple +* [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple * [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. * [Pinterest](https://github.com/pinterest/ios-pdk) - Pinterest iOS SDK * [playkit-ios](https://github.com/kaltura/playkit-ios) - PlayKit: Kaltura Player SDK for iOS. -* [algoliasearch-client-swift](https://github.com/algolia/algoliasearch-client-swift) - Algolia Search API Client for Swift +* [algoliasearch-client-swift](https://github.com/algolia/algoliasearch-client-swift) - Algolia Search API Client for Swift * [twitter-kit-ios](https://github.com/twitter/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps. -* [rides-ios-sdk](https://github.com/uber/rides-ios-sdk) - Uber Rides iOS SDK (beta). +* [rides-ios-sdk](https://github.com/uber/rides-ios-sdk) - Uber Rides iOS SDK (beta). -#### Unofficial +### Unofficial * [STTwitter](https://github.com/nst/STTwitter) A stable, mature and comprehensive Objective-C library for Twitter REST API 1.1 * [FHSTwitterEngine](https://github.com/natesymer/FHSTwitterEngine) Twitter API for Cocoa developers. @@ -1461,12 +1485,12 @@ Most of these are paid services, some have free tiers. * [DribbbleSDK](https://github.com/agilie/dribbble-ios-sdk) - Dribbble iOS SDK. * [objectiveflickr](https://github.com/lukhnos/objectiveflickr) - ObjectiveFlickr, a Flickr API framework for Objective-C. * [Easy Social](https://github.com/pjebs/EasySocial) - Twitter & Facebook Integration. -* [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and macOS. +* [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and macOS. * [SocialLib](https://github.com/darkcl/SocialLib) - SocialLib handles sharing message to multiple social media. -* [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift +* [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift * [TJDropbox](https://github.com/timonus/TJDropbox) - A Dropbox v2 client library written in Objective-C -* [Lyft](https://github.com/genadyo/Lyft) - Some pink mustache company forgot to build that SDK. -* [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift +* [Lyft](https://github.com/genadyo/Lyft) - Some pink mustache company forgot to build that SDK. +* [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift * [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. * [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project. * [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & macOS written in Swift. @@ -1480,7 +1504,7 @@ Most of these are paid services, some have free tiers. * [BittrexApiKit](https://github.com/saeid/BittrexApiKit) - Simple and complete Swift wrapper for Bittrex Exchange API. * [SwiftyVK](https://github.com/SwiftyVK/SwiftyVK) Library for easy interact with VK social network API written in Swift. * [ARKKit](https://github.com/sleepdefic1t/ARKKit) - ARK Ecosystem Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. -* [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. +* [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. * [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. * [PerfectSlackAPIClient](https://github.com/SvenTiigi/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework. * [Mothership](https://github.com/thecb4/MotherShip) - Tunes Connect Library inspired by FastLane. @@ -1492,79 +1516,80 @@ Most of these are paid services, some have free tiers. ## Security * [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. * [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. -* [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. +* [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. * [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. * [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. -* [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. +* [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. * [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. * [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. -* [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application -* [SAPinViewController](https://github.com/siavashalipour/SAPinViewController) - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen. -* [VoiceItAPI1IosSDK](https://github.com/voiceittech/VoiceItAPI1IosSDK) - A super easy way to add Voice Authentication(Biometrics) to your iOS apps, conveniently usable via cocoapods +* [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application +* [SAPinViewController](https://github.com/siavashalipour/SAPinViewController) - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen. +* [VoiceItAPI1IosSDK](https://github.com/voiceittech/VoiceItAPI1IosSDK) - A super easy way to add Voice Authentication(Biometrics) to your iOS apps, conveniently usable via cocoapods * [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS -* [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication +* [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication * [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. * [🗄 Vault](https://github.com/umbri/Vault) - Simple and Secure container for passwords and other sensitive data * [Virgil SWIFT PFS SDK](https://github.com/VirgilSecurity/virgil-sdk-pfs-x) - An SDK that allows developers to add the Perfect Forward Secrecy (PFS) technologies to their digital solutions to protect previously intercepted traffic from being decrypted even if the main Private Key is compromised. -* [Virgil Security Objective-C/Swift SDK](https://github.com/VirgilSecurity/virgil-sdk-x) - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API. +* [Virgil Security Objective-C/Swift SDK](https://github.com/VirgilSecurity/virgil-sdk-x) - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API. -#### Encryption +### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. -* [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. -* [Arcane](https://github.com/onmyway133/Arcane) - 🔱 Lightweight wrapper around CommonCrypto in Swift -* [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 -* [SwiftHash](https://github.com/onmyway133/SwiftHash) - 🍕 Hash in Swift -* [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms. -* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and macOS -* [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. -* [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift -* [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift +* [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. +* [Arcane](https://github.com/onmyway133/Arcane) - 🔱 Lightweight wrapper around CommonCrypto in Swift +* [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 +* [SwiftHash](https://github.com/onmyway133/SwiftHash) - 🍕 Hash in Swift +* [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms. +* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and macOS +* [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. +* [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift +* [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift * [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/macOS, Android and different server side platforms. * [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - Secure your app by obfuscating all the hard-coded security-sensitive strings. -* [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS -* [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language -* [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines -* [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. -* [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. -* [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. +* [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS +* [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language +* [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines +* [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. +* [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. +* [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. * [SecureEnclaveCrypto](https://github.com/trailofbits/SecureEnclaveCrypto) - Demonstration library for using the Secure Enclave on iOS. * [RSASwiftGenerator](https://github.com/4taras4/RSASwiftGenerator) - Util for generation RSA keys on your client and save to keychain or cover into Data 🔑 🔐 * [Virgil Security Objective-C/Swift Crypto Library](https://github.com/VirgilSecurity/virgil-foundation-x) - A high-level cryptographic library that allows to perform all necessary operations for securely storing and transferring data. -#### Keychain +### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. * [Valet](https://github.com/square/Valet) - Securely store data in the iOS or macOS Keychain without knowing a thing about how the Keychain works. -* [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. -* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and macOS -* [Keychains](https://github.com/hyperoslo/Keychains) - Because you should care... about the security... of your shit. +* [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. +* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and macOS +* [Keychains](https://github.com/hyperoslo/Keychains) - Because you should care... about the security... of your shit. * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. * [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. -* [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. Written in Swift. +* [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. Written in Swift. ## Server -* [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. -* [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. + +* [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. +* [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. * [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for macOS or iOS applications. -* [Curassow](https://github.com/kylef/Curassow) - Swift HTTP server using the pre-fork worker model. -* [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux -* [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, macOS, and Ubuntu. -* [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift -* [blackfire](https://github.com/elliottminns/blackfire) - A fast HTTP web server based on Node.js and Express written in Swift -* [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and macOS -* [Trevi](https://github.com/Yoseob/Trevi) - libuv base Swift web HTTP server framework -* [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift -* [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift -* [Frank](https://github.com/kylef/Frank) - Frank is a DSL for quickly writing web applications in Swift -* [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server -* [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and macOS -* [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. -* [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. macOS + Linux compatible. -* [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) -* [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. -* [Lightning](https://github.com/skylab-inc/Lightning) - A Swift Multiplatform Web and Networking Framework. -* [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. -* [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. -* [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! +* [Curassow](https://github.com/kylef/Curassow) - Swift HTTP server using the pre-fork worker model. +* [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux +* [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, macOS, and Ubuntu. +* [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift +* [blackfire](https://github.com/elliottminns/blackfire) - A fast HTTP web server based on Node.js and Express written in Swift +* [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and macOS +* [Trevi](https://github.com/Yoseob/Trevi) - libuv base Swift web HTTP server framework +* [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift +* [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift +* [Frank](https://github.com/kylef/Frank) - Frank is a DSL for quickly writing web applications in Swift +* [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server +* [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and macOS +* [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. +* [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. macOS + Linux compatible. +* [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) +* [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. +* [Lightning](https://github.com/skylab-inc/Lightning) - A Swift Multiplatform Web and Networking Framework. +* [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. +* [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. +* [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! * [GCDWebServer](https://github.com/swisspol/GCDWebServer) - Lightweight GCD based HTTP server for macOS & iOS (includes web based uploader & WebDAV server) * [Embassy](https://github.com/envoy/Embassy) - Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux. @@ -1576,85 +1601,85 @@ Most of these are paid services, some have free tiers. * [DTCoreText](https://github.com/Cocoanetics/DTCoreText) - Methods to allow using HTML code with CoreText. * [DTRichTextEditor](https://github.com/Cocoanetics/DTRichTextEditor) - A rich-text editor for iOS. * [NBEmojiSearchView](https://github.com/neerajbaid/NBEmojiSearchView) - A searchable emoji dropdown view. -* [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension -* [RichEditorView](https://github.com/cjwirth/RichEditorView) - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. -* [Money](https://github.com/danthorpe/Money) - Swift value types for working with money & currency -* [PhoneNumberKit](https://github.com/marmelroy/PhoneNumberKit) - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. +* [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension +* [RichEditorView](https://github.com/cjwirth/RichEditorView) - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. +* [Money](https://github.com/danthorpe/Money) - Swift value types for working with money & currency +* [PhoneNumberKit](https://github.com/marmelroy/PhoneNumberKit) - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. * [YYText](https://github.com/ibireme/YYText) - Powerful text framework for iOS to display and edit rich text. -* [Format](https://github.com/marmelroy/Format) - A Swift Formatter Kit. -* [Tribute](https://github.com/zats/Tribute) - Programmatic creation of NSAttributedString doesn't have to be a pain -* [EmojiKit](https://github.com/dasmer/EmojiKit) - Effortless emoji-querying in Swift -* [Roman](https://github.com/nvzqz/Roman) - Seamless Roman numeral conversion in Swift. +* [Format](https://github.com/marmelroy/Format) - A Swift Formatter Kit. +* [Tribute](https://github.com/zats/Tribute) - Programmatic creation of NSAttributedString doesn't have to be a pain +* [EmojiKit](https://github.com/dasmer/EmojiKit) - Effortless emoji-querying in Swift +* [Roman](https://github.com/nvzqz/Roman) - Seamless Roman numeral conversion in Swift. * [ZSSRichTextEditor](https://github.com/nnhubbard/ZSSRichTextEditor) - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view. * [pangu.Objective-C](https://github.com/Cee/pangu.objective-c) - Paranoid text spacing in Objective-C. -* [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift -* [Marklight](https://github.com/macteo/Marklight) - Markdown syntax highlighter for iOS -* [MarkdownTextView](https://github.com/indragiek/MarkdownTextView) - Rich Markdown editing control for iOS +* [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift +* [Marklight](https://github.com/macteo/Marklight) - Markdown syntax highlighter for iOS +* [MarkdownTextView](https://github.com/indragiek/MarkdownTextView) - Rich Markdown editing control for iOS * [TextAttributes](https://github.com/delba/TextAttributes) - An easier way to compose attributed strings. [e] -* [Reductio](https://github.com/fdzsergio/Reductio) - Automatic summarizer text in Swift -* [SmarkDown](https://github.com/SwiftStudies/SmarkDown) - A Pure Swift implementation of the markdown mark-up language -* [SwiftyMarkdown](https://github.com/SimonFairbairn/SwiftyMarkdown) - Converts Markdown files and strings into NSAttributedString +* [Reductio](https://github.com/fdzsergio/Reductio) - Automatic summarizer text in Swift +* [SmarkDown](https://github.com/SwiftStudies/SmarkDown) - A Pure Swift implementation of the markdown mark-up language +* [SwiftyMarkdown](https://github.com/SimonFairbairn/SwiftyMarkdown) - Converts Markdown files and strings into NSAttributedString * [SZMentions](https://github.com/szweier/SZMentions) - Library to help handle mentions * [SZMentionsSwift](https://github.com/szweier/SZMentionsSwift) - Library to help handle mentions. -* [Heimdall](https://github.com/henrinormak/Heimdall) - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. +* [Heimdall](https://github.com/henrinormak/Heimdall) - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. * [NoOptionalInterpolation](https://github.com/T-Pham/NoOptionalInterpolation) - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.[e] * [Smile](https://github.com/onmyway133/Smile) 😄 Emoji in Swift * [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift [e] -* [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. +* [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. * [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set -* [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings in Swift +* [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings in Swift * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). -* [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. -* [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. -* [MarkdownKit](https://github.com/bmoliveira/MarkdownKit) - A simple and customizable Markdown Parser for Swift. -* [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and macOS. -* [Apodimark](https://github.com/loiclec/Apodimark) - Fast, flexible markdown parser written in Swift. -* [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. -* [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for iOS. With UITextField extension. -* [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. -* [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/emojione/emojione). -* [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. +* [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. +* [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. +* [MarkdownKit](https://github.com/bmoliveira/MarkdownKit) - A simple and customizable Markdown Parser for Swift. +* [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and macOS. +* [Apodimark](https://github.com/loiclec/Apodimark) - Fast, flexible markdown parser written in Swift. +* [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. +* [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for iOS. With UITextField extension. +* [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. +* [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/emojione/emojione). +* [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. * [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). * [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). * [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts -* [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. -* [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. -* [Attributed](https://github.com/Nirma/Attributed) - Modern Swift µframework for attributed strings. -* [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. -* [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. +* [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. +* [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. +* [Attributed](https://github.com/Nirma/Attributed) - Modern Swift µframework for attributed strings. +* [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. +* [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. * [RealTimeCurrencyFormatter](https://github.com/kaiomedau/realtime-currency-formatter-objc) - An ObjC international currency formatting utility. -* [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. -* [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. -* [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. -* [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. -* [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS -* [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. -* [fuse-swift](https://github.com/krisk/fuse-swift) - A lightweight fuzzy-search library, with zero dependencies. +* [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. +* [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. +* [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. +* [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. +* [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS +* [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. +* [fuse-swift](https://github.com/krisk/fuse-swift) - A lightweight fuzzy-search library, with zero dependencies. * [EFMarkdown](https://github.com/EyreFree/EFMarkdown) - A lightweight Markdown library for iOS. * [Croc](https://github.com/jkalash/croc) - A lightweight Swift library for Emoji parsing and querying. -#### Font -* [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. -* [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project +### Font +* [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. +* [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project * [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. -* [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. -* [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported -* [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon) +* [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. +* [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported +* [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon) * [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. -* [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS -* [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. -* [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. -* [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. -* [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. -* [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Font management (System & Custom) for iOS and tvOS -* [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! -* [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. -* [Font-Awesome-Swift](https://github.com/Vaberer/Font-Awesome-Swift) - Font Awesome swift library for iOS. -* [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. +* [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS +* [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. +* [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. +* [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. +* [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. +* [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Font management (System & Custom) for iOS and tvOS +* [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! +* [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. +* [Font-Awesome-Swift](https://github.com/Vaberer/Font-Awesome-Swift) - Font Awesome swift library for iOS. +* [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. ## Testing -#### TDD / BDD +### TDD / BDD * [Kiwi](https://github.com/kiwi-bdd/Kiwi) - A behavior-driven development library for iOS development. * [Specta](https://github.com/specta/specta) - A light-weight TDD / BDD framework for Objective-C & Cocoa. * [Quick](https://github.com/Quick/Quick) - A behavior-driven development framework for Swift and Objective-C. @@ -1662,20 +1687,20 @@ Most of these are paid services, some have free tiers. * [OHHTTPStubs](https://github.com/AliSoftware/OHHTTPStubs) - Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers! * [Dixie](https://github.com/Skyscanner/Dixie) - Dixie is an open source Objective-C testing framework for altering object behaviours. * [gh-unit](https://github.com/gh-unit/gh-unit) - Test Framework for Objective-C. -* [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C -* [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift -* [SwiftCheck](https://github.com/typelift/SwiftCheck) - QuickCheck for Swift -* [Spry](https://github.com/Quick/Spry) - A Mac and iOS Playgrounds Unit Testing library based on Nimble. -* [swift-corelibs-xctest](https://github.com/apple/swift-corelibs-xctest) - The XCTest Project, A Swift core library for providing unit test support. -* [PlaygroundTDD](https://github.com/app-shack/PlaygroundTDD) - Small library to easily run your tests directly within a Playground. - -#### A/B Testing +* [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C +* [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift +* [SwiftCheck](https://github.com/typelift/SwiftCheck) - QuickCheck for Swift +* [Spry](https://github.com/Quick/Spry) - A Mac and iOS Playgrounds Unit Testing library based on Nimble. +* [swift-corelibs-xctest](https://github.com/apple/swift-corelibs-xctest) - The XCTest Project, A Swift core library for providing unit test support. +* [PlaygroundTDD](https://github.com/app-shack/PlaygroundTDD) - Small library to easily run your tests directly within a Playground. + +### A/B Testing * [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. * [SkyLab](https://github.com/mattt/SkyLab) - Multivariate & A/B Testing for iOS and Mac * [MSActiveConfig](https://github.com/mindsnacks/MSActiveConfig) - Remote configuration and A/B Testing framework for iOS -* [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS +* [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS -#### UI Testing +### UI Testing * [appium](http://appium.io/) - Appium is an open source test automation framework for use with native and hybrid mobile apps. * [robotframework-appiumlibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary) - AppiumLibrary is an appium testing library for RobotFramework. * [Cucumber](https://cucumber.io/) - Behavior driver development for iOS. @@ -1686,909 +1711,909 @@ Most of these are paid services, some have free tiers. * [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. * [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations. * [EarlGrey](https://github.com/google/EarlGrey) - :tea: iOS UI Automation Test Framework. -* [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? -* [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo +* [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? +* [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo * [Bluepill](https://github.com/linkedin/bluepill) - Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine * [Flawless App](https://flawlessapp.io/) - tool for visual quality check of mobile app in a real-time. It compares initial design with the actual implementation right inside iOS simulator. -* [TouchVisualizer](https://github.com/morizotter/TouchVisualizer) - Lightweight touch visualization library in Swift. A single line of code and visualize your touches! +* [TouchVisualizer](https://github.com/morizotter/TouchVisualizer) - Lightweight touch visualization library in Swift. A single line of code and visualize your touches! -#### Other Testing +### Other Testing * [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. -* [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. -* [DVR](https://github.com/venmo/DVR) - Network testing for Swift -* [Cuckoo](https://github.com/Brightify/Cuckoo) - First boilerplate-free mocking framework for Swift -* [Parallel iOS Tests](https://github.com/plu/parallel_ios_tests) - Run iOS tests on multiple simulators in parallel at the same time -* [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift -* [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java -* [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps +* [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. +* [DVR](https://github.com/venmo/DVR) - Network testing for Swift +* [Cuckoo](https://github.com/Brightify/Cuckoo) - First boilerplate-free mocking framework for Swift +* [Parallel iOS Tests](https://github.com/plu/parallel_ios_tests) - Run iOS tests on multiple simulators in parallel at the same time +* [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift +* [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java +* [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps * [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 * [trainer](https://github.com/KrauseFx/trainer) - Convert xcodebuild plist files to JUnit reports -* [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur -* [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift +* [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur +* [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift * [AcceptanceMark](https://github.com/bizz84/AcceptanceMark) Tool to auto-generate Xcode tests classes from Markdown tables -* [MetovaTestKit](https://github.com/metova/MetovaTestKit) - A collection of testing utilities to turn crashing test suites into failing test suites. -* [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes -* [SnappyTestCase](https://github.com/tooploox/SnappyTestCase) - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. -* [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. -* [OCMock](http://ocmock.org) - Mock objects for Objective-C. -* [Mockingjay](https://github.com/kylef/Mockingjay) - An elegant library for stubbing HTTP requests with ease in Swift. -* [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. +* [MetovaTestKit](https://github.com/metova/MetovaTestKit) - A collection of testing utilities to turn crashing test suites into failing test suites. +* [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes +* [SnappyTestCase](https://github.com/tooploox/SnappyTestCase) - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. +* [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. +* [OCMock](http://ocmock.org) - Mock objects for Objective-C. +* [Mockingjay](https://github.com/kylef/Mockingjay) - An elegant library for stubbing HTTP requests with ease in Swift. +* [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. ## UI * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. * [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. * [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. -* [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. -* [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. -* [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. +* [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. +* [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. +* [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. -* [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. +* [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. * [ComponentKit](https://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. -* [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift +* [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. -* [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. +* [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) -* [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. -* [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications -* [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages -* [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. +* [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. +* [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications +* [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages +* [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. -* [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple -* [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. -* [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. +* [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple +* [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. +* [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. * [CRParticleEffect](https://github.com/Cleveroad/CRParticleEffect) - A CocoaPod that simplifies creation of the particle effects. -* [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. +* [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. * [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book -* [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. -* [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library -* [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. +* [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. +* [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library +* [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. * [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities. * [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. -* [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift +* [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift * [CoreDragon](https://github.com/nevyn/CoreDragon) - [iOS] Stop using context menus. Drag and drop instead, even between apps! * [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face. -* [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. -* [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. +* [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. +* [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. * [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. -* [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. +* [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. * [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app. -* [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. -* [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) -* [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. +* [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. +* [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) +* [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. * [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. -* [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 -* [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller -* [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. +* [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 +* [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller +* [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views. -* [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects -* [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ +* [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects +* [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS * [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. -* [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. -* [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. +* [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. +* [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. * [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. -* [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. -* [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. -* [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views -* [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style +* [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. +* [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. +* [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views +* [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style * [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. -* [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. -* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background -* [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. -* [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app -* [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect -* [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. +* [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. +* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background +* [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. +* [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app +* [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect +* [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. * [CRRulerControl](https://github.com/Cleveroad/CRRulerControl) - Customizable component is aimed at turning a simple ruler into a handy and smart instrument. -* [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. -* [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. -* [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control -* [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button -* [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards +* [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. +* [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. +* [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control +* [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button +* [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards * [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. -* [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics -* [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. -* [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. +* [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics +* [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. +* [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. * [CRPageViewController](https://github.com/Cleveroad/CRPageViewController) - While a standard page view allows you to navigate between pages by using simple gestures, our component goes further. -* [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. +* [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. * [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts -* [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. -* [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. -* [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. -* [Pageboy](https://github.com/uias/Pageboy) - A simple, highly informative page view controller. -* [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift -* [KPActionSheet](https://github.com/khuong291/KPActionSheet) - A replacement of default action sheet, but has very simple usage. -* [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator -* [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). -* [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. -* [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. -* [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. -* [HamsterUIKit](https://github.com/Howardw3/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. -* [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. -* [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. -* [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. +* [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. +* [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. +* [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. +* [Pageboy](https://github.com/uias/Pageboy) - A simple, highly informative page view controller. +* [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift +* [KPActionSheet](https://github.com/khuong291/KPActionSheet) - A replacement of default action sheet, but has very simple usage. +* [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator +* [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). +* [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. +* [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. +* [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. +* [HamsterUIKit](https://github.com/Howardw3/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. +* [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. +* [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. +* [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. * [ViewComposer](https://github.com/Sajjon/ViewComposer) - `let lbl: UILabel = [.text("Hello"), .textColor(.red)]` - Create views using array literal of enum expressing view attributes. -* [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. -* [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView -* [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI -* [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. -* [Panda](https://github.com/wordlessj/Panda) - Create view hierarchies declaratively. -* [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X -* [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. -* [SwiftyUI](https://github.com/haoking/SwiftyUI) - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more. -* [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. -* [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. -* [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. +* [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. +* [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView +* [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI +* [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. +* [Panda](https://github.com/wordlessj/Panda) - Create view hierarchies declaratively. +* [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X +* [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. +* [SwiftyUI](https://github.com/haoking/SwiftyUI) - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more. +* [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. +* [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. +* [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. * [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. -* [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. -* [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. -* [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. -* [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). -* [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list +* [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. +* [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. +* [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. +* [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). +* [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list * [UberSignature](https://github.com/uber/UberSignature) - Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style. * [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. * [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable -#### Activity Indicator +### Activity Indicator -* [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. -* [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift -* [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations :cyclone: by using Swift CALayer -* [LiquidLoader](https://github.com/yoavlt/LiquidLoader) - Spinner loader components with liquid animation -* [iOS-CircleProgressView](https://github.com/CardinalNow/iOS-CircleProgressView) - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view. +* [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. +* [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift +* [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations :cyclone: by using Swift CALayer +* [LiquidLoader](https://github.com/yoavlt/LiquidLoader) - Spinner loader components with liquid animation +* [iOS-CircleProgressView](https://github.com/CardinalNow/iOS-CircleProgressView) - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view. * [iOS Circle Progress Bar](https://github.com/Eclair/CircleProgressBar) - iOS Circle Progress Bar -* [LinearProgressBar](https://github.com/PhilippeBoisney/LinearProgressBar) - Linear Progress Bar (inspired by Google Material Design) for iOS written in Swift 2.0. -* [STLoadingGroup](https://github.com/saitjr/STLoadingGroup) - loading views -* [ALThreeCircleSpinner](https://github.com/AlexLittlejohn/ALThreeCircleSpinner) - A pulsing spinner view written in swift +* [LinearProgressBar](https://github.com/PhilippeBoisney/LinearProgressBar) - Linear Progress Bar (inspired by Google Material Design) for iOS written in Swift 2.0. +* [STLoadingGroup](https://github.com/saitjr/STLoadingGroup) - loading views +* [ALThreeCircleSpinner](https://github.com/AlexLittlejohn/ALThreeCircleSpinner) - A pulsing spinner view written in swift * [MHRadialProgressView](https://github.com/mehfuzh/MHRadialProgressView) - iOS 7 radial animated progress view. -* [Loader](https://github.com/Ekhoo/Loader) - Amazing animated switch activity indicator written in swift +* [Loader](https://github.com/Ekhoo/Loader) - Amazing animated switch activity indicator written in swift * [MBProgressHUD](https://github.com/jdg/MBProgressHUD) - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. * [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD) - A clean and lightweight progress HUD for your iOS app. * [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - ProgressHUD is a lightweight and easy-to-use HUD. * [M13ProgressSuite](https://github.com/Marxon13/M13ProgressSuite) - A suite containing many tools to display progress information on iOS. -* [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. -* [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. +* [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. +* [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. * [FFCircularProgressView](https://github.com/elbryan/FFCircularProgressView) - FFCircularProgressView - An iOS 7-inspired blue circular progress view * [MRProgress](https://github.com/mrackwitz/MRProgress) - Collection of iOS drop-in components to visualize progress -* [BigBrother](https://github.com/marcelofabri/BigBrother) - Automatically sets the network activity indicator for any performed request. -* [AlamofireNetworkActivityIndicator](https://github.com/Alamofire/AlamofireNetworkActivityIndicator) - Controls the visibility of the network activity indicator on iOS using Alamofire. -* [KDCircularProgress](https://github.com/kaandedeoglu/KDCircularProgress) - A circular progress view with gradients written in Swift +* [BigBrother](https://github.com/marcelofabri/BigBrother) - Automatically sets the network activity indicator for any performed request. +* [AlamofireNetworkActivityIndicator](https://github.com/Alamofire/AlamofireNetworkActivityIndicator) - Controls the visibility of the network activity indicator on iOS using Alamofire. +* [KDCircularProgress](https://github.com/kaandedeoglu/KDCircularProgress) - A circular progress view with gradients written in Swift * [DACircularProgress](https://github.com/danielamitay/DACircularProgress) - DACircularProgress is a UIView subclass with circular UIProgressView properties. * [KYNavigationProgress](https://github.com/ykyouhei/KYNavigationProgress) - Simple extension of UINavigationController to display progress on the UINavigationBar. [e] -* [GearRefreshControl](https://github.com/andreamazz/GearRefreshControl) - A custom animation for the UIRefreshControl +* [GearRefreshControl](https://github.com/andreamazz/GearRefreshControl) - A custom animation for the UIRefreshControl * [NJKWebViewProgress](https://github.com/ninjinkun/NJKWebViewProgress) - A progress interface library for UIWebView. You can implement progress bar for your in-app browser using this module. -* [MKRingProgressView](https://github.com/maxkonovalov/MKRingProgressView) - A beautiful ring/circular progress view similar to Activity app on Apple Watch, written in Swift. -* [Hexacon](https://github.com/gautier-gdx/Hexacon) - A new way to display content in your app like the Apple Watch SpringBoard, written in Swift. -* [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. -* [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - (Swift) Circular progress UIView subclass with UIProgressView properties +* [MKRingProgressView](https://github.com/maxkonovalov/MKRingProgressView) - A beautiful ring/circular progress view similar to Activity app on Apple Watch, written in Swift. +* [Hexacon](https://github.com/gautier-gdx/Hexacon) - A new way to display content in your app like the Apple Watch SpringBoard, written in Swift. +* [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. +* [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - (Swift) Circular progress UIView subclass with UIProgressView properties * [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. * [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beautiful hud view for iPhone & iPad -* [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. -* [FillableLoaders](https://github.com/polqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift -* [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. -* [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design -* [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. -* [LLSpinner](https://github.com/alaphao/LLSpinner) - An easy way to create a full screen activity indicator. -* [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. +* [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. +* [FillableLoaders](https://github.com/polqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift +* [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. +* [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design +* [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. +* [LLSpinner](https://github.com/alaphao/LLSpinner) - An easy way to create a full screen activity indicator. +* [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. * [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. -* [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. -* [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. -* [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. -* [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). -* [BPCircleActivityIndicator](https://github.com/ppth0608/BPCircleActivityIndicator) - A lightweight and awesome Loading Activity Indicator for your iOS app. -* [DottedProgressBar](https://github.com/nikola9core/DottedProgressBar) - Simple and customizable animated progress bar with dots for iOS. -* [RSLoadingView](https://github.com/roytornado/RSLoadingView) - Awesome loading animations using 3D engine written with Swift. -* [SendIndicator](https://github.com/LeonardoCardoso/SendIndicator) - Yet another task indicator -* [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. -* [BPBlockActivityIndicator](https://github.com/ppth0608/BPBlockActivityIndicator) - A simple and awesome Loading Activity Indicator(with funny block animation) for your iOS app. -* [JustHUD](https://github.com/shubh10/JustHUD) - JustHUD is an iOS drop-in class written in Swift that displays a translucent HUD. -* [JDBreaksLoading](https://github.com/jamesdouble/JDBreaksLoading) - You can easily start up a little breaking game indicator by one line. -* [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. -* [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. -* [Skeleton](https://github.com/gonzalonunez/Skeleton) - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content. -* [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch" +* [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. +* [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. +* [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. +* [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). +* [BPCircleActivityIndicator](https://github.com/ppth0608/BPCircleActivityIndicator) - A lightweight and awesome Loading Activity Indicator for your iOS app. +* [DottedProgressBar](https://github.com/nikola9core/DottedProgressBar) - Simple and customizable animated progress bar with dots for iOS. +* [RSLoadingView](https://github.com/roytornado/RSLoadingView) - Awesome loading animations using 3D engine written with Swift. +* [SendIndicator](https://github.com/LeonardoCardoso/SendIndicator) - Yet another task indicator +* [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. +* [BPBlockActivityIndicator](https://github.com/ppth0608/BPBlockActivityIndicator) - A simple and awesome Loading Activity Indicator(with funny block animation) for your iOS app. +* [JustHUD](https://github.com/shubh10/JustHUD) - JustHUD is an iOS drop-in class written in Swift that displays a translucent HUD. +* [JDBreaksLoading](https://github.com/jamesdouble/JDBreaksLoading) - You can easily start up a little breaking game indicator by one line. +* [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. +* [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. +* [Skeleton](https://github.com/gonzalonunez/Skeleton) - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content. +* [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch" * [RetroProgress](https://github.com/hyperoslo/RetroProgress) - Retro looking progress bar straight from the 90s. * [LinearProgressBar](https://github.com/Recouse/LinearProgressBar) - Material Linear Progress Bar for your iOS apps. -#### Animation +### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. * [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. * [RZTransitions](https://github.com/Raizlabs/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. * [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. -* [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. +* [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. * [Canvas](https://github.com/CanvasPod/Canvas) - Animate in Xcode without code http://canvaspod.io -* [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy -* [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS with Swift2. -* [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). +* [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy +* [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS with Swift2. +* [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). * [Pop By Example](https://github.com/hossamghareeb/Facebook-POP-Tutorial) - A project tutorial in how to use Pop animation framework by example. * [AppAnimations](http://www.appanimations.com) - Collection of iOS animations to inspire your next project -* [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. -* [Animo](https://github.com/eure/Animo) - SpriteKit-like animation builders for CALayers. +* [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. +* [Animo](https://github.com/eure/Animo) - SpriteKit-like animation builders for CALayers. * [CurryFire](https://github.com/devinross/curry-fire) - A framework for creating unique animations. -* [IBAnimatable](https://github.com/IBAnimatable/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. -* [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView -* [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining -* [SYBlinkAnimationKit](https://github.com/shoheiyokoyama/SYBlinkAnimationKit) - A blink effect animation framework for iOS, written in Swift. +* [IBAnimatable](https://github.com/IBAnimatable/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. +* [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView +* [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining +* [SYBlinkAnimationKit](https://github.com/shoheiyokoyama/SYBlinkAnimationKit) - A blink effect animation framework for iOS, written in Swift. * [PulsingHalo](https://github.com/shu223/PulsingHalo) - iOS Component for creating a pulsing animation. -* [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - Chainable animations in Swift -* [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift -* [Advance](https://github.com/timdonnelly/Advance) - A powerful animation framework for iOS. +* [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - Chainable animations in Swift +* [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift +* [Advance](https://github.com/timdonnelly/Advance) - A powerful animation framework for iOS. * [UIView-Shake](https://github.com/andreamazz/UIView-Shake) - UIView category that adds shake animation -* [Walker](https://github.com/RamonGilabert/Walker) - A new animation engine for your app. -* [Morgan](https://github.com/RamonGilabert/Morgan) - An animation set for your app. -* [MagicMove](https://github.com/patrickreynolds/MagicMove) - Keynote-style Magic Move transition animations +* [Walker](https://github.com/RamonGilabert/Walker) - A new animation engine for your app. +* [Morgan](https://github.com/RamonGilabert/Morgan) - An animation set for your app. +* [MagicMove](https://github.com/patrickreynolds/MagicMove) - Keynote-style Magic Move transition animations * [Shimmer](https://github.com/facebook/Shimmer) - An easy way to add a simple, shimmering effect to any view in an iOS app. -* [SAConfettiView](https://github.com/sudeepag/SAConfettiView) - Confetti! Who doesn't like confetti? -* [CCMRadarView](https://github.com/cacmartinez/CCMRadarView) - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation -* [Pulsator](https://github.com/shu223/Pulsator) - Pulse animation for iOS -* [Interpolate](https://github.com/marmelroy/Interpolate) - Swift interpolation for gesture-driven animations -* [ADPuzzleAnimation](https://github.com/Antondomashnev/ADPuzzleAnimation) - Custom animation for UIView inspired by Fabric - Answers animation. -* [Wave](https://github.com/onmyway133/Wave) - :ocean: Declarative chainable animations in Swift -* [Stellar](https://github.com/AugustRush/Stellar) - A fantastic Physical animation library for swift -* [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. +* [SAConfettiView](https://github.com/sudeepag/SAConfettiView) - Confetti! Who doesn't like confetti? +* [CCMRadarView](https://github.com/cacmartinez/CCMRadarView) - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation +* [Pulsator](https://github.com/shu223/Pulsator) - Pulse animation for iOS +* [Interpolate](https://github.com/marmelroy/Interpolate) - Swift interpolation for gesture-driven animations +* [ADPuzzleAnimation](https://github.com/Antondomashnev/ADPuzzleAnimation) - Custom animation for UIView inspired by Fabric - Answers animation. +* [Wave](https://github.com/onmyway133/Wave) - :ocean: Declarative chainable animations in Swift +* [Stellar](https://github.com/AugustRush/Stellar) - A fantastic Physical animation library for swift +* [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. * [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. -* [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes. -* [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax -* [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. -* [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. +* [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes. +* [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax +* [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. +* [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. * [JHChainableAnimations](https://github.com/jhurray/JHChainableAnimations) - Easy to read and write chainable animations in Objective-C -* [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework +* [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework * [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. -* [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle +* [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle * [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. -* [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect +* [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect * [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. -* [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. -* [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. +* [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. +* [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. * [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. -* [Overlap](https://github.com/ML-Works/Overlap) - Tiny iOS library to achieve overlap visual effect. -* [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. -* [AnimatedCollectionViewLayout](https://github.com/KelvinJin/AnimatedCollectionViewLayout) - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView. -* [Dance](https://github.com/saoudrizwan/Dance) - A radical & elegant animation library built for iOS. +* [Overlap](https://github.com/ML-Works/Overlap) - Tiny iOS library to achieve overlap visual effect. +* [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. +* [AnimatedCollectionViewLayout](https://github.com/KelvinJin/AnimatedCollectionViewLayout) - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView. +* [Dance](https://github.com/saoudrizwan/Dance) - A radical & elegant animation library built for iOS. * [AKVideoImageView](https://github.com/numen31337/AKVideoImageView) - UIImageView subclass which allows you to display a looped video as a background. * [Spruce iOS Animation Library](https://github.com/willowtreeapps/spruce-ios) - Swift library for choreographing animations on the screen. -* [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. -* [TweenKit](https://github.com/SteveBarnegren/TweenKit) - Animation library for iOS in Swift. -* [Water](https://github.com/KrisYu/Water) - Simple calculation to render cheap water effects. -* [Pastel](https://github.com/cruisediary/Pastel) - Gradient animation effect like Instagram. -* [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. -* [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation -* [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift -* [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS in Swift -* [ViewAnimator](https://github.com/marcosgriselli/ViewAnimator) - ViewAnimator brings your UI to life with just one line. -* [Ease](https://github.com/roberthein/Ease) - Animate everything with Ease. -* [Kinieta](https://github.com/mmick66/kinieta) - An Animation Engine with Custom Bezier Easing, an Intuitive API and perfect Color Intepolation. +* [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. +* [TweenKit](https://github.com/SteveBarnegren/TweenKit) - Animation library for iOS in Swift. +* [Water](https://github.com/KrisYu/Water) - Simple calculation to render cheap water effects. +* [Pastel](https://github.com/cruisediary/Pastel) - Gradient animation effect like Instagram. +* [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. +* [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation +* [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift +* [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS in Swift +* [ViewAnimator](https://github.com/marcosgriselli/ViewAnimator) - ViewAnimator brings your UI to life with just one line. +* [Ease](https://github.com/roberthein/Ease) - Animate everything with Ease. +* [Kinieta](https://github.com/mmick66/kinieta) - An Animation Engine with Custom Bezier Easing, an Intuitive API and perfect Color Intepolation. * [LSAnimator](https://github.com/Lision/LSAnimator) - Easy to Read and Write Multi-chain Animations Kit in Objective-C and Swift. -* [YetAnotherAnimationLibrary](https://github.com/lkzhao/YetAnotherAnimationLibrary) - Designed for gesture-driven animations. Fast, simple, & extensible!. +* [YetAnotherAnimationLibrary](https://github.com/lkzhao/YetAnotherAnimationLibrary) - Designed for gesture-driven animations. Fast, simple, & extensible!. * [Anima](https://github.com/satoshin21/Anima) - Anima is chainable Layer-Based Animation library for Swift4. * [MotionAnimation](https://github.com/lkzhao/MotionAnimation) - Lightweight animation library for UIKit. * [AGInterfaceInteraction](https://github.com/agilie/AGInterfaceInteraction) - library performs interaction with UI interface. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [VariousViewsEffects](https://github.com/artrmz/VariousViewsEffects) - Animates views nicely with easy to use extensions. -##### Transition +### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. -* [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. -* [BubbleTransition](https://github.com/andreamazz/BubbleTransition) - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. -* [RPModalGestureTransition](https://github.com/naoyashiga/RPModalGestureTransition) - You can dismiss modal by using gesture :point_up_2: :iphone: +* [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. +* [BubbleTransition](https://github.com/andreamazz/BubbleTransition) - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. +* [RPModalGestureTransition](https://github.com/naoyashiga/RPModalGestureTransition) - You can dismiss modal by using gesture :point_up_2: :iphone: * [RMPZoomTransitionAnimator](https://github.com/recruit-mp/RMPZoomTransitionAnimator) - A custom zooming transition animation for UIViewController -* [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. +* [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. * [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao * [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller -* [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. +* [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. * [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view hierarchy. Used extensively in the Zola iOS application. * [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. -* [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. -* [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. -* [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like iOS task manager -* [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. -* [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. -* [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. -* [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. -* [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS -* [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. -* [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. -* [DeckTransition](https://github.com/HarshilShah/DeckTransition) - A library to recreate the iOS Apple Music now playing transition -* [TransitionableTab](https://github.com/Interactive-Studio/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab +* [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. +* [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. +* [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like iOS task manager +* [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. +* [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. +* [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. +* [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. +* [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS +* [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. +* [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. +* [DeckTransition](https://github.com/HarshilShah/DeckTransition) - A library to recreate the iOS Apple Music now playing transition +* [TransitionableTab](https://github.com/Interactive-Studio/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab * [AlertTransition](https://github.com/loopeer/AlertTransition) - AlertTransition is a extensible library for making view controller transitions, especially for alert transitions. -#### Alert & Action Sheet +### Alert & Action Sheet -* [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. +* [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. * [NYAlertViewController](https://github.com/nealyoung/NYAlertViewController) - Highly configurable iOS Alert Views with custom content views. -* [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. -* [TTGSnackbar](https://github.com/zekunyan/TTGSnackbar) - Show simple message and action button on the bottom of the screen with multi kinds of animation. -* [Swift-Prompts](https://github.com/GabrielAlva/Swift-Prompts) - A Swift library to design custom prompts with a great scope of options to choose from. -* [BRYXBanner](https://github.com/bryx-inc/BRYXBanner) - A lightweight dropdown notification for iOS 7+, in Swift. -* [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages +* [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. +* [TTGSnackbar](https://github.com/zekunyan/TTGSnackbar) - Show simple message and action button on the bottom of the screen with multi kinds of animation. +* [Swift-Prompts](https://github.com/GabrielAlva/Swift-Prompts) - A Swift library to design custom prompts with a great scope of options to choose from. +* [BRYXBanner](https://github.com/bryx-inc/BRYXBanner) - A lightweight dropdown notification for iOS 7+, in Swift. +* [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages * [HDNotificationView](https://github.com/nhdang103/HDNotificationView) - Emulates the native Notification Banner UI for any alert. * [JDStatusBarNotification](https://github.com/calimarkus/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. -* [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. -* [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController -* [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. -* [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. +* [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. +* [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController +* [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. +* [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. * [RKDropdownAlert](https://github.com/cwRichardKim/RKDropdownAlert) - Extremely simple UIAlertView alternative. -* [TKSwarmAlert](https://github.com/entotsu/TKSwarmAlert) - Animated alert library like Swarm app. -* [Whisper](https://github.com/hyperoslo/Whisper) - Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside -* [SimpleAlert](https://github.com/KyoheiG3/SimpleAlert) - Customizable simple Alert and simple ActionSheet for Swift -* [Hokusai](https://github.com/ytakzk/Hokusai) - A Swift library to provide a bouncy action sheet -* [SwiftNotice](https://github.com/johnlui/SwiftNotice) - SwiftNotice is a GUI library for displaying various popups (HUD) written in pure Swift, fits any scrollview. -* [SwiftOverlays](https://github.com/peterprokop/SwiftOverlays) - SwiftOverlays is a Swift GUI library for displaying various popups and notifications -* [SwiftyDrop](https://github.com/morizotter/SwiftyDrop) - SwiftyDrop is a lightweight pure Swift simple and beautiful dropdown message. -* [LKAlertController](https://github.com/Lightningkite/LKAlertController) - An easy to use UIAlertController builder for swift. -* [DOAlertController](https://github.com/okmr-d/DOAlertController) - Simple Alert View written in Swift, which can be used as a UIAlertController. (AlertController/AlertView/ActionSheet) -* [CustomizableActionSheet](https://github.com/beryu/CustomizableActionSheet) - Action sheet allows including your custom views and buttons. -* [Toast-Swift](https://github.com/scalessec/Toast-Swift) - A Swift extension that adds toast notifications to the UIView object class. -* [PMAlertController](https://github.com/pmusolino/PMAlertController) - PMAlertController is a great and customizable substitute to UIAlertController. -* [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. -* [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. +* [TKSwarmAlert](https://github.com/entotsu/TKSwarmAlert) - Animated alert library like Swarm app. +* [Whisper](https://github.com/hyperoslo/Whisper) - Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside +* [SimpleAlert](https://github.com/KyoheiG3/SimpleAlert) - Customizable simple Alert and simple ActionSheet for Swift +* [Hokusai](https://github.com/ytakzk/Hokusai) - A Swift library to provide a bouncy action sheet +* [SwiftNotice](https://github.com/johnlui/SwiftNotice) - SwiftNotice is a GUI library for displaying various popups (HUD) written in pure Swift, fits any scrollview. +* [SwiftOverlays](https://github.com/peterprokop/SwiftOverlays) - SwiftOverlays is a Swift GUI library for displaying various popups and notifications +* [SwiftyDrop](https://github.com/morizotter/SwiftyDrop) - SwiftyDrop is a lightweight pure Swift simple and beautiful dropdown message. +* [LKAlertController](https://github.com/Lightningkite/LKAlertController) - An easy to use UIAlertController builder for swift. +* [DOAlertController](https://github.com/okmr-d/DOAlertController) - Simple Alert View written in Swift, which can be used as a UIAlertController. (AlertController/AlertView/ActionSheet) +* [CustomizableActionSheet](https://github.com/beryu/CustomizableActionSheet) - Action sheet allows including your custom views and buttons. +* [Toast-Swift](https://github.com/scalessec/Toast-Swift) - A Swift extension that adds toast notifications to the UIView object class. +* [PMAlertController](https://github.com/pmusolino/PMAlertController) - PMAlertController is a great and customizable substitute to UIAlertController. +* [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. +* [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. * [CRToast](https://github.com/cruffenach/CRToast) - A modern iOS toast view that can fit your notification needs -* [JLToast](https://github.com/devxoul/Toaster) - Toast for iOS with very simple interface. -* [CuckooAlert](https://github.com/rollmind/CuckooAlert) - Multiple use of presentViewController for UIAlertController. -* [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. -* [Dodo](https://github.com/evgenyneu/Dodo) - A message bar for iOS written in Swift. -* [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. -* [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. -* [FCAlertView](https://github.com/krispenney/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) +* [JLToast](https://github.com/devxoul/Toaster) - Toast for iOS with very simple interface. +* [CuckooAlert](https://github.com/rollmind/CuckooAlert) - Multiple use of presentViewController for UIAlertController. +* [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. +* [Dodo](https://github.com/evgenyneu/Dodo) - A message bar for iOS written in Swift. +* [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. +* [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. +* [FCAlertView](https://github.com/krispenney/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) * [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. (Objective-C) -* [CDAlertView](https://github.com/candostdagdeviren/CDAlertView) - Highly customizable alert/notification/success/error/alarm popup +* [CDAlertView](https://github.com/candostdagdeviren/CDAlertView) - Highly customizable alert/notification/success/error/alarm popup * [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. * [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. * [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. -* [Hedwig](https://github.com/carabina/Hedwig) - Interactive notification -* [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. -* [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift +* [Hedwig](https://github.com/carabina/Hedwig) - Interactive notification +* [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. +* [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift * [RAlertView](https://github.com/roycms/AlertView) - AlertView, iOS popup window, A pop-up framework, Can be simple and convenient to join your project. -* [NoticeBar](https://github.com/qiuncheng/NoticeBar) - 😍A simple NoticeBar written by Swift 3, similar with QQ notice view. -* [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS +* [NoticeBar](https://github.com/qiuncheng/NoticeBar) - 😍A simple NoticeBar written by Swift 3, similar with QQ notice view. +* [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS * [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook). * [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone. -* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. -* [Alertift](https://github.com/sgr-ksmt/Alertift) - Swifty, modern UIAlertController wrapper. -* [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. -* [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. -* [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS -* [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. -* [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. -* [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. -* [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. +* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. +* [Alertift](https://github.com/sgr-ksmt/Alertift) - Swifty, modern UIAlertController wrapper. +* [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. +* [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. +* [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS +* [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. +* [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. +* [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. +* [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. * [RMessage](https://github.com/donileo/RMessage) - A crisp in-app notification/message banner built in ObjC. * [InAppNotify](https://github.com/lucabecchetti/InAppNotify) - Swift library to manage in-app notification in swift language, like WhatsApp, Telegram, Frind, etc. * [FloatingActionSheetController](https://github.com/ra1028/FloatingActionSheetController) - FloatingActionSheetController is a cool design ActionSheetController library written in Swift. * [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS -* [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. +* [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. * [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 * [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. -#### Badge -* [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. +### Badge +* [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. [e] * [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. -* [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift +* [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift -#### Button +### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. -* [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. +* [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. * [VBFPopFlatButton](https://github.com/victorBaro/VBFPopFlatButton) - Flat button with 9 different states animated using Facebook POP. * [HTPressableButton](https://github.com/Famolus/HTPressableButton) - Flat design pressable button. -* [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state +* [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state * [JTFadingInfoView](https://github.com/JunichiT/JTFadingInfoView) - An UIButton-based view with fade in/out animation features. -* [Floaty](https://github.com/kciter/Floaty) - :heart: Floating Action Button for iOS -* [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). -* [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift -* [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. +* [Floaty](https://github.com/kciter/Floaty) - :heart: Floating Action Button for iOS +* [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). +* [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift +* [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. * [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - Inspired by Apple’s download progress buttons in the App Store. -* [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design +* [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design * [JOEmojiableBtn](https://github.com/lojals/JOEmojiableBtn) - Emoji selector like Facebook Reactions. * [EMEmojiableBtn](https://github.com/Eke/EMEmojiableBtn) - Option selector that works similar to Reactions by fb. Objective-c version. * [WYMaterialButton](https://github.com/Yu-w/WYMaterialButton) - Interactive and fully animated Material Design button for iOS developers. -* [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift -* [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash -* [CRNetworkButton](https://github.com/Cleveroad/CRNetworkButton) - Send Button for iOS -* [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. -* [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. -* [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. -* [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. -* [MultiToggleButton](https://github.com/yonat/MultiToggleButton) - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons). -* [PMSuperButton](https://github.com/pmusolino/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! -* [JSButton](https://github.com/imjog/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. -* [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation -* [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. -* [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class -* [DesignableButton](https://github.com/IdleHandsApps/DesignableButton) - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time! +* [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift +* [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash +* [CRNetworkButton](https://github.com/Cleveroad/CRNetworkButton) - Send Button for iOS +* [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. +* [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. +* [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. +* [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. +* [MultiToggleButton](https://github.com/yonat/MultiToggleButton) - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons). +* [PMSuperButton](https://github.com/pmusolino/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! +* [JSButton](https://github.com/imjog/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. +* [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation +* [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. +* [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class +* [DesignableButton](https://github.com/IdleHandsApps/DesignableButton) - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time! * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox) - Tasteful Checkbox for iOS. (Check box) -#### Calendar -* [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). +### Calendar +* [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). * [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. -* [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS +* [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS * [GLCalendarView](https://github.com/Glow-Inc/GLCalendarView) - A fully customizable calendar view acting as a date range picker * [JTCalendar](https://github.com/jonathantribouharet/JTCalendar) - A customizable calendar view for iOS. -* [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The Unofficial Swift Apple Calendar Library. View. Control. for iOS & tvOS +* [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The Unofficial Swift Apple Calendar Library. View. Control. for iOS & tvOS * [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. -* [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern +* [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern * [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS -* [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift -* [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time +* [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift +* [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time * [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. -* [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. -* [GDPersianCalendar](https://github.com/saeid/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. +* [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. +* [GDPersianCalendar](https://github.com/saeid/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. * [MBCalendarKit](https://github.com/MosheBerman/MBCalendarKit) - A calendar framework for iOS built with customization, and localization in mind. -* [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. +* [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. * [KDCalendarView](https://github.com/mmick66/CalendarView) - A calendar component for iOS written in Swift 4.0. It features both vertical and horizontal layout (and scrolling) and the display of native calendar events. -* [CalendarPopUp](https://github.com/orazz/CalendarPopUp) - CalendarPopUp - JTAppleCalendar library. +* [CalendarPopUp](https://github.com/orazz/CalendarPopUp) - CalendarPopUp - JTAppleCalendar library. * [ios_calendar](https://github.com/maximbilan/ios_calendar) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar -#### Form & Settings +### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS * [XLForm](https://github.com/xmartlabs/XLForm) - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C. -* [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. +* [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. * [YALField](https://github.com/Yalantis/YALField) - Custom Field component with validation for creating easier form-like UI from interface builder. -* [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. -* [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. +* [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. +* [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. * [APValidators](https://github.com/Alterplay/APValidators) - Codeless solution for form validation in iOS! -* [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS -* [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - SwiftyFORM is a form framework for iOS written in Swift +* [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS +* [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - SwiftyFORM is a form framework for iOS written in Swift * [FXForms](https://github.com/nicklockwood/FXForms) - FXForms is an Objective-C library for easily creating table-based forms on iOS. It is ideal for settings pages, or user data entry tasks. -* [SwiftValidator](https://github.com/SwiftValidatorCommunity/SwiftValidator) - A rule-based validation library for Swift +* [SwiftValidator](https://github.com/SwiftValidatorCommunity/SwiftValidator) - A rule-based validation library for Swift * [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. -* [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. -* [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. -* [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. +* [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. +* [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. +* [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. * [LightForm](https://github.com/farshidce/LightForm) - A Simple interactive and customizable library to handle form input and validations -* [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. +* [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. -#### Keyboard +### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. * [RFKeyboardToolbar](https://github.com/ruddfawcett/RFKeyboardToolbar) - This is a flexible UIView and UIButton subclass to add customized buttons and toolbars to your UITextFields/UITextViews. * [IQKeyboardManager](https://github.com/hackiftekhar/IQKeyboardManager) - Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. * [NgKeyboardTracker](https://github.com/meiwin/NgKeyboardTracker) - Objective-C library for tracking keyboard in iOS apps. * [MMNumberKeyboard](https://github.com/matmartinez/MMNumberKeyboard) - A simple keyboard to use with numbers and, optionally, a decimal point. -* [KeyboardObserver](https://github.com/morizotter/KeyboardObserver) - For less complicated keyboard event handling. +* [KeyboardObserver](https://github.com/morizotter/KeyboardObserver) - For less complicated keyboard event handling. * [TPKeyboardAvoiding](https://github.com/michaeltyson/TPKeyboardAvoiding) - A drop-in universal solution for moving text fields out of the way of the keyboard in iOS * [YYKeyboardManager](https://github.com/ibireme/YYKeyboardManager) - iOS utility class allows you to access keyboard view and track keyboard animation. -* [KeyboardMan](https://github.com/nixzhu/KeyboardMan) - KeyboardMan helps you make keyboard animation. +* [KeyboardMan](https://github.com/nixzhu/KeyboardMan) - KeyboardMan helps you make keyboard animation. * [MakemojiSDK](https://github.com/makemoji/MakemojiSDK) - Emoji Keyboard SDK (iOS) -* [Typist](https://github.com/totocaster/Typist) - Small, drop-in Swift UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center. -* [KeyboardHideManager](https://github.com/bonyadmitr/KeyboardHideManager) - Codeless manager to hide keyboard by tapping on views for iOS written in Swift -* [Toolbar](https://github.com/1amageek/Toolbar) - Awesome autolayout Toolbar. -* [IHKeyboardAvoiding](https://github.com/IdleHandsApps/IHKeyboardAvoiding) - A drop-in universal solution for keeping any UIView visible when the keyboard is being shown - no more UIScrollViews! -* [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). - -#### Label -* [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. -* [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift +* [Typist](https://github.com/totocaster/Typist) - Small, drop-in Swift UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center. +* [KeyboardHideManager](https://github.com/bonyadmitr/KeyboardHideManager) - Codeless manager to hide keyboard by tapping on views for iOS written in Swift +* [Toolbar](https://github.com/1amageek/Toolbar) - Awesome autolayout Toolbar. +* [IHKeyboardAvoiding](https://github.com/IdleHandsApps/IHKeyboardAvoiding) - A drop-in universal solution for keeping any UIView visible when the keyboard is being shown - no more UIScrollViews! +* [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). + +### Label +* [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. +* [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift * [MZTimerLabel](https://github.com/mineschan/MZTimerLabel) - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App. -* [CountdownLabel](https://github.com/suzuki-0000/CountdownLabel) - Simple countdown UILabel with morphing animation, and some useful function. -* [IncrementableLabel](https://github.com/tbaranes/IncrementableLabel) - Incrementable label for iOS, macOS, and tvOS. +* [CountdownLabel](https://github.com/suzuki-0000/CountdownLabel) - Simple countdown UILabel with morphing animation, and some useful function. +* [IncrementableLabel](https://github.com/tbaranes/IncrementableLabel) - Incrementable label for iOS, macOS, and tvOS. * [TTTAttributedLabel](https://github.com/TTTAttributedLabel/TTTAttributedLabel) - A drop-in replacement for UILabel that supports attributes, data detectors, links, and more -* [NumberMorphView](https://github.com/me-abhinav/NumberMorphView) - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. -* [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. +* [NumberMorphView](https://github.com/me-abhinav/NumberMorphView) - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. +* [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. * [TOMSMorphingLabel](https://github.com/tomknig/TOMSMorphingLabel) - Configurable morphing transitions between text values of a label. * [THLabel](https://github.com/tobihagemann/THLabel) - UILabel subclass, which additionally allows shadow blur, inner shadow, stroke text and fill gradient. * [RQShineLabel](https://github.com/zipme/RQShineLabel) - Secret app like text animation * [ZCAnimatedLabel](https://github.com/overboming/ZCAnimatedLabel) - UILabel replacement with fine-grain appear/disappear animation -* [TriLabelView](https://github.com/mukeshthawani/TriLabelView) - A triangle shaped corner label view for iOS written in Swift. +* [TriLabelView](https://github.com/mukeshthawani/TriLabelView) - A triangle shaped corner label view for iOS written in Swift. * [Preloader.Ophiuchus](https://github.com/Yalantis/Preloader.Ophiuchus) - Custom Label to apply animations on whole text or letters. -* [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. +* [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. * [UICountingLabel](https://github.com/dataxpress/UICountingLabel/) - Adds animated counting support to UILabel. -* [SlidingText](https://github.com/dnKaratzas/SlidingText) - Swift UIView for sliding text with page indicator. -* [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. -* [JSLabel](https://github.com/imjog/JSLabel/) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. +* [SlidingText](https://github.com/dnKaratzas/SlidingText) - Swift UIView for sliding text with page indicator. +* [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. +* [JSLabel](https://github.com/imjog/JSLabel/) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. * [AnimatedMaskLabel](https://github.com/imjog/AnimatedMaskLabel) - Animated Mask Label is a nice gradient animated label. This is an easy way to add a shimmering effect to any view in your app. -#### Login -* [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. -* [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. -* [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. +### Login +* [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. +* [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. +* [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. -#### Menu -* [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. +### Menu +* [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. * [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. -* [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. -* [PagingMenuController](https://github.com/kitasuke/PagingMenuController) - Paging view controller with customizable menu in Swift. -* [RadialMenu](https://github.com/bradjasper/radialmenu) - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP -* [cariocamenu](https://github.com/arn00s/cariocamenu) - The fastest zero-tap iOS menu. +* [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. +* [PagingMenuController](https://github.com/kitasuke/PagingMenuController) - Paging view controller with customizable menu in Swift. +* [RadialMenu](https://github.com/bradjasper/radialmenu) - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP +* [cariocamenu](https://github.com/arn00s/cariocamenu) - The fastest zero-tap iOS menu. * [VLDContextSheet](https://github.com/vangelov/VLDContextSheet) - Context menu similar to the one in the Pinterest iOS app -* [GuillotineMenu](https://github.com/Yalantis/GuillotineMenu) - Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine. -* [MediumMenu](https://github.com/pixyzehn/MediumMenu) - A menu based on Medium iOS app. +* [GuillotineMenu](https://github.com/Yalantis/GuillotineMenu) - Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine. +* [MediumMenu](https://github.com/pixyzehn/MediumMenu) - A menu based on Medium iOS app. * [SwiftySideMenu](https://github.com/hossamghareeb/SwiftySideMenu) - SwiftySideMenu is a lightweight and easy to use side menu controller to add left menu and center view controllers with scale animation based on Pop framework. * [LLSlideMenu](https://github.com/lilei644/LLSlideMenu) - This is a spring slide menu for iOS apps -* [Swift-Slide-Menu](https://github.com/PhilippeBoisney/Swift-Slide-Menu) - A Slide Menu, written in Swift, inspired by Slide Menu Material Design. -* [MenuItemKit](https://github.com/cxa/MenuItemKit) - UIMenuItem with image and block(closure) -* [BTNavigationDropdownMenu](https://github.com/PhamBaTho/BTNavigationDropdownMenu) - The elegant dropdown menu, written in Swift, appears underneath navigation bar to display a list of related items when a user click on the navigation title. -* [ALRadialMenu](https://github.com/AlexLittlejohn/ALRadialMenu) - A radial/circular menu featuring spring animations. Written in swift -* [AZDropdownMenu](https://github.com/Azuritul/AZDropdownMenu) - An easy to use dropdown menu that supports images. -* [CircleMenu](https://github.com/Ramotion/circle-menu) - An animated, multi-option menu button. -* [SlideMenuControllerSwift](https://github.com/dekatotoro/SlideMenuControllerSwift) - iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure Swift. -* [SideMenu](https://github.com/jonkykong/SideMenu) - Simple side menu control in Swift inspired by Facebook. Right and Left sides. Lots of customization and animation options. Can be implemented in Storyboard with no code. +* [Swift-Slide-Menu](https://github.com/PhilippeBoisney/Swift-Slide-Menu) - A Slide Menu, written in Swift, inspired by Slide Menu Material Design. +* [MenuItemKit](https://github.com/cxa/MenuItemKit) - UIMenuItem with image and block(closure) +* [BTNavigationDropdownMenu](https://github.com/PhamBaTho/BTNavigationDropdownMenu) - The elegant dropdown menu, written in Swift, appears underneath navigation bar to display a list of related items when a user click on the navigation title. +* [ALRadialMenu](https://github.com/AlexLittlejohn/ALRadialMenu) - A radial/circular menu featuring spring animations. Written in swift +* [AZDropdownMenu](https://github.com/Azuritul/AZDropdownMenu) - An easy to use dropdown menu that supports images. +* [CircleMenu](https://github.com/Ramotion/circle-menu) - An animated, multi-option menu button. +* [SlideMenuControllerSwift](https://github.com/dekatotoro/SlideMenuControllerSwift) - iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure Swift. +* [SideMenu](https://github.com/jonkykong/SideMenu) - Simple side menu control in Swift inspired by Facebook. Right and Left sides. Lots of customization and animation options. Can be implemented in Storyboard with no code. * [CategorySliderView](https://github.com/cemolcay/CategorySliderView) - slider view for choosing categories. add any UIView type as category item view. Fully customisable * [MKDropdownMenu](https://github.com/maxkonovalov/MKDropdownMenu) - A Dropdown Menu for iOS with many customizable parameters to suit any needs. -* [ExpandingMenu](https://github.com/monoqlo/ExpandingMenu) - ExpandingMenu is menu button for iOS written in Swift. -* [PageMenu](https://github.com/PageMenu/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) +* [ExpandingMenu](https://github.com/monoqlo/ExpandingMenu) - ExpandingMenu is menu button for iOS written in Swift. +* [PageMenu](https://github.com/PageMenu/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) * [XXXRoundMenuButton](https://github.com/zsy78191/XXXRoundMenuButton) - A simple circle style menu. * [IGCMenu](https://github.com/sunilsharma08/IGCMenu) - Grid and Circular menu with animation.Easy to customise. * [EEJSelectMenu](https://github.com/eejahromi/EEJSelectMenu) - Single selection menu with cool animations, responsive with all screen sizes. * [IGLDropDownMenu](https://github.com/bestwnh/IGLDropDownMenu) - An iOS drop down menu with pretty animation and easy to customize. -* [Side-Menu.iOS](https://github.com/Yalantis/Side-Menu.iOS) - Animated side menu with customizable UI +* [Side-Menu.iOS](https://github.com/Yalantis/Side-Menu.iOS) - Animated side menu with customizable UI * [PopMenu](https://github.com/xhzengAIB/PopMenu) - PopMenu is pop animation menu inspired by Sina weibo / NetEase app. -* [FlowingMenu](https://github.com/yannickl/FlowingMenu) - Interactive view transition to display menus with flowing and bouncing effects in Swift -* [Persei](https://github.com/Yalantis/Persei) - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift -* [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS +* [FlowingMenu](https://github.com/yannickl/FlowingMenu) - Interactive view transition to display menus with flowing and bouncing effects in Swift +* [Persei](https://github.com/Yalantis/Persei) - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift +* [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS * [KYGooeyMenu](https://github.com/KittenYang/KYGooeyMenu) - A not bad gooey effects menu. -* [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift +* [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift * [Context-Menu.iOS](https://github.com/Yalantis/Context-Menu.iOS) - You can easily add awesome animated context menu to your app. * [ViewDeck](https://github.com/ViewDeck/ViewDeck) - An implementation of the sliding functionality found in the Path 2.0 or Facebook iOS apps. -* [FrostedSidebar](https://github.com/edekhayser/FrostedSidebar) - Hamburger Menu using Swift and iOS 8 API's +* [FrostedSidebar](https://github.com/edekhayser/FrostedSidebar) - Hamburger Menu using Swift and iOS 8 API's * [VHBoomMenuButton](https://github.com/Nightonke/VHBoomMenuButton) - A menu which can ... BOOM! -* [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. -* [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. -* [RHSideButtons](https://github.com/robertherdzik/RHSideButtons) - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. -* [Swift-CircleMenu](https://github.com/Sufi-Al-Hussaini/Swift-CircleMenu) - Rotating circle menu written in Swift 3. -* [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. -* [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. -* [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. -* [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! -* [JNDropDownMenu](https://github.com/javalnanda/JNDropDownMenu) - Easy to use tableview style drop down menu with multi-column support written in Swift3. -* [FanMenu](https://github.com/exyte/fan-menu) - Menu with a circular layout based on Macaw. -* [AirBar](https://github.com/uptechteam/AirBar) - UIScrollView driven expandable menu written in Swift 3. -* [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition -* [SwipeMenuViewController](https://github.com/yysskk/SwipeMenuViewController) - Swipable tab and menu View and ViewController. -* [DTPagerController](https://github.com/tungvoduc/DTPagerController) - A fully customizable container view controller to display set of ViewControllers in horizontal scroller -* [PagingKit](https://github.com/kazuhiro4949/PagingKit) - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries. +* [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. +* [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. +* [RHSideButtons](https://github.com/robertherdzik/RHSideButtons) - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. +* [Swift-CircleMenu](https://github.com/Sufi-Al-Hussaini/Swift-CircleMenu) - Rotating circle menu written in Swift 3. +* [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. +* [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. +* [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. +* [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! +* [JNDropDownMenu](https://github.com/javalnanda/JNDropDownMenu) - Easy to use tableview style drop down menu with multi-column support written in Swift3. +* [FanMenu](https://github.com/exyte/fan-menu) - Menu with a circular layout based on Macaw. +* [AirBar](https://github.com/uptechteam/AirBar) - UIScrollView driven expandable menu written in Swift 3. +* [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition +* [SwipeMenuViewController](https://github.com/yysskk/SwipeMenuViewController) - Swipable tab and menu View and ViewController. +* [DTPagerController](https://github.com/tungvoduc/DTPagerController) - A fully customizable container view controller to display set of ViewControllers in horizontal scroller +* [PagingKit](https://github.com/kazuhiro4949/PagingKit) - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries. * [Dropdowns](https://github.com/hyperoslo/Dropdowns) - 💧 Dropdown in Swift * [Parchment](https://github.com/rechsteiner/Parchment) - A paging view controller with a highly customizable menu. Built on UICollectionView, with support for custom layouts and infinite data sources. * [ContextMenu](https://github.com/GitHawkApp/ContextMenu) - An iOS context menu UI inspired by Things 3. -#### Navigation Bar -* [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls +### Navigation Bar +* [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls * [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! * [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. * [LTNavigationBar](https://github.com/ltebean/LTNavigationBar) - UINavigationBar Category which allows you to change its appearance dynamically -* [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects -* [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. -* [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView -* [NavKit](https://github.com/wilbertliu/NavKit) - Simple and integrated way to customize navigation bar experience on iOS app. -* [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop +* [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects +* [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. +* [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView +* [NavKit](https://github.com/wilbertliu/NavKit) - Simple and integrated way to customize navigation bar experience on iOS app. +* [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop * [TONavigationBar](https://github.com/TimOliver/TONavigationBar) - A simple subclass that adds the ability to set the navigation bar background to 'clear' and gradually transition it visibly back in, similar to the effect in the iOS Music app. -#### PickerView +### PickerView * [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. -* [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. -* [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - Date picker dialog for iOS +* [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. +* [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - Date picker dialog for iOS * [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. * [AIDatePickerController](https://github.com/alikaragoz/AIDatePickerController) - :date: UIDatePicker modally presented with iOS 7 custom transitions. -* [CountryPicker](https://github.com/4taras4/CountryCode) - :date: UIPickerView with Country names flags and phoneCodes -* [McPicker](https://github.com/kmcgill88/McPicker-iOS) - A customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready. -* [Mandoline](https://github.com/blueapron/Mandoline) - An iOS picker view to serve all your "picking" needs -* [D2PDatePicker](https://github.com/di2pra/D2PDatePicker) - Elegant and Easy-to-Use iOS Swift Date Picker -* [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps -* [planet](https://github.com/kwallet/planet) - A country picker -* [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. - -#### Popup +* [CountryPicker](https://github.com/4taras4/CountryCode) - :date: UIPickerView with Country names flags and phoneCodes +* [McPicker](https://github.com/kmcgill88/McPicker-iOS) - A customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready. +* [Mandoline](https://github.com/blueapron/Mandoline) - An iOS picker view to serve all your "picking" needs +* [D2PDatePicker](https://github.com/di2pra/D2PDatePicker) - Elegant and Easy-to-Use iOS Swift Date Picker +* [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps +* [planet](https://github.com/kwallet/planet) - A country picker +* [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. + +### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. * [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. -* [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. +* [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. * [CNPPopupController](https://github.com/carsonperrotti/CNPPopupController) - Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. * [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. -* [SubscriptionPrompt](https://github.com/binchik/SubscriptionPrompt) - Subscription View Controller like the Tinder uses -* [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ -* [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. -* [SelectionDialog](https://github.com/kciter/SelectionDialog) - Simple selection dialog. -* [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. +* [SubscriptionPrompt](https://github.com/binchik/SubscriptionPrompt) - Subscription View Controller like the Tinder uses +* [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ +* [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. +* [SelectionDialog](https://github.com/kciter/SelectionDialog) - Simple selection dialog. +* [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. * [MIBlurPopup](https://github.com/MarioIannotta/MIBlurPopup) - MIBlurPopup let you create amazing popups with a blurred background. * [LNPopupController](https://github.com/LeoNatan/LNPopupController) - a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps. -* [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. -* [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. -* [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. +* [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. +* [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. +* [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. -#### ProgressView -* [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift -* [GradientCircularProgress](https://github.com/keygx/GradientCircularProgress) - Customizable progress indicator library in Swift. +### ProgressView +* [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift +* [GradientCircularProgress](https://github.com/keygx/GradientCircularProgress) - Customizable progress indicator library in Swift. -#### Pull to Refresh -* [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift -* [PullToBounce](https://github.com/entotsu/PullToBounce) - Animated "Pull To Refresh" Library for UIScrollView. +### Pull to Refresh +* [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift +* [PullToBounce](https://github.com/entotsu/PullToBounce) - Animated "Pull To Refresh" Library for UIScrollView. * [SVPullToRefresh](https://github.com/samvermette/SVPullToRefresh) - Give pull-to-refresh & infinite scrolling to any UIScrollView with 1 line of code. http://samvermette.com/314 * [UzysAnimatedGifPullToRefresh](https://github.com/uzysjung/UzysAnimatedGifPullToRefresh) - Add PullToRefresh using animated GIF to any scrollView with just simple code * [PullToRefreshCoreText](https://github.com/cemolcay/PullToRefreshCoreText) - PullToRefresh extension for all UIScrollView type classes with animated text drawing style * [BOZPongRefreshControl](https://github.com/boztalay/BOZPongRefreshControl) - A pull-down-to-refresh control for iOS that plays pong, originally created for the MHacks III iOS app * [CBStoreHouseRefreshControl](https://github.com/coolbeet/CBStoreHouseRefreshControl) - Fully customizable pull-to-refresh control inspired by Storehouse iOS app -* [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift +* [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift * [mntpulltoreact](https://github.com/mentionapp/mntpulltoreact) - One gesture, many actions. An evolution of Pull to Refresh. * [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. -* [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. +* [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. * [MJRefresh](https://github.com/CoderMJLee/MJRefresh) An easy way to use pull-to-refresh. * [HTPullToRefresh](https://github.com/hoang-tran/HTPullToRefresh) - Easily add vertical and horizontal pull to refresh to any UIScrollView. Can also add multiple pull-to-refesh views at once. -* [PullToRefreshSwift](https://github.com/dekatotoro/PullToRefreshSwift) - iOS Simple Cool PullToRefresh Library. It is written in pure swift. -* [GIFRefreshControl](https://github.com/delannoyk/GIFRefreshControl) - GIFRefreshControl is a pull to refresh that supports GIF images as track animations. -* [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift -* [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView -* [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). -* [ESPullToRefresh](https://github.com/eggswift/pull-to-refresh) - Customisable pull-to-refresh, including nice animation on the top -* [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. +* [PullToRefreshSwift](https://github.com/dekatotoro/PullToRefreshSwift) - iOS Simple Cool PullToRefresh Library. It is written in pure swift. +* [GIFRefreshControl](https://github.com/delannoyk/GIFRefreshControl) - GIFRefreshControl is a pull to refresh that supports GIF images as track animations. +* [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift +* [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView +* [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). +* [ESPullToRefresh](https://github.com/eggswift/pull-to-refresh) - Customisable pull-to-refresh, including nice animation on the top +* [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. * [KafkaRefresh](https://github.com/xorshine/KafkaRefresh) - Highly scalable, custom, multi-style refresh framework. -#### Rating Stars -* [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift -* [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. -* [StarryStars](https://github.com/peterprokop/StarryStars) - StarryStars is iOS GUI library for displaying and editing ratings -* [Cosmos](https://github.com/evgenyneu/Cosmos) - A star rating control for iOS / Swift +### Rating Stars +* [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift +* [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. +* [StarryStars](https://github.com/peterprokop/StarryStars) - StarryStars is iOS GUI library for displaying and editing ratings +* [Cosmos](https://github.com/evgenyneu/Cosmos) - A star rating control for iOS / Swift * [HCSStarRatingView](https://github.com/hsousa/HCSStarRatingView) - Simple star rating view for iOS written in Objective-C -* [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift +* [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift -#### ScrollView +### ScrollView * [ScrollingFollowView](https://github.com/ktanaka117/ScrollingFollowView) - ScrollingFollowView is a simple view which follows UIScrollView scrolling. * [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category. * [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. -* [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. -* [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. -* [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. -* [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 -* [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf +* [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. +* [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. +* [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. +* [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 +* [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf * [SlideController](https://github.com/touchlane/SlideController) - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types. -#### Segmented Control -* [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. +### Segmented Control +* [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. * [LUNSegmentedControl](https://github.com/Stormotion-Mobile/LUNSegmentedControl) - Customizable segmented control with interactive animation. * [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS. -* [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. -* [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. +* [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. +* [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. * [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) - A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products. * [YUSegment](https://github.com/afishhhhh/YUSegment) - A customizable segmented control for iOS. Supports both text and image. * [MultiSelectSegmentedControl](https://github.com/yonat/MultiSelectSegmentedControl) - adds Multiple-Selection to the standard `UISegmentedControl`. -* [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect -* [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. -* [Rotary](https://github.com/rob-nash/Rotary) - A customisable rotary wheel composed of selectable segments. +* [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect +* [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. +* [Rotary](https://github.com/rob-nash/Rotary) - A customisable rotary wheel composed of selectable segments. -#### Slider +### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. * [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management -* [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. -* [RangeSlider](https://github.com/warchimede/RangeSlider) - A simple range slider made in Swift -* [CircleSlider](https://github.com/shushutochako/CircleSlider) - CircleSlider is a Circular slider library. written in pure Swift. +* [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. +* [RangeSlider](https://github.com/warchimede/RangeSlider) - A simple range slider made in Swift +* [CircleSlider](https://github.com/shushutochako/CircleSlider) - CircleSlider is a Circular slider library. written in pure Swift. * [MARKRangeSlider](https://github.com/vadymmarkov/MARKRangeSlider) - A custom reusable slider control with 2 thumbs (range slider). * [ASValueTrackingSlider](https://github.com/alskipp/ASValueTrackingSlider) - A UISlider subclass that displays the slider value in a popup view * [TTRangeSlider](https://github.com/TomThorpe/TTRangeSlider) - A slider, similar in style to UISlider, but which allows you to pick a minimum and maximum range. * [MMSegmentSlider](https://github.com/MedvedevMax/MMSegmentSlider) - Customizable animated slider for iOS. * [StepSlider](https://github.com/spromicky/StepSlider) - StepSlider its custom implementation of slider such as UISlider for preset integer values. -* [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. -* [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift -* [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. -* [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. -* [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. -* [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. -* [PivotSlider](https://github.com/mrkey0310/pivot-slider) - Slider that pivots -* [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. -* [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. -* [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. -* [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. +* [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. +* [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift +* [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. +* [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. +* [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. +* [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. +* [PivotSlider](https://github.com/mrkey0310/pivot-slider) - Slider that pivots +* [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. +* [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. +* [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. +* [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. * [VSVerticalSlider](https://github.com/vsmithers1087/VSVerticalSlider) - An animatable and customizable vertical slider written in Swift4. -* [Fluid Slider](https://github.com/Ramotion/fluid-slider) - A slider widget with a popup bubble displaying the precise value selected. +* [Fluid Slider](https://github.com/Ramotion/fluid-slider) - A slider widget with a popup bubble displaying the precise value selected. -#### Splash View +### Splash View * [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. * [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. -* [RevealingSplashView](https://github.com/PiXeL16/RevealingSplashView) - A Splash view that animates and reveals its content, inspired by Twitter splash - -#### Stepper -* [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! -* [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. -* [GMStepper](https://github.com/gmertk/GMStepper) - A stepper with a sliding label in the middle. -* [barceloneta](https://github.com/arn00s/barceloneta) - The right way to increment/decrement values with a simple gesture on iOS. -* [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift -* [SMNumberWheel](https://github.com/SinaMoetakef/SMNumberWheel) - A custom control written in Swift, which is ideal for picking numbers very fast but yet very accurate using a rotating wheel - -#### Switch -* [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. +* [RevealingSplashView](https://github.com/PiXeL16/RevealingSplashView) - A Splash view that animates and reveals its content, inspired by Twitter splash + +### Stepper +* [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! +* [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. +* [GMStepper](https://github.com/gmertk/GMStepper) - A stepper with a sliding label in the middle. +* [barceloneta](https://github.com/arn00s/barceloneta) - The right way to increment/decrement values with a simple gesture on iOS. +* [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift +* [SMNumberWheel](https://github.com/SinaMoetakef/SMNumberWheel) - A custom control written in Swift, which is ideal for picking numbers very fast but yet very accurate using a rotating wheel + +### Switch +* [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. * [ViralSwitch](https://github.com/andreamazz/ViralSwitch) - A UISwitch that infects its superview with its tint color. * [JTMaterialSwitch](https://github.com/JunichiT/JTMaterialSwitch) - A customizable switch UI with ripple effect and bounce animations, inspired from Google's Material Design. -* [TKSwitcherCollection](https://github.com/TBXark/TKSwitcherCollection) - An animate switch collection -* [SevenSwitch](https://github.com/bvogelzang/SevenSwitch) - iOS7 style drop in replacement for UISwitch. -* [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) -* [PMZSwitch](https://github.com/kovpas/PMZSwitch) - Yet another animated toggle -* [Switcher](https://github.com/knn90/Switcher) - Swift - Custom UISwitcher with animation when change status -* [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. -* [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS +* [TKSwitcherCollection](https://github.com/TBXark/TKSwitcherCollection) - An animate switch collection +* [SevenSwitch](https://github.com/bvogelzang/SevenSwitch) - iOS7 style drop in replacement for UISwitch. +* [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) +* [PMZSwitch](https://github.com/kovpas/PMZSwitch) - Yet another animated toggle +* [Switcher](https://github.com/knn90/Switcher) - Swift - Custom UISwitcher with animation when change status +* [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. +* [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS * [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support. -#### Tab Bar +### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. -* [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) -A gooey effect tabbar -* [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. +* [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) -A gooey effect tabbar +* [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. * [FoldingTabBar.iOS](https://github.com/Yalantis/FoldingTabBar.iOS) - Folding Tab Bar and Tab Bar Controller * [GGTabBar](https://github.com/Goles/GGTabBar) - Another UITabBar & UITabBarController (iOS Tab Bar) replacement, but uses Auto Layout for arranging it's views hierarchy. -* [adaptive-tab-bar](https://github.com/Ramotion/adaptive-tab-bar) - AdaptiveController is a 'Progressive Reduction' Swift module for adding custom states to Native or Custom iOS UI elements -* [Pager](https://github.com/lucoceano/Pager) - Easily create sliding tabs with Pager -* [XLPagerTabStrip](https://github.com/xmartlabs/XLPagerTabStrip) - Android PagerTabStrip for iOS. -* [TabPageViewController](https://github.com/EndouMari/TabPageViewController) - Paging view controller and scroll tab view. -* [TabDrawer](https://github.com/winslowdibona/TabDrawer) - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift -* [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers -* [ColorMatchTabs](https://github.com/Yalantis/ColorMatchTabs) - Interesting way to display tabs +* [adaptive-tab-bar](https://github.com/Ramotion/adaptive-tab-bar) - AdaptiveController is a 'Progressive Reduction' Swift module for adding custom states to Native or Custom iOS UI elements +* [Pager](https://github.com/lucoceano/Pager) - Easily create sliding tabs with Pager +* [XLPagerTabStrip](https://github.com/xmartlabs/XLPagerTabStrip) - Android PagerTabStrip for iOS. +* [TabPageViewController](https://github.com/EndouMari/TabPageViewController) - Paging view controller and scroll tab view. +* [TabDrawer](https://github.com/winslowdibona/TabDrawer) - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift +* [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers +* [ColorMatchTabs](https://github.com/Yalantis/ColorMatchTabs) - Interesting way to display tabs * [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection -* [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager that displays a list of tabs (segments) and manages paging between given views -* [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. -* [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. -* [SuperBadges](https://github.com/odedharth/SuperBadges) - Add emojis and colored dots as badges for your Tab Bar buttons -* [AZTabBarController](https://github.com/Minitour/AZTabBarController) - A custom tab bar controller for iOS written in Swift 3.0 -* [MiniTabBar](https://github.com/D-32/MiniTabBar) - A clean simple alternative to the UITabBar -* [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) - UITabBarController with swipe interaction between its tabs. -* [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) -* [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. +* [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager that displays a list of tabs (segments) and manages paging between given views +* [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. +* [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. +* [SuperBadges](https://github.com/odedharth/SuperBadges) - Add emojis and colored dots as badges for your Tab Bar buttons +* [AZTabBarController](https://github.com/Minitour/AZTabBarController) - A custom tab bar controller for iOS written in Swift 3.0 +* [MiniTabBar](https://github.com/D-32/MiniTabBar) - A clean simple alternative to the UITabBar +* [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) - UITabBarController with swipe interaction between its tabs. +* [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) +* [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. * [WormTabStrip](https://github.com/EzimetYusup/WormTabStrip) Beatiful ViewPager For iOS written in Swift (inspired by Android [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout)) -* [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. -* [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. +* [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. +* [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. * [ExpandedTabBar](https://github.com/yervandsar/ExpandedTabBar) - Very creative designed solution for "more" items in UITabBarController -#### Table View / Collection View +### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. * [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. * [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. -* [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ -* [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. -* [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material +* [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ +* [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. +* [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material * [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. -* [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. +* [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. * [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. * [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. * [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. -* [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff -* [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). +* [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff +* [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). * [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) -* [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy -* [BWSwipeRevealCell](https://github.com/bitwit/BWSwipeRevealCell) - A Swift library for swipeable table cells -* [preview-transition](https://github.com/Ramotion/preview-transition) - PreviewTransition is a simple preview gallery controller -* [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A simple way to create a UITableView for settings in Swift. -* [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views with Swift -* [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView -* [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu -* [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts +* [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy +* [BWSwipeRevealCell](https://github.com/bitwit/BWSwipeRevealCell) - A Swift library for swipeable table cells +* [preview-transition](https://github.com/Ramotion/preview-transition) - PreviewTransition is a simple preview gallery controller +* [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A simple way to create a UITableView for settings in Swift. +* [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views with Swift +* [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView +* [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu +* [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts * [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. -* [mosaic-layout](https://github.com/vinnyoodles/mosaic-layout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift -* [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells +* [mosaic-layout](https://github.com/vinnyoodles/mosaic-layout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift +* [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells * [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. * [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). -* [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager -* [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift +* [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager +* [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift * [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout which can move item with drag and drop. -* [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. +* [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. * [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. * [TLLayoutTransitioning](https://github.com/SwiftKickMobile/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. * [Bohr](https://github.com/DavdRoman/Bohr) - Bohr allows you to set up a settings screen for your app with three principles in mind: ease, customization and extensibility. * [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. [e] * [TLIndexPathTools](https://github.com/SwiftKickMobile/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. -* [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. -* [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. +* [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. +* [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. * [IGListKit](https://github.com/Instagram/IGListKit) - A data-driven UICollectionView framework for building fast and flexible lists. -* [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App +* [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App * [FlexibleTableViewController](https://github.com/dimpiax/FlexibleTableViewController) - Swift library of generic table view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler * [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc * [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift. * [TimelineTableViewCell](https://github.com/kf99916/TimelineTableViewCell) - Simple timeline view implemented by UITableViewCell written in Swift 3.0. -* [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". -* [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. +* [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". +* [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. * [TORoundedTableView](https://github.com/TimOliver/TORoundedTableView) - A subclass of UITableView that styles it like Settings.app on iPad -* [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. -* [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ -* [DTTableViewManager](https://github.com/DenHeadless/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. -* [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView -* [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. -* [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView -* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. -* [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content +* [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. +* [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ +* [DTTableViewManager](https://github.com/DenHeadless/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. +* [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView +* [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. +* [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView +* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. +* [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. -* [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 -* [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations -* [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. -* [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. -* [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. -* [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. -* [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. -* [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. +* [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 +* [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations +* [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. +* [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. +* [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. +* [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. +* [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. +* [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. * [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. * [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). -* [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project -* [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. -* [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS written in Swift 3 -* [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) -* [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. -* [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views -* [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections -* [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. -* [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. -* [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. +* [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project +* [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. +* [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS written in Swift 3 +* [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) +* [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. +* [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views +* [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections +* [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. +* [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. +* [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. * [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. -* [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller -* [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. +* [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller +* [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. * [CampcotCollectionView](https://github.com/touchlane/CampcotCollectionView) - CampcotCollectionView is a custom UICollectionView written in Swift that allows to expand and collapse sections. It provides a simple API to manage collection view appearance. * [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. -CollectionView, make Instagram Discover within minutes. +CollectionView, make Instagram Discover within minutes. * [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. * [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. -#### Tag +### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. * [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. -* [TagCellLayout](https://github.com/riteshhgupta/TagCellLayout) - UICollectionView layout for Tags with Left, Center & Right alignments. +* [TagCellLayout](https://github.com/riteshhgupta/TagCellLayout) - UICollectionView layout for Tags with Left, Center & Right alignments. * [TTGTagCollectionView](https://github.com/zekunyan/TTGTagCollectionView) - Show simple text tags or custom tag views in a vertical scrollable view. -* [TagListView](https://github.com/ElaWorkshop/TagListView) - Simple and highly customizable iOS tag list view, in Swift. +* [TagListView](https://github.com/ElaWorkshop/TagListView) - Simple and highly customizable iOS tag list view, in Swift. * [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. -* [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags -* [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. -* [YNSearch](https://github.com/younatics/YNSearch) - Awesome fully customizable search view like Pinterest written in Swift 3 +* [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags +* [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. +* [YNSearch](https://github.com/younatics/YNSearch) - Awesome fully customizable search view like Pinterest written in Swift 3 * [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. -#### TextField & TextView +### TextField & TextView * [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. * [ARAutocompleteTextView](https://github.com/alexruperez/ARAutocompleteTextView) - subclass of UITextView that automatically displays text suggestions in real-time. Perfect for email Textviews. * [IQDropDownTextField](https://github.com/hackiftekhar/IQDropDownTextField) - TextField with DropDown support using UIPickerView -* [UITextField-Shake](https://github.com/andreamazz/UITextField-Shake) - UITextField category that adds shake animation. [Also with Swift version](https://github.com/King-Wizard/UITextField-Shake-Swift) -* [HTYTextField](https://github.com/hanton/HTYTextField) - A UITextField with bouncy placeholder. +* [UITextField-Shake](https://github.com/andreamazz/UITextField-Shake) - UITextField category that adds shake animation. [Also with Swift version](https://github.com/King-Wizard/UITextField-Shake-Swift) +* [HTYTextField](https://github.com/hanton/HTYTextField) - A UITextField with bouncy placeholder. * [MVAutocompletePlaceSearchTextField](https://github.com/TheMrugraj/MVAutocompletePlaceSearchTextField) - A drop-in Autocompletion control for Place Search like Google Places, Uber, etc. -* [AutocompleteField](https://github.com/filipstefansson/AutocompleteField) - Add word completion to your UITextFields. -* [RSKGrowingTextView](https://github.com/ruslanskorb/RSKGrowingTextView) - A light-weight UITextView subclass that automatically grows and shrinks. -* [RSKPlaceholderTextView](https://github.com/ruslanskorb/RSKPlaceholderTextView) - A light-weight UITextView subclass that adds support for placeholder. -* [StatefulViewController](https://github.com/aschuch/StatefulViewController) - Placeholder views based on content, loading, error or empty states +* [AutocompleteField](https://github.com/filipstefansson/AutocompleteField) - Add word completion to your UITextFields. +* [RSKGrowingTextView](https://github.com/ruslanskorb/RSKGrowingTextView) - A light-weight UITextView subclass that automatically grows and shrinks. +* [RSKPlaceholderTextView](https://github.com/ruslanskorb/RSKPlaceholderTextView) - A light-weight UITextView subclass that adds support for placeholder. +* [StatefulViewController](https://github.com/aschuch/StatefulViewController) - Placeholder views based on content, loading, error or empty states * [MBAutoGrowingTextView](https://github.com/MatejBalantic/MBAutoGrowingTextView) - An auto-layout base UITextView subclass which automatically grows with user input and can be constrained by maximal and minimal height - all without a single line of code -* [TextFieldEffects](https://github.com/raulriera/TextFieldEffects) - Custom UITextFields effects inspired by Codrops, built using Swift -* [Reel Search](https://github.com/Ramotion/reel-search) - RAMReel is a controller that allows you to choose options from a list. +* [TextFieldEffects](https://github.com/raulriera/TextFieldEffects) - Custom UITextFields effects inspired by Codrops, built using Swift +* [Reel Search](https://github.com/Ramotion/reel-search) - RAMReel is a controller that allows you to choose options from a list. * [MLPAutoCompleteTextField](https://github.com/EddyBorja/MLPAutoCompleteTextField) - a subclass of UITextField that behaves like a typical UITextField with one notable exception: it manages a drop down table of autocomplete suggestions that update as the user types. * [SkyFloatingLabelTextField](https://github.com/Skyscanner/SkyFloatingLabelTextField) - A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift. * [VMaskTextField](https://github.com/viniciusmo/VMaskTextField) - VMaskTextField is a library which create an input mask for iOS. -* [TJTextField](https://github.com/tejas-ardeshna/TJTextField) - UITextField with underline and left image +* [TJTextField](https://github.com/tejas-ardeshna/TJTextField) - UITextField with underline and left image * [NextGrowingTextView](https://github.com/muukii/NextGrowingTextView) - The next in the generations of 'growing textviews' optimized for iOS 7 and above. * [RPFloatingPlaceholders](https://github.com/iwasrobbed/RPFloatingPlaceholders) - UITextField and UITextView subclasses with placeholders that change into floating labels when the fields are populated with text. -* [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. +* [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. * [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.[e] -* [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield -* [EmojiTextView](https://github.com/fastred/EmojiTextView) - Tap to swap out words with emojis. Inspired by Messages.app on iOS 10. -* [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. -* [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies -* [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS -* [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. -* [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) -* [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple library for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. -* [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. -* [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion -* [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 3.0 for any numerical pin or code entry. -* [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. +* [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield +* [EmojiTextView](https://github.com/fastred/EmojiTextView) - Tap to swap out words with emojis. Inspired by Messages.app on iOS 10. +* [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. +* [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies +* [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS +* [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. +* [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) +* [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple library for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. +* [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. +* [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion +* [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 3.0 for any numerical pin or code entry. +* [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. * [DTTextField](https://github.com/iDhaval/DTTextField) - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0. -* [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. -* [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. -* [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. -* [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. -* [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list +* [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. +* [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. +* [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. +* [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. +* [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list * [PYSearch](https://github.com/ko1o/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). -* [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. -* [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. -* [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. +* [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. +* [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. +* [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. -* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. +* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. -#### UIPageControl -* [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. -* [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here -* [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. +### UIPageControl +* [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. +* [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here +* [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. -#### Web View -* [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. -* [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. +### Web View +* [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. +* [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. * [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. -* [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. +* [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. ## Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. @@ -2596,224 +2621,233 @@ CollectionView, make Instagram Discover within minutes. * [ReflectableEnum](https://github.com/fastred/ReflectableEnum) - Reflection for enumerations in Objective-C. * [ObjectiveSugar](https://github.com/supermarin/ObjectiveSugar) - ObjectiveC additions for humans. Ruby style. * [OpinionatedC](https://github.com/leoschweizer/OpinionatedC) - Because Objective-C should have inherited more from Smalltalk. - * [SwiftRandom](https://github.com/thellimist/SwiftRandom) - Generator for random data. - * [RandomKit](https://github.com/nvzqz/RandomKit/) - Random data generation in Swift. + * [SwiftRandom](https://github.com/thellimist/SwiftRandom) - Generator for random data. + * [RandomKit](https://github.com/nvzqz/RandomKit/) - Random data generation in Swift. * [YOLOKit](https://github.com/mxcl/YOLOKit) - Getting square objects down round holes. * [EZSwiftExtensions](https://github.com/goktugyil/EZSwiftExtensions) - :smirk: How Swift standard types and classes were supposed to work. [e] - * [Pantry](https://github.com/nickoneill/Pantry) - The missing light persistence layer for Swift - * [SwiftParsec](https://github.com/davedufresne/SwiftParsec) - A parser combinator library written in the Swift programming language. - * [OrderedSet](https://github.com/Weebly/OrderedSet) - A Swift collection of unique, ordered objects - * [Datez](https://github.com/SwiftKitz/Datez) - Swift library for dealing with `NSDate`, `NSCalendar`, and `NSDateComponents`. + * [Pantry](https://github.com/nickoneill/Pantry) - The missing light persistence layer for Swift + * [SwiftParsec](https://github.com/davedufresne/SwiftParsec) - A parser combinator library written in the Swift programming language. + * [OrderedSet](https://github.com/Weebly/OrderedSet) - A Swift collection of unique, ordered objects + * [Datez](https://github.com/SwiftKitz/Datez) - Swift library for dealing with `NSDate`, `NSCalendar`, and `NSDateComponents`. * [BFKit](https://github.com/FabrizioBrancati/BFKit) - An Objective-C collection of useful classes to develop Apps faster. - * [BFKit-Swift](https://github.com/FabrizioBrancati/BFKit-Swift) - A Swift collection of useful classes to develop Apps faster. - * [Scale](https://github.com/onmyway133/scale) - Unit converter in Swift (available via CocoaPods) - * [Standard Template Protocols](https://github.com/cconeil/Standard-Template-Protocols) - Protocols for your every day iOS needs - * [TimeLord](https://github.com/JonFir/TimeLord) - Easy DateTime (NSDate) management in Swift + * [BFKit-Swift](https://github.com/FabrizioBrancati/BFKit-Swift) - A Swift collection of useful classes to develop Apps faster. + * [Scale](https://github.com/onmyway133/scale) - Unit converter in Swift (available via CocoaPods) + * [Standard Template Protocols](https://github.com/cconeil/Standard-Template-Protocols) - Protocols for your every day iOS needs + * [TimeLord](https://github.com/JonFir/TimeLord) - Easy DateTime (NSDate) management in Swift * [AppVersionMonitor](https://github.com/eure/AppVersionMonitor) - Monitor iOS app version easily. * [Sugar](https://github.com/hyperoslo/Sugar) - Something sweet that goes great with your Cocoa. [e] * [Then](https://github.com/devxoul/Then) - ✨ Super sweet syntactic sugar for Swift initializers. [e] - * [Kvitto](https://github.com/Cocoanetics/Kvitto) - App Store Receipt Validation - * [Notificationz](https://github.com/SwiftKitz/Notificationz) - Helping you own NSNotificationCenter in Swift + * [Kvitto](https://github.com/Cocoanetics/Kvitto) - App Store Receipt Validation + * [Notificationz](https://github.com/SwiftKitz/Notificationz) - Helping you own NSNotificationCenter in Swift * [SwiftFoundation](https://github.com/PureSwift/SwiftFoundation) - Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux) [e] * [libextobjc](https://github.com/jspahrsummers/libextobjc) - A Cocoa library to extend the Objective-C programming language. - * [VersionTrackerSwift](https://github.com/tbaranes/VersionTrackerSwift) - Track which versions of your app a user has previously installed. - * [DeviceGuru](https://github.com/InderKumarRathore/DeviceGuru/) - DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s. - * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight App Version Tracking for iOS written in Swift + * [VersionTrackerSwift](https://github.com/tbaranes/VersionTrackerSwift) - Track which versions of your app a user has previously installed. + * [DeviceGuru](https://github.com/InderKumarRathore/DeviceGuru/) - DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s. + * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight App Version Tracking for iOS written in Swift * [BlocksKit](https://github.com/BlocksKit/BlocksKit) - The Objective-C block utilities you always wish you had. * [SwiftyUtils](https://github.com/tbaranes/swiftyutils) - All the reusable code that we need in each project. [e] - * [RateLimit](https://github.com/soffes/RateLimit) - Simple utility for only executing code every so often. - * [Outlets](https://github.com/phatblat/Outlets) - Utility functions for validating IBOutlet and IBAction connections + * [RateLimit](https://github.com/soffes/RateLimit) - Simple utility for only executing code every so often. + * [Outlets](https://github.com/phatblat/Outlets) - Utility functions for validating IBOutlet and IBAction connections * [EasyAbout](https://github.com/JARMourato/EasyAbout) - A way to easily add CocoaPods licenses and App Version to your iOS App using the Settings Bundle - * [Validated](https://github.com/Ben-G/Validated) - A Swift μ-Library for Somewhat Dependent Types - * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes - * [AssistantKit](https://github.com/anatoliyv/AssistantKit) - Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift. - * [SwiftLinkPreview](https://github.com/LeonardoCardoso/SwiftLinkPreview) - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. - * [BundleInfos](https://github.com/rollmind/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. + * [Validated](https://github.com/Ben-G/Validated) - A Swift μ-Library for Somewhat Dependent Types + * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes + * [AssistantKit](https://github.com/anatoliyv/AssistantKit) - Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift. + * [SwiftLinkPreview](https://github.com/LeonardoCardoso/SwiftLinkPreview) - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. + * [BundleInfos](https://github.com/rollmind/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. * [YAML.framework](https://github.com/mirek/YAML.framework) - Proper YAML support for Objective-C based on `LibYAML`. - * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. - * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, macOS) - * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! - * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) - * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. - * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . - * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. - * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. - * [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 400 native Swift 4 extensions to boost your productivity. - * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. + * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. + * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, macOS) + * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! + * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) + * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. + * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . + * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. + * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. + * [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 400 native Swift 4 extensions to boost your productivity. + * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. - * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift - * [OpenSourceController](https://github.com/floriangbh/OpenSourceController) - The simplest way to display the libraries licences used in your application. + * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift + * [OpenSourceController](https://github.com/floriangbh/OpenSourceController) - The simplest way to display the libraries licences used in your application. * [App-Update-Tracker](https://github.com/Stunner/App-Update-Tracker) - Easily detect and run code upon app installation or update. * [ExtensionalSwift](https://github.com/4taras4/SwiftExtension) - Useful swift extensions in one place [e] * [InAppSettingsKit](https://github.com/futuretap/InAppSettingsKit) - This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app. * [MMWormhole](https://github.com/mutualmobile/MMWormhole) - Message passing between iOS apps and extensions. * [DefaultStringConvertible](https://github.com/jessesquires/DefaultStringConvertible) - A default CustomStringConvertible implementation for Swift types [e] - * [FluxCapacitor](https://github.com/marty-suzuki/FluxCapacitor) - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias. + * [FluxCapacitor](https://github.com/marty-suzuki/FluxCapacitor) - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias. * [VTAcknowledgementsViewController](https://github.com/vtourraine/VTAcknowledgementsViewController) - Ready to use “Acknowledgements”/“Licenses”/“Credits” view controller for CocoaPods. - * [Closures](https://github.com/vhesener/Closures) - Swifty closures for UIKit and Foundation. - * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote + * [Closures](https://github.com/vhesener/Closures) - Swifty closures for UIKit and Foundation. + * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote * [MKUnits](https://github.com/michalkonturek/MKUnits) - Unit conversion library for Swift. * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs * [SwiftProvisioningProfile](https://github.com/Sherlouk/SwiftProvisioningProfile) - Parse provisioning profiles into Swift models. ## VR -* [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS +* [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS * [360 VR Player](https://github.com/hanton/HTY360Player) - A open source, ad-free, native and universal 360 degree panorama video player for iOS. -* [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. -* [Swifty360Player](https://github.com/abdullahselek/Swifty360Player) - iOS 360-degree video player streaming from an AVPlayer with Swift. +* [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. +* [Swifty360Player](https://github.com/abdullahselek/Swifty360Player) - iOS 360-degree video player streaming from an AVPlayer with Swift. ## Walkthrough / Intro / Tutorial * [Onboard](https://github.com/mamaral/Onboard) - Easily create a beautiful and engaging onboarding experience with only a few lines of code. * [EAIntroView](https://github.com/ealeksandrov/EAIntroView) - Highly customizable drop-in solution for introduction views. * [MYBlurIntroductionView](https://github.com/MatthewYork/MYBlurIntroductionView) - A super-charged version of MYIntroductionView for building custom app introductions and tutorials. -* [BWWalkthrough](https://github.com/ariok/BWWalkthrough) - A class to build custom walkthroughs for your iOS App. +* [BWWalkthrough](https://github.com/ariok/BWWalkthrough) - A class to build custom walkthroughs for your iOS App. * [GHWalkThrough](https://github.com/GnosisHub/GHWalkThrough) - A UICollectionView backed drop-in component for introduction views. * [ICETutorial](https://github.com/icepat/ICETutorial) - A nice tutorial like the one introduced in the Path 3.X App. * [JazzHands](https://github.com/IFTTT/JazzHands) - Jazz Hands is a simple keyframe-based animation framework for UIKit. Animations can be controlled via gestures, scroll views, KVO, or ReactiveCocoa. -* [RazzleDazzle](https://github.com/IFTTT/RazzleDazzle) - A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros. -* [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. -* [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. -* [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. -* [VideoSplashKit](https://github.com/svtek/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos -* [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. +* [RazzleDazzle](https://github.com/IFTTT/RazzleDazzle) - A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros. +* [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. +* [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. +* [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. +* [VideoSplashKit](https://github.com/svtek/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos +* [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. * [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. -* [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. -* [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. -* [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider +* [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. +* [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. +* [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider * [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. -* [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. -* [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. -* [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. +* [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. +* [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. +* [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. -* [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. -* [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. +* [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. +* [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. * [PVOnboardKit](https://github.com/vpeschenkov/PVOnboardKit) - Framework that allows you to add your own walkthrough/intro/tutorial into your app. -* [Minamo](https://github.com/yukiasai/Minamo) - Simple coach mark library written in Swift. +* [Minamo](https://github.com/yukiasai/Minamo) - Simple coach mark library written in Swift. * [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. -* [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/macOS. -* [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and macOS. -* [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and macOS -* [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. -* [Socks](https://github.com/vapor-community/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS -* [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS -* [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. - -# Project setup +* [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/macOS. +* [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and macOS. +* [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and macOS +* [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. +* [Socks](https://github.com/vapor-community/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS +* [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS +* [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. + +## Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. * [liftoff](https://github.com/liftoffcli/liftoff) - Another CLI for creating iOS projects. * [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents -* [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. +* [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. * [xclint](https://github.com/xcodeswift/xclint) - Validate the state of your Xcode projects. * [xcproj](https://github.com/xcodeswift/xcproj) - Read and update Xcode projects. -# Dependency / Package Manager + +## Dependency / Package Manager * [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. * [Xcode Maven](http://sap-production.github.io/xcode-maven-plugin/site/) - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle. -* [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. -* [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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. +* [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. +* [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. -* [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language +* [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language * [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool * [Rome](https://github.com/blender/Rome) - A cache tool for Carthage built frameworks -# Tools -* [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. + +## Tools + +* [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. -* [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. -* [SwiftGen](https://github.com/SwiftGen/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). +* [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. +* [SwiftGen](https://github.com/SwiftGen/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). * [Blade](https://github.com/jondot/blade) - Generate Xcode image catalogs for iOS / macOS app icons, universal images, and more. * [Retini](https://github.com/terwanerik/Retini) - A super simple retina (2x, 3x) image converter. -* [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. +* [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. * [appledoc](https://github.com/tomaz/appledoc) - ObjectiveC code Apple style documentation set generator. -* [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! +* [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! * [StoryboardMerge](https://github.com/marcinolawski/StoryboardMerge) - Xcode storyboards diff and merge tool. * [ai2app](https://github.com/metasmile/ai2appiconset) - Creating AppIcon sets from Adobe Illustrator (all supported formats). -* [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. -* [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or macOS application. -* [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. +* [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. +* [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or macOS application. +* [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. * [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. [e] * [git-xcp](https://github.com/metasmile/git-xcp) - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. * [WatchdogInspector](https://github.com/tapwork/WatchdogInspector) - Shows your current framerate (fps) in the status bar of your iOS app -* [Cichlid](https://github.com/dealforest/Cichlid) - automatically delete the current project's DerivedData directories -* [Delta](https://github.com/thoughtbot/Delta) - Managing state is hard. Delta aims to make it simple. -* [SwiftLintXcode](https://github.com/ypresto/SwiftLintXcode) - An Xcode plug-in to format your code using SwiftLint. -* [XCSwiftr](https://github.com/dzenbot/XCSwiftr) - An Xcode Plugin to convert Objective-C to Swift -* [SwiftKitten](https://github.com/johncsnyder/SwiftKitten) - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework -* [Kin](https://github.com/Karumi/Kin) - Have you ever found yourself undoing a merge due to a broken Xcode build? Then Kin is your tool. It will parse your project configuration file and detect errors. -* [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click -* [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. -* [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. -* [Localizations](https://github.com/athiercelin/localizations) - macOS app that manages localizations of Xcode projects. +* [Cichlid](https://github.com/dealforest/Cichlid) - automatically delete the current project's DerivedData directories +* [Delta](https://github.com/thoughtbot/Delta) - Managing state is hard. Delta aims to make it simple. +* [SwiftLintXcode](https://github.com/ypresto/SwiftLintXcode) - An Xcode plug-in to format your code using SwiftLint. +* [XCSwiftr](https://github.com/dzenbot/XCSwiftr) - An Xcode Plugin to convert Objective-C to Swift +* [SwiftKitten](https://github.com/johncsnyder/SwiftKitten) - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework +* [Kin](https://github.com/Karumi/Kin) - Have you ever found yourself undoing a merge due to a broken Xcode build? Then Kin is your tool. It will parse your project configuration file and detect errors. +* [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click +* [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. +* [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. +* [Localizations](https://github.com/athiercelin/localizations) - macOS app that manages localizations of Xcode projects. * [xcbuild](https://github.com/facebook/xcbuild) - Xcode-compatible build tool. -* [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. -* [SwiftCompilationPerformanceReporter](https://github.com/tumblr/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets -* [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift -* [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations -* [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. -* [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your macOS file system with their metadata to your iOS simulator (Swift 2.0) +* [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. +* [SwiftCompilationPerformanceReporter](https://github.com/tumblr/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets +* [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift +* [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations +* [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. +* [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your macOS file system with their metadata to your iOS simulator (Swift 2.0) * [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a macOS utility to open and modify realm database files. * [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. * [fastlane-plugin-appicon](https://github.com/KrauseFx/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. * [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. -* [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. +* [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. * [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance * [xcenv](https://github.com/xcenv/xcenv) - Groom your Xcode environment. * [playgroundbook](https://github.com/playgroundbooks/playgroundbook) - Tool for Swift Playground books -* [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. +* [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. -* [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! +* [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A macOS library for managing and manipulating iOS Simulators * [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. -* [Cookiecutter](https://github.com/RahulKatariya/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file -* [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. -* [AssetChecker 👮](https://github.com/freshOS/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. -* [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar -* [GDPerformanceView-Swift](https://github.com/dani-gavrilov/GDPerformanceView-Swift) - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate. -* [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). +* [Cookiecutter](https://github.com/RahulKatariya/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file +* [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. +* [AssetChecker 👮](https://github.com/freshOS/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. +* [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar +* [GDPerformanceView-Swift](https://github.com/dani-gavrilov/GDPerformanceView-Swift) - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate. +* [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). * [Struct](https://www.get-struct.tools) - A tool for iOS and Mac developers to automate the creation and management of Xcode projects. -* [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. -* [Attabench](https://github.com/attaswift/Attabench) - Microbenchmarking app for Swift with nice log-log plots -* [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. -* [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. +* [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. +* [Attabench](https://github.com/attaswift/Attabench) - Microbenchmarking app for Swift with nice log-log plots +* [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. +* [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. * [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class * [AppDevKit](https://github.com/yahoo/AppDevKit) - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. * [Tweaks](https://github.com/facebook/Tweaks) - An easy way to fine-tune, and adjust parameters for iOS apps in development. -* [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. -* [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. +* [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. +* [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. * [Plank](https://github.com/pinterest/plank) - A tool for generating immutable model objects. * [Lona](https://github.com/airbnb/Lona) - A tool for defining design systems and using them to generate cross-platform UI code, Sketch files, images, and other artifacts. -* [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. +* [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. * [iSimulator](https://github.com/wigl/iSimulator) - iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator. -* [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. +* [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. * [Transformer](https://github.com/andresinaka/transformer) - Easy Online Attributed String Creator. This tool lets you format a string directly in the browser and then copy/paste the attributed string code into your app. * [ProvisionQL](https://github.com/ealeksandrov/ProvisionQL) - Quick Look plugin for apps and provisioning profile files. * [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. -# Rapid Development + +## Rapid Development + * [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. * [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. * [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. * [swiftmon](https://github.com/dimpiax/swiftmon) - swiftmon restarts your swift application in case of any file change. -# Injection + +## Injection + * [dyci](https://github.com/DyCI/dyci-main) - Code injection tool. * [injectionforxcode](https://github.com/johnno1962/injectionforxcode) - Code injection including Swift. * [Swinject](https://github.com/Swinject/Swinject) - Dependency injection framework for Swift * [Reliant](https://github.com/appfoundry/Reliant) - Nonintrusive Objective-C dependency injection. * [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. -* [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. +* [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. * [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). -* [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. +* [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. * [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. -* [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift +* [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift + + +## Deployment / Distribution -# Deployment / Distribution * [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. * [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) - Upload screenshots, metadata and your app to the App Store using a single command. * [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) Automate taking localized screenshots of your iOS app on every device. @@ -2832,7 +2866,9 @@ CollectionView, make Instagram Discover within minutes. * [Appfigurate](https://github.com/electricbolt/appfiguratesdk) - Secure runtime configuration for iOS and watchOS, apps and app extensions. * [ScreenshotFramer](https://github.com/IdeasOnCanvas/ScreenshotFramer) - With Screenshot Framer you can easily create nice-looking and localized App Store Images. -# App Store + +## App Store + * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. * [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/rejections/) Highlighted some of the most common issues that cause apps to get rejected. * [Free App Store Optimization Tool](https://www.mobileaction.co) Lets you track your App Store visibility in terms of keywords and competitors. @@ -2840,32 +2876,35 @@ CollectionView, make Instagram Discover within minutes. * [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. * [iRate](https://github.com/nicklockwood/iRate) - A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while. Similar to Appirater, but with a simpler, cleaner interface and automatic support for iOS fast application switching. * [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. -* [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. -* [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. - -# Xcode - -#### Extensions (Xcode 8+) -* [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. -* [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8) -* [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. -* [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. -* [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. -* [Mark](https://github.com/velyan/Mark) - Xcode extension for generating MARK comments. -* [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). -* [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. -* [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. -* [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. +* [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. +* [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. + + +## Xcode + +### Extensions (Xcode 8+) + +* [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. +* [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8) +* [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. +* [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. +* [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. +* [Mark](https://github.com/velyan/Mark) - Xcode extension for generating MARK comments. +* [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). +* [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. +* [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. +* [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. * [Snowonder](https://github.com/Karetski/Snowonder) - 🔮 Magical import declarations formatter for Xcode. -* [XVim2](https://github.com/XVimProject/XVim2) - Vim key-bindings for Xcode 9. +* [XVim2](https://github.com/XVimProject/XVim2) - Vim key-bindings for Xcode 9. + +### Themes -#### Themes * [Dracula Theme](https://draculatheme.com/xcode/) - A dark theme for Xcode. * [Xcode themes list](https://github.com/hdoria/xcode-themes) - Color themes for Xcode. * [Solarized-Dark-for-Xcode](https://github.com/ArtSabintsev/Solarized-Dark-for-Xcode/) - Solarized Dark Theme for Xcode 5. * [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. -#### Other Xcode +### Other Xcode * [awesome-xcode-scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts 📝. * [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. @@ -2873,33 +2912,33 @@ CollectionView, make Instagram Discover within minutes. * [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator * [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. * [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. -* [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 -* [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift +* [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 +* [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift * [XcodeCodeSnippets](https://github.com/ismetanin/XcodeCodeSnippets) - A set of code snippets for iOS development, includes code and comments snippets. -# Reference -* [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. +## Reference +* [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. * [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. * [SwiftSnippets](https://github.com/hyperoslo/SwiftSnippets) - A collection of Swift snippets to be used in Xcode * [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. -* [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. +* [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. * [WWDC17-Recap](https://github.com/erenkabakci/WWDC17-Recap) - Markdown collection repo for the sessions at WWDC17. -# Style Guides +## Style Guides * [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. * [raywenderlich Style Guide](https://github.com/raywenderlich/objective-c-style-guide) - A style guide that outlines the coding conventions for raywenderlich.com. * [Github Objective-C Style Guide](https://github.com/github/objective-c-style-guide) - Style guide & coding conventions for Objective-C projects. * [Objective-C Coding Convention and Best Practices](https://gist.github.com/soffes/812796) - Gist with coding conventions. -* [Swift Style Guide by @raywenderlich](https://github.com/raywenderlich/swift-style-guide) - The official Swift style guide for raywenderlich.com. +* [Swift Style Guide by @raywenderlich](https://github.com/raywenderlich/swift-style-guide) - The official Swift style guide for raywenderlich.com. * [Spotify Objective-C Coding Style](https://github.com/spotify/ios-style) - Guidelines for iOS development in use at Spotify. -* [Github - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. +* [Github - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. * [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). -* [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift +* [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift * [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. -# Good Websites +## Good Websites -#### News, Blogs and more +### News, Blogs and more * [BGR](http://bgr.com/ios-7/) * [iMore](https://www.imore.com/) * [Lifehacker](https://lifehacker.com/tag/ios) @@ -2907,65 +2946,65 @@ CollectionView, make Instagram Discover within minutes. * [Objc.io](https://www.objc.io/) * [ASCIIwwdc](http://asciiwwdc.com) * [Natasha The Robot](https://www.natashatherobot.com/) -* [Apple's Swift Blog](https://developer.apple.com/swift/blog/) +* [Apple's Swift Blog](https://developer.apple.com/swift/blog/) * [iOS Programming Subreddit](https://www.reddit.com/r/iOSProgramming/) -* [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) -* [iOScreator](https://www.ioscreator.com/) -* [Mathew Sanders](http://mathewsanders.com/) -* [Little Bites of Cocoa](https://littlebitesofcocoa.com/) -* [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) +* [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) +* [iOScreator](https://www.ioscreator.com/) +* [Mathew Sanders](http://mathewsanders.com/) +* [Little Bites of Cocoa](https://littlebitesofcocoa.com/) +* [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) * [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. -* [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) +* [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) * [Code Facebook](https://code.facebook.com/ios/) -* [iOS Cookies](https://ioscookies.com/) - A hand curated collection of iOS libraries written in Swift +* [iOS Cookies](https://ioscookies.com/) - A hand curated collection of iOS libraries written in Swift * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. -* [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) +* [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. -#### UIKit references +### UIKit references * [iOS Fonts](http://iosfonts.com/) * [UIAppearance list](https://gist.github.com/mattt/5135521) -#### Forums and discuss lists +### Forums and discuss lists * [iPhone Dev SDK Forum](http://iphonedevsdk.com/) * ["iOS" on Stackoverflow](https://stackoverflow.com/questions/tagged/ios) -#### Tutorials and Keynotes +### Tutorials and Keynotes * [AppCoda](https://www.appcoda.com/) * [Tutorials Point](https://www.tutorialspoint.com/ios/index.htm) * [Code with Chris](https://codewithchris.com/) * [Cocoa with Love](http://www.cocoawithlove.com/) * [Code School - Try Objective-C](https://www.codeschool.com/courses/try-objective-c) -* [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. +* [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. * [RAYWENDERLICH](https://www.raywenderlich.com/tutorials) - Tutorials for developers and gamers * [Mike Ash](https://www.mikeash.com/pyblog/) -* [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) -* [Tuts+](https://code.tutsplus.com/categories/ios-sdk) -* [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) -* [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. +* [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) +* [Tuts+](https://code.tutsplus.com/categories/ios-sdk) +* [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) +* [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. * [Cocoa Dev Central](http://cocoadevcentral.com) * [Use Your Loaf](https://useyourloaf.com/) -* [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) -* [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - :fire: All of the resources for Learning About Swift -* [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - ⭐ A List of Awesome Swift Playgrounds! -* [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. +* [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) +* [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - :fire: All of the resources for Learning About Swift +* [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - ⭐ A List of Awesome Swift Playgrounds! +* [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. * [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. -* [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. -* [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. +* [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. +* [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. * [Realm Academy](https://academy.realm.io/) -#### iOS UI Template +### iOS UI Template * [iOS UI Design Kit](https://www.invisionapp.com/tethr) * [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) * [iOS GUI by Facebook Design Resources](https://facebook.design/) -#### Prototyping +### Prototyping * [FluidUI](https://www.fluidui.com) * [Proto.io](https://proto.io/) * [Framer](https://framer.com/) * [Principle](http://principleformac.com) -#### Newsletters +### Newsletters * [iOS Goodies](http://ios-goodies.com) - Weekly iOS newsletter * [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week * [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. @@ -2978,21 +3017,21 @@ CollectionView, make Instagram Discover within minutes. * [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. * [Swift Developments](https://andybargh.com/swiftdevelopments/) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. -#### Medium +### Medium * [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone * [Swift Programming](https://medium.com/swift-programming) - The Swift Programming Language * [Flawless App](https://medium.com/flawless-app-stories) - Development & design & marketing tips for iOS developers. -# Social Media +## Social Media -#### Twitter +### Twitter * [@objcio](https://twitter.com/objcio) * [@CocoaPods](https://twitter.com/CocoaPods) * [@CocoaPodsFeed](https://twitter.com/CocoaPodsFeed) * [@RubyMotion](https://twitter.com/RubyMotion) -#### Facebook Groups +### Facebook Groups * [HH iOS](https://www.facebook.com/groups/hhios/about/) * [Sketch - Official group](https://www.facebook.com/groups/sketchformac/about/) * [Design-Code](https://www.facebook.com/groups/designcode/about/) @@ -3000,7 +3039,7 @@ CollectionView, make Instagram Discover within minutes. * [Origami Community](https://www.facebook.com/groups/origami.community/about/) * [Framer JS](https://www.facebook.com/groups/framerjs/about/) -# Podcasts +## Podcasts * [The Ray Wenderlich Podcast](https://www.raywenderlich.com/rwpodcast) * [Debug](https://www.imore.com/debug) * [App Story](http://www.appstorypodcast.com) @@ -3017,24 +3056,24 @@ CollectionView, make Instagram Discover within minutes. * [Fireside Swift](https://itunes.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) * [Swift by Sundell](https://www.swiftbysundell.com/podcast/) -# Books -* [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) -* [Using Swift with Cocoa and Objective C by Apple](https://itunes.apple.com/us/book/using-swift-cocoa-objective/id888894773?mt=11) +## Books +* [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) +* [Using Swift with Cocoa and Objective C by Apple](https://itunes.apple.com/us/book/using-swift-cocoa-objective/id888894773?mt=11) * [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming/) * [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) * [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) * [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) * [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) -* [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) -* [iOS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) -* [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) -* [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) -* [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) -* [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) -* [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) -* [Swift in Depth](https://www.manning.com/books/swift-in-depth) +* [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) +* [iOS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) +* [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) +* [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) +* [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) +* [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) +* [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) +* [Swift in Depth](https://www.manning.com/books/swift-in-depth) -# Other Awesome Lists +## Other Awesome Lists *Other amazingly awesome lists can be found in the* @@ -3043,7 +3082,7 @@ CollectionView, make Instagram Discover within minutes. * Awesome-swift * [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. * [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. - * [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift + * [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift * [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. * [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. * Awesome iOS Animation @@ -3062,8 +3101,10 @@ CollectionView, make Instagram Discover within minutes. * [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. * [example-ios-apps](https://github.com/imjog/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. * [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. -* [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. +* [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. + -# Contributing and License +## Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) * Distributed under the MIT license. See LICENSE for more information. + From 3402337ac11f401cbe7ecc02c8aa0ed748c3bee9 Mon Sep 17 00:00:00 2001 From: Wilson Ding Date: Thu, 26 Apr 2018 22:00:45 -0500 Subject: [PATCH 1853/2606] Modified RandomUserSwift to remove "Swift 3" from description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ddcbd410a..d9dc30084 100644 --- a/README.md +++ b/README.md @@ -1495,7 +1495,7 @@ Most of these are paid services, some have free tiers. * [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project. * [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & macOS written in Swift. * [SlackKit](https://github.com/SlackKit/SlackKit) - a Slack client library for iOS and macOS written in Swift. -* [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift 3 Framework to Generate Random Users - An Unofficial SDK for randomuser.me. +* [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift Framework to Generate Random Users - An Unofficial SDK for randomuser.me. * [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). * [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. * [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. From 0ad85c9f649e421fd25810b0b438950748e52bc2 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 27 Apr 2018 16:11:06 -0300 Subject: [PATCH 1854/2606] remove line after TOC --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index d9dc30084..869d4dc0c 100644 --- a/README.md +++ b/README.md @@ -178,8 +178,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Other Awesome Lists](#other-awesome-lists) - [Contributing](#contributing-and-license) -*** - ## Courses From 01f1474e605eb49b8a697f8d317165a98ca73941 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=87a=C4=9Fr=C4=B1=20=C3=87OLAK?= Date: Sat, 28 Apr 2018 21:39:43 +0300 Subject: [PATCH 1855/2606] added corecharts framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 869d4dc0c..0f7c7ae36 100644 --- a/README.md +++ b/README.md @@ -349,6 +349,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. * [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit +* [CoreCharts](https://github.com/cagricolak/CoreCharts) - CoreCharts is a simple powerfull yet Charts library for apple products ## Code Quality From 8a4672051ad4b2c5c7a4ea7b3491861951525902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=87a=C4=9Fr=C4=B1=20=C3=87OLAK?= Date: Sat, 28 Apr 2018 21:40:04 +0300 Subject: [PATCH 1856/2606] added corecharts framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 869d4dc0c..0f7c7ae36 100644 --- a/README.md +++ b/README.md @@ -349,6 +349,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. * [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit +* [CoreCharts](https://github.com/cagricolak/CoreCharts) - CoreCharts is a simple powerfull yet Charts library for apple products ## Code Quality From f3d9dffb98487b19a9886799f9a0df8f4bf520ec Mon Sep 17 00:00:00 2001 From: Anton Date: Mon, 30 Apr 2018 11:07:51 -0400 Subject: [PATCH 1857/2606] Added Parade to the README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 869d4dc0c..4ffd09c80 100644 --- a/README.md +++ b/README.md @@ -2540,7 +2540,7 @@ Most of these are paid services, some have free tiers. CollectionView, make Instagram Discover within minutes. * [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. * [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. - +* [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. ### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. From b17909780d62100b156507597345761bd2833146 Mon Sep 17 00:00:00 2001 From: Aron Balog Date: Mon, 30 Apr 2018 01:35:52 +0200 Subject: [PATCH 1858/2606] Added CoreNavigation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 869d4dc0c..2a7ec844e 100644 --- a/README.md +++ b/README.md @@ -231,6 +231,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. * [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. * [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS, written in Swift 4. +* [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - 📱📲 Navigate between view controllers with ease. 💫 ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 3abeacd497099025dca6f217b04b97117f7ce981 Mon Sep 17 00:00:00 2001 From: Reinder de Vries Date: Wed, 2 May 2018 13:52:56 +0200 Subject: [PATCH 1859/2606] Added LearnAppMaking.com to Tutorials --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0f7c7ae36..873e99bc3 100644 --- a/README.md +++ b/README.md @@ -2991,6 +2991,7 @@ CollectionView, make Instagram Discover within minutes. * [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. * [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. * [Realm Academy](https://academy.realm.io/) +* [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. ### iOS UI Template * [iOS UI Design Kit](https://www.invisionapp.com/tethr) From 7b1b578053ff82cd9018d4f2c3fe9534e1db5179 Mon Sep 17 00:00:00 2001 From: Abhishek Dave Date: Wed, 2 May 2018 17:33:54 +0530 Subject: [PATCH 1860/2606] Added ADDatePicker Adding ADDatePicker to UI -> PickerView ## Project URL https://github.com/abhiperry/ADDatePicker ## Category UI -> PickerView ## Description A fully customizable iOS Horizontal PickerView library, written in pure swift ## Why it should be included to `awesome-ios` (optional) - ADDatePicker is customizable iOS Horizontal PickerView library. There are not much PickerView libraries out there which supports Horizontal layout. ## Checklist - [x] Only one project/change is in this pull request - [x] Addition in chronological order (bottom of category) - [x] Supports iOS 9 / tvOS 10 or later - [x] Supports Swift 4 or later - [x] Has a commit from less than 2 years ago - [x] Has a **clear** README in English --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0f7c7ae36..872c8f3ee 100644 --- a/README.md +++ b/README.md @@ -2297,6 +2297,7 @@ Most of these are paid services, some have free tiers. * [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps * [planet](https://github.com/kwallet/planet) - A country picker * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. +* [ADDatePicker](https://github.com/abhiperry/ADDatePicker) - A fully customizable iOS Horizontal PickerView library, written in pure swift. ### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). From 08ac0f04a40648aa0b2e9f5128eeda65728c2ece Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 2 May 2018 11:31:41 -0300 Subject: [PATCH 1861/2606] Fix redirects --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 25f163fb0..05263205c 100644 --- a/README.md +++ b/README.md @@ -1244,7 +1244,7 @@ Most of these are paid services, some have free tiers. * [PushBots](https://pushbots.com/) * [Pushwoosh](https://www.pushwoosh.com) * [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. -* [Pusher](https://pusher.com/push-notifications) - Free and unlimited. +* [Pusher](https://pusher.com/beams) - Free and unlimited. * [Swrve](https://www.swrve.com) ### Local Notifications @@ -2343,7 +2343,7 @@ Most of these are paid services, some have free tiers. * [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). * [ESPullToRefresh](https://github.com/eggswift/pull-to-refresh) - Customisable pull-to-refresh, including nice animation on the top * [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. -* [KafkaRefresh](https://github.com/xorshine/KafkaRefresh) - Highly scalable, custom, multi-style refresh framework. +* [KafkaRefresh](https://github.com/OpenFeyn/KafkaRefresh) - Highly scalable, custom, multi-style refresh framework. ### Rating Stars * [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift From dd3a6832d20dd17407df8d0d0e593f177a4abdec Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Thu, 3 May 2018 13:00:45 +0530 Subject: [PATCH 1862/2606] Add merchantkit. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 05263205c..f692f1a0f 100644 --- a/README.md +++ b/README.md @@ -1360,6 +1360,7 @@ Most of these are paid services, some have free tiers. * [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt * [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL * [CreditCardForm-iOS](https://github.com/orazz/CreditCardForm-iOS) - CreditCardForm is iOS framework that allows developers to create the UI which replicates an actual Credit Card. +* [merchantkit](https://github.com/benjaminmayo/merchantkit) - A modern In-App Purchases management framework for iOS. ## Permissions * [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). From a966945738e28c88d6e99277e4738bd1beb0954a Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 3 May 2018 16:55:25 +0300 Subject: [PATCH 1863/2606] Add awesome list of open source applications for macOS --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 05263205c..f2466900a 100644 --- a/README.md +++ b/README.md @@ -3104,6 +3104,7 @@ CollectionView, make Instagram Discover within minutes. * [example-ios-apps](https://github.com/imjog/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. * [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. * [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. +* [Awesome list of open source applications for macOS](https://github.com/serhii-londar/open-source-mac-os-apps) - List of awesome open source applications for macOS. ## Contributing and License From 69c2ecc3144c0589e5bcfe87e15c1d595d4ef9c3 Mon Sep 17 00:00:00 2001 From: Amir Anhari Date: Thu, 3 May 2018 19:44:45 -0700 Subject: [PATCH 1864/2606] Added Porcupine --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a58611f32..d00236563 100644 --- a/README.md +++ b/README.md @@ -889,6 +889,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. * [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. * [TensorSwift](https://github.com/qoncept/TensorSwift) - A lightweight library to calculate tensors in Swift, which has similar APIs to TensorFlow's. +* [Porcupine](https://github.com/Picovoice/Porcupine) - On-device wake word detection engine for macOS, iOS, and watchOS, powered by deep learning. ## Maps @@ -3111,4 +3112,3 @@ CollectionView, make Instagram Discover within minutes. ## Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) * Distributed under the MIT license. See LICENSE for more information. - From 3c027a74ad386d91b22b8449b812ab2d7ea4e6be Mon Sep 17 00:00:00 2001 From: Amir Anhari Date: Fri, 4 May 2018 07:14:03 -0700 Subject: [PATCH 1865/2606] Moved Porcupine to Audio section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d00236563..3c61c5923 100644 --- a/README.md +++ b/README.md @@ -889,7 +889,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. * [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. * [TensorSwift](https://github.com/qoncept/TensorSwift) - A lightweight library to calculate tensors in Swift, which has similar APIs to TensorFlow's. -* [Porcupine](https://github.com/Picovoice/Porcupine) - On-device wake word detection engine for macOS, iOS, and watchOS, powered by deep learning. ## Maps @@ -953,6 +952,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit and completely written in Swift * [SonogramView](https://github.com/Luccifer/SonogramView) - Audio visualisation of song * [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. +* [Porcupine](https://github.com/Picovoice/Porcupine) - On-device wake word detection engine for macOS, iOS, and watchOS, powered by deep learning. ### GIF From ef37549d7b828e67af5e04f854633bb763976fa4 Mon Sep 17 00:00:00 2001 From: Tony Stone Date: Sat, 5 May 2018 08:34:29 -0700 Subject: [PATCH 1866/2606] Adding TraceLog. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c61c5923..763013a36 100644 --- a/README.md +++ b/README.md @@ -875,6 +875,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. * [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. * [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support +* [TraceLog](https://github.com/tonystone/tracelog) - Dead Simple: logging the way it's meant to be! Runs on ios, osx, and Linux. ## Machine Learning From ff2f54d2bb03a883d4dfdbdc194fdce13f73d330 Mon Sep 17 00:00:00 2001 From: Tony Stone Date: Sat, 5 May 2018 08:49:46 -0700 Subject: [PATCH 1867/2606] Adding StickyLocking. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c61c5923..b252d5b84 100644 --- a/README.md +++ b/README.md @@ -442,6 +442,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Queuer](https://github.com/FabrizioBrancati/Queuer) - A queue manager, built on top of OperationQueue and Dispatch (aka GCD). * [SwiftQueue](https://github.com/lucas34/SwiftQueue) - Job Scheduler with Concurrent run, failure/retry, persistence, repeat, delay and more. * [GroupWork](https://github.com/quanvo87/GroupWork) - Easy concurrent, asynchronous tasks in Swift. +* [StickyLocking](https://github.com/stickytools/sticky-locking) - A general purpose embedded hierarchical lock manager used to build highly concurrent applications of all types. Built with Swift and runs on iOS, OSX, and Linux. ## Core Data From 030d2f447851cc80843d5409036c1e0d1ea46e8a Mon Sep 17 00:00:00 2001 From: Daniel Huri Date: Sun, 6 May 2018 15:14:28 +0300 Subject: [PATCH 1868/2606] SwiftEntryKit - a popups, alerts & banners presenter for iOS. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 3c61c5923..9ac7d87ef 100644 --- a/README.md +++ b/README.md @@ -2094,6 +2094,7 @@ Most of these are paid services, some have free tiers. * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. * [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 * [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. +* [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - Highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. ### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. @@ -2319,6 +2320,7 @@ Most of these are paid services, some have free tiers. * [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. * [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. * [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. +* [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - Highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. ### ProgressView * [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift From cf62313d7fc412b168a658c5973d381d3d4cf580 Mon Sep 17 00:00:00 2001 From: Daniel Huri Date: Sun, 6 May 2018 16:24:35 +0300 Subject: [PATCH 1869/2606] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9ac7d87ef..bdf8bedcd 100644 --- a/README.md +++ b/README.md @@ -2094,7 +2094,6 @@ Most of these are paid services, some have free tiers. * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. * [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 * [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. -* [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - Highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. ### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From 57bead3ff61c4ad8eb327db877180de5e29c3eb9 Mon Sep 17 00:00:00 2001 From: Daniel Huri Date: Sun, 6 May 2018 17:32:15 +0300 Subject: [PATCH 1870/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bdf8bedcd..4cbb8bd1c 100644 --- a/README.md +++ b/README.md @@ -2319,7 +2319,7 @@ Most of these are paid services, some have free tiers. * [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. * [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. * [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. -* [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - Highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. +* [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - A highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. ### ProgressView * [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift From 600c6567e3e964c0da02de9c5b27acfeee9f20bd Mon Sep 17 00:00:00 2001 From: Daniel Huri Date: Mon, 7 May 2018 01:21:29 +0300 Subject: [PATCH 1871/2606] Add SwiftEntryKit (#2488) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c61c5923..4cbb8bd1c 100644 --- a/README.md +++ b/README.md @@ -2319,6 +2319,7 @@ Most of these are paid services, some have free tiers. * [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. * [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. * [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. +* [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - A highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. ### ProgressView * [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift From 15f7c5ea6d1283f54f226adef13e80cbaabf37ec Mon Sep 17 00:00:00 2001 From: Daniel Huri Date: Mon, 7 May 2018 13:14:43 +0300 Subject: [PATCH 1872/2606] Added SwiftEntryKit to alerts --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4cbb8bd1c..52044e1ac 100644 --- a/README.md +++ b/README.md @@ -2094,6 +2094,7 @@ Most of these are paid services, some have free tiers. * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. * [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 * [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. +* [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - A highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. ### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From 93e84c1c44bdcf5c109ed06a10d6700aedecf2c7 Mon Sep 17 00:00:00 2001 From: "M.Kamran" Date: Tue, 8 May 2018 13:05:24 +0400 Subject: [PATCH 1873/2606] MKProgress hud added in the Activity Indicator section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3d4769224..245b13e32 100644 --- a/README.md +++ b/README.md @@ -1881,6 +1881,7 @@ Most of these are paid services, some have free tiers. * [MBProgressHUD](https://github.com/jdg/MBProgressHUD) - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. * [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD) - A clean and lightweight progress HUD for your iOS app. * [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - ProgressHUD is a lightweight and easy-to-use HUD. +* [MKProgress](https://github.com/kamirana4/MKProgress) - A lightweight ProgressHUD written in Swift. Looks similar to KVNProgressHUD/MBProgressHUD/SVProgressHUD. * [M13ProgressSuite](https://github.com/Marxon13/M13ProgressSuite) - A suite containing many tools to display progress information on iOS. * [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. * [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. From 44ad6482fe246cdfb2b29fb2644d55c5eaf12fac Mon Sep 17 00:00:00 2001 From: Muhammad Kamran Date: Tue, 8 May 2018 13:08:31 +0400 Subject: [PATCH 1874/2606] MKProgress hud added in the Activity Indicator section. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 245b13e32..4529dee24 100644 --- a/README.md +++ b/README.md @@ -1881,7 +1881,7 @@ Most of these are paid services, some have free tiers. * [MBProgressHUD](https://github.com/jdg/MBProgressHUD) - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. * [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD) - A clean and lightweight progress HUD for your iOS app. * [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - ProgressHUD is a lightweight and easy-to-use HUD. -* [MKProgress](https://github.com/kamirana4/MKProgress) - A lightweight ProgressHUD written in Swift. Looks similar to KVNProgressHUD/MBProgressHUD/SVProgressHUD. +* [MKProgress](https://github.com/kamirana4/MKProgress) - A lightweight ProgressHUD written in Swift. Looks similar to /MBProgressHUD/SVProgressHUD/KVNProgressHUD. * [M13ProgressSuite](https://github.com/Marxon13/M13ProgressSuite) - A suite containing many tools to display progress information on iOS. * [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. * [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. From b09a1cc99cbb37c5760fe5f496ab24eb3bbb6bf1 Mon Sep 17 00:00:00 2001 From: Muhammad Kamran Date: Tue, 8 May 2018 13:15:07 +0400 Subject: [PATCH 1875/2606] ordered chronologically --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4529dee24..05d64dc69 100644 --- a/README.md +++ b/README.md @@ -1881,7 +1881,6 @@ Most of these are paid services, some have free tiers. * [MBProgressHUD](https://github.com/jdg/MBProgressHUD) - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. * [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD) - A clean and lightweight progress HUD for your iOS app. * [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - ProgressHUD is a lightweight and easy-to-use HUD. -* [MKProgress](https://github.com/kamirana4/MKProgress) - A lightweight ProgressHUD written in Swift. Looks similar to /MBProgressHUD/SVProgressHUD/KVNProgressHUD. * [M13ProgressSuite](https://github.com/Marxon13/M13ProgressSuite) - A suite containing many tools to display progress information on iOS. * [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. * [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. @@ -1926,6 +1925,7 @@ Most of these are paid services, some have free tiers. * [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch" * [RetroProgress](https://github.com/hyperoslo/RetroProgress) - Retro looking progress bar straight from the 90s. * [LinearProgressBar](https://github.com/Recouse/LinearProgressBar) - Material Linear Progress Bar for your iOS apps. +* [MKProgress](https://github.com/kamirana4/MKProgress) - A lightweight ProgressHUD written in Swift. Looks similar to /MBProgressHUD/SVProgressHUD/KVNProgressHUD. ### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From 464feda2baa3b6d43f4ed211cf28f70fb3442b38 Mon Sep 17 00:00:00 2001 From: Christoffer Winterkvist Date: Wed, 9 May 2018 09:50:48 +0200 Subject: [PATCH 1876/2606] Add Differific to Data Structures / Algorithms --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 05d64dc69..8a05c9dd0 100644 --- a/README.md +++ b/README.md @@ -548,6 +548,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. * [RandMyMod](https://github.com/jamesdouble/RandMyMod) - RandMyMod base on your own struct or class create one or a set of randomized instance. * [KeyPathKit](https://github.com/vincent-pradeilles/KeyPathKit) - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths. +* [Differific](https://github.com/zenangst/Differific) - A fast and convenient diffing framework. ## Date & Time From 5a5234d9110f6b71c1cce1dd1ead2f1d03fc36c9 Mon Sep 17 00:00:00 2001 From: Dan Loewenherz Date: Wed, 9 May 2018 08:29:47 -0500 Subject: [PATCH 1877/2606] Add TipJarViewController to /Payments --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8a05c9dd0..22f22e78e 100644 --- a/README.md +++ b/README.md @@ -1365,6 +1365,7 @@ Most of these are paid services, some have free tiers. * [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL * [CreditCardForm-iOS](https://github.com/orazz/CreditCardForm-iOS) - CreditCardForm is iOS framework that allows developers to create the UI which replicates an actual Credit Card. * [merchantkit](https://github.com/benjaminmayo/merchantkit) - A modern In-App Purchases management framework for iOS. +* [TipJarViewController](https://github.com/lionheart/TipJarViewController) - Easy, drop-in tip jar for iOS apps. ## Permissions * [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). From 090d324778f37987357fb00af8d33bbef8804317 Mon Sep 17 00:00:00 2001 From: Daniel Huri Date: Wed, 9 May 2018 18:30:10 +0300 Subject: [PATCH 1878/2606] Update README.md Added only to Popup. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 52044e1ac..4cbb8bd1c 100644 --- a/README.md +++ b/README.md @@ -2094,7 +2094,6 @@ Most of these are paid services, some have free tiers. * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. * [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 * [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. -* [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - A highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. ### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From f6e5aef6a33b687fd5d2f74cc76138edc9baa45f Mon Sep 17 00:00:00 2001 From: Meghdoot Dhameliya Date: Thu, 10 May 2018 22:01:45 +0530 Subject: [PATCH 1879/2606] Added jsoncafe.com (online template driven model class generator) to JSON section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8a05c9dd0..1049dd93c 100644 --- a/README.md +++ b/README.md @@ -1314,6 +1314,7 @@ Most of these are paid services, some have free tiers. * [PMHTTP](https://github.com/postmates/PMHTTP) - Swift/Obj-C HTTP framework with a focus on REST and JSON. * [NativeJSONMapper](https://github.com/DimaMishchenko/NativeJSONMapper) - Simple Swift 4 encoding & decoding. * [PMJSON](https://github.com/postmates/PMJSON) - Pure Swift JSON encoding/decoding library. +* [jsoncafe.com](http://www.jsoncafe.com/) - Online Template driven Model Class Generator from JSON. ### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. From 0a838a51d63a226afb28df166e76a18590ec275b Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 10 May 2018 15:23:41 -0300 Subject: [PATCH 1880/2606] remove udemy arkit course from 'free courses'. close #2487 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3fe2cf987..95b68d9ff 100644 --- a/README.md +++ b/README.md @@ -193,11 +193,11 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. * [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) * [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) +* [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS) ### Other free courses * [Codeschool - Exploring Google Maps for iOS](https://www.codeschool.com/courses/exploring-google-maps-for-ios) - * [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS) ## Analytics From 80874103f3527d9e527bef516d7773dbb3640e45 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 10 May 2018 15:32:13 -0300 Subject: [PATCH 1881/2606] create category descriptions. Remove some 'written in Swift (x)' occurrences --- README.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 95b68d9ff..fdb89530a 100644 --- a/README.md +++ b/README.md @@ -201,6 +201,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Analytics + *Analytics platforms, SDK's, error tracking and real-time answers about your app* + * [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. * [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. * [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. @@ -217,6 +219,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. ## App Routing + + *Elegant URL routing, navigation frameworks, deep links and more* + * [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! * [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. * [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. @@ -226,12 +231,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. * [URLNavigator](https://github.com/devxoul/URLNavigator) - ⛵️ Elegant URL Routing for Swift * [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. -* [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS, written in Swift 3 +* [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS. * [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. * [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. * [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. -* [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS, written in Swift 4. -* [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - 📱📲 Navigate between view controllers with ease. 💫 +* [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS. +* [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - 📱📲 Navigate between view controllers with ease. ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 069362a626322cfeaf4902713c0b2fb7c91bd09d Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 10 May 2018 16:07:49 -0300 Subject: [PATCH 1882/2606] Server category description. Remove wrong redirects. --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index fdb89530a..2a6157662 100644 --- a/README.md +++ b/README.md @@ -493,7 +493,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. * [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). * [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. -* [SugarRecord](https://github.com/carambalabs/SugarRecord) - Data persistence management library written in Swift 2.0 +* [SugarRecord](https://github.com/modo-studio/SugarRecord) - Data persistence management library. * [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. * [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support * [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. @@ -1509,7 +1509,7 @@ Most of these are paid services, some have free tiers. * [SlackKit](https://github.com/SlackKit/SlackKit) - a Slack client library for iOS and macOS written in Swift. * [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift Framework to Generate Random Users - An Unofficial SDK for randomuser.me. * [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). -* [UnsplashKit](https://github.com/carambalabs/UnsplashKit) - Swift client for Unsplash. +* [UnsplashKit](https://github.com/modo-studio/UnsplashKit) - Swift client for Unsplash. * [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. * [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. * [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. @@ -1575,15 +1575,17 @@ Most of these are paid services, some have free tiers. * [Keychains](https://github.com/hyperoslo/Keychains) - Because you should care... about the security... of your shit. * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. * [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. -* [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. Written in Swift. +* [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. ## Server +*Server side projects supporting coroutines, Linux, MacOS, iOS, Apache Modules, Async calls, libuv and more.* + * [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. * [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. * [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for macOS or iOS applications. -* [Curassow](https://github.com/kylef/Curassow) - Swift HTTP server using the pre-fork worker model. -* [Zewo](https://github.com/Zewo/Zewo) - Venice based HTTP server for Swift 2.2 on Linux +* [Curassow](https://github.com/kylef-archive/Curassow) - Swift HTTP server using the pre-fork worker model. +* [Zewo](https://github.com/Zewo/Zewo) - Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines. * [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, macOS, and Ubuntu. * [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift * [blackfire](https://github.com/elliottminns/blackfire) - A fast HTTP web server based on Node.js and Express written in Swift @@ -1591,7 +1593,7 @@ Most of these are paid services, some have free tiers. * [Trevi](https://github.com/Yoseob/Trevi) - libuv base Swift web HTTP server framework * [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift * [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift -* [Frank](https://github.com/kylef/Frank) - Frank is a DSL for quickly writing web applications in Swift +* [Frank](https://github.com/kylef-archive/Frank) - Frank is a DSL for quickly writing web applications in Swift * [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server * [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and macOS * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. From 7cbf84f91a03119e89ac581d41ad6c1b6f89172b Mon Sep 17 00:00:00 2001 From: ssaeidd Date: Sat, 12 May 2018 10:26:56 +0430 Subject: [PATCH 1883/2606] add GDGauge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9df5d7680..aa6bd991a 100644 --- a/README.md +++ b/README.md @@ -1722,6 +1722,7 @@ Most of these are paid services, some have free tiers. * [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. 🔶 * [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. 🔶 * [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). 🔶 +* [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. 🔶 #### Activity Indicator From 200d8c630fd0b28fdf3e40f93e365e56a9d9c272 Mon Sep 17 00:00:00 2001 From: Daniel Huri Date: Sat, 12 May 2018 18:58:30 +0300 Subject: [PATCH 1884/2606] Adding QuickLayout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2a6157662..590e516c9 100644 --- a/README.md +++ b/README.md @@ -830,6 +830,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Yalta](https://github.com/kean/Yalta) - An intuitive and powerful Auto Layout library. * [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. * [SuperLayout](https://github.com/lionheart/SuperLayout) - Simplify Auto Layout with super syntactic sugar. +* [QuickLayout](https://github.com/huri000/QuickLayout) - QuickLayout offers a simple way, to easily manage Auto Layout in code. ## Localization From 5cf4c4e1ed4123b8a87378b3d1f048661f40aa5c Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Sun, 13 May 2018 17:34:30 +0300 Subject: [PATCH 1885/2606] Remove projects --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 2a6157662..285f26a42 100644 --- a/README.md +++ b/README.md @@ -724,7 +724,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LLSimpleCamera](https://github.com/omergul/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. * [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. * [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. -* [JVTImageFilePicker](https://github.com/mcmatan/JVTImageFilePicker) - Easy and beautiful way for a user to pick content, files or images. Written in Objective C. * [HorizonSDK-iOS](https://github.com/HorizonCamera/HorizonSDK-iOS) - State of the art real-time video recording / photo shooting iOS library. * [FastttCamera](https://github.com/IFTTT/FastttCamera) - Fasttt and easy camera framework for iOS with customizable filters * [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. @@ -2022,7 +2021,6 @@ Most of these are paid services, some have free tiers. * [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. * [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao * [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller -* [ImageOpenTransition](https://github.com/mcmatan/ImageOpenTransition) - Beautiful and precise transitions between ViewControllers images written in Swift. * [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view hierarchy. Used extensively in the Zola iOS application. * [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. * [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. From 4bba6dd6d600762b1038919f64760dcd3a2f7028 Mon Sep 17 00:00:00 2001 From: Robert Herdzik Date: Sun, 13 May 2018 19:52:02 +0200 Subject: [PATCH 1886/2606] Adding RHPlaceholder to Activity Indicator --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 285f26a42..cf33722b2 100644 --- a/README.md +++ b/README.md @@ -1935,6 +1935,7 @@ Most of these are paid services, some have free tiers. * [RetroProgress](https://github.com/hyperoslo/RetroProgress) - Retro looking progress bar straight from the 90s. * [LinearProgressBar](https://github.com/Recouse/LinearProgressBar) - Material Linear Progress Bar for your iOS apps. * [MKProgress](https://github.com/kamirana4/MKProgress) - A lightweight ProgressHUD written in Swift. Looks similar to /MBProgressHUD/SVProgressHUD/KVNProgressHUD. +* [RHPlaceholder](https://github.com/robertherdzik/RHPlaceholder) - Simple library which give you possibility to add Facebook like loading state for your views. ### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From 66c47fbab3ab5066dd62b08e13bf006bc967bb9e Mon Sep 17 00:00:00 2001 From: Josef Moser Date: Sun, 13 May 2018 20:22:37 +0200 Subject: [PATCH 1887/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 285f26a42..4204f640a 100644 --- a/README.md +++ b/README.md @@ -760,6 +760,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app * [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. * [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. +* [NominatimKit](https://github.com/caloon/NominatimKit) - A Swift wrapper for (reverse) geocoding of OpenStreetMap data. ### Other Hardware From 69a72219f0c92b431c3bab91dfddbd4430874fc9 Mon Sep 17 00:00:00 2001 From: Theo Date: Sun, 13 May 2018 17:25:16 -0700 Subject: [PATCH 1888/2606] Add Weaver to the Injection section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 285f26a42..a9baa848a 100644 --- a/README.md +++ b/README.md @@ -2859,6 +2859,7 @@ CollectionView, make Instagram Discover within minutes. * [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. * [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. * [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift +* [Weaver](https://github.com/scribd/Weaver) - A declarative, easy-to-use and safe Dependency Injection framework for Swift ## Deployment / Distribution From 9d1cb9c6e848343896739c512fea8f7261b71a12 Mon Sep 17 00:00:00 2001 From: stonedong Date: Tue, 15 May 2018 16:07:48 +0800 Subject: [PATCH 1889/2606] add DZURLRoute . Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 959837cbd..530aec826 100644 --- a/README.md +++ b/README.md @@ -237,6 +237,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. * [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS. * [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - 📱📲 Navigate between view controllers with ease. +* [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. + ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From 39b260e0ed9cacdb81aaa3e428aeaa1f490b525c Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 15 May 2018 14:39:29 +0300 Subject: [PATCH 1890/2606] Fix redirection link issue --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 959837cbd..2773c2e83 100644 --- a/README.md +++ b/README.md @@ -1355,7 +1355,7 @@ Most of these are paid services, some have free tiers. * [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend. * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. -* [Moltin](https://moltin.com/ios-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. +* [Moltin](http://moltin.com/swift-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. * [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. * [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS From 71346c6d087aded8276da9bd78f73f516956df51 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 15 May 2018 14:53:59 +0300 Subject: [PATCH 1891/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2773c2e83..8ac117868 100644 --- a/README.md +++ b/README.md @@ -1355,7 +1355,7 @@ Most of these are paid services, some have free tiers. * [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend. * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. -* [Moltin](http://moltin.com/swift-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. +* [Moltin](https://moltin.com/swift-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. * [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. * [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS From 10aae51911b4b2ef3b0769f0cd9165cdfb50f1d7 Mon Sep 17 00:00:00 2001 From: patrick piemonte Date: Wed, 16 May 2018 18:47:04 -0700 Subject: [PATCH 1892/2606] added Poly, the unofficial Google Poly SDK --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1d1ab6550..81289f96a 100644 --- a/README.md +++ b/README.md @@ -271,6 +271,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ARKitEnvironmentMapper](https://github.com/svtek/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. * [SmileToUnlock](https://github.com/rsrbk/SmileToUnlock) - This library uses ARKit Face Tracking in order to catch a user's smile. * [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision +* [Poly](https://github.com/piemonte/Poly) - Unofficial Google Poly SDK – search and display 3D models ## Authentication * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. From 46ae0c9d778cba82da91475c92c3dd782991bc6c Mon Sep 17 00:00:00 2001 From: marty-suzuki Date: Thu, 17 May 2018 16:08:14 +0900 Subject: [PATCH 1893/2606] add TheAnimation by @marty-suzuki --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1d1ab6550..015e5281e 100644 --- a/README.md +++ b/README.md @@ -2017,6 +2017,7 @@ Most of these are paid services, some have free tiers. * [AGInterfaceInteraction](https://github.com/agilie/AGInterfaceInteraction) - library performs interaction with UI interface. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [VariousViewsEffects](https://github.com/artrmz/VariousViewsEffects) - Animates views nicely with easy to use extensions. +* [TheAnimation](https://github.com/marty-suzuki/TheAnimation) - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values. ### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 970ab50dd7b7f6b4d4eb93434e1514265e764d3d Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 17 May 2018 12:30:10 +0300 Subject: [PATCH 1894/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 015e5281e..1ccad7b6f 100644 --- a/README.md +++ b/README.md @@ -1724,7 +1724,7 @@ Most of these are paid services, some have free tiers. * [Kif](https://github.com/kif-framework/KIF) - An iOS Functional Testing Framework. * [Subliminal](https://github.com/inkling/Subliminal) - An understated approach to iOS integration testing. * [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any iOS native, hybrid, or mobile web application using Selenium / WebDriver. -* [Zucchini](https://github.com/zucchini-src/zucchini) - A visual iOS testing framework that loves your apps. +* [Zucchini](https://github.com/lxmx/zucchini) - A visual iOS testing framework that loves your apps. * [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. * [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations. * [EarlGrey](https://github.com/google/EarlGrey) - :tea: iOS UI Automation Test Framework. From edcc346048dd13f5b8a6f4c26851569cd013f602 Mon Sep 17 00:00:00 2001 From: HideakiTouhara Date: Thu, 17 May 2018 20:06:10 +0900 Subject: [PATCH 1895/2606] Add Poi --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 015e5281e..b7cddf608 100644 --- a/README.md +++ b/README.md @@ -2018,6 +2018,7 @@ Most of these are paid services, some have free tiers. * [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. * [VariousViewsEffects](https://github.com/artrmz/VariousViewsEffects) - Animates views nicely with easy to use extensions. * [TheAnimation](https://github.com/marty-suzuki/TheAnimation) - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values. +* [Poi](https://github.com/HideakiTouhara/Poi) - Poi makes you use card UI like tinder UI .You can use it like tableview method. ### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 298bc72f4388bcf8e2f4767507daa86038c0f043 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 17 May 2018 16:43:23 +0300 Subject: [PATCH 1896/2606] Remove Zucchini --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 1ccad7b6f..7f5898177 100644 --- a/README.md +++ b/README.md @@ -1724,7 +1724,6 @@ Most of these are paid services, some have free tiers. * [Kif](https://github.com/kif-framework/KIF) - An iOS Functional Testing Framework. * [Subliminal](https://github.com/inkling/Subliminal) - An understated approach to iOS integration testing. * [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any iOS native, hybrid, or mobile web application using Selenium / WebDriver. -* [Zucchini](https://github.com/lxmx/zucchini) - A visual iOS testing framework that loves your apps. * [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. * [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations. * [EarlGrey](https://github.com/google/EarlGrey) - :tea: iOS UI Automation Test Framework. From e55644be97bd4900fea8a7fe306bc26eb45fa8ba Mon Sep 17 00:00:00 2001 From: DimaMishchenko Date: Fri, 18 May 2018 16:57:09 +0300 Subject: [PATCH 1897/2606] Updated README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2b5e223d1..986258bee 100644 --- a/README.md +++ b/README.md @@ -1089,6 +1089,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PSPDFKit](https://pspdfkit.com/) - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. * [TPPDF](https://github.com/Techprimate/TPPDF) - Generate PDF using commands and automatic layout. * [FastPdfKit](https://github.com/mobfarm/FastPdfKit) - A Static Library to be embedded on iOS applications to display pdf documents derived from Fast PDF. +* [UIImagePlusPDF](https://github.com/DimaMishchenko/UIImagePlusPDF) - UIImage extensions to simply use PDF files. ### Streaming * [HaishinKit.swift](https://github.com/shogo4405/HaishinKit.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. From 1b4385b78522c166e28c55cb4079fe0b41351b7a Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 18 May 2018 13:08:20 -0300 Subject: [PATCH 1898/2606] change sponsor banner --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 986258bee..f73632228 100644 --- a/README.md +++ b/README.md @@ -17,12 +17,11 @@ A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). ## Recommended SDK for bug and crash reporting [Instabug](https://goo.gl/hNadrZ) -[![ios](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) -> We highly recommend integrating Instabug’s framework as they compiled a lot of great features in their SDK that provides useful and rich data with each bug/crash report. -They removed the hassle of debugging as the SDK automatically attach screenshots, screen recordings, device details, network logs and repro-steps with each bug report which speeds up development process. Instabug is offering awesome-ios community an exclusive **15% discount** on all paid plans. [**Go to 5-minute installation guide.**](https://goo.gl/q93Qtd)🚀 +[![instabug-visual-repro-steps](https://user-images.githubusercontent.com/9888943/40114739-4e0ff416-590e-11e8-9a29-55fb2d4cfebc.png)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) +> Instabug has just released their visual repro steps feature to enable you to trace all the views that the user interacted with before a bug or a crash occured. This will help you reproduce bugs and fix them 10x faster. We highly recommend integrating Instabug’s framework as they compiled a lot of other great features like network logs and screen annotations, providing you with useful and rich data attached to each bug or crash report. +Instabug is offering awesome-ios community an exclusive **15% discount** on all paid plans. [**Go to 1 minute integration guide.**](https://goo.gl/q93Qtd) [![](https://goo.gl/A74z8Q)](https://instabug.com) - ## How to Use Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use are: - Ask for help on our [Twitter](https://twitter.com/awesome_ios) or [Gitter Channel](https://gitter.im/vsouza/awesome-ios) From 555845a323d3b118c664aa3ec7871f1ef25a59e9 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 18 May 2018 13:09:10 -0300 Subject: [PATCH 1899/2606] remove awesomelinkcounter --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index f73632228..ea096222b 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,6 @@ Join the chat at gitter Build Status pr-closed - Language - Language PRs Welcome

From 2ca23626e70863e09844f997961c5865c54e2777 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 18 May 2018 13:11:10 -0300 Subject: [PATCH 1900/2606] adding getting-started category description --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index ea096222b..a1aca7e10 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Courses ### Getting Started + +*Courses, tutorials and guides* + * [Apple- Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. * [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) * [Apple - Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) From bd0afce40df03aec6a183b73ce26a9efe9cfc217 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 18 May 2018 13:12:34 -0300 Subject: [PATCH 1901/2606] adding apple-tv category description --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index a1aca7e10..e96445666 100644 --- a/README.md +++ b/README.md @@ -241,6 +241,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Apple TV + +*tvOS view controllers, wrappers, template managers and video players.* + * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. * [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS * [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager with or without client-server From f5e5aeb727d116728171c2380a0135f9da4d442f Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 18 May 2018 13:17:57 -0300 Subject: [PATCH 1902/2606] adding architecture-patterns category description --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index e96445666..107120282 100644 --- a/README.md +++ b/README.md @@ -258,6 +258,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS ## Architecture Patterns + +*Clean architecture, Viper, MVVM, Reactive... choose your weapon.* + * [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. * [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. * [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. From 71f633fcf1c2f79a9cd3aaa65f39547aa204d59d Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 18 May 2018 13:44:17 -0300 Subject: [PATCH 1903/2606] adding arkit and bridging category descriptions --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 107120282..d7c36cb05 100644 --- a/README.md +++ b/README.md @@ -271,6 +271,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## ARKit + +*Library and tools to help you build unparalleled augmented reality experiences* + * [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. * [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. * [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆. @@ -303,6 +306,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Bridging +*Sharing code between Objective-C and Swift, iOS and macOS, Javascript and Objective-C.* + * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. * [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. * [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews From f1d1583e0616e92a1b3b31b832f2a7dd54617369 Mon Sep 17 00:00:00 2001 From: Chase Roossin Date: Fri, 18 May 2018 09:52:12 -0700 Subject: [PATCH 1904/2606] Add CardParts --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index d7c36cb05..aaea8dd0e 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Badge](#badge) - [Button](#button) - [Calendar](#calendar) + - [Cards](#cards) - [Form & Settings](#form--settings) - [Keyboard](#keyboard) - [Label](#label) @@ -2185,6 +2186,9 @@ Most of these are paid services, some have free tiers. * [CalendarPopUp](https://github.com/orazz/CalendarPopUp) - CalendarPopUp - JTAppleCalendar library. * [ios_calendar](https://github.com/maximbilan/ios_calendar) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar +### Cards +* [CardParts](https://github.com/intuit/CardParts) - A reactive, card-based UI framework built on UIKit. + ### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS * [XLForm](https://github.com/xmartlabs/XLForm) - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C. From 2bcba45013a2f6485de021d9433cf3b1760ee1dc Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 18 May 2018 16:16:39 -0300 Subject: [PATCH 1905/2606] Move all card type projects to new category 'Cards' inside the UI section --- README.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index aaea8dd0e..c511d436b 100644 --- a/README.md +++ b/README.md @@ -1771,11 +1771,9 @@ Most of these are paid services, some have free tiers. ## UI * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. -* [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! * [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. * [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. * [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. -* [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. * [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. * [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. * [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. @@ -1784,12 +1782,10 @@ Most of these are paid services, some have free tiers. * [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. * [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift * [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. -* [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) * [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. * [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications * [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages -* [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. * [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. * [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple * [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. @@ -1830,7 +1826,7 @@ Most of these are paid services, some have free tiers. * [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. * [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. * [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. -* [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. Behind the scenes, StyleKit uses UIAppearance and some selector magic to apply the styles. You can also customize the parser for greater flexibility. +* [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. * [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. * [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views * [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style @@ -1843,12 +1839,10 @@ Most of these are paid services, some have free tiers. * [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. * [CRRulerControl](https://github.com/Cleveroad/CRRulerControl) - Customizable component is aimed at turning a simple ruler into a handy and smart instrument. * [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. -* [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. * [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control * [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button * [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards * [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. -* [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics * [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. * [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. * [CRPageViewController](https://github.com/Cleveroad/CRPageViewController) - While a standard page view allows you to navigate between pages by using simple gestures, our component goes further. @@ -1881,7 +1875,6 @@ Most of these are paid services, some have free tiers. * [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. * [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. * [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. -* [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. * [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. * [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. * [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. @@ -2115,7 +2108,6 @@ Most of these are paid services, some have free tiers. * [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. * [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. * [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS -* [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. * [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. * [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. * [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. @@ -2187,7 +2179,18 @@ Most of these are paid services, some have free tiers. * [ios_calendar](https://github.com/maximbilan/ios_calendar) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar ### Cards -* [CardParts](https://github.com/intuit/CardParts) - A reactive, card-based UI framework built on UIKit. + +*Card based UI's, pan gestures, flip and swipe animations* + +* [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! +* [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. +* [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. +* [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. +* [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. +* [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics +* [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. +* [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. +* [CardParts](https://github.com/intuit/CardParts) - A reactive, card-based UI framework built on UIKit. ### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From 329df57dabd09727dd8af7ca888df580434f6864 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 18 May 2018 16:30:20 -0300 Subject: [PATCH 1906/2606] move 'Cards' projects from TableView category to new 'Cards' category #2507 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c511d436b..c07c779c2 100644 --- a/README.md +++ b/README.md @@ -2190,6 +2190,8 @@ Most of these are paid services, some have free tiers. * [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics * [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. * [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. +* [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App +* [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. * [CardParts](https://github.com/intuit/CardParts) - A reactive, card-based UI framework built on UIKit. ### Form & Settings @@ -2539,7 +2541,6 @@ Most of these are paid services, some have free tiers. * [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. * [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. * [IGListKit](https://github.com/Instagram/IGListKit) - A data-driven UICollectionView framework for building fast and flexible lists. -* [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App * [FlexibleTableViewController](https://github.com/dimpiax/FlexibleTableViewController) - Swift library of generic table view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler * [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc * [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift. @@ -2573,7 +2574,6 @@ Most of these are paid services, some have free tiers. * [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. * [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views * [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections -* [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. * [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. * [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. * [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. From 6b5b4e2e0b49799adc3dcf9f68bcac1f87195a9d Mon Sep 17 00:00:00 2001 From: HIROMASA NAGAMINE Date: Sun, 20 May 2018 15:44:56 +0900 Subject: [PATCH 1907/2606] Add StoryboardBuilder --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c07c779c2..73597d340 100644 --- a/README.md +++ b/README.md @@ -2887,6 +2887,7 @@ CollectionView, make Instagram Discover within minutes. * [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. * [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift * [Weaver](https://github.com/scribd/Weaver) - A declarative, easy-to-use and safe Dependency Injection framework for Swift +* [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. ## Deployment / Distribution From db5e95ed41652bd22ef7d68fd4f87f17e027b33e Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 20 May 2018 21:21:16 -0300 Subject: [PATCH 1908/2606] Fix old project descriptions --- README.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c07c779c2..ade275b2c 100644 --- a/README.md +++ b/README.md @@ -522,12 +522,11 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. * [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB * [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. -* [MongoDB](https://github.com/PerfectlySoft/Perfect-MongoDB) - A Swift wrapper around the mongo-c client library, enabling access to MongoDB servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. -* [SQLite](https://github.com/PerfectlySoft/Perfect-SQLite) - A Swift wrapper around the SQLite 3 client library, enabling access to SQLite servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. -* [MySQL](https://github.com/PerfectlySoft/Perfect-MySQL) - A Swift wrapper around the MySQL client library, enabling access to MySQL servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. -* [Redis](https://github.com/PerfectlySoft/Perfect-Redis) - A Swift wrapper around the Redis client library, enabling access to Redis. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. -* [PostgreSQL](https://github.com/PerfectlySoft/Perfect-PostgreSQL) - A Swift wrapper around the libpq client library, enabling access to PostgreSQL servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. -* [FileMaker](https://github.com/PerfectlySoft/Perfect-FileMaker) - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers. Part of the [Perfect](https://github.com/PerfectlySoft/Perfect) project, but stand-alone. SPM and Swift 3 support. +* [MongoDB](https://github.com/PerfectlySoft/Perfect-MongoDB) - A Swift wrapper around the mongo-c client library, enabling access to MongoDB servers. +* [MySQL](https://github.com/PerfectlySoft/Perfect-MySQL) - A Swift wrapper around the MySQL client library, enabling access to MySQL servers. +* [Redis](https://github.com/PerfectlySoft/Perfect-Redis) - A Swift wrapper around the Redis client library, enabling access to Redis. +* [PostgreSQL](https://github.com/PerfectlySoft/Perfect-PostgreSQL) - A Swift wrapper around the libpq client library, enabling access to PostgreSQL servers. +* [FileMaker](https://github.com/PerfectlySoft/Perfect-FileMaker) - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers. * [Nora](https://github.com/SD10/Nora) - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage. * [PersistentStorageSerializable](https://github.com/IvanRublev/PersistentStorageSerializable) - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. * [WCDB](https://github.com/Tencent/wcdb) - WCDB is an efficient, complete, easy-to-use mobile database framework for iOS, macOS. @@ -573,8 +572,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Date & Time * [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions in Swift -* [SwiftDate](https://github.com/malcommac/SwiftDate) - Easy NSDate Management in Swift 2.0 -* [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library written in Swift 2 +* [SwiftDate](https://github.com/malcommac/SwiftDate) - The best way to manage Dates and Timezones in Swift. +* [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library. * [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C * [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer * [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift @@ -648,7 +647,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. * [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. * [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. -* [Oriole](https://github.com/tptee/Oriole) - A functional utility belt implemented as Swift 2.0 protocol extensions. [e] +* [Oriole](https://github.com/tptee/Oriole) - A functional utility belt implemented as Swift protocol extensions. [e] * [Prelude](https://github.com/robrix/Prelude) - Swift µframework of simple functional programming tools. * [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. * [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. From 3a6fcdca5e324650090decd58c24d077ab0ee374 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 20 May 2018 21:22:04 -0300 Subject: [PATCH 1909/2606] update greeting --- helloworld.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helloworld.swift b/helloworld.swift index 4fdf0cebb..d4fd2380c 100644 --- a/helloworld.swift +++ b/helloworld.swift @@ -1 +1 @@ -print("Hello iOS Developers!") +print("Hello Awesome iOS Developers!") From d3dc5b150bb54f1d21e5b9b4d5e3fd90550e5fe0 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 20 May 2018 21:39:36 -0300 Subject: [PATCH 1910/2606] update contributing rules in awesomeios. Happy coding community <3 --- .github/CONTRIBUTING.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 306e87722..f9daed1eb 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -7,12 +7,14 @@ Please ensure your pull request adheres to the following guidelines: - Use the following format: `[PACKAGE](LINK) - DESCRIPTION.` - New categories, or improvements to the existing categorization are welcome. - Keep descriptions short and simple, but descriptive. +- don't include ios versions or swift versions in the description. +- Emojis should be used with care in descriptions, we already had some problems with emoji render in Github. - End all descriptions with a full stop/period. - Check your spelling and grammar. - Make sure that your suggestion is positioned as the last item category. - Make sure your text editor is set to remove trailing whitespace. -#### Deleting +#### Deleting Typical reasons for deleting project: @@ -28,5 +30,7 @@ Typical reasons for deleting project: - Don't support Swift 4 or later - Not written in English - README is not clear +- Projects without tests can be rejected. +- Does not support the most commom package managers (spm, cocoapods, carthage...) Your contributions are always welcome! Thank you for your suggestions! :smiley: From b202a38d84bb093ab33c6e846ea20d0bb974a556 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 21 May 2018 14:06:36 -0300 Subject: [PATCH 1911/2606] remove 'EasyIAPs' project. Project don't longer exists. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 20af7b9f6..58d2f74cd 100644 --- a/README.md +++ b/README.md @@ -1376,7 +1376,6 @@ Most of these are paid services, some have free tiers. * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS * [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework * [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions -* [EasyIAPs](https://github.com/aaalveee/EasyIAPs) - An easy way to manage In App Purchases * [PayPal](https://github.com/paypal/PayPal-iOS-SDK) - Accept payments in your iOS app via PayPal. * [card.io-iOS-SDK](https://github.com/card-io/card.io-iOS-SDK) - card.io provides fast, easy credit card scanning in mobile apps * [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift From 6c4e0104f12a96f0c98e40430afbea068e521736 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 22 May 2018 13:46:18 -0300 Subject: [PATCH 1912/2606] Add description in 'Core Data' category --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 58d2f74cd..bcbca0973 100644 --- a/README.md +++ b/README.md @@ -466,6 +466,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Core Data +*Core data Frameworks, wrappers, generators and boilerplates.* + * [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. * [ObjectiveRecord](https://github.com/supermarin/ObjectiveRecord) - ActiveRecord for Objective-C. * [SSDataKit](https://github.com/soffes/SSDataKit) - Eliminate your Core Data boilerplate code. From c3ffccddf7438d22c1279089691fe950d63839ba Mon Sep 17 00:00:00 2001 From: Gleb Radchenko Date: Wed, 23 May 2018 15:46:49 +0300 Subject: [PATCH 1913/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bcbca0973..ddf3bf583 100644 --- a/README.md +++ b/README.md @@ -2768,6 +2768,7 @@ CollectionView, make Instagram Discover within minutes. * [Socks](https://github.com/vapor-community/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS * [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS * [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. +* [DNWebSocket](https://github.com/GlebRadchenko/DNWebSocket) - Object-Oriented, Swift-style WebSocket Library (RFC 6455) for Swift-compatible Platforms. ## Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. From 10deccfd3d5d58e7f7ffaa47fee6ff7903f72974 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 23 May 2018 14:14:03 -0300 Subject: [PATCH 1914/2606] add 'Linter' category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ddf3bf583..061282e96 100644 --- a/README.md +++ b/README.md @@ -405,6 +405,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ### Linter +*Static code analyzers to enforce style and conventions.* + * [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. * [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. From 989f0649bdcb434928372b0b2a357a75d63b69e7 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 23 May 2018 14:18:04 -0300 Subject: [PATCH 1915/2606] Add 'Color' category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 061282e96..d377944c8 100644 --- a/README.md +++ b/README.md @@ -414,6 +414,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Color +*Hex color extensions, theming, color pickers and other awesome color tools.* + * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). * [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. * [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. [e] From 00729feaa145d68f2a923131804cacc86d6cc054 Mon Sep 17 00:00:00 2001 From: mylittleswift Date: Wed, 23 May 2018 15:43:56 -0700 Subject: [PATCH 1916/2606] Added web3swift in Blockchain from @BANKEX --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d377944c8..e684e3ba8 100644 --- a/README.md +++ b/README.md @@ -304,6 +304,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Blockchain * [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. +* [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. ## Bridging From 2d824966ceac0b983d262ae6874567cd27cba556 Mon Sep 17 00:00:00 2001 From: mylittleswift Date: Thu, 24 May 2018 15:28:23 -0700 Subject: [PATCH 1917/2606] Added EthereumKit to Blockchain from @yuzushioh --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e684e3ba8..2a2987ea2 100644 --- a/README.md +++ b/README.md @@ -305,6 +305,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. * [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. +* [EthereumKit](https://github.com/yuzushioh/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. ## Bridging From 86cd9227c453f8e86d28090ec93a2404e42d5663 Mon Sep 17 00:00:00 2001 From: Noval Agung Prayogo Date: Fri, 25 May 2018 14:11:11 +0700 Subject: [PATCH 1918/2606] add NVDate --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e684e3ba8..728143dba 100644 --- a/README.md +++ b/README.md @@ -597,6 +597,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Solar](https://github.com/ceeK/Solar) - A Swift micro library for generating Sunrise and Sunset times. * [TimePicker](https://github.com/Endore8/TimePicker) - Configurable time picker component based on a pan gesture and its velocity. * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift +* [NVDate](https://github.com/novalagung/nvdate) - Swift4 Date extension library ## Debugging From 63e41e95b04cefcfbc43aaa947d5262130a95a36 Mon Sep 17 00:00:00 2001 From: Noval Agung Prayogo Date: Fri, 25 May 2018 14:14:21 +0700 Subject: [PATCH 1919/2606] move nvdate position --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 728143dba..7ac97a936 100644 --- a/README.md +++ b/README.md @@ -590,6 +590,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . * [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. * [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. +* [NVDate](https://github.com/novalagung/nvdate) - Swift4 Date extension library * [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. * [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. * [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. [e] @@ -597,7 +598,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Solar](https://github.com/ceeK/Solar) - A Swift micro library for generating Sunrise and Sunset times. * [TimePicker](https://github.com/Endore8/TimePicker) - Configurable time picker component based on a pan gesture and its velocity. * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift -* [NVDate](https://github.com/novalagung/nvdate) - Swift4 Date extension library ## Debugging From 2640f4bb52ff570040871f2677bfb21bf99d1999 Mon Sep 17 00:00:00 2001 From: Noval Agung Prayogo Date: Fri, 25 May 2018 14:46:47 +0700 Subject: [PATCH 1920/2606] move NVDate to the bottom of it's category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ac97a936..728143dba 100644 --- a/README.md +++ b/README.md @@ -590,7 +590,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . * [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. * [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. -* [NVDate](https://github.com/novalagung/nvdate) - Swift4 Date extension library * [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. * [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. * [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. [e] @@ -598,6 +597,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Solar](https://github.com/ceeK/Solar) - A Swift micro library for generating Sunrise and Sunset times. * [TimePicker](https://github.com/Endore8/TimePicker) - Configurable time picker component based on a pan gesture and its velocity. * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift +* [NVDate](https://github.com/novalagung/nvdate) - Swift4 Date extension library ## Debugging From 76419cb91cb3bd0b5f422448cee9862b72f8a15d Mon Sep 17 00:00:00 2001 From: Roger Molas Date: Sat, 26 May 2018 16:09:17 +0800 Subject: [PATCH 1921/2606] Add RMHttp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9558564c2..f29e775e9 100644 --- a/README.md +++ b/README.md @@ -1237,6 +1237,7 @@ Also see [push notifications](#push-notifications) * [TermiNetwork](https://github.com/billp/TermiNetwork) - A networking library written with Swift 4.0 that supports multi-environment configuration, routing and automatic deserialization * [Dots](https://github.com/iAmrSalman/Dots) - Lightweight Concurrent Networking Framework. * [Gem](https://github.com/Albinzr/Gem) - An extreme light weight system with high performance for managing all http request with automated parser with modal. +* [RMHttp](https://github.com/rogermolas/RMHttp) - Lightweight REST library for iOS and watchOS. ### Email From 9e0cb43fa314db42e26e6dcf6d3fafd6b46fd8e7 Mon Sep 17 00:00:00 2001 From: Sven Tiigi Date: Sat, 26 May 2018 16:00:42 +0200 Subject: [PATCH 1922/2606] Added WhatsNewKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9558564c2..d9ef58625 100644 --- a/README.md +++ b/README.md @@ -2730,6 +2730,7 @@ CollectionView, make Instagram Discover within minutes. * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs * [SwiftProvisioningProfile](https://github.com/Sherlouk/SwiftProvisioningProfile) - Parse provisioning profiles into Swift models. + * [WhatsNewKit](https://github.com/SvenTiigi/WhatsNewKit) - Showcase your awesome new app features 📱 ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS From 9617652fa57bef269a8700a0842841f16bc23855 Mon Sep 17 00:00:00 2001 From: Sven Tiigi Date: Mon, 28 May 2018 07:31:07 +0200 Subject: [PATCH 1923/2606] Moved WhatsNewKit from Utility to Walkthrough / Intro / Tutorial Section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d9ef58625..4cb65ee41 100644 --- a/README.md +++ b/README.md @@ -2730,7 +2730,6 @@ CollectionView, make Instagram Discover within minutes. * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs * [SwiftProvisioningProfile](https://github.com/Sherlouk/SwiftProvisioningProfile) - Parse provisioning profiles into Swift models. - * [WhatsNewKit](https://github.com/SvenTiigi/WhatsNewKit) - Showcase your awesome new app features 📱 ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS @@ -2766,6 +2765,7 @@ CollectionView, make Instagram Discover within minutes. * [PVOnboardKit](https://github.com/vpeschenkov/PVOnboardKit) - Framework that allows you to add your own walkthrough/intro/tutorial into your app. * [Minamo](https://github.com/yukiasai/Minamo) - Simple coach mark library written in Swift. * [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. +* [WhatsNewKit](https://github.com/SvenTiigi/WhatsNewKit) - Showcase your awesome new app features 📱 ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From d90c7146a2f718a25049223861a24e15853ac40f Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 29 May 2018 11:00:59 -0300 Subject: [PATCH 1924/2606] update pull request template --- .github/PULL_REQUEST_TEMPLATE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 027c35ecc..c4e6b1f91 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -8,13 +8,14 @@ ## Description - + ## Why it should be included to `awesome-ios` (optional) ## Checklist - [ ] Only one project/change is in this pull request +- [ ] Has unit tests, integration tests or UI tests - [ ] Addition in chronological order (bottom of category) - [ ] Supports iOS 9 / tvOS 10 or later - [ ] Supports Swift 4 or later From abc7d6889a7c76ad499d938952051652a4720e83 Mon Sep 17 00:00:00 2001 From: siddharthsuneel Date: Wed, 30 May 2018 11:58:25 +0530 Subject: [PATCH 1925/2606] Adding a new resource link in Blockchain Added a new resource of blockchain named "BitcoinKit: Bitcoin protocol toolkit for Swift". --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ebf235c5..9eee770da 100644 --- a/README.md +++ b/README.md @@ -306,6 +306,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. * [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. * [EthereumKit](https://github.com/yuzushioh/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. +* [BitcoinKit](https://github.com/kishikawakatsumi/BitcoinKit) - Bitcoin protocol toolkit for Swift. ## Bridging From 3873026b052c91ebdb837f55728e282d653b9481 Mon Sep 17 00:00:00 2001 From: siddharthsuneel Date: Wed, 30 May 2018 12:09:25 +0530 Subject: [PATCH 1926/2606] BitcoinKit description updated. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9eee770da..74f02ced9 100644 --- a/README.md +++ b/README.md @@ -306,7 +306,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. * [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. * [EthereumKit](https://github.com/yuzushioh/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. -* [BitcoinKit](https://github.com/kishikawakatsumi/BitcoinKit) - Bitcoin protocol toolkit for Swift. +* [BitcoinKit](https://github.com/kishikawakatsumi/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. ## Bridging From db448c058befc11622c0f3e9e3cdcc4ace33922f Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 30 May 2018 17:24:19 -0300 Subject: [PATCH 1927/2606] fix redirect on GDCalendar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 74f02ced9..1e159d088 100644 --- a/README.md +++ b/README.md @@ -2180,7 +2180,7 @@ Most of these are paid services, some have free tiers. * [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time * [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. * [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. -* [GDPersianCalendar](https://github.com/saeid/GDPersianCalendar) - Customizable and easy to use Persian Calendar component. +* [GDPersianCalendar](https://github.com/saeid/GDCalendar) - Customizable and easy to use Persian Calendar component. * [MBCalendarKit](https://github.com/MosheBerman/MBCalendarKit) - A calendar framework for iOS built with customization, and localization in mind. * [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. * [KDCalendarView](https://github.com/mmick66/CalendarView) - A calendar component for iOS written in Swift 4.0. It features both vertical and horizontal layout (and scrolling) and the display of native calendar events. From 2627d06ba1bdc60506729792346b3eda3258a472 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 1 Jun 2018 18:04:22 -0300 Subject: [PATCH 1928/2606] create 'Authentication' and 'Blockchain' category descriptions. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 1e159d088..9049102b3 100644 --- a/README.md +++ b/README.md @@ -284,6 +284,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Poly](https://github.com/piemonte/Poly) - Unofficial Google Poly SDK – search and display 3D models ## Authentication + +*Oauth and Oauth2 libraries, social logins and captcha tools.* + * [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. * [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. * [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. @@ -303,6 +306,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Blockchain +*Tool for smart contract interactions. Bitcoin protocol implementations and Frameworks for interacting with cryptocurrencies.* + * [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. * [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. * [EthereumKit](https://github.com/yuzushioh/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. From a8f0daeafee8e2d7f266414fd6f849463e7074ed Mon Sep 17 00:00:00 2001 From: Edwin Vermeer Date: Sun, 3 Jun 2018 11:04:54 +0200 Subject: [PATCH 1929/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9049102b3..9a42cac7f 100644 --- a/README.md +++ b/README.md @@ -1760,6 +1760,7 @@ Most of these are paid services, some have free tiers. * [Bluepill](https://github.com/linkedin/bluepill) - Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine * [Flawless App](https://flawlessapp.io/) - tool for visual quality check of mobile app in a real-time. It compares initial design with the actual implementation right inside iOS simulator. * [TouchVisualizer](https://github.com/morizotter/TouchVisualizer) - Lightweight touch visualization library in Swift. A single line of code and visualize your touches! +* [UITestHelper](https://github.com/evermeer/UITestHelper) - UITest helper library for creating readable and maintainable tests ### Other Testing * [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. From 4ccad01ef9f119842878a4aa80576938f431c902 Mon Sep 17 00:00:00 2001 From: Christoffer Winterkvist Date: Mon, 4 Jun 2018 14:48:02 +0200 Subject: [PATCH 1930/2606] Add Vaccine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9049102b3..f812d8af4 100644 --- a/README.md +++ b/README.md @@ -2904,6 +2904,7 @@ CollectionView, make Instagram Discover within minutes. * [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift * [Weaver](https://github.com/scribd/Weaver) - A declarative, easy-to-use and safe Dependency Injection framework for Swift * [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. +* [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. ## Deployment / Distribution From 18fe39c1e69d7e1f09156800b3544b4bbdfa5c31 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 5 Jun 2018 15:38:17 -0300 Subject: [PATCH 1931/2606] create Header subcategory child of Table View category --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f40e686b4..c42befbcb 100644 --- a/README.md +++ b/README.md @@ -2515,16 +2515,14 @@ Most of these are paid services, some have free tiers. * [ExpandedTabBar](https://github.com/yervandsar/ExpandedTabBar) - Very creative designed solution for "more" items in UITabBarController ### Table View / Collection View + * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. -* [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. * [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. * [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ -* [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. * [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material * [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. * [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. -* [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. * [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. * [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. * [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff @@ -2601,6 +2599,12 @@ CollectionView, make Instagram Discover within minutes. * [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. * [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. +#### Header + +* [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. +* [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. +* [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. + ### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. * [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. From 5eac6626c399f802f5e5562a8101921e6831779d Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 5 Jun 2018 16:34:55 -0300 Subject: [PATCH 1932/2606] create Placeholder subcategory of TableView / CollectionView and move Header subcategory - close #2524 --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c42befbcb..9eeb564fe 100644 --- a/README.md +++ b/README.md @@ -2516,6 +2516,10 @@ Most of these are paid services, some have free tiers. ### Table View / Collection View + + + + * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. * [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. @@ -2570,7 +2574,7 @@ Most of these are paid services, some have free tiers. * [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. * [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. -* [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS written in Swift 3 +* [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS. * [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations * [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. * [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. @@ -2580,12 +2584,10 @@ Most of these are paid services, some have free tiers. * [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. * [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. * [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). -* [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project * [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. * [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS written in Swift 3 * [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) * [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. -* [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views * [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections * [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. * [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. @@ -2605,6 +2607,10 @@ CollectionView, make Instagram Discover within minutes. * [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. * [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. +#### Placeholder +* [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project +* [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views + ### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. * [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. From 27a201324faf5bbc4e139ac1e78f73939856f2fb Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 5 Jun 2018 16:52:33 -0300 Subject: [PATCH 1933/2606] create new subcategories menu links --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 9eeb564fe..8a8b41a99 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Switch](#switch) - [Tab Bar](#tab-bar) - [Table View / Collection View](#table-view--collection-view) + - [Header](#header) + - [PlaceHolder](#placeholder) - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [UIPageControl](#uipagecontrol) From d8ce9ac7ce4b68635b4fee73f9e9fbadacd2f3f8 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 6 Jun 2018 14:48:11 -0300 Subject: [PATCH 1934/2606] Create 'Data structure / Algoritms' category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 8a8b41a99..20164c48a 100644 --- a/README.md +++ b/README.md @@ -556,6 +556,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Data Structures / Algorithms +*Diffs, keypaths, sorted lists and other amazing data structures wrappers and libraries.* + * [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift * [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another * [BTree](https://github.com/attaswift/BTree) - Fast ordered collections for Swift using in-memory B-trees From 5af378e870957557fd6ee7e85efaf2edd844e544 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 7 Jun 2018 09:40:12 -0300 Subject: [PATCH 1935/2606] Fixed typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 20164c48a..874889081 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Tab Bar](#tab-bar) - [Table View / Collection View](#table-view--collection-view) - [Header](#header) - - [PlaceHolder](#placeholder) + - [Placeholder](#placeholder) - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [UIPageControl](#uipagecontrol) From 91c209520568a44529eabaf5a9260665a67dfedd Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 7 Jun 2018 13:30:00 -0300 Subject: [PATCH 1936/2606] create 'Date & Time' category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 874889081..6af64dd24 100644 --- a/README.md +++ b/README.md @@ -589,6 +589,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Date & Time +*Time and NSCalendar libraries. Also contains Sunrise and Sunset time generators, time pickers and NSTimer interfaces.* + * [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions in Swift * [SwiftDate](https://github.com/malcommac/SwiftDate) - The best way to manage Dates and Timezones in Swift. * [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library. From 08b575a5aa71d952f53fa69bd720aa814d19e4b7 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 7 Jun 2018 13:40:36 -0300 Subject: [PATCH 1937/2606] create 'Debugging' category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6af64dd24..3886f0612 100644 --- a/README.md +++ b/README.md @@ -614,6 +614,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Debugging +*Debugging tools, crash reports, logs and console UI's.* + * [Xniffer](https://github.com/xmartlabs/Xniffer) - A swift network profiler built on top of URLSession. * [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! * [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. From 93a20165439c159209a1a086ce4295f80f06d400 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 7 Jun 2018 13:50:16 -0300 Subject: [PATCH 1938/2606] Create ExpandableCell subcategory of TableView. close #2533 --- README.md | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 3886f0612..150ea6001 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Switch](#switch) - [Tab Bar](#tab-bar) - [Table View / Collection View](#table-view--collection-view) + - [ExpandableCell](#expandablecell) - [Header](#header) - [Placeholder](#placeholder) - [Tag](#tag) @@ -2525,20 +2526,15 @@ Most of these are paid services, some have free tiers. ### Table View / Collection View - - - * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. * [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. * [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ -* [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material * [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. * [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. * [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. * [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. * [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff -* [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). * [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) * [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy * [BWSwipeRevealCell](https://github.com/bitwit/BWSwipeRevealCell) - A Swift library for swipeable table cells @@ -2571,7 +2567,6 @@ Most of these are paid services, some have free tiers. * [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift. * [TimelineTableViewCell](https://github.com/kf99916/TimelineTableViewCell) - Simple timeline view implemented by UITableViewCell written in Swift 3.0. * [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". -* [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. * [TORoundedTableView](https://github.com/TimOliver/TORoundedTableView) - A subclass of UITableView that styles it like Settings.app on iPad * [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. * [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ @@ -2582,25 +2577,18 @@ Most of these are paid services, some have free tiers. * [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. * [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. -* [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS. * [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations * [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. * [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. * [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. -* [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. * [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. -* [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. -* [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. * [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). -* [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. -* [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS written in Swift 3 * [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) * [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. * [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections * [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. * [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. * [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. -* [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. * [CampcotCollectionView](https://github.com/touchlane/CampcotCollectionView) - CampcotCollectionView is a custom UICollectionView written in Swift that allows to expand and collapse sections. It provides a simple API to manage collection view appearance. * [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. @@ -2609,6 +2597,19 @@ CollectionView, make Instagram Discover within minutes. * [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. * [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. +#### ExpandableCell + +* [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material +* [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). +* [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. +* [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS. +* [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. +* [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. +* [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. +* [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. +* [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS. +* [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller + #### Header * [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. From be77398da0439471962179f7a83ff811a21c2377 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 7 Jun 2018 13:52:43 -0300 Subject: [PATCH 1939/2606] rename ExpandleCell subcategory to Expandable Cell --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 150ea6001..9a9bc64e7 100644 --- a/README.md +++ b/README.md @@ -139,7 +139,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Switch](#switch) - [Tab Bar](#tab-bar) - [Table View / Collection View](#table-view--collection-view) - - [ExpandableCell](#expandablecell) + - [Expandable Cell](#expandable-cell) - [Header](#header) - [Placeholder](#placeholder) - [Tag](#tag) @@ -2523,8 +2523,8 @@ Most of these are paid services, some have free tiers. * [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. * [ExpandedTabBar](https://github.com/yervandsar/ExpandedTabBar) - Very creative designed solution for "more" items in UITabBarController -### Table View / Collection View +### Table View / Collection View * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. @@ -2597,7 +2597,7 @@ CollectionView, make Instagram Discover within minutes. * [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. * [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. -#### ExpandableCell +#### Expandable Cell * [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material * [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). From 9837b16a8ba69bc9e06ef52436d7a2946b30fc58 Mon Sep 17 00:00:00 2001 From: Luc Dion Date: Wed, 6 Jun 2018 20:38:39 -0400 Subject: [PATCH 1940/2606] Update PinLayout description and URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a9bc64e7..21f9409ac 100644 --- a/README.md +++ b/README.md @@ -853,7 +853,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MyLinearLayout](https://github.com/youngsoft/MyLinearLayout) - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. * [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. * [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+ -* [PinLayout](https://github.com/mirego/PinLayout) - Extremely Fast views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. +* [PinLayout](https://github.com/layoutBox/PinLayout) - Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. [iOS/macOS/tvOS] 🔶 * [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. [e] * [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. * [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. From 17e7d1be395e7c856f0b661bf648861cad6edbba Mon Sep 17 00:00:00 2001 From: Leave Date: Sun, 10 Jun 2018 16:50:37 +0800 Subject: [PATCH 1941/2606] add Mappable to Parsing/JSON --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 21f9409ac..67143fdfb 100644 --- a/README.md +++ b/README.md @@ -1361,6 +1361,7 @@ Most of these are paid services, some have free tiers. * [NativeJSONMapper](https://github.com/DimaMishchenko/NativeJSONMapper) - Simple Swift 4 encoding & decoding. * [PMJSON](https://github.com/postmates/PMJSON) - Pure Swift JSON encoding/decoding library. * [jsoncafe.com](http://www.jsoncafe.com/) - Online Template driven Model Class Generator from JSON. +* [Mappable](https://github.com/leavez/Mappable) - lightweight and powerful JSON object mapping library, specially optimized for immutable properties. ### XML & HTML * [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. From 42444450392a7e3337c3d2adc495958e618bbd44 Mon Sep 17 00:00:00 2001 From: Thibault Wittemberg Date: Mon, 11 Jun 2018 13:06:15 -0400 Subject: [PATCH 1942/2606] Add RxReduce --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 67143fdfb..459dc377f 100644 --- a/README.md +++ b/README.md @@ -1470,6 +1470,7 @@ Most of these are paid services, some have free tiers. * [RxAnimated](https://github.com/RxSwiftCommunity/RxAnimated) - Animated RxCocoa bindings * [BindKit](https://github.com/electricbolt/bindkit) - Two-way data binding framework for iOS. Only one API to learn. * [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. +* [RxReduce](https://github.com/RxSwiftCommunity/RxReduce) - Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way. ### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. From 857f842f462cae6e11f6b67b44e69f7424473cc3 Mon Sep 17 00:00:00 2001 From: mylittleswift Date: Tue, 12 Jun 2018 09:45:19 -0700 Subject: [PATCH 1943/2606] Fixed invalid click on "Web View" in Content --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 459dc377f..89ef24afe 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [UIPageControl](#uipagecontrol) - - [Web View](#web--view) + - [Web View](#web-view) - [Utility](#utility) - [VR](#vr) - [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) From 6de1afbe6bc99533cd60d0d3eedce5331529a89a Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 12 Jun 2018 14:32:51 -0300 Subject: [PATCH 1944/2606] update 'Apple Start Developing with iOS' link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 89ef24afe..57d18ef9b 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Courses, tutorials and guides* -* [Apple- Start Developing with iOS](https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. +* [Apple- Start Developing with iOS](https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. * [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) * [Apple - Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. From dc1f6ed5f85830261f0d402cf29ff5a62612130a Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 12 Jun 2018 14:35:00 -0300 Subject: [PATCH 1945/2606] update 'Object-Oriented Progarmming with Objective-C' link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 57d18ef9b..9c892f71c 100644 --- a/README.md +++ b/README.md @@ -187,7 +187,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Courses, tutorials and guides* * [Apple- Start Developing with iOS](https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. -* [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) +* [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) * [Apple - Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. * [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? From 9a310306f2286b344412102218ae576c28bfcd76 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 13 Jun 2018 14:16:43 -0300 Subject: [PATCH 1946/2606] Remove deleted book on itunes store. Change codeschool to pluralsight urls. Fix redirects --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9c892f71c..bf83ea7d4 100644 --- a/README.md +++ b/README.md @@ -188,7 +188,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Apple- Start Developing with iOS](https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. * [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) -* [Apple - Programming with Objective-C](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) +* [Apple - Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. * [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? * [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. @@ -201,7 +201,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ### Other free courses - * [Codeschool - Exploring Google Maps for iOS](https://www.codeschool.com/courses/exploring-google-maps-for-ios) + * [Codeschool - Exploring Google Maps for iOS](https://www.pluralsight.com/courses/exploring-google-maps-for-ios) ## Analytics @@ -331,7 +331,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) * [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content -* [Carlos](https://github.com/WeltN24/Carlos) - A simple but flexible cache +* [Carlos](https://github.com/spring-media/Carlos) - A simple but flexible cache * [HanekeSwift](https://github.com/Haneke/HanekeSwift) - A lightweight generic cache for iOS written in Swift with extra love for images. * [YYCache](https://github.com/ibireme/YYCache) - High performance cache framework for iOS. * [Cache](https://github.com/hyperoslo/Cache) - Nothing but Cache. @@ -2814,7 +2814,7 @@ CollectionView, make Instagram Discover within minutes. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents * [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. * [xclint](https://github.com/xcodeswift/xclint) - Validate the state of your Xcode projects. -* [xcproj](https://github.com/xcodeswift/xcproj) - Read and update Xcode projects. +* [xcproj](https://github.com/xcode-project-manager/xcproj) - Read and update Xcode projects. ## Dependency / Package Manager @@ -3057,7 +3057,7 @@ CollectionView, make Instagram Discover within minutes. * [Tutorials Point](https://www.tutorialspoint.com/ios/index.htm) * [Code with Chris](https://codewithchris.com/) * [Cocoa with Love](http://www.cocoawithlove.com/) -* [Code School - Try Objective-C](https://www.codeschool.com/courses/try-objective-c) +* [Code School - Try Objective-C](https://www.pluralsight.com/courses/try-objective-c) * [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. * [RAYWENDERLICH](https://www.raywenderlich.com/tutorials) - Tutorials for developers and gamers * [Mike Ash](https://www.mikeash.com/pyblog/) @@ -3142,7 +3142,6 @@ CollectionView, make Instagram Discover within minutes. ## Books * [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) -* [Using Swift with Cocoa and Objective C by Apple](https://itunes.apple.com/us/book/using-swift-cocoa-objective/id888894773?mt=11) * [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming/) * [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) * [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) From 3745637ae9be68555fe59806095ed2ad4ab981b6 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 13 Jun 2018 14:18:52 -0300 Subject: [PATCH 1947/2606] remove iOS8 flag --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bf83ea7d4..96e466878 100644 --- a/README.md +++ b/README.md @@ -633,7 +633,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window ## EventBus -* [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS8. +* [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS. * [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and macOS. * [Bolts](https://github.com/BoltsFramework/Bolts-ObjC) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links). * [SwiftTask](https://github.com/ReactKit/SwiftTask) - Promise + progress + pause + cancel + retry for Swift. From d267d790f419b12434c370d1376f42f324970f4e Mon Sep 17 00:00:00 2001 From: MaherKSantina Date: Fri, 15 Jun 2018 09:58:59 +1000 Subject: [PATCH 1948/2606] Added MSPeekCollectionViewDelegateImplementation to UI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 96e466878..898d43961 100644 --- a/README.md +++ b/README.md @@ -1910,6 +1910,7 @@ Most of these are paid services, some have free tiers. * [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. * [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable * [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. 🔶 +* [MSPeekCollectionViewDelegateImplementation](https://github.com/MaherKSantina/MSPeekCollectionViewDelegateImplementation) - A custom paging behavior that peeks the previous and next items in a collection view. ### Activity Indicator From fec50692091ca09a6f38446ba61241f16160fb60 Mon Sep 17 00:00:00 2001 From: Maher Santina Date: Sun, 17 Jun 2018 07:19:45 +1000 Subject: [PATCH 1949/2606] Added MSPeekCollectionViewDelegateImplementation to Table View / Collection View --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 898d43961..14d7e9896 100644 --- a/README.md +++ b/README.md @@ -1910,7 +1910,6 @@ Most of these are paid services, some have free tiers. * [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. * [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable * [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. 🔶 -* [MSPeekCollectionViewDelegateImplementation](https://github.com/MaherKSantina/MSPeekCollectionViewDelegateImplementation) - A custom paging behavior that peeks the previous and next items in a collection view. ### Activity Indicator @@ -2599,6 +2598,7 @@ CollectionView, make Instagram Discover within minutes. * [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. * [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. * [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. +* [MSPeekCollectionViewDelegateImplementation](https://github.com/MaherKSantina/MSPeekCollectionViewDelegateImplementation) - A custom paging behavior that peeks the previous and next items in a collection view. #### Expandable Cell From 4c78edf349ce805e1946e7f32198f32057bcc765 Mon Sep 17 00:00:00 2001 From: Joni Van Roost Date: Mon, 18 Jun 2018 10:23:57 +0200 Subject: [PATCH 1950/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 96e466878..df3d25f7f 100644 --- a/README.md +++ b/README.md @@ -2219,6 +2219,7 @@ Most of these are paid services, some have free tiers. * [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App * [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. * [CardParts](https://github.com/intuit/CardParts) - A reactive, card-based UI framework built on UIKit. +* [VerticalCardSwiper](https://github.com/JoniVR/VerticalCardSwiper) - A marriage between the Shazam Discover UI and Tinder, built with UICollectionView in Swift. ### Form & Settings * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS From f0a37225480f3a79209eab90e21aec74cb1b5801 Mon Sep 17 00:00:00 2001 From: Efekan Egeli Date: Mon, 18 Jun 2018 13:44:17 +0300 Subject: [PATCH 1951/2606] Update readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 96e466878..b94d95d4c 100644 --- a/README.md +++ b/README.md @@ -1910,6 +1910,7 @@ Most of these are paid services, some have free tiers. * [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. * [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable * [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. 🔶 +* [EEStackLayout](https://github.com/efekanegeli/EEStackLayout) - A structured vertical stack layout. ### Activity Indicator From 14dae84a14abf013f29b06ab4a02aca3ee2f9d71 Mon Sep 17 00:00:00 2001 From: Abdullah Selek Date: Sat, 16 Jun 2018 22:10:59 +0100 Subject: [PATCH 1952/2606] Add SwiftyMessenger under Utility. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 96e466878..164576e72 100644 --- a/README.md +++ b/README.md @@ -1179,6 +1179,7 @@ Also see [push notifications](#push-notifications) * [chat-sdk-ios](https://github.com/chat-sdk/chat-sdk-ios) - Chat SDK iOS - Open Source Mobile Messenger. * [AsyncMessagesViewController](https://github.com/nguyenhuy/AsyncMessagesViewController) - A smooth, responsive and flexible messages UI library for iOS. * [MessageViewController](https://github.com/GitHawkApp/MessageViewController) - A SlackTextViewController replacement written in Swift for the iPhone X. +* [SwiftyMessenger](https://github.com/abdullahselek/SwiftyMessenger) - Swift toolkit for passing messages between iOS apps and extensions. ## Networking * [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. From 23f07ff0802be01be655132c9e4da727ff0676f7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 19 Jun 2018 11:54:33 -0300 Subject: [PATCH 1953/2606] Updated links --- README.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 25853e07d..da18e5635 100644 --- a/README.md +++ b/README.md @@ -199,10 +199,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) * [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS) -### Other free courses - - * [Codeschool - Exploring Google Maps for iOS](https://www.pluralsight.com/courses/exploring-google-maps-for-ios) - ## Analytics *Analytics platforms, SDK's, error tracking and real-time answers about your app* @@ -1065,7 +1061,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition! * [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. [e] * [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. -* [ImageViewer](https://github.com/MailOnline/ImageViewer) - An image viewer à la Twitter +* [ImageViewer](https://github.com/Krisiacik/ImageViewer) - An image viewer à la Twitter * [FaceAware](https://github.com/BeauNouvelle/FaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. * [SwiftyAvatar](https://github.com/dkalaitzidis/SwiftyAvatar) - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard * [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters @@ -2816,7 +2812,7 @@ CollectionView, make Instagram Discover within minutes. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents * [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. * [xclint](https://github.com/xcodeswift/xclint) - Validate the state of your Xcode projects. -* [xcproj](https://github.com/xcode-project-manager/xcproj) - Read and update Xcode projects. +* [xcproj](https://github.com/xcode-project-manager/xcodeproj) - Read and update Xcode projects. ## Dependency / Package Manager @@ -3029,7 +3025,7 @@ CollectionView, make Instagram Discover within minutes. * [Lifehacker](https://lifehacker.com/tag/ios) * [NSHipster](http://nshipster.com) * [Objc.io](https://www.objc.io/) -* [ASCIIwwdc](http://asciiwwdc.com) +* [ASCIIwwdc](https://asciiwwdc.com/) * [Natasha The Robot](https://www.natashatherobot.com/) * [Apple's Swift Blog](https://developer.apple.com/swift/blog/) * [iOS Programming Subreddit](https://www.reddit.com/r/iOSProgramming/) @@ -3059,7 +3055,6 @@ CollectionView, make Instagram Discover within minutes. * [Tutorials Point](https://www.tutorialspoint.com/ios/index.htm) * [Code with Chris](https://codewithchris.com/) * [Cocoa with Love](http://www.cocoawithlove.com/) -* [Code School - Try Objective-C](https://www.pluralsight.com/courses/try-objective-c) * [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. * [RAYWENDERLICH](https://www.raywenderlich.com/tutorials) - Tutorials for developers and gamers * [Mike Ash](https://www.mikeash.com/pyblog/) From b479ca486ddd338043a1e55c0ca0ba2a33c6ad35 Mon Sep 17 00:00:00 2001 From: muyexi Date: Thu, 21 Jun 2018 13:26:16 +0800 Subject: [PATCH 1954/2606] feat: add SemiModalViewController --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index da18e5635..6223d7a40 100644 --- a/README.md +++ b/README.md @@ -2073,6 +2073,7 @@ Most of these are paid services, some have free tiers. * [DeckTransition](https://github.com/HarshilShah/DeckTransition) - A library to recreate the iOS Apple Music now playing transition * [TransitionableTab](https://github.com/Interactive-Studio/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab * [AlertTransition](https://github.com/loopeer/AlertTransition) - AlertTransition is a extensible library for making view controller transitions, especially for alert transitions. +* [SemiModalViewController](https://github.com/muyexi/SemiModalViewController) - Present view / view controller as bottom-half modal. ### Alert & Action Sheet From e1e834509bb9ed03c4f1bc7bef4816c72232f45f Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 22 Jun 2018 14:01:58 -0300 Subject: [PATCH 1955/2606] add new header logo --- header.png | Bin 0 -> 43594 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 header.png diff --git a/header.png b/header.png new file mode 100644 index 0000000000000000000000000000000000000000..e641ce53a49702dfdbcad3482024df6cb5ad396f GIT binary patch literal 43594 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 pn+8rR%yC* Date: Fri, 22 Jun 2018 14:03:17 -0300 Subject: [PATCH 1956/2606] add newsletter call to action image --- newsletter.png | Bin 0 -> 25950 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 newsletter.png diff --git a/newsletter.png b/newsletter.png new file mode 100644 index 0000000000000000000000000000000000000000..1d099d6ec55e90fb7efa02c658e4bd792a777581 GIT binary patch literal 25950 zcmXt9WmH>Tv<$#ogVdxVyU)clYA%P~6>%`^)#} z?7e57nMs(!cL@|kd_({MfFdO+sssSQe22VGMu3J~O(f($LtbDUg{6KVARw%6%WnYy zV1SgU&=0rFvn+Qnth=|5&C4lMll$=lFfkz%<`=ZWP*oX)Yhi+UkLhqdOLOaidflSC zCV^^?h85}ZyE4raMVWzc%8*d1P{MCui5B7@!QswjPgfKEoK2#7p0qQYiwP*NY&0VK zdzPFhFaCNmo@#GBqP@&OLGTfFN9p3rQI_@`aj}#{B;cF>B&TT)E+cBBy$NA`KNH7y zjc7c1Lcn3NGNIET7yJ$Rp?1uJL3$VI84}A^04D%`k_*>&gw}o>eFwgW%MbbJfSFO6 zEIbiRE(xR-3j<2WDiy+#OH+x3ftg~cI`pkmEbpZc!XrrB31d_yO}l%fzN>3^gq9`q&2yM`$Y z%c*>ikcT2;!hy>5>rX}U17NWF;Ft7pfkQ{>zJ z%cMy^`>n{+YrU99`Q7GFk=Im_9ktvXpggXBZnqHe9c(~$kHv$>haH+3H=ed2;bhC? zoR%d|cG*pZW=-Qe%U;%`yYMU2?q{yQ|3nYD%R@h;|DQxX}Q(&;Z6=CbZN6 z>VB#`SfGc<33?a_TeSJyeWmlh)@j)(Nv*nOsRR^9aKOh#txkTf!iuMoyf_K5q#yH7 zFDj7}p$-BeFd+glf*>a@;uKI909ec407k)_%45oMNzR3dAgGhh_0d*c#RjUJK;bgP zVZ>+bx|p<+r(gm(4fPkig6HSxHc^~RzPMv&!PAj2yk|_yhlWH7PFEw8QUY(WIvp%; zFwtT&3CBmJzc}__q8(tv=nAhk)_q*NwNLtM8Rra4rp*5_$iXf%tPQ%Ox7lEE%APrb z7A8SJ_K)X}^$?AZQzDU}8ks46ZnN#O`Kx$rc~2T6!}ob)75?5^N2f&LD004DaYQII zP>CmxUD`?#OEeAmNfE9vlvxOoiW1okD-J+ONG_@@ndZU?%eYe0$X|aCd-H>$5VQ;2 zsfaTto*e(wz;IWg+DDtxckUqhoj|$)o}#n=?Ur_i z6hllj*$tz_e!kd!#64nC2KQ!1DTc)+v^&Usignx1UW%{(+Z|Pd%R00liUOj46*O^Z z&~4{DX}pn>e)>j(iOTK@%0}6Wd?!l!0fCAbU^?JNA`{K4p$JUo>di$Cjt;X#cu=OF?NyJBoxw?h%}8+NmZ`B z!E6?qPH)~I!G^H>H|(@ty;|$RPlrCOjya;lGQqqhd_xCUR852#bTY~HM$1K1Hc}3f z@iNI-b!V|;JV|HqMx>&`u#>yoG4@-u*MAQ_zo0azzqc%O4EYDWAS(6D}7QD%wi? z0N*8L+e0e^=Hx|Jk_QjtYA=1*FNiUCwZsC3VT}+mh{Hw6g|SG|Hl(=TiIRZE!enIZ z(%Ok_RL%+`QojQ+AWU7v3nzQ&5q{AxMWZW2EH-VF0C1Z0?kT%dSLf(xxDHz5Pw+6|NCU#>C4vE{3JKZ0ej1^I zcIw1;574jyB2fuG?k~O+*&kOi4DW3})fnV@xsH0+A~c0yvwGsbm!z0qo^8mW8^MMF z#B#9;gKAET?g&-QGGAJ{cVW}9zePicexA3f)3?*GF2>i76F9vFoVJN!#63wjr3dYaV9 z`Zav3sZfx?5jUvxF|BR{o*_Gtg?8smI|?%fWH^?(*) zaQLIb(beL#fEFHe7T8+xEy$5`DdA*w}WZ^4z) zjK756FU}adsvD>+p)bLF{<*gQh3k<{T{Q09R(Mo*%cHQg$Muw)%whRh-t2C{_m;iT zE?{~H9RA^ghn4%^Zq~h3LX@xbhzwugfG{97R=p4LiO-FYB1-&UCU>G@{M+^Icne9B z$KlNCWEI0*!6L^oK78AL#H>G$)=hr~3hsJ!7t

CBtTLhzZAu$ZQvh?emVhCE8c& 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 Date: Fri, 22 Jun 2018 14:22:24 -0300 Subject: [PATCH 1957/2606] =?UTF-8?q?New=20Awesome=20iOS=20logo=20?= =?UTF-8?q?=F0=9F=8E=89=F0=9F=8E=89=F0=9F=8E=89=F0=9F=8E=89=F0=9F=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 641e535b8..448b4e145 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - +

awesome From 06cf97167d98483a0cc0deb5f2d93d465a5f22af Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 22 Jun 2018 14:25:58 -0300 Subject: [PATCH 1958/2606] remove old logo --- awesome_logo.png | Bin 156551 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 awesome_logo.png diff --git a/awesome_logo.png b/awesome_logo.png deleted file mode 100644 index 223b46e7e3639d62cd16e15309a93f1916dc0bab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156551 zcmeFZ_gB;D*Dh?Ear~+g%BV@2!VtoZ|1zuIqP|x^ADW0<_E%BERx0jx%a;IwXbV$5^mkJ zJp7+i|Jk)`*I{cbbH`n~eoEi9YfsNFKZ}1Nk=_m!f7>15XnAc{^`IPM*RCtOtj(|9 zd9-_Z>cC?;*QiB-lPN_t)NL9H27egWs!e&aOW*eKmGPse6ZZb0_bq)6h8(E;Xx;Nv z<;t~3lHR8eq@}1VOWeb!xIcxwtgY3ag=PEpW~jPTzeJLugH7B!uC7p`(twrn0KuHw z24j+{;^6q$*K*kp%*TJdvTOIge_#H62LHyvziIF<6#R>X|03bPNcb-j{)>eFBH_PC z_%9Ovi-iBrBcY$`pLtW?PQo1iljYmwMkJuyrB{1n9)|4uH4nOnsyDMgvFJnrG+pYq zJ-?iOyz9Tc@c;bKYNr$w&Z%wA0g=eIdcA9nZDC$|&!3v(OzkKKZ>Fa|Q@4%l4s^^Z zv#J;el{9)Lrelf@4=c!P_D46_UXWJS2DAr5qXXq6P;q-IS0;g(uU-!+c+iR(YgDVA z@p4^xneRrX)rKb=v%=907S%(WK^yep!xtSZhY2(f4B%;$2t|u5C62o96t|;_BX~n7 z^by@3v-0lhFJJmq>eg701fN3IN2OwiBPU}L8@f@dH<%A6!il)>5pCtVwbJ?dQYx@; z0BUog-Q6d+B5M|iIZJi)MONLf@Y2h>21$a2-5BM`NX9imwXpmK&jONShx-&b;%I>kFQyJ@=-GV9vA zg|p1TBPtdrHyc&wdCt-PYco9uFiBr8dR@m^^;krY9o6^7$~!3r7YT=SYycQoO>NPI zrNEtO2Z6?4k(GzDcxCq*P%qfCjVSJeh;*W~b|bioGO3oR&g&XoVMp@$=CGWYhPP$g z9Jms^SR!*@&g*x_Hygj=TGggqnL|k&S}zj-DqL-@r-^tcZllYYAW`EVl`S4d%xZ=7 zAhWQ?$yzxxX_kQKxeog4b1w=xPr~E74fN)BtlLtyuL)vIy$j*b #O|B`X<2S&0P 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

hcjGq>j*d^LEMS{y1%*nnt;mpZou?fER+ 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

l&{X&;oyVO<8 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 Date: Fri, 22 Jun 2018 14:26:31 -0300 Subject: [PATCH 1959/2606] delete awesomeioslogo.sketch --- AwesomeiOSLogo.sketch | Bin 196608 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 AwesomeiOSLogo.sketch diff --git a/AwesomeiOSLogo.sketch b/AwesomeiOSLogo.sketch deleted file mode 100644 index 026afbb8cf831eef7ea49d67b4e32bcb28fcca36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196608 zcmeFa2Y3`!7dJj-dr3CQZgw|icaz;sHrd{HrDadadibzpJ6tU2I z6-8_)(nLkEP*hNU*I?1?7FQ>F=qWlB!#<#b~2`Y z68>xdv~!@H1MM7W=Ri9L+Bwk9fp!kGbD*6A?Hp+5KsyK8Ind65b`G?2pq&Hl9BAi2 zI|tf1(9VH&4zzQiodfM0Xy-sX2mW8@Krz8nW@h3Qb){uh6;n%RR#lglH~bv*@OkR@GPN%Brf%3cBMwWp*|`o+)QC6jxqa2M@Bp ziG-3GscjX7V)KIR37Ga_Z4WI+vr98ZgJv6+Z^?i@{bTcb@u4Kyw2GSA%IYa?mejj`a#=+UHg_(+cgY|WIfhH9psCQp zxpVQGmiL@DlE+cfo^jPv>S|jr3ncMAmILb=r zF?;iqi!j+B_^Jf^t(mz#RjwG(yQGOQq|p^LT9(|qzo*HO42B|~p@`8$NV^&MU|wtU>AX}2zWXw$BPFCJxC0Vf5rpN#8R^V-65 zy>YH$*}nA2rIl0S9Dx%935gT%Vi)lk@i_4;@jS7gI7+-qyhXfATq3RzUlLb|--$m+l1w2} zNd>7UGssL*OXiY!WC3X-y<~vwNOmHlWFK-cIgA`h)|1o7+2k!GMcz){K`ta0kxR(? z$cM?T3yi zw47W{7fydp31B*dz|+D<}eTex>{@8aIgUCh0Q`v7-2_d)JM+%?>_+;!ab+-=nyUKUTo%i-yHCZ2_7 z=lOV@c%6A&ctyOfyl%YiydJ!My#Blr-T>Zk-U!}E-YDKpyc*tg-YnkDyjyuRZvk&1 zZxQc4-ow20yiL5VyhnMvc#re;@Sf&9&pXI_k@qt1UEXQlS>6TSCEmxpPkCSPuJXR+ z{mA=+_a`6Y^Z5e4ke|vo^7Hs+zK!qTyZK&zCw^ysjNhH#li!CwfIpBwm_Lj^l3&Ij z&!5Pj%%8)*g?~GL9)CW65&v%fQvL({hxjY`8~7XfoA^8VkMei%5AhH4U*W&Tf1Upp z{{;UG|2_Ui{>S{w{LlGU`Pca0@_*p}%>P3`3U~scAVZKT&lEa)oeBj_vWC+III5sVXz7gPzV1vd%m1k(g_1ak%R1&aiW1xp3@3ziEW z7OWO*5NsA~6YLc{CpaKDEI1-~MewTNO~FaQJA(HF7X_CD9|}Gad@lGx@TK4@Auc3@ ze4$7v5he>$gesv{s2Ao53xrmoUFZ^eg*OPh2*bjdaG-FIaJX=kaEx%QutGRdI7N7q zuwHnxaE|a6;jO}X!aIfYg$sl$ge!&Xgd2sMh1-NXgii?f3SST&6uu~YMfj@lb>UmW zw}tNs&k8RHuL`dTe-QpG{8jje2orHdLXkuy6DdV1ky?}?$`R#?^df`EFA9h{iHbyF zQB2fT)LS%AG*mP~G+H!PR3Vxmnk1Sksu#@=%@!>Z-6gtLbie2U(Lu~XN(-fCsYPm)+N3_IUmB1Gr8h`>Nqb96q=TeGq{F2nrRCB|(rRgqv|c(>I$L^+ zl$OquE|M;m-YZ=zT_@cv-6q{3-6efo`jm99bf5H~^cCq*>8sM$q$i{&rKhBCOD{;j zk$x-vN&2hw_arQdND?K9lO##9q_iYmk~_(h6in)v)Hx}X6iMolbYoJ#qyb5TlZGda zNgA6pE@@KI)TG*^X-V^w79=fBx;N>*qz957Oj?<=HfclB)}+Uho=$opX@Amzq=QMv zlFlbxNcuSGa?+KgFO$Ab`XTAJq(761WL~m3IVm|MIXyWuS(BWT>`Hbg2a-D^cS$THn~ao+WZ5!} zOfSomnPg^}RpyojWgTT*WD!|6*^RQ^vJ%-4*>Kq?S+#7ctX?)lHcK`~cB^czY`$!f zY>8~S>_OQ>vWI1BWm{xhW!q%iWiQC~%U+bdEITSYCVNBnw(Nb`IoU6y|iWlTzG z%D9xulu0R5Ql_R%PnnZKrQDu!XUbhE_oOUMS)Q^YWp&EBlqXX5q&%DQe98+c2U8BG zypnP(<;|2+DetFzka9NVT*}8OpQL=6ayjMel&dM%Qoc#$rt(t7sY$7_)U;GZYG!Iq zsv$K$)tu@`b*K7LJERt+MpBDY2d5569ho{NwJfzFb$n`7>eSTQ)ETL_rc$YN>ipCN zsS8sVr7lgqFZKS^WvQD}x1{b&eJpi%>XWHYr|wTZka{rnNa`zT*=de6XPPf9nARb! zb6Qba*R*bFz0>-o4M-cBHY{y)T3K2}+N89qw42iE(x#`~nKnP|?zAOoOVgI6El*pO zwmNM?+QzgkX}i*%PJ1Tp*|fcB2h$Fv9Zq{O?X|RHX|Jcfk@j}lJ8AExolg5a?TfT) zY2T&&koI%huX0>Y$OUq-JV~A=m&?`iEV)*0l;_FKa+};K56Q#wuJRu8p7K8Oe)7Tc zA@Y&(QSwsx1bMZ5s{AH-jeMqjmVCDSX8G;%x$-;Y^W=BS7t8OFFOjd8Z;)@5?~p$# ze_Z~Ae6RdD`9b-M@|Weu|R}`-)URRt{ zoKl=oyr(#;xTN?@aYgaD;tR#MitiNPD}GS?uJ}XoXF8UimM%|Mr)Q;W(sR=F>4oX$ zbZ5FJ-Jjkuy;FKPJ(k`ry?1(_^a1IE(}$%`OrMlKHN7^yK7B^|taK`!PM?>4XZphQ zd(t0BU!MM8`a|h!($}W1OJAS9Eq#0Xj`W@B2htCwzm$G7{k8Nr(%(vdH~n<_x%7+a zAEkemekJ|u^l#F?PyaRjHzls*DEUgIQl-pR>Xf-kqcUG-QRU;xJ<1oAN0hHBUst}VJfS?Ld{6nl@`CcB@+0ME%B#w2%5Rk4Dt}S_s{Bp) zyNaXYs(32CDnpg2(y8<+qspWzR5?{HRY282)mar$MOEEZJym^F166}m!&ReHrK+1$ zHLB^VS*n{=x2kB>ovQh&yH$%-_o|kuR;X60R;gC2HmNqNwy3tMo>%Qt9a0@py{vjw zbxd_qbxQS~>a6O5>SNU>s?SwlsjjJhRQ;s-U5%+pb(&hPR;#nr8g-6ZuP#)Z)ef~& z?NJBSMe2|`td6LAsBcvFRQFO3P!CiOQV&*7R8LY*RoANP)iczy)U^6G^?dar^ig9XsaL31t2e4Qskf^iRX?sis6M2AS^cW|nEFliarJ5S8TC2!dG#grr|PfNU#qXG zuc?1h|E&H+{c8r1L1u6=xEZPpb%rJ*Cqti+mto4VXE-u^8NrN>8KI1DM%RoU8ND(} zG6rM}%@~m}I-@#cYDRs=jEq?sb24ttxFcg;#-fb7GVaN^FXQ2iM>1AqtjySuu`%PB zjAt`m$T*mBIOC;^S2Etrcq`+bj58S@WL(U+l<{fCm5eVlzRmb9; zGF6!wnc11zOk-wVra9A+Y0va!cFOFW*(I|mvukFz%zGW%ur&n(FtkU2baMCQoM zQJFVo)?`l4oRxWV=B=4@=KRbBnfGKa&0LoGaONYKYckhoZpz$|xifQj=98JvWWJJl zH1mzjJpE7^W{3Q#|BC^OVPL?=Jk|oVb%2H&d zXDPE(S>`NDmNUzf<;x0Yb;t^5MY6hQ^~~y%H6UwX*08LRS!1%sWsT3O%Bs$)$+|7; z_N@6?i?Z&{T9UOi>%pvtvQ}lS&RUnXIqT7^U0IK1J)ZSU*0WiAv!2U3lyx}k#jGP) zr?bvvoy)qI^@L}{?BeVjvwLRu$u7wrmOVUsME1z+^6ZN2aoOXuXJyaMrm}C(z9V~n_QLFY zvzKPym;F%oitN?d8?rZMZ_D19{aE%>*-vLbpS?f(Q1*%Jli8=U-_JgqeIff&_T}u) zvcJr}n*C$;AK8CuFb%E|XoMP(MyyHIq-o?Dg(gdrtPiE!tbPl=e>TeC-15LhVZJD(!mhChZpOcI{5>9_?Q3KJ5YR5$#Lb z*R*eFk89u6p4Oh#UeJE1{Z{*(_Gj&H+COx-j?@WtQk_hv)M<2DolcjdGwBL+g*vm& zrE}{%IctJGENYIOCwS-ROeN_V?%p6)K)-MXc^ zWx5A-TXb7>kLn)RJ)wI__l)iZ-67o(-7(!s-6`GMx_5MEb?0>Fbr*D>>MrX((_PVB z(|x1+R`*>FKSz)w&5`A#<|uNMIhq_pPJT{djy=bbnqoRc}Ha^A~1n{y%OIX~t6o{Qy@xoNrb zTy<_%t|m7pSD$OjwdC4!eYu@-JLh)EEz0eh+by?yZjao4x&3oXatGuN&mECFGIvz& zO}RC>({pF#-kf`DE}eU4?%lada_`H1F!!O{Rk>?(H{@>1-Jbhc?i0CB<-U~ra_+I* zH*=5Yp2~eE_x;@SxtDT3%e|U=E%%$;Z*zai{WbTu+~4&aJy*}u^YuykWW7wEqBrP` z`a-=`Z`Zr@9(@OWNFUXA)%Vo*()ZU7)DO{*(vQ}c>&NRS>SyU^>nZ*1`aAUV^$Yd) z=z9q~EN6RKH9AnErA7Gx}%sd-c!h59trZ5U%HHIx}D4HFHM3{{3&L!F`CFwHQ>aEswq17*0=FyFAiu+Xs5u*$IBu*tB+ zu-&lJu*dME;W@(#hJ%Ke3@;mw8QwIUFq}4=F`P48G<;5UqsQnq`iy>KXJZ#*kuhW(U>s;1W*li8Z7egE8z&j7 zj5Wr3;|${*<1NP9jq{8PjQ1Fq7?&9zG(KY7Zrovf+_=a1l<`^PbH+o)!^T&PM~%mf zCynnJ-#30>JZt>O__6U5dfl>ce|mHaRA zzs|pw|6~47`M>4=Y2ui~CW%REN-`--=_aK~Wzw2-rW{kQ$!qeNI+!|}icAqx%+%A= z%T!_-WEyH3Wg2ZNH;p$6qzt(*@H-((OX!^i+*fda!Lot}3bqz(E7(=AyI@bj(*@5K94t6g zaJb-T!Lfoj3r-fCE_lD-T)~G0mkT~G_^RNKf0P2j+txbnWg3=bFx`xR+?32wK>C_W6m|}%?7jCY%yESHnZ34 zGyBZ}a~E@wIb;r-2bu?&hnq*4$C$^OE6i2q$>v(~H1kaJE#_OzbIo^}7n+xt?=?SQ ze#pGSyu-ZHyxaVw`DycB^Yi9I=ELS!%ty_~%*V~A&1cN-ncp{GGJk0P$o#SS3-g!e zugqUt2n%TuSi}~oMP^C0s4W>5okefSvzRRwi__w<_${3*oh=bdv8B6ZsAZUCw57~a zZW(W>v{YNBTIwy+EHf>Xva z-g40LqU9yaQOj$V6PA;fGnNl5=Pe&uKDJ!3d}+CA`N8s|GQUO|z=3nbvHp z&YEjASqrRItHbKGcC>b~cD8o07F)YoyIH$i`&#>1`&&z_>!q@3$_uK5SiMU2ENB-D=%oecrmyddPaj`m*&^>oMyI>q+Zr>ly0@ z){EB5*3Yb0te;!Iv3_g)&icLeH|y`#KdgV+Qf+BAl`YejZPVFuZG|?o&0=#w+GD`h z(H62rZC!0WZT)NmY=dp%Z4+#hZBuPEwtCxi+s!u0cDrr9?H=0_+r74>wufvF+a9s4 zu&uXkux+$$vOR0tYuj%-WP8!}vhAqtE!%P1ySDdiXKj~kAKEV4KDT{k`_A^g?HAkc zcFZobr`Xf&YI~+#W7pa9?D=-H-DdaOJKMY1i|iqLH+y$`5BrVw{`M040Q*4u2>VF; zDEnypIQw|}1be0ZX8RobZT36tciI=)@3P-#zu*3_eWiVkeWQJoeY^cp`{VYf?a$cv z*$>zc+fUk0+0WQNu%EMEw0~&-%znlGwf(C7Tl-J;KOL9@cMuMtL*x)UB#tzP+@Wx! zI|>|y4!gtU@HqUAprgnUa&&d{aP)HYca%7WIEFh$Im#Usj){)Rj;RjHK|AI-7C06; z7CV+W9&jvotZ=M!tZ{61JnGoxc+By*;~B@Zj=hfO9ETi-9WOeLIF319cf8?v({ai1 zq2sdSbH|sCtB!9RKRbSLVouV@bBdi3XNptqR64Vr8mHcw=PYmroi{kUIK$4Uv#Yba zvyZc{bAWTObCk2fInFuWIl)=&oa(&ES>v4PoaLPDyxDoXbFOoqbCGkgbBS}g^I_*o z=W6E;=Pu`N=N{*i&S#v@IrlkVWn)zDVM0s8IxftSSpr=$uR|%jw#{K zMyat3_&;k9#H%XmASxvrTVGRCF{Q3=>G+E7Q_3r546iDkSy59`H?yjucHmT?);5H< zM$6JGrl13|N~$Wy!n1W1HKj}(YsA>9>iY7M38gg^-J=kdYb!?fDq*hKq;R(N9k4=5(5%sjDMeU_5>XP=kq9Mb z8xg~b+XyvcF{~@*PKY+LuXM+HjFx3IYe@G*es08W#Cl@Au->Q-fAQRCS?1`rOZgXl z?F)TPYSvdYKm)NsiIsxFP;a zrBG??D2;)Zr(W0c3T)hHnYI~Yn3+<}OpXYo_d_JMqGmHT9-DwwViU1RSQYBR-@Pze zrfbgZ*2;uOTGYylRJ_{JvYeKsw0Pzp^JEHEO(`fP%Zrw7Y!kK_+k$Pywqe_`9oSCn zQEV6X7%0Tu*b~?u>`73IPh-!3s(cpPi#>-u5A@yGe(V6FG|^K>m}k|1 zR8J9&{@^hlbJ0=qh%?O!-97ERK?2!TD*y{pN6?P9A&6H*_xD$9pd*7mF(JE@|4MD5rbP`7;;HlUZP>+1mDYbR9K zSCxlh2i2rrrL~hH69C#q)grr~ypdBBCZG!R;M`(9RGyHQJVWUyt-j0aXYq%IjQEk3 z?58Eq3j~yjG9yC(6VQ_9&|4S?cfcF*dOXgU)#>*~te${BXbp#4E^F8yb2=UFP{@672hn*iSQ#G6DFl0?*xe>d7UBoV7AEH^^ z=2N3(>gH29p@e^=O5edghUR^OeTrSiJ_Gr_0^Ille)ja63Ga^up{lEa@#$MrjoOBU zY~b|D^12CwCRCsuV*O@N`2u}W%>ibhSVQ3}>}wF;X8r092G>UHDs~O~2KyFu=lYw# z?B=~d&;O&w4?^as&iM}X;0KtaKVm;&KV!eZSgNt#;GZ1kOl@6hO1wC zVk%sYEAVvquEN!L2A&B+uEI6AHV$D3#?+WDbl}9u$Z=eD~89~`88_d+lXvr>G@-!{kBM?$SsslTNndvKp`RkARW3Fh} zZ;g3F9;?R{^;m;GN66~&dtxDfEC5s3lQ4gAGn&7+RY3V*8ai0!*@1b^Cg!<;d9Jr{ zFED8{?!*0<91q|@{06)OjN3F8$4USSD;NE{< z#V z4#Sq=!!Zj!5+8++Zl-pf&8}TA3^!4oXinLAS$Z=;UW=DvYw$9BEM5-cTmhrRYGR~^ zcVN5laf|?0f&fp1k(-29;gdl~cjHsxUk!6r&xkM5#=8gC*1>!qUojF*?{LM0(rJ~| z^&q+Ga?rRXGpCFNl{%%ewqkH)-2~PkMEaHiwC+ghA_Wb0BWShS-WAh(g5_N@wR9}( zIc-)}PHBBzHT=o)f4tbtwDz?XpMS8zL+CgTJ3#$qw6*BK1C-R=O)RLAhp^orVQ zIQF`-Pf4o+gg=PM83F2c0)H5!<`I0wu+lo%IbBv?S5ZrKr^devQY6J!;j8gs_!^L@ zwfH)GJ-z|oh;PC-!)h8O*4kW+7tY2D2Q`)&N0m{1sJ>JW>PA?8Gk|pp--d6;cR-0d z@yYn3_^yGyOZs;W!wQ$VjYbyCtyK704`MU9iP%S$@36UGL|jgv+v(LYUz~ogD-Z~> zUtDg#$LsT9R8Ok+3H))WVmJQ8fZiqDqcWW8#p1)0_)`g0t;3&Yme)=7u+MG5pIwJ< zVYEo^lD?%NzBQ#&Comf09sGHG9~Axqz8^n;9|ZV5gdc{Pa2S${2b7kTKoW8-OtDZ^ z<@hO+!RG<>A!|Nd1y)!sSn==`>FSCpAehDAjH#{xbQ(}oKV>YV6X8|#I5HY*seV)` zHHI2<7JmtU8Gi*oioc4#26i+|ZhSa?41XPe1Ah~L3qOvZz)#|*@VD`I@OSak_!;~? z{QYLr+}G^d-|RZj>^cbTY{-qaIUUWvGzScKvo}1=uD#SyY8W+~8bOVuMp6B#(bNEH zAT@{@Obr3kA3uwq!_NbMz!GITNtNh}Ix=$1s&o7zerYJ%abV#({37OVeC=cOY|qAL z*`h8Z+Q3BG=ZH2Uk@gj$l~N3`vAk=DR+0GJcZdcEfj*7T{fKB)3@J|g1<|T0hS>Pr z?}&C&0*$~Bt+uH7a|DTK^$dyaGv*?=>yT#(TtWCd)M!TV2q7T?-4yp=C5qm9LWu9h z+=F_T6a#dgBBVqTk&HPN?Y_&2ORZgMB z%ykC~ur-T`^mT+7F&>%2T?y4XS2 zAqt2>!i)f^Y$gJ;i8nSwL$+g9!Up_^vzsk?Jz*v6m^)roD+oxq2@k%J@Zp;on43aP z2AD(A!fS#$uw<^sj)swA>+VQ&8p+B$UF#?DRFaql1MgU8j z2(;;OT7s2GR3j^qs3B^JI>4|s%nW9%#F>vV*ZQIv%x_Fz6rz}`R`omdnAPt9I$$6Y zv!Ke^2?io@3vnw!fg$)Jbu&#CCmMpQfS0hMA#Ot^AaOgmW55|h%w>2Bh9K*TA?^eo z&j$l$GO>_Y1pnU!{FOuN?*WeQCYCZ>2fh!VUO5Gw6@vU5FgeB|(+<8Ow*#8~$m(Of zEO9Ctjd|4V0_qlO4s{sDWRp-p-GK}?*0T`xMx4+N8}R~+@dD@zaR3JNAaRH|OuR@O zf#G_Icp2{ig{p>3t*)(P++JhR;&N!+1n_uGsi>_Tg33orG4L|Qn0Qh-bvLz;T7(ve zF;^@WjTIML-F`O=gSXgW4Frp$R%fx_UF>!FeV#z^+feOm#4+M^;tk?WyaW4F0zRgJ zrBzcWlny9^Lv;p@uc@e*Lfyr}*Ky)R;u4-Q(KZq%iBrVe#5;^>)(nG~yVou78)*Lk zP}nL@6K5dq)vQnkzQPQPw-WCW?-L&oXNhyfdEx>A7D}7Xwg!T1DFEdyiZ89L99s5kF&Ukn~@{rzS^|4%JVEWllxSlmXydU_1>2 znF!>N#!%&`Db=thMUl@bFekwMmfY|H8Y{*t(eMC-U#a`3rPKzPeD|aI5b`*EepkR{ z^|`{ZE(^rKVG<07t>7#vE)Ivou~@*DFds+^??B=tLEWYA^7XCEN8jbm)yzlV<>Pwh zbDHFkT#`rfF)1k^g`|iSBa|hjWD=Q7%CJ3yrdC%%gcU@B^_!MVhJA+6e7SpQ)B!G;Ux97eXtEHZmUuadr~UCaotBQ>zvYEEI` zmec{HyT8kL@8%)GBIqBIC@!I16cQgK^8y=K;1UcG8jP z^Xb|Ul1A&bjii%wk#5q1WV^XzsQE+JIffE%{e$V&*cBhN*+i|qt}6%;$s5QHs4Iu> zL!bNgU0%yXpRDV++L`PEuGD7JtFb8?$s#gDhRF!(Mr#ki3~LTCjqm-#i3iI9GDbqA zx_M_AoIq1zE7_IoMs_EAkT;S&$zCKAcy9H{)R&65|IqG^Ll6``;#T) z0CFHX2=To+?zQrC;sbHO{x1O|IRs|X=D3@c907A^%Xyg`x%S9WOo$By*Vd4uVNQ)n zbn20%WEo?rsbH>+17sObPQZ4P6Uj-)S|+D7I`qg|67)_sGS#Z5ppX^Bp{l_#*PnGt z*Fa#rc2Gq*c=gK%0Ax-WJ`RPd`a=RpJ%E#}th&0Yq7+aGGEtDJ0oI(5+C^=pwh5?1 z)Z<{|^=?c>-UC6mNL6)hMLD%wNF8KrxEE@8g5m*yA=fN25k2TG!XSQ(<+Jq z(uYD~(6kDqI@v2k8_4K|5fF2Mkzt2nF!R`e>S2xV4yYDTPf}08&(qXX$QkN!Mv9|> zV89AC9O$rM$Y%{kV_~Z!7WRe1ey1l|92_*;!6*j|0mBY*C(P?+pv1I^f&Pu;qvS5~ zG4gRVJz9SROsVF;)bws5*tB62w8f`ARxG_rnh=em^Syd1@d0JWcIG#YY^D zm?Ib|w!(RVF{>vOj95cnZ?V-s08_lP&Ej7nkHQZs{wOMbKXm|po~90< z;+@_=%n$Qp7xV4$4-P%%VQok72!8Je4GSpIsuI*luoTca=Vc{ zNuDC#CK-#m)hDjU>&7<|3v6R-SnYe71k1WPy2lqekOMQdVmtXB`9Appd6qm!o+mGm z7s*Q`6KQSxmFukK#PT3okRXX*=uBoRYH%@RB?{a1x0~0>yoUJH@M@xs-pGoEoBurz z2g|mP$xjkz4AYvf5dNFGo&1!%OnydQAwMU-AipHPBEKfDUO&N_9=~paHNVk(Ml$_i z%D?V~gd5Fx%P6q_QP&UoEhw_@$nVJ?K!IK7`XT?sR2&?+e%_$oq+X(4OK|-h5mK)+ z9)^fB7KO7ugVqpO?Er%Sh~eT$*jnrc)7}>ddmXM&g1+JKkiOx77CQ?1=4A%?IU+#* zSK_*br6mLH)i|w%hk>Kuq;r(uVW>emr^&-`OkX67h{L&r3c)}q5Qv2%epqVz00BJS znA;k3JDpZ{anu>~2EbM2_YCL?Ng)5kHN-(y_*)e3yiCT?a||3KCy$fQF=5L%1<2yZ zhjR)!W{!np<=8lOj)UXmxHxW(hvVh=IDX8+336`Wbl`O4bmDYwrq2F4Dr}oL-G?Fyz&GpE@m|PEscruhz%l)p{@P z)$#>=9)H9gv^qT@kU0o&0k#9mI|DJl+wF}xV&24j8O}gP<^~I>cR=P&vGO$(2J`K> ze6h4qKzlb%YbkT(oC?l3Xz2t_C6c+)p9XBBoSUdK5LdZ8-@W7QiC~nKE&jUV{Bxh{ zi^i;5O%2%bCrDu+2+_ufJ7$f!U2X`Rh9Gbnf)J`J>WlcIPM0U(2@UE4e{ommY~j%2 zOop~I4lT}9O6G;EyJTx zPc#(uyR1={6Wq2zXBgtSVK11D?r_BGj7A(`$XjT|ErmQ#;AG&?;AFTIcQSD9fVw|C z11}t891O_4a1A*ah@Uz0nJ$29foa2Ta0Pq>!|)p9$)ybgoa;`B!SA+G~a z#h;k!!P&})-gW`?1&H1iw*5Py{h!ChjHT@c+Lv)!E9N!lS{qXyJP7jJJ2O-!FACE=noWtI7x!eJ--{TT8Z4(DB{=`>r@&(x39PfSh7&a|~Ck*SHf)uJ6x6LZ5mr>&YUa4tek zm)M$qr+%e=Yv@ypYLJcFW_KNpeR8x}(-qF=P}3JoO*D>Ef6_R{)`fc2vgu4+t#=ss zhi-UT{}JaK&bNt1CPER$cG=4Lj`Ka|2hNY2pEy5re&PIzOrPe~Yy8RUtk-7r{{b`a zKhZLOVtcq4(lT6vOEzg4F29AAp>YX~i(rm}e&ZlbL*wZQswV0!hLr?3DWj1fK&00Z zv<5v8Pbu~Ui(`RM$l-7%&UbDqn(tgWlq8^xG!A*afRx;HtdPd}@#)PHGZ9f3C$>;G z+#GH$SC6T5rExLD_AiW29olud5U9uhELc)9LSHnDuy_3F&>{eK zzdss`L?GA`b`=9kLE;OnO(QXDaX1=)DOn6N($hlGa0?n04cCGc4UJ2YrlIlF235ng z6VK6jQe4+?0XJwoxfNx@^>O`;%7(^eG@b&|Zg4`zjoSr_J)f^Q0Il-)tf69e)arM* zz&I=Ry2DOT+ij~GZYSak8c&Ps8*T{IFK<=haHH2N92!?#uW`8D@ebS`+#CO1<8XVS zp;E?G4!0kwTJFAmgaS)lI30(H0%s4pO(?%V{_ zA0f2r(i%{I%DvnK)I~HN0x>Ya$`}?aup|h2ojzC>6vMi}8+2IxZpiy|LYikN6!}Y_ z{t5wgqzS0MLG?#l2kP%z0(GnfQ2zoz{VVske*n~fprPs-2WlRHs_ynLfSSkU@tS~| z2O&guallKC19cA?@6!O(eL;K(_}9G=s9_x%cKXAhYrQ`3zel4%Yak2@D~HqN^LX76 zr_1k3kV9TNl0%*f3h6}|Y5Yb;JO~6bKKQt}HArIv zQ1c2{pzhZQ)I2LHwSOF_c@6~BJQvT+^YFaagY;k;FQM_#G(Nlykmdz>H(+~s9U9PO z5RDI@@qrCc_TL6+UW6Bg%3=+b4WscPG(ME6?7t7vyk0y=mE!ejsB9FCkD&394L$pB zgEVh2ZwOR2w4t&x8XrUBrEF#YM?sob3e6}(Ak8c1RWyM#uM%0)yegQ!D2H7QbC$*@ z)A&UARYBwBEJ)83!q+Oe$L1q}S?Y8ahamkW1fb^$pxNPoU=;*S++J|gMZhJOI6LZ? z*)a`DnSf@;ICdh;Kq5OnJ`q^r97L>)6I-A(?{?l?-W|~9J9+aNkKxoQ)#m}l3QOqdF)NVLk9#rLJsiPgdhV6(#W0A{%F{3jk)}x zsK*5n24`RZ%DO+(l#Rr@i_J&k-Q5V*yd}JQ5nPWfW71_B_GQudR2ICa(0DzCz0JEH zlk%1kFY+G1f3OKT^9^Bv`B&^W}X#xQY{vEKjQ0ZGfw!M`;P2HL?+}vd zSxxHfB~4%TIw3>H5sF4!?$~t`78xhUc^^O_6lJ9GTiCgI4)x>K_}pZP zA0i?hC$^@}uJFKf!l<+OyqwNX+eUTvCG-Q<9diW@QDojVRO%h^Tp8YXpv-=t@db!; z^I9q`6fWLGZs0-U6Yn<^Muhk-jo(S*^C5oVnr(I30$zvP51~ZA-x2TzJ+2CHG+T65 zw+;TJncw5~IK2>5bOr(*bOZcE|G`UbHETbggYDsS*=Fsd@r5+L2%2RB$D6|u0H<=( z#})J=z0iW}b3>E<;=F9jg2tWSc^cL|Iz+tqx za57)TM;UMpsk!{@R`lBgG=4uwHptszR==%H)Nfv}=L2Z#Zn4V&;iecE^#Lz9JA5EE z#X%4g2#qD^H@*o?7k(iWx)e>9CCtp=TaXOj8=o00(TRxn#fdHS8{f|l@PpWHeg}TX z1pT(`Z}eN(@AgE!9*5P579bE>fvv|8m&fV?@0PE)7=kUu-d0o_ze}TPW_1;Eblfq?y?II#13qdEF;E5Oe0$M4?+?69y}fq*^eig;ZSS1}|D z7lW04fNJn7;yc{tyK0tKz`Uhh!icU)?IO^GCM?_BGc7JHH(7 zz^~ws`+H#LPe6mYE)MMcDpd9Qe*x_LYCh~G1Q}J6b(o3|y9rrf=g*7-`$ihy)&T6= z0o)O=Z)gN|cX7<;42FHys2{C7qhQ#C+#z6~Kj;hr_hPVmPLx!Nk<{CukS&yv#y7D- zIT!U~b6hA{;sQk68Yi{_?EEGCd;c2P`S-EFzM~P?`O8tMJLAC4e;BjySJ3$5h;xs& zg`gYwYhivvV5b4tchUG`{}aHz4VncB@~Bw=?7M0FiT?w@{vSAL_`9K@PauxiKar@uzD)zYD&Hz9QcsU??8v~mf*2w|C z(-jMaT>fD6I;lItNZrd&%Cku7o@NE?C=!Kd;sVAJ-$2B@abkkh@lT@7BK&vw@A6OU zyZrI^;EjiMKO?)M%b&ZKUj2A+6cPyT(Z2M2@mlcMJkl@grQwI$vgrBm$6@ar|2zwO z`&rm~fyQ6_2e9`Eg1rMxuy+MX@WIw#?@RtyO|W-}#t$Rd3weDJhZD>(mjk@#9uLgl zU<|_F5nn9o^14Fc7={$Tw*Bb*?-1-AX@b3Wv1XZdl|3r{EYE3z)%92vmB5eviZJc0%mNi_+e~+C=^= z@NB_`V~5A>^7{N>ZT_pr8v?>@CJ_p{3wj7{WV+Cc>B0vzewN11qb{67T?oQ%XIPWN zu5=gdK=b&*QLqAFc*Bv9&+U(S0&af@7O%5m50MMHfSMf)IN&XZ8~WmLd!0_y=)Zj+ zqaoMd202cCm*4O9x_!vA?Dx(24`5X=2*w2MvXcvj3Whbos$f(rX6I!Z{}cxA5{+ME zVfC9tvojVA!uYvER&N0O-r#hEWJi?w>-RaF&alVl0w;KaG8a@bB0UKT{TPY#hphBY zMk4l6TzXkz4I)CeMQb80n2umoFiS97aI?P4R}8GqYy(zjxQ1RN`_*Z|AsDcFuQ9q9(s^D%kDZY3I?cf3+e33Xn97H%u90BIa1@}^S z12TO1R~RW+hA{H$I7SL!7YB`BZ51O0D_UaYwH6q;7BF(1VEx~lhJuZV;oml4cL;Vi!$?ritZ68CDsCFWg80`4)9^PC0)&v?H=2f^M7)9G;uv`4U?ZNVxY!GE zT0dCXQJ3EfiOnu=C~*-Z*vClIekkN;%1GlsvVwCE_2Z|w;IPD(5b>8du{D5vUGPR5 z0NJqS7rez{b-{EsGVd>63s3=KQVfpdShVHyg~3eLeCJP+~!0ZCR|Xw=`r)89VuU&gO%(9CZb{Q6GteKY*} zxg~xP$uyB9pa~%jsZ=P*f>0;omoMxKMSR7u81Y5`!eO(dH4uTdNigIM0@6let|07> zY<2*akb@*n$b+IJAaR6<5iX$s#DEaTg^MLh5m6c^CP*#?9LtY zSm86R;Fl0#7lU8IEMYc-UqlLnUxbV%Anl-4uWqx2u+RYbMWn{@OK1YYCDPi!FQEnD z7a{*E{1Q3=vfRSvKleW0m+My`wM!| zi)>^!caiikOJVuD1m zMxJnj5RU$7RS`B|m=N|1f!~raG-8;r8kK5{W0Gq7ZQ}uMM~m&JfPT_6TP+ zz(oN~q?Q6h%!0iFIAQ)qb7`B>`xV2EI z8%dm#6)xCVPZO@VaIwTKi0FwE6C_T!lfkgZgpUh%{~d-^zW>?VAKhhd4a3m3Ulzlj z7CysbSb)VaKTUM}2N<>=VOX#U!ww_Cy`e1(dzrzo4u6SZuOSTU)P!Mgq7pl|j$tQS zVpx|J81^n;*lFRJe}G}{BZk8%RgD;S9#tLw7dDvilJLW3_;opsUth%WD@qgH8}O?~ z1Aavs@e9(gz0Oc^5K{KMXwwpeOu;kfvPNKm3a2>4Vjc(VkZ!IKzh$K9dyuBCNSb1- z;QWaCQ5+W>miQYYc8e1eq>05Z5h;Se!(ZW-2$Ccae%;uJUn1DUK@*U%(6Bxg!2(zW ziXUal5xv^LFHxFEj_naC8la*tP4uRTKL3~TOO!3rK%=w`jT%4`{b{1)e-OV!km?~a zA^Z{*ip)*;C9=1IUn6N^1PI4qni$05*Z4&Ia{7b8sLvI(x_#*6ji9sG3j0N2w*olQ z{orKs1)Yf-M@2Uvi4%2%LWd!VgJZ0~r!VS^#9(M#xL9HY5r@Z#2@)sjhVV;tqo}8- z*WcmSO*QX~p?`m>75ozQX~Zv4e^CjGU!z(48buRh{~o_Y!w`OriQ|`O6cXIhHt6I0ly|T;#bfgjKPTxu$KfyWjv5i1{=g6 znamMzL_;pvi3yu#6Yxv4n31L>AWc({G*z*J1BWBi#N@c(utXFHAgbfU1Zir(uT`Se ze}iAJQ5fM@O&q__vYV)F!mllWU)yM62I5>@Tln>;Xcx@E#~PqwI!)Bm#I*n0`1OqF zS!mSWhDOb%iJ3Gp>wgiy4nZ>yGx&8x^inhYdbJh&noARqoj}||6U;$JG_g1lzoK5) zlk7&y(p`+UE5k9B!4LwmfI9+P6ocWYD^X*L-ex53T__aJI-&{oup<$id`uJ9opvNb z=?g^DaYqRfC;E`VuTMmuiZ1JmrfSb^x%oX6Qk_LJZ#%Ae=c6|u-k`YWrpcGYfNq^q z$_;N8w1!_-;`sHY=qnb#=CSy72Td&e2l(|p!mm4<@atzJxbxe>uiqK`TJTr+CB_kc zEsEopn2Soht5y6G3tHmW-PhxnSc-QLCyA5)9>2sXh~f9d@k^{gRWJD$_$5|}QD6#1 z1Rzcz)->XmI5&=8OX07bH{jQU4fu6$BYuUw0avjL4xVy(VNXA#6GO@uWWPYlnj_$k z`N2CDOFTGBjCM~P7n?zvmLX}nkAW&N%B>{sk3$tpbRpscabkiriTy~L#5agLV0-kP ztS^uDP@(%;m8OP;q_`6cWDhk0nK*=se>e_g;wWYj7t;is7DE${v=Jx}cNg~%GhTKv z<7FpS(8NlbSdBbms{lF-ZXaasAqTrV0>_g>ycl-;0w=7F;&99t0^WGsaF|{p_{crp zU@+(lc>E4GB)kTkupn|5p#I*xg*P!MN!YfD+p}96&r! zJV-nkg$=|*0SIYgElsSWi4CYj>rsci;YhJJ2%d5{8Ww!!4z~|H1SkgLj7GzrK-e91 z$50y~0SGdDpgUf-!wrE3NQq#Qf8g)#_!;lN!y5qmi0#n7cv#i2k&E3M*RVs*<8uBd z!31#`baN~MQgMZNToaIrC$<8lJ85DE@MAMgY+?<;rxSq`a-6)ye%NXfLFceRWF-X0 z=b}S@qwYx5>kUIDSfc6{*E6C&9SYrsM1Kn_x-ss*}T9ux}FjJ84Ak=-h>Am1Glg0i#!`XUDRjcl~#aMys!~S#dnJrvp~9w1=2@p z;)%ZpQt>hbq>sgcRE%8z#N%xMsdyy=q`UtTNY^4D-O~i58&Qc*whp9QS_0`)Er4_< z0O_ORUH zE8vdB;BXH}yM#?&{wPedV8COI!g-M)v;jZn4<#6a;-ic-LA(}@;{$1Wo)w(eQ9t&@ z1&1Y`K*arVVgit|hM@S2_&wGTEV^EZ8u9Z37C#Tg@$&*I^>7n@ehB#aF-^RJIQL>3 zhM@Q}@fDbZpEuZCFVn;kns^Ct26^4#P|Tp;;Q_b`!j1}ekOf3Qz`wZp7rR%Pj79Oc z;_sls?;9$7jV6xL#H&zY0YWS|kiqHl27Mlf69xcco>muxEt`M*C{yvDKO5h6`X7Wk z#lJ&C|3K&@!6bMSI!U;#pwlUufRH`$22H%qqSLuVbaI6uBh~MTSfg%8;q}0u8$;+6 zuzJIAsEgYPDXGCkd6LMGJV{ca(Bnv+-eg2aB1ePV6sTv3YD7HIx;#lV2%RK3l3a;i zUo<}Q$Zxy_gIZP0`XcNTyzKm&oL10DVr)bwiAhqxqSHGpI=xL3u$}4eLIn~BLZ^4* z=pWMQm_RZzj!u_o;?o9ny4-+H7aP&Z z569O2f7HDNoFvuN#yz|3FxulT-GhXkrCnHLTJhkniv|Kg0)zwtd$HiUxC9RbhYi8q zCAhmoaCi9r=T>!f*K`lNv+wu4AMf%DVQPA-Zgrh{o_p*$`KUBgW~g_h2$I@?Fg1{o zOgxu~P$3sjQyN|oW~<*uThn$}lO)ckzhM}TRP#-rkT|cGZ2I&`66f{1YiruGp0>)s zas$gAHDiYxiZ!jtgsJ+y4VZeb1XK0WUpf817EIOeUpJ#(sp+4{SNQ%U+r0XN>JP3z zM0Q2>hw5DsPyRzS{bSh`eI&ag^kCEBa6CGePau_ov_^r3I+PA5XN_hbI-hUV%U`czH-OilknZs>ElAtWr)$y_|g_9e{|&cu^r*=U&F4f;+Z zbhS||rT48<*ttzB5-HbORol1d?+N-#2k2cDV$q*rRwm%a3NV*1}0raw>2@LLNrjf2@_YiEhe$SFM)HU0=)eXS3h?`tjc!JagAtKq`fSI$u$LU;X_C zkp64{=}*exSO6e>6d-lfm4Wn0UL41?$$<1(0aC~GUj)(@0aAyv45Y8h8C|u3^o=SY zb-1g5l-|tx_v-(<06_WyU$}!oism-2UQoc{n+lMAUjIb}kbY|c>5nBKbu6kJ%?6M< zS_~j{EK&ke5sX0_1s)F3bSphkq5zJ2h_D-55X79r_UKE4&fqtY!FM!bO^$kPI1Q4) zca)R$#zD#8JDO@+Q-jXnH?%i&0HilJZ80bK(H580v?dcs8%XUD_;dJ6K-$nJr*E}@ zv|+GrM#Hdjbjw%RHVKe61RF*h78BfQAOO!zv@1u4Lhbe6%F!vflac)`J)mPz!sGknqPJv%znnyKrnbL4`G;%z%b|F3GJm-t)DUin=o^aZ z8|qPxUghYQ8|srAilSPbk5LO0Ph^OQP=HDRAeJ3tluAMzVYIAc^Y@p@|NE$z6Q3Dt z(Kod~$ZLGKCYYw9k%jS@8teB8}1d=zvYN#-l&(a~3B@B|!+RF_Z))X*pSeuhFiA_0%4NG5FOcBilv)0Zy zxRD$z4`Z`|X~X6MrVXj!yfYT{ALm`ZP;6b=~BN0rVaZFn2uRs z+Av4XII||0HXK+Drb|x*(}qK*&1yKT;qdu`X~U87g_lQhH5@CKj!Xee8%}6oH-a7M z;A6w7B`|F`(*o0&a->Z#6E{mSVm#DhJ^S z^TZm?*Vc3)CrOGm#SO!essTr0f;C+x2UFHTn>86ebHlubfBmx0-0*J$LuXkSdZV0` zv07&Gx8W8r^fu)Xg%-zhllaUHcQxG2J9rOpBPcVj9Lp=m3SiAIxW&Kt%lY}t4gYC) zgbPwVs4tjTj;wOzxZr~O!BhFHX2V;?JHo$914njl_^7U{;S(w2cdV%# zYbnP{%CWkcUz4d|dWtKc}&%ckzh>K#D^6^A6&Q4p@H8SxG zr5&mCSTY?-XUHy4@0eIOyTk4aBuUvQi4q6m4bLLl(9qa6ZR5uF#*VrZ8#^1j>Si?d zH1;<3HTE|SG!9k>IaG>1R;o`{Dn`bY<4k#Z-&Kx3D`#3cZdZxjIv8i%UgXdUJIo36pc3YU%u?YrXCP6QF(J>qF~wOnlxM!ae!Pv#$oIB^{h2qeAP38}3pQ+Q z%nQ>tuGqLzW^Ka8(qwy^D17TY#%D;L|kCfhdt&c?P~bIw@@}+NQxh{=+%B8nA1{l>S6>a=e zwV-3;pBpKG6ux!P3)#58*i+*H+Ty4}M3}vMGp4faw&xBzF$-(=**oz~?VucgF!^^E zL6yDv-|tEU%;r6uMwoM~NUDz%NRB$vP?X$PR`2TRos8S-ksFWDMkbG7Co!@ejaxfL zZteFIjBKtPESEIcjLab5#?u?mFbQ~~ZJAC?BT7-?#OzuUacMkP&bpgzY*FKdjsIvA ztpvv(m1B41n5>9Fw9?T5Mk!sI5k=zsTJI#3Epp*}REvcp6E6Qu_R+>08gJyiXWq0X z+dnDCp2{Jm5p3dTk`xHhF^}UA5&6~#A#qDJa*Dsw8I&ruT;9Qo$3E-mwO`{pGG!5AjRX2PgG#=Gc_<+DaRZv zc^~EYi-Ez1+c7wm!x=0TNC}3KKE)Me+!t-cRPQqelzdJylCyg|jj!w1<4sPwpS&LX z8n4IOVzYmp@Or#22g^zkw%4Qa6OF;2H-6FhB`kZ*qkDRqx6l|o``!QUJgo)o=Z)U@ zactEGPX&XQ-^c&QL&mCP4jaF=fcHBCcn>gumud@RSw9N!9%un?(=>U74w?jbn_L=r z54NFSlXu#zCSTJc^9SChdI8?QS-{)WEEhYpCh#`3Rs-*06M?s>i%WMm^~j~KYLP!p zl${LdKYMsGVp+Ce${qWI*kSC8%wZq=kd>jfxS%O=~u- z)wH&Jf2S+Q$;xrYB>361e$xhZ^O`m^LGd)@I7K;51r!I2=EAW!8n-c2B+^mTA|eFS zqKJwZ?TLEQ&}1LL*DwYVO>$uw!~k&XF$^@E%RiF=w+vO_qk5zQ!xZEn??UYQn*P9z z?jnfOv|H2eWyERPs|Mm+pd9D(K>w~BXBmidxgBxR=~z6=Fm2@gLQ>pCVFEQK{1}R{ z^+!dN8WdZerb%flp<>K&u2_k&*JwIe9^E;XK^UfUxEwssI%uk}~34As4%} zHsau!vG!8BPjB@ut3sTAbLs1vu3rGe(NTgc%7}BTT>8qXAgI_cbXgO<~278?ld@mTLvjynw8dEAaW)E8u!U5c-s&9Ku! zC~Pc~2Z0b%X73Zt$}mlvtuzmbtu&8t(tE^K?$Tz_92B#-+cFE|;F5CiUhAOER+?uD z?lgy+BcwHKI~~Kf?6!6~RdCZBV+lH#+boTJKPblo2HgC|gq!AN1a2O*;HG(bF{6hj zft%*6hMR|NaMN6vHmkYVyyE=frg>$7n@23TXGhj8 zkV{|fdTZLvk6(vFdF*%h{O##jV1*~Hxw7}ArH(MZU>!Jr!h)OT&E(QgP6=+Bw``tW zhMVT?%5c*x4SaZ(Jn5&E;{_9LUM#`QQzf{GBvZ&<)6vS56bhi?vcZW{LdoEiVhA0N zL^zSQo6zpsg!bUX&xr{=W892X^gEulti?FEj~sm7I%qQ?18$lRXr>uYGuA}QG2y29 zU;}PmD#1;&$oDv2w!uyFQO!p;A0yx28_MyDa=bao``&y)^IYD)6HT~zT{&J=j@L}M zp(K=%0HJie^zSmiGN<7qs{pCVzpqejdc~@v4yQ-O*uaYoX^R+dA>=Wf+RE6We%JH57WZ&9>tbnu$ z5{O8Ai83-bg*Lp51Wu%J*_ejKR@+W`&9`eSypxlDC|3BsVQ_bgX?$QAoN@30Irx!v z&}N0rk7yu!y!nadCmC2bT));CTi>9~aih*Pp1JP~cVK+O&3pI!;QQwT!zbqlzi-KsMl@U#6-anrV(caXE_JtkM-T_wLZGLY75bb?I zw6DsD#%xvP__{WteO8TV-&7&m*IfFW=5IBk`Q=Y@DMWS#h^9wf9&dcp-^(}sT^Z4S zmP>y>B}8kP-r^`DT8p=gXe|vEqW!3x(+xy(I!cK4LkZCe=}->c6n5W{EV=$PwZYjW z`E3H&IRBJXqaR^Iw3arprIrq_a@L70{iJWErAuz+XUlAigZ&(IPO}c$Y{@{hmSD@M ziD(l|$V9Z3#WkWioh3wTSxV08vLRZ_(k-EuFyEhZ5#@9%=c1E9N=v*YQ8%w8Y2bv@ zr<@+e^eVke5}b&kDw;~htupR}v4NWMuO_+t6e4ad#g-LW=}P8G8#D*^xshHCeo#L++0?S&~WMOpflm4$;q^)J0mUYW`*0NzWo;f>}Q_Q7BIh!?} zIfv|cMkhfr8m5>yLN5WV8Y+@-Pg1AGbRK34$EX9frvX~F);72;CvC$9oqogIwim;o z_Mao;iDM zc-C^*v{@~Ow;VBlJZm`$JahJ2c-C^9Tx_5wp0&)a!ZYXKL_BLbl}n%2a=KjlmqSo3 zXUaE?l7d;b)N+nodSq&Nc7DqR6?pc~3Os{6jUAdZsGLihc=j6;&zyl0p2ahTcru<~ zW?e{T#HHxErl*DS76!i*$S@Tsh_vI`wc3`h<4a#$Y-!Z6r5ogC7PHL8IC!fZT*5kN zvn3PH?rFK##IuPeRKm0S4Ln=Q!ZWFcch0cm*<&q_w>%-=UsyTElrugFptL;G@+>do zb0$iJlyjzXE)7bEMyv$mD%k2MfAqnzUy>@4M6#z53n z?1;*kj2v4;bW(~`o-iqq)=BPhtdPs5V+15~xd}?oey_X*ex@fmmzTF-S#9wCdNIxA zEQ2==N|xHWf_1RQTj1~Vcl&!ZkZ!a5XSYm?9|*esY0XDAJLx5o=RckDeMgwWV2BiM6X|wz@{Y%duNc~{} z(iJTr^~dF6E7b&2f2tZtSDpx@{^hvz^8OX%(!ZQU^-Is6b5#pS{RO%7YEuGI|4ROq z%RuV?Z5c@Y>sUbgTjgBG1k!a&K)QMfNU0mnL<>|aB^d@P!eL>AJt;1ZM>8>caM8{V z*y?1iFUe=;`Zgf-@9E#m&lpAJ+*mm`P|nRKK?ukB{(bA_`TwdBV$QY7xuJ4y1VHqO z|A;zxg2{Jj)Y4E(qzf`$3grLduP3>b{~-UtT%NI8`|)n6Ir zdOAZKFDgq!)tyy$B^m$I>_Z&=C$pea{HOX)Gfb9$muiUG{O8qm`7e;jjB_XD+*vud zQO+I2XssF|=hkfFf3ItZGI^12PodL|A`~_&xy&%S1v&IE!ijt&6N-Tc6&)b{e`=eh zh0?jb*zC53d0sAtL={8jM$&(c97Kh|JXlpjm%KBy*kmzXIc{&(Z%u4N*RX_;Bie*Xjh2mKHEANK#p|47}5{zv_f`5*T`;eXQql>ce} zGyZ4&&-tJCzuO|8wXEv^36*4DPx_STNp&epEh?$(~x-qya#$+oGA zA0m}ML~TEWD?e8GL%8yXSh%8ODp~PYqOpn}B9%XcZIxA(pQ`-(;mRMPl|RHn6@MpM z`9q}ghj6H3W%0_tQaR^0Qu#x;vbL*o$gPyGt#4qgrGQ<=srV|E%g)Q_fwK>t40U z56b(I@-!;fDav=a@|>v_JyO;8t3`&DcTBn0RIVM=B6le7Ey^tlPp)OuqMIw<2FkOO zTJ#;|T2y&{RKCwu{r+l^LzMSu<-SxopHl8&wdhjHH>x~o4iF| zyR~M-8*a_F7Fvr8IQ#OX_+iTg^(HRdda~=B?Jf_DM|KHLU-y75DUjS^&eAJ1KEHts zkQfSwsy1`2E0;ENt*aTExj!45x&6$|T!#CYwQknB`TVzjty{|0Z+~m+*Sd`?ZO-#7?RJ*-84IhJhTOV+Yjq8s^8n>k>;R=g zR79v5*a;I6(ufrj49W~g5%`YhP+5pbg#Zp|g}`^~A6V!vt-H!XuhtR7wo(M~%u)n# zuJMRP&DVL5wNY%{OBQ`{$|FKpomXdyc6kzX7BiHJ zwk9AAV*%b~7I1UxEiB+xV}60_G@hHuk^xDwMi4!gbGP;#2Nfl8f$#_)$0(#`Sl`1WBQ^U+MNpm2?W2-f$SugqC z*85m8!4`&GE9aTYdAf4SpbDG}lcT0@=V31f^8_3Kfl4&gI} zY1`+HYOMNd{iGjjeVkQ4ff&B5`W)r_yKDutqdo_+KK9C8SCpUcfUi3^TsK?I6kkq`chvN(D2% zp_%b*8#7*_oEHNO=PT!V1~XnO%t&F4SuUPs-f;%q>ahsePbDvLV(N%;h`!{Kg-j@y zBZ6bw-nV|F(dHA*@()3q3yin(GkH5Nw1CApDB_CFi>!loX8b`ju-h8(6el!G@`fVh-?BDM&39-6Fyv zyapk*HMg~t3GoW$lo=>Ne1{yJiOk?gQR^H_XDD-)SpZ@5ZaF1je}= zU7`RE#$tdYacj*wsWjvQa8eH-4MxH`lm4p4dW2)z_H5gW_58`?n1__}0p)zqMC%lR z)+o%2QWkK{R1M8B1YbjPHMSs>Pef##n{X%+iV4KDVo*bZURp${gjZA05xd(k49U1z z6WFB#8}|Sr;SN&qhz<;)!i7ML&>5i{>G`igFkO1d`?t+u$;w>vqssXo<$T0ka+vWM zQI-)!YKAW`&Q}O6Mq;TjOOYzpP!#bj)-glA?=*W2ZjI}4e|&|S7ek=3$ZHX9Ny0CP zy~q~*iZ`WPq7xbH<8p^1-=?~6YL>aPfWgG^9u}PAF@y4^N|D!VEQhhQMMDPfQ7jk z__f663wr8>pvE>PlDEwjYHT~H?c_2www*52*mjnU8edk<7lDXpl=EqW8s8IY6txzk zlZx-Q5Q(6Wm`|bi5fku9rNLMv(wSu#&C8C*jyo4>+_{LeJTJKOtN}6qlo$3n3u26e zSIEH^tb;acY?~+4*!J(X>)NgljOQz;ahbIaI<)t~^8@3F)4sZMXp!Fp#<$zzXZd4t zWUR_*Y`cjy=~Qaltp-QFVsPY}C62s9IP%ppN6G|E=WDe%^8U65${hK+a=sxP83Oo1 zq6-rz-9s-fdP9utrlTLsN@c<_h{--|sqGP{=h3#u7Jwt45RQDS%#qK?(%znoBcE@3 zp_(J#RnB)zrxD%DxHu>%@gagqC)^lw-1ryiOZINXOd*C}RmqXBvC!As-dF&Rd`q4t zQZr_nw(UJx==)RQ$Pe1cq+z7|S=8Xk&n%uKgJn97A1dc(CQp80I*uP$JV}R1E|w>! z5H2tpf~i+*~)VBSo?e%Bu^%JqzkF;sFPm`PZ*fLGypj!@p zY8|ZN$@cno>PqXbZf`Pp(lF4al=E|V(lFceWJeXt!yh?3J@TaZixgaCGa}oaN~W2y z2vo=NW-g-LPg3O=sjV1Fjkl6SGlM5EJ;u?^w3beH^e(gWAl0fMR3DqG=vYGDi)-PjQ}f zi86Um{KzX$sT_YHskx{64kuf4sy)q`moe7tnyy@R$~CRDW-gsZ4-SWqj1A7WX2GyD z{)(e29vgI`*9@b_NxtJq!q$+r@kP@-oPu`KeEZP^+Y#9ji2o+v0lJOcdW3mgG(u}G z4ogZu9g&;nTftSHY|YvB9Ba;-Yj!J_Q@LEMnQ=JqWf(4phNB5|>>@C@!Iy+bqSSLn zW9*3%k*KUh8%R76O-pW^`f_+3PhBsCeHFVv_KP(9F@-~1eEn$&0-#q%Y>rYSajE6g z`0s2fcsw}JY||#^`S#V?S7+hBHF(~&h;n(A%g4gIh39LW`r?yr41LLDBUH|U&8@xh+=WY78CW*(Z zNW6Xj5{b7P)4yEI%$dWrdrT5S=#(>fW-64e@u$8pQ0D0(c-5WcYx^Z0T^5({`s_Jy9$LN92) zaQ-CTE@~jIA&bP@FO`K3Pl3eSuV_c;yyWP%6I(PQzwOtT2;3D=t|bftcgaX&Vzw?? zA9faco}eK2d0$qE{BZIrM>Wh>&|o z87qE4Ry<}aJ!pTW{nhr@A~YGAc^we4@UzYU1IV-UG3tXxYgR|rcN8W4|+ z`HW0OM3f0Y)$zmxj%7r%J0yVjDi|o72(jRGNvINEi=edTIb1MJCA22s0Bf!01^;Y~ zC5so?{&D*!EcsKDUgF9XRj!yxiO^vp0oq1!#9L4;?m907MGf$SjzS~7C)!we zZTPrwBW^1tY2y0gEmNe#JxfR%W8(hg%YZ0haw%X#x>*Le3$>*9Ebbo{gw=33(}{W})@y-6);dn=eyppWqm5v!DUg=nxyZ=GC@&>O^X=SV=BD_+tc%>sD?_RM6 zuXLn4mMQbfipsT;@Jc2XPUcgDO?lZRE*YZ|KAVmTW+(F5Xfey1Z-eWO6{gMV81Kl; zpI16^!Yiv-ywb6vEN#_Ec%@^Nj#aC9Wp(9R&EOThCGWG|D={_CZDbXysYp=)jB z+Q8(MjZ9uy%iC+$i-tvVo&x$3>?YY>vubL*0#C}wz{6!>NDb@k71KDCYeRU&G+8VqohY)2N6ia2O5P`i z(q%G9F&D5F7A%mQv3RB9fQ|zVUfD#sHa2)ALtSn*$K-6{Uyx^v=yy7dm??2KQgnp` zwaR&8#fQp@H?{Ff$B`XJbsR0vWwvr{rd-?B0BPZsj^jIsFm(`Nl4z-GOXb>JxwgR4 z1^&a5xMC|W1+PGJ8eTyfKZ>(Rg&W=hA;yGkmd%hTu*=aX86^%2g8$O5YOF^{qvMPY z615$Oo#^#!qg-1l*Vf?gQlKnz!)eQ69V|h7CnJ~$XNAeAB}kIvVgS)xR+AT=A3lZz z7zx`M5j@hH0CiLXd3e2`wfR}Xyp$>9i{bmpEemHvaa)L^z(pZEPJG20ew5~njte{f z!J02JIpcTAwViTp&ziN94Q(YkD^@`IRmWk8KeIAcK!`lShEJGF7R;8&{!vLGa#O?_ zBT;sSkX%SYjthL+g`t!yxs$6jrCif7uYyvp)0A?fjZ$`3u3dSfey?0R8kF)^p_JV$ zN(r&mrjDGbO{z!>S~8!cs)4swv?D_W+|+!^p6BSeQ@^Hna~2s16$o<8^!hQh(U-(E?D)CqgNI zE>p@Evb4WUMk!x+d{a#+`zqHy2BjoZg&g^5LXFv+bQIEtlZ}XX#o#(Z{{)O8JkH96 z{=`Cm?yQ?XrF2f0r@5a+DV=Uv=>AinlulpgB4tYHY${PoXRAdiO1Ta(DdkX;QV_i{ zT@@Na7#yCCQ(q~WQPIL?rg&%!?SLGw9_h%eJvQFiBevSvhpiqYwt9dz%gzD0kpnHW zG!6#j;KA0xDp#d*$fb?rF1UcNd%2}qw8?xI?T+;ku#UG23f@I!%oC1{;!(NJn0h1wP z#WH%{MOjUS{y=BCbD7Rr@?4Hpt|OIeZVd<*O6gpobG&X|XU3!y7J#uIjioOoTX}*z zw52hQJwoh}eY%d{g(Z3?)hVn1-q6gU>l1h&1SH7^F^NXTPzx^q4?kRE)j~X-D|fEK zs#i6M=LF?CPPvXRc`ICA%1Kyb8n-E>vq9{s#2vx^K($5cW`Jf{bSTY|Wr7~}DV~>Z zyaUMbTZj}VqExFy5+!wCNR+55)i=pRoY0^o$O!9Ecfs4l)5NEvnj<m(K}eK#&2KOk=$4&M>Z=TVw`!Z5KYE26W-We^&7i8XE{^e*wYPD-$P9O z4D01I4*ppVo@E`hu}kNE!Y-Yv^MFoTR(3dBhq^Sogzj6uaMW0eZQ%0P_MP_Z;eqir zhuf}x>yZNtc8OG%Kz1I&nshd+^Du*5&NbNOA11qW9x3c{p2aSmB2DW$zXrQ>p3phB z%q|xw*M*v0h}Y)wS*pdOcrDb8gKNOWSehnq{z(@}6WKt!lU}~g(>ir8-!DrDcAhEh za*@R@ozlzax_Af8gT)3@IpmWO?jMUVi;3i96n3GueJq(k z=?8hSTs~p1)$F{4gktWS4)N>~ck!U8LNOD92cyY7ZP1>O0d3TB+F=61L5z^Wm&rRiyJ?ZL9ZVtJjFF zUS*i&gK{HRTV`n-d{hpWWofF}|z?Ha$O6%7$%$M0YnOgVltZvk1+@h zMQd=185wwt;Y_N4Z<|YmQ^hj7yx94Y!7kS;*L4QFB+>|{q~ck8Oy);0U!XXaVIm}6 z3$JNDLr+k_WS7@v#ddX@&bK??>3mn7%dN_V#ot*2r!~8L(D@-C@{!3dw`{!aXo5PVHz?K9>V(UnBEnDTi%`pKl>QOhHW!VA79S>u6NB_ApwKxP9Vp~$ zz=4K(VEoC*rK_%MTHU;^=_a|{qg;0>*WD%~M!CE$CV{=mm4i?RBu4fSwx+>WNKVo{ zIv>U7Q_!OLRA&Aw%=%$aQgoucku0rx0Z+XU^wYHn_p_+bPgg@%W0`)s{6arn?Kb*( zRJs1c+jqZm-Dl9x3qn7Sl<6m*E3h3Xj1|eauwl$c#xg~!nnmR$R}6Xmp#7EZT1*Z;Y#p@GPuEgHKV37smhK86LAHYXpvWAf0)L4| z=YIC_Gp|x-czN>Nnb*h3Q$KsyMMr&eib+3_D(9w4x&k!)bR`V>dCZ_6CKMUVOAGxx zZqZNIa`K8kQG#8t3D5z^oS?EhsprEd;yS6D) zP}dG63hJWL&5W77qFis96!f-9K`&brR1C#(xdIBx;ariJS%H8cbAE_ilFnsVS%P8< zyL5Kf9@<`MLvg(>_WG(}5PQpwyk?oEaqzEl@D1x=6$N!2*maOlP}d;_1(^n_TyH@^ zrrAP4iM;3^=5fN5)LHQZL3Kx*!EmKg}VO@tC6!flgy<<=iPbr@)o4B6*B`$;eHS`PX03Y0wjVr2yVI8Xw}EYm!h!%bd?>9z!u*kx7(Xu23T)b(DM9yj#Md;P8t09yC-GSGg)i{f@n2DG1d zeNhFpZvKMP1lm}#fS#TXdC|Q_y|Z9Z0*5o1Wxr3cOPIp0%7uQ%Lcj0&VF7?vRQ%l@ z3uwEi%R-Se_19fNoAKFoXVzU%cX8dRj;$P9IJTt8xWV3LTsN=V)$J|=Z8!S`W3S&$ zOvwOR_ae&OWB{$(oQov(YDSWBg?O5=)Orv)wwfbMmZ9K#EJ?vLdiBvHu@_s_TDMN5 zb(2VQH(;yoMYXMVOCrr(Z<(cWP!ehGM(bb|&~}e@FD5|Sy+rqtlJqu>Q@Ld{LCIv7 z3u!~G!(>9VKGRDaA4?Vs0489Gqlnj4q(+MNXgujyxy-wJM)#OTTz9K-`^`;1Rr=|e zsIx|72zP>dGLcb9T^D7Oq5A%K z)wsIs-n)z4s4R7(3aqc*r`$ct-K#gk5ntDGjyLXBR zSRLCRJdY?Of}bR}NOKh_6!?tH5NV9kEiT}x7lKf_H|Bme5kl$Stb6k^p>%I0gwnlj zC84-6wIz6;0?IvN5K5dE)V-udDA^qI9@C&CWr6J8^I%byK@(J(l2s#emqYyD{*vkp zVmBE?w^XLMjmng6$soEXRHk%G2GL!vOtBG4_dY@>-TQU#-#v%f@muOQQ3sEfyy2|B zT;1_7sfpvy-FnfD)yp>!Vxp}1#QgwlPK zylZ1M2&Mbj?&B;%anDq4(FY3V@udq?n~mjS1w;qP>}f6;%M%e7CluF*TC)nA?mlVS ztnQP$PnrMDz56sFl(0o8-DkEcV4+ys{!ed+~S!Y$C`qA3a$M>vPz5D5mFRyB`O_>AWu?ZHeS)cvYLTT(7Yf;>&VFVQGAX>w-z zjdaTrbNwWiMC(!Ynzh%`{ZsePb@O`aOeR`GxmQ>2-&Z!Tuy&DGHZwewP@!x? z7A1*LA<;PV%d>r0m{l_oHEgpjr6(w_NV%59#zZ|!3KR9r=o#yoiIT&!pTD{7 zHC>vCf`9sM$tzcL1jd6qKK9nFM-oSx{b0|k$%c^0MA51^Qct+VL_INsi8eNvXbY2x zdXmCKn^;WLBZ)-!rZt$TXZapVrZ}A>$=!&1Y%WYhK!8*a@cJPjUWC)U%Q>(Uuky^{ggKn>`5=^{mlTty%5fTDi9}U7I2y z+&m$!0@dW~hl{eYpaGJtQ!boGM3v2zeWB~K&<%PvoIexwY%EW6TZ@T$HkXBNHw7l@ zncYLJRf&muwl6VJ56af2Yx6th-q~a#_Bxu0wzrrlK_4z%idls8NsY%sgjeY6B*LGM z#lY=!E|RrNC-v;EZ53r}_wU74chJb)qc=!9+L@?Fl&#%6SqH0_s7Li2AWYOlBuSXa zG*0FI159L^ES6HpMI*$Fiep96oA{PV)(G*8QH#k=nw&Z6C>8&-1{iEF~7)tlz=SaDy7cH zq$o#-jDG}Ob_&$!fEQi%99$PK7KxioC~ob!Q5){foMk^TTw{Jw&#m&rC(JMEk?M5! zB=d`U?$;puP|w3X{|SumcB}V?q0evAAUph__uy8~rsRr08(Q|8KOcwq;o{BD?R3@d zCdgKIKK49jf$Wn8$R22b?4c!)eMUg`pfbq5AeMM=Es%Y==an+Z9-`cT6OheBBYY1r z>hog-UT;b&v3$x+5?P`H1$x#=RNArYO|a{&p0^hOWZxB#J**6}AIQ=UpA2L_?qMP% zcUze&b|0zSM;IU*i4_sVp+u*cAYc*8P%=eTCB-`NB+@IzJfS6f$yCo*EcEN1Zx#S# zzmunVbQxrSl7${K1(5BX);qlnvb~-X$o3LRGC}q@v;@dWRB!lI!8Vmt!YBs^i8l+wm`Ob z@m?gZs6=v~rrf6*Ae+m^i-=ai;t^Dj*lE+BljYUSWyrx~-9mp_M+Gq^X{!ciqA;Gc84^ zFPI3-}jn{biDpAe6P zECm~RGC*{mA`l?!kUAzF3f+S|1O5^tpkh21VZcd$RlOkNOWdG$Ll(4=`6XVW+!rhN zKlu{Pa3IbRtc6qots~TGMJ3@b9vf~Tf21!)ioFO`n@&fPupS>|-zi-tmD!W36D@>` z(L0;9%3iIlcbndA%k0;?gRo!kPB!-YmvUdj%YV6YUuL)%w+Z{9q++sPIGvY%Hz}8= zN1PA|-Az(vnrAbUBaBl3?`^@ZUY+{uCH3dNN)Y7=13V=4=f2Vc596Su{@mq~6q}3D zdw{TC@4>x?^!_a{zUT42&3JxAE@CX4-gFOa3( zJPG^tUetSWHT&JF+_xC)m!nN5NulHzASr2TnhGd#XUGhwTTEr61ss0+La$($o6HK90wjfiU^F=Dii{un&yUHf%DWpo(?h^Mts2T8K?Dbx;*SihVd_->Mo(cB) zq#V4@I#|ts&-cF2ix^e!%LW4)1`4Y@5GaMYphDArg$gO%%1D?i&uCMg1~uGNu~9TY z_kS!)ER6kSnF?R)echnKhn4#wg9`JpB6lQpQW>exD>9-iOYnug4UH@`kP+)Q0$#oE z$kP8)ro#VfD*T}L!`_d2Kdz7p&{X(@azCQnFDUmj)qrRq^yj@_05V^i2>rNnKdRi1 z@h0dv6>&DQ3(~HRG8-cnG#esGL+b*~H`K6_HjY+gQ?N&(SRyq;OCgL|k%OuJRgD!% zbgTEr-k(^}&t`P%Y2|)Wxt{`}g}SJ+m9khI3`vVnJS+h#TGMg=Dae)jR<2`WHr|ue zJHaNRK?FmK;2d!*YFp{(2ea`2_&cRflk$j2HI$6~A$t_!)XowwA zS}mu~(?>k0&u6asdF6gqxu4UkW`UB+l+r86g7}vH7V$;62zNs}2bF0dDU*^rgiU0R zk&1_+cy&7L$O$BEPmwM&F6f}waYPBpNs$_>)y33WjZT(K{TF>+M9tVd5z!+LR{ce5 zF6?XR^RwhulM7!~?iZE&rP79i+A~UqNv2617u+kS7QqA|Wgb6~c3O~FvoN`o5Wv|4 z5UKAXx24Gu?4+!KeG$H&5PT`41%ocgnHPdC`+B*ZKB3FLfxf{qUG@cpF8da<(dE0! zO?iy_HRXQQpv%vNE)i8R>5^_oL`QIbcn#UyW^(j!5qu`}B-M|1&xP3DPe)>Y3 z4aywD8@J_f~)SgEcmg}W#6(wmwhYrjrV1U$Q{|Y>mHjOZsdlJz47<2 zzd>Q~z!G;Xad-V{~_X^1l{c z_DSiK`~4bp*|%2T+GVUH0wKw`Z9y`_Nf6azlOl zSycJ8a{pjbz3vM3a>$54>X8Y@1V6?>Q^RnfN6cYfameHZdvJZ|Ngt~`rWW1^(l zpy!anU2(EF46(?fHNTRpB0{SBRLK4tT`M@al23wO$;iM<8uei+5m4hqq`3G5&ZC?d z1R#1zgFP;^^sY?KKDYESnYiyZgMB;=%7f~5J!_VYhm>!S{va(S61Ao~D%Z%zKG?!@o=)Z(8nH2-*viB}$UPmGm(4gYw` z6R-Ndmv^+M7XSRz_p`-6o?gX%3si~ZD90uCO}1ZDrDXIp@-<@*R`y54 zR{LYv>XKrsi)&-(Psojwhh`ZEXUW0eShiZlKmD2htng1i(J|p4(>Rr9h6F1Olf_c9 z*?ca;Xco914iQZnI`PS0vBe|umCj1O&f=f`75gdl68>3Qd1e~?1N6|$pC;Q#8Lzl_ zR5wuQE2D0ROeMnn&InfauP!SNSs9`JHS1>dudO^X7RVE>0pU`M(7%5F26glLH#CVS zraTelF=k%r;xi|6b1}}W~GpojP}FlqN-W6&no3f2}w@)RrS@iE6~4XKcS|6 zYN#Z(=wY@(LV1#avBcLzNrl2MarGn!qQ#`SyeOVf+`u)2{0N2Out?Sio?wZ1QBsx* zj#qRL);!Zf0B!${ES79#U0eUo{eLI}ZU629wEcV9fHtQ*RMU87DUUG#%OjE}p0eag zu}GvbMqCVGBA#n59wRG6_18y?=k(yit)~9>HhG@^Y&Jr491)4yY%my%)Sp0UQ@#?RxF*S$te46 z97?E1%UV0>9pmD6aQmlV&361+tHqbb)y#Y^27p4C+LF2M6O8;46 zvbA(k`p@YK@4u*j z0mj$&%lLXvSr?^W#@Bl$(?#jOx?fU*_SBJQb>%7Pq7;)c$uJP*gJEN|ce9sd@>vXq zrN01+&Jhc(C?x2=o`v4ff8+eUf&QE2k(YH*`frzoPDK}`|E~VKE714>3yuF{p)qJ; z>Y{i|T@+7Q7o`|UqKE<-6D`9=7;!O18xoTiP}41-Y?ld72%PmxN%~{`&tT9}OX4wV zN&26Y8<|i`(*Lp?EZ34$8}ys~Z)t;m$3SDtphXwOFz9>5jM|+s|gV>&z8!w zsq*|zdA6y>KE37d|E~Xg;N%ArdACrW&6G#VP4sS&Sd8>WlaMF60iwws7toWfy$t!H zoQ;O{Qi~hAVe<8Cf!P#`G>P^P?4PEjYO0^Ev2NM)4>$*0b@K+?=B9sZ<(aKKTY=fK zk7p_Y$tw~SRB%fjvfi4D{s}WJNmEITj)rnmCw9dCU&p72(oojR+bboN z{328;IH2YiZ7vGM2dI(KuFCexv#s)M zXSyoXmhlhElvWk_5@p%MmKd^2O*ip(YP_`GvIt@0$P<^NrG-vad;%Q_l!kV~PDo)( zQ)jfaWGdGP+wjdx=#qL#{S+lIC_^rA9FSAs{wIr*4Rj53v*aF=9DlDoJ1EbNCONX% zB=#k45S45Ezr@K*PXmXSZXcX4j7Qq+jjvU1hUz-LC9Daw7Hbfet$Ct_;Kl(mw*vv; z#(~j+#md|`@EhUAfiW95?x{R~|av_ z^zA}w!&fVLbkb$^B$v~2`>?TmMi>ASWw7jvqT6;L-;PP^i!kJo5$UshbiFUHo@C)kFJ4Ji_7@NCjj@F<8o!>Uv8`zbF z?l!Rd{Aq7M1Qa~VazY07mW3WL1t(-+pMibLv^Stiv^Q{YX$qz1AmusCbV3d{osa`d zLnyP<3-fw2but2(Fw%*t0$NLHKBtQXRmWm3X0PQRI8vJ`lZrfl6H`6du!UpgJ`S<0 z(l~gc96Z!IX!Dl`PSd7(=D=BX^Q>t?I$k?*7M4k917{nq#S!=w#_7+O(;sOO+Q2`A z&;~9Z_~*bS1D8%DwBwZLDCId-c}}cB4B|=*Tsd$R7(nrtc;z_(^ZWHq02;V!;BJUy;XbzPu5=kx0R zU3tzjsOw5Qb;S|QMSw0kMt?rkRb-A=mKw^j0@=cBqL_hyHD|m3W z@os)B@8&tyt8X0qLJpp19kk=Yw;B(A82EAErv;?0s=Uo$U5T;=9R_7xXi(NACS?t} zg|hx(QP$uh0=E~{psc}$!NxLWU93F+6v~o(R+O(`OuD*AuHznLLnIIwhX-oPEbs|B zD}$}mW(~Ftw$Gok20MkaF109Yu$QIbzczX)!H zWi&|(h!%xmhz#0jGOCRIUmO)h8*L4ave?B27oR_E4K689@+ynA2FK)kym|_>H5eKU zmuYJ-QKGHEWh~m7r##o2v~`0?Ti29mi|7doV-yaAP)#9#$(Ta?Glosj3L7dUlX=3J zwjI`BM$B|DhnfCc%=BN{A_og{AJx zYw*CqgIM*!CT%^WJP#;OX%y1`McNu9f;V`y(AMCwgU6L=Yw*MxwDpwoJjtv3i1Pf$ zpsiQ!w3R3ljLb7?5;q;%3KOfQ)c{aHeuM-V4*Z0Xu7hW5JUEw=J}!9hsPXFSE#+g@ zt8W~mi}77t6Hus4VTJ$tdfIL8-oPLSGnsaRDexhu~f-Q`YOU(ATFzS#J%#T|rsz zTa@*&MOkku&wD0i{nw?^*|KCOYI46CLslQE9b6p4QMJ24%fpqO74t zIsFF~Wev3mWev3swGFiobxfqJPnG9G<@r{5zMO=zhI)o5IU1tmNK@7)%EQphEhY!^%-KWkM^{F zP@eCU=X-P2{}(B1h>Yn_PAF@rFjOp4*3c@|l;w3Puaj5zXXW`xQF} z35NbUZPw6!L;KI4vW66t<*m0UYv^EETEiriHFW5Zh>O}O%iE;9jRs{QKuZTLu%4tG zi=78!mE&6_YK`Y^uW-A6DZ3&ti1ioyQK1tPDWXe3_Z%b|Cm8p-XY~3 zP~O4+J<57+=y@)W-h(ivH>kWL${YA~Q`Q?pZ?fdK%q1_Oyo)LC;=g*z`f%tYR{gO- zS>74Sixn;Pf0?q-P96G2Q`UDw-&ar;jRF(%THd(wQd{I*T6t$0lr?UrESk9K;syYu z*^MFqbZt^>Ul}ZoU`)Os^E8>aRk4K~UPSOVU0%}GXa-Na-;VEm9rYg5+nAZyW-H7wJ!e^B0pL0Pj*${HRO z%1T<4HN2$2ZK?)k4bK=JD^pfld6yB&q7gHT&QoFx>PCD;B5&Djk}2GUJgp$eh|maS zV}jwxv{}Q^;n@5sYd9g4wX8*1!^_ChmYamKhL;;&zM8UDP~PPY%1V;zDU#S3i)L}K z(8VX`L!x)AsK@hAhg3-0i|U5agBUIhYdwfxE~*<|NuFZHqO4)jgYagjKv~0U46j+H ztl{-alr_AOMOk^}UD>3pRZPmtl_)EOr%Nkpc8q2T9zr^X06~%Y5a~#g_$;+-$%4K9 zb9hT_qFZ62D~gF03~Ss*?xSc~qj7KtIk=K_&~BoC&?dUu@a_vpS;Ko6l(lM!vWBHa z(7T#NS;PAXWexvzc)#KOhv!VBthJPPb>-bidDokSvW5>DKDch)@F6B;t*N}fRo*rJ z*C=cF=;33y{IMqfudBRkEAKkLYRVcuWf+Ol;nU0|Z>YTMEAIxscFGz)cNk&QVN=-D zyQ%VSth}52AEvBf#7~E{`04N!!xiGE!&>}w*d~7J-A;M8;nm$jc{evGYd0v%yRB7< zL53bJVq{2i-~#P7%>KwCeltdC362)sA84Z5DNBo=4kLc*-AeFaOXJno+sWD1t8W|> zQ84e;)aDx;`J4iuVcL)~?FCi$Pr}0+@`DL)J{E zCzCO#D@^i-7Bfm`3(Wn@*!z)&5kDRNes}@IPltb!r%7Rr>1~aO_^J1gQ=qO9*GPr< z=?Ib)MnBRB;-`*3)OBN0dn)f=OzPUlq^>m?TzUU&9kiJ$g@^2}Miv`cT#66N z1&3B$tyzIFvLyF`leKTDq;N#^CA>(wU>lOk8qxX^BaxBlNNi-HzJ&Jx<=szt4_Dqp zCSk0R^a%PABc{HDS1IrQ$~y=9{FRp!j^sutq8~wGLVITiEAN5Idk_fxt1c-VS$zbN ziIFwTRUf9je^cH=P2Tu*mK2U`FoF!lh$%ziJxY0xP~Ib1@}!l3hVA_SQ&KoWZ@`F_ zp%~d_q(X*bM9WZ2;IWgG_e9>~W0m(9gU8Mh9)lK|%3KzqH7iueGPnwjeX=7ojHYq9 zXojJHojNpH&L;qbmZBIzio$z>0K{s2Stj)JJ&jB1BgD|+ca{}$iX9r zQ~<<%7C;2X)s~vVsse>0hnA>oju+THwFY&KoH&9) zDyI{1JMU@Ad%93phLnGd9#tgE_&#EB>2FL6EzrcBWr{HRM)pAA$m!E&jhr!Z=KQ^` zk-rOdooP|m$a%7~vnHXgkqbxuQB7TEEAQV;>Y^GW%QV6<`te9n()lM5&E!~~SudGT z7`29&U1oLUG8TII$QAPs6pmaa5AWPEb^S{gdfrs1>$(x7RZD@wky|Y4y2GNb3zYYt zCUsq6QrGz<>S6*3l|k$u@>CY{5D+)YQY6eY9E#G}S0Mjk_qs;z=Q%z$f_#PdBC*U1 z4I_M5?&BYp5gG>{mxC8u2W^&VQrB}MgvTl@^Ipp`OVstEL0y+x)FlF_Ud9@gsOt@J zwnp9>d3)rYk#{FLTURUZ<;r`5@?JX`b$u|xWStRnvX1vE<-J0AulzqiU0;n5AQ~}; z>v;dAyw@o2yk9$Y1?mFR@Uo|y)OEe`5){4eS4~}kMFNYmque*Jl)SNbSU8};ArO*-cUcE*;1Gz*zBZ5w zqyx)Pn{k_Fs0x&*qZdIi>)HY>1ZV6FM{ zS706CuZJ!E3Tz-t`_Cl&71%hiNi}~xs=SPC!cK$43K1kp6Z}O9i-j^{E*+&wiea=e zk+PW27VP{Ln9V}B3T!=p{t9d>Pw{b!zXChRLZ6rde+705Fv_RIUxD3A{1w>C;;*Na z_j!}QUNHIV$r67tSvN|vi_BJ%x=uz+GZULk9=e>_P!UP)T-@HU5zx(y0h$@T&x(mY zZCIl;GkTw~tkF0q&5YjXtb;ZaHTWxVRN&}e=C8o927kR+;;+D5IqORne+5n!{tBEL zI4y8`;Eaj<^}6!Dti1nK-nS>=ufW-Xb9m*?HG_q(Deo)F`|7WszXJaZAUqMc)MSFU zl=ltgee+k(U-JS8PXtWi3GaK#`;PLy`|IYfTLS1#1Wert?}y6!zVd$XtK}~wB?4Mf zBJg0KLQ*0?)jy12la%m&t-N3I9)F^|A8Y>dO&9+9svJT@Eg>AGP=mBLn_Jqs*tmnx zB*U2Ximp*SVRyR%T2dl_q=ff#0f$cw91uwf?`IYc7zf{!gNWeN>gEb)w=3{L;KKlt z5*vK}{q*?R-)R1d1fE+YzsnKKH~x6W4tpKy4~(C%_YaOE9(5Zb#CWyHc)*gB2uOg9 z?AJF2kNsHUF_Dz;ep}`-k(BU$SBuAf3X~-!yx%MD55i*wBwA1}rMx^6rB)zvn07;3UNJ@BrvUn^gk`msZC*iSRQ?Oc6!Z%I%>I@z$ zq;g?;&8RWVAW%r_GQMJnd7X@fMyf4N@y3L1>mZU6!Oq|UNJ<1H^yZ`N#tb0_MN-1& zoC1#phl3T85nY%1=;YmGoDZ5?IPp z5Ce>c8RU_s{m@<)AB@OeD@fYc=fhTg9&MIEk(BUxEweNZill^Z5$hnPQTJ}$xpi;V zyUE0&VaCK0(sv^GtMnQlnPHj6i$FVN!|jWX{v z8@D7Sf-43MNeN$*@->nw;{+(HG49rwl}falsdeZ!p?^!!Xbh3^2+``av0{;w@HNkI zKP~ae;F@(O2Ga62ZxI3XwJYDS^0g>mzw&iY!kfWOf}7UO z3vOocrms!;{L0tL`=C{UaPKKTriYa~rN^0e;_yrqO&E`nj!Gl2OcFKvSdETdmY)`p zB!*uz=~0Gcn7wBxNKE)ujrB-(b8y=r-2lPu4L3bpq2f=#^zqDpEvggkKN= zVsI*b!l*N$LWDXHTH~}m)0B%y9oLnS7&1Vc>D*eZg2^MgE1LnN5wMS8*94rT517wN zbe7TH2_!ycUoYnmb80y=?c8!h%%>1Z#B^k`Ug6*_LAnTnbP-6Ups!E)dX!J5MCo&f z=*XtvKxS(Y>q$*^Zu2Jjy2FGU5Pw8s7V#0i52049`r*-+9SoIM~M-k2h4*nP>%^=|B3D( ztvN_dVaHmJo(Y3=h|BnN8MTX+$<#hvy=JXi5MZv;V?FrY^|34BXhU}+qbP6FRj)RZA&gTxZjMx_;H^ccFycqzckstTJ1h~ZOLm5Ua#5Sx3p$^ zU(96t;7zc-FJ!TO@HRoba1FK(-Wj~h@>+cnkKzo3{HDkUg^&>Wp- zFOF(`!TEcw!G~dcU%brrkIB*!ld=7i!KbRcR$of_k_Ou&Kq|A| zc$}y;)4Ls(jsj+!(zlJI18Q#RWZvdp2VY>JF9u(lztGEvD$7zRHnNtXDQQ@*Up_IZ=-m$leF&%m{GL|V2pB48M&G7E?=j7hl>PasSL z!CsFQ{93a;<3fGoVynv=X8FC`NLg-29~`ZdgH-aEJJTw*A9asi$Q{XE0mnv(Pmi#RXApl zcC=O4d$fJDW3+R$Ya(B-s(dRd-#W^-Mm6wh$&%5&(f+!5qXQ;bucCY_Dc{PNvj$)p z{)A!)5-LzN|EbZMSt1Dtk3oV=P^CH>0PfmH>tLWlE7+c(965}L@< z3{A>zBCQz`Jrq0%eiatsEKb9s<;-kMc$pc^8%~SHeQA&u>L%2w%HZ=I` z_rhn4jxq&#nKqa!CQ$jqApj%TzDfEpI)=g~Q%Q1Jgs1G@>*xl85u*qs`8E}d*w}!B zP2^QXJ*cwHV0244xS4g(#%H73O7wN~ccVLu?nnWQ4zC(Do6CH#{UPIpEd%4BL))Hs z;!I|{9Q&mHwaI7I`t_qSKvLIkj_zvk*=&Q)wln!`^pC=4TUmTIDszN#_KYP*&b62* z+W2hrcourX=-m19+2~2~G#Mggdat9W$wGIY0-ueZIeJ!^&qmKH@!9A?P4;xYDn_3 zN5r$1fCpn-vSEZ&a>xfGG8&IDB-L_bNADWFTbFzK_Ex?>8E!1G{d^wj!7(bW5Wi2- zu1erJ%n9&P@-(++Q(U$=XDt5#Sw00kB`SPaQ{f|{kB&Yz`uIdD+)w%bqI`!a-vQNl zXi(wPqt5^`&ze;DSLNGB`S#^a(725H6%r5#!vcn2UQ}}--i)}hc!^B%h_TNwArg^z zk+ed*3O@xeP?L#}3U3ZhCUX@<%xP*LuCZ#(m#>b##;TbDp!rfM-~P%s2NV|q7d|5b z1y%n))V+6nRMpq-f54iVQBkoVoxt>(9%_=w3<2pa5PAu{6MB(N$AEMQAVm=?q9|fV z6bts=8y4&h3ktU1d!2JK$&loW`1|Af-1~ap=ec7zXYIB3*`Hn3UYqp~a%t%kKQaq5 z)8-y6rsC<61Rgu|+iKW|=X4RNyO>!bvNAK5jQvcv5F#e*l=qB?>ox?zaS$H@oCy^Magu7U zFOq6+WKXm=PRtr(^h){^v1$7452q&WW0~#tYX;SNk5__7r<+nWSz|2_?FulDslE6Q!b7nIh(9;w1!% zzCAY>Ce}q3>*AEk-n3dXdoz3UQ%kD7rAX?gn55cs#I(&-NUA+zk5-h_Eh>Q!B)-JP zMf?EUKf+pXj*PYI5|DnmnP>?Qi#go z?oYX5o^`MY?KlIaiEpdJ^|m^awz^Z=>JFo=j+TPl5Nnpkk8*)`!i}*XD@dw+s(qSF z5$&vz$rRCSoGRgFQBtGHQUO>M%}k1*f#k8|SP@rI=VX({A(f;K$q`ap=47UraXj|f z#uV|^(kY@{wpBx7s-Jz8eYLjNzQ$C~J5<8$Dq*)dk!04!q=l>97#lF@ zNimlFSQKMULodj1Qs!CokFkm5Y5b>33=(0qZ?<2HL0e3jxmzXdQ3-eHG9!v26Dk@q z;wT>-OTf|#%S4aWcDAz8xND>=KRx=wf-q~73EyjzDqoJy&URZ$PG=1XKEV zx^l_Y&jKL5xU5p^>PRg1Nu{mI?w$4|Zsx%EsDyo{prgiUTPADdl3brO&W56s zf-Nlx^KdVEFS#m3OPM7jk6gGSx9Fhw6iN!oHUsOyvXaSy6!*o5{);}w+0CYju1hEq z#XvT>7LF?)|`Hr?d?D&YalmZ1d}kmi*8JusLjBadR)Tz#Tmd z%@~2P#2u<+{;Q8e?DyLrz~To@iyu)5537XzrlWZoc}ZmvSIlF^E01Qj&XPL=1zCE> zez8M}$G{L{`ELw3m=t3M#iOK*2P9P};}(5wU7SqY;LbTxyK)SRwv?)m6iA|XN|W^| zyZxa3aZF~|tnUdNR0)r&gvT&hrrL6$tF%yFOO-K@!ek88XW`uUD);QjvI)B=N#*`i zrT^+*j3(^QV;E_L8BM%of4SUf;&pvAA!jto7Mz(u5ayWhq)K?g7)`t-qY1)?%n3Rp zvSd1Eg8fMbPZubcSw*<4IXRq5(PR%JCq6HT{jlCcf6P;!mLB>kqcfJBRw|3IO4@W|^W)6$Pdg{@H<2)Hn zycQcxI4%^^Uaw*_;i&1jq~d7eO_e~-9vWw327lpYjQu;gCZd2}BZ^6Ld$S82Zj>j3yj*2V2TC(pqN}X?HoirK1T) zFgBWaPbGY0jwU`aM-vh*Wo$1eCz1A_h&^tPAt3`_yzHH)bAgViN@@-{@J?EAcBD&N zb!5_3Ka{rmzTPYy`cCo(v1V!fm?fn<9Q(1tXu=V7w3g9?qm40|FdL^z_?Xdz*<`5z zQYz=tfrfkt1mn(R(#mG=X|a+J;#LLjGvaoI*u31)&e7hOmmg6HpBnRWQqN|vPEAvz zY-|~@HO(F<*D^4-TP z$I(~Y>*!|=A-+-xU#NsH^$9rY#GESCa=Hdr z`qylf@&NXBnTm70L7J>jpUz)bVz-Pm977$$uzR>EB;Tn7zMXGr_`06yd7|m`<$O5P zJq80zt7ZF}E9PWojYh@NXQSd2kD$9Wxyy~~<#Y|^HdTT#l9+L`Y|R{9WT$Ggd2Wha zAd1K{m1dE<68+P~#4+A60kbEXV)CO(_(3HcEfo_s!#VJRpILJj-7~~Q_Q1KLC{r%M zDM0;H_LzU6E)GV^4tA8anvU6yIc4hNm?!GuSQw`+ zf2f2Ld|bb%gr9YFv7967@_S5OBHTWh%QS}bj}mMVk^3&W1&4gpp>&Q!rg2Lm-BG#i zOviHli(SD}ev>cunDKG0lBWJ^?Bg_k)E5ko$9{}c7sqB%7spn|HplkFtRaW>*{H5A zsiW@bGkosh#H{q+X4HIVHn+81{ag9DYDR@aB#s@}q|a3yHyY|f)Y4qHvQ#(K#c_+M z%U@;ca=Uzie^;h1cRKdO)WxDHOEpoKj7V}W%Ut+|5u2RNNcWL3PA)uSTueS523PT` zs*Zhh+V?u{`v>as0P12nqfA})W18j6s?_CC$72=L#d5Z?oMos>gfz_=Ipkx_N#jyI zMv`*7C-=q#bJKzxwBY)JlTuMT$mHgD+M#E1``<_R9nVq47Gi!%)kQM7SrSf1U0!v( zR!&{sj;YK0rRrj_DoYJRT`U(F>SD3P)Fp*}IyE;rohwBo&@P-xpm-`1ac;}wTDBAt zZJ#t(b$qI~RW2m7oKIV|*oXved1l-xa-Zp5r8an=`@C3(Muoa;dUhM%&dVKdhUxb;Tf? z37y=FsgK~Ln?gL;&tmIRpVQHo)?)B1w_=w2b9M)f4zKF}R*6v}2F?qe7hx1vVaj@} zrH-;(p)3-%BVA_-_XF_d(EW4$C6hRjFq!TU2t*&xs;Mj{W06~S0_nclBV@;u1x1!7 zjcW-~*}O!*@h{ykyR-Tqvuw(=LgJC+wp6*+N1t-)vn~C4Q@J#h_^PUuz**Z_2b=2} zN?>WAEcKM7zM%wSVlsP@oEMZ^Sh&QKVT~z3IF*}v_^(I>dquMRirtvN^&m1UV}n%` zkH2OTQu%}ag%&u;ROhsd7C4SpSrq&7~PPiG51O zkJ<90BlcsQ7C57#1gzbr(N>v7rSoeZKq1!DW15H@BUC_yl``ON-ka z?r`L3bEc75K?|H6uu0bfXJ`KBAIjn}v><3|fwLQ0VDZMZz$v3Ki?0$baQ1fgDboVK zvIIm6QVAerp@1+2_QIKI5G<0z6}Eiv1kZ)JpNrv5+;X6ka}LfyPW_z2$477Z{qxbq ziLFllUkoP|iWY=oTHus(4wj@Uw7@yqDY@0+&%#?$lqK2Ff@pGXBs-GEWdwXx40KtG zCPO#td&$XR0zFCKox?J8xphnDBn&NbPCoTa!#P!IGcBeC&Y5Cp`e|r^bB^<>GA(c} zDAfYzl9(1`DoaaK3%F@YwgN2~F)avl?IKsm5>`agOllz|lZ38Z4#5T|VFXcvigV+) z0-Y=Lw#vf2rMa}#riRBQg_@;VtXUdAmdKA~cTQE%0_RreHqinnXCh?X(rlc{(n_?z zXtK1Fq_k*GS`NwkQo~#u#MU|!A+E(@TYx*fnB_n3c2Appi-*T-hI2VzVw44>`%@=G<>e zMO$UbQq%@oN@zV=A$==LA4HJI6>i9tz73{dU_+~r;XX@_>_n#N za|~iw*#To6g|eAfYwNpUIDt@4)?Aqi;R0PLlK7D|I>HrYA1pnyvb(AEIfL^_=Tn$` z$W)3B%F<3*Bs$0J;E^)cCz)R{-I4t}Sz8Rw^vR@wB|s)O>?g<-;K_28o3XVgD}5~L zup`Dlkf}?VTvUA8zmW@))Hz8~hg`hse65^Zyrs*SQ(1cOwRBdNPKI0z6uHPR zlM8YK6GkrAo^T5Q7gF;HGPRcbY{F!;qH*UC6H#vJ;QU1Y1ds5PZt@9sF}^mrdEL_W zq)+f0`LTQK$9TCos>{XC&R?9z60?R4D4RM|+~!)9RetJFahuC|JSG=^7;@3ekc+;h za`CswML|q1T>4hifa zD9ZqP|M=Hm!Ru?g>YTb;chwWG4~li`u150u!Kcx!yPCLUG-56wxj2FQN(AL)PXFIlE2%N%8ys4O#-WvsGP z6`kSg>*}ZNb@ewp_zB7~PFcp&!Aqz1|6+g1HOw^}gGgMVE6!wPnWQX5bcJ3$jPF0Y zzvPJEbGMI@Y}!Ki(rhas^jaLE^3lT@Se)#^y&{2V^AOVn?s}Z#~*Z zS*}6Y59`v+kUDAMstf;ETs<*s$^rc+#@6ASU~ZHsWriGbWkHZoz|71{BIGi%IeC!7 z?RrTW#vCy%SYeLndc0KhT~8UJzseB(b*AXMo)OVsT_*Z3h!C!+O7vgRMSpF)>b{QZ zzTtZFABg_jBKqsgME`wx*@ntR|1kERB={v21pf%H{>=6HKM;J`|Fdi=6Z~)G)tgU8 z@PBX}EhqTLVuF7nCiq*F<$6=_cbI~IZA|dFATK*5LOKJMNT^1p)j6!Dk})=t8Rm>= z22~k1hIChx#^*kR#-&VbyxzCbv5Jyu!RLX6UAFqr3Sc%}fFLbj&r3-$njhRi* z6nuA0ef!69LunRH_vP}`opaBAivY{>+_kF}xa+v<0JJH?P-NbFL zLiE$h{hnOze@|5weQvi;S#DL9{mOEevfQXF4^%Q?l1ZN1?e=JU-E7h6l6#A?+@vfw zGX~IiLy~0fLs$f%2COJl#FKKKEyY-YWwVTs4Bc+sq|(_vA*BTBN;4q9MB0nk zkuFg`{6usdM@~4HY8p+1lf(^S9TQnL&h${5baaG`GAfc-S;9yvJM3wAx{I63v)tWG zqwiN1){Z56k1StsdNf1sv6VxQ1XdcSPQ__b1kO=nO0abKg2h>CR^mwrmgVrT5%I$b z7`_Qk>TyXeXL?F)CU%^CMhZjFDG?&ZDN?o`+1%p*53y0i%M#OERjcmfX1mti&$Rhr zWkEkAeUB`^(?*Fs;y|awDY4c->yW4`aSV~L)H!R$9I%yrLj7DVF)6GZq$U&cjZgJP z&DJOZw6d~IOU1VmAta5uQmcu>;!v%e>>)x*YPiZkUiVNpyR~k1YbA!p@~E;rqAUk6 zTb|9uI)pP5M1cd?B9@gDtgiTMb;Xv7vl{h3qrT^z&|I=sxi!~1Sc=rVNL>U~p zi`byQW13|AxLkfL3(biWD)(xcnY!1x z*Sj|)W_8tVHIB)gtXK?>jG|N+@3=RXj(6PG8snX3jqwhtdkhP<$$00v*m%diL&gEm zS25mk-=vRsUWgm-xNoi2%zc}C*Qv)l?%gupc_}vDao;5`d%4o_j{Ba9;~hdx;ukpF z5Af;--4C65yyM<4o_;Mh-f=%BuYUbB#yjpO+)tK`cihjGj(6NI#>P8uD$9H3c!v}p z`nvTSrQ;p;u#!VLBwUE(lE{gEoi+JLgw$7b!SwU2(Py00jNZ_j(OWd5ccdA;Wz^R@ zQjW5mLB@|C%8&2H+E!dMG8Q=8pSeFj#dzmSW4!Z0Y`pWWJoUrU@y-v7caFM$WW4i} z`)9^G$K1cVe{&yqpK$+PZY)!Nk>h`icfJts|DY_ND$8%mLZdjWEI(J$!|LOmzdf3^ z*Hg_L?|h;xA1TYn|NZffC&6REZmX#bpDW7|W%4bpBLIA91DXUDK|5BDe^|0M zKY~8SueqcMN)B_1D{emS=_&f;Dc~v9M4$fFrO49<(XeVUDKdT>C_h$@{TQcDo}n_# z@r>|{^o&Z(8oFH{=japjz>cpzzw^g42{zt4@v#xNyqB0YchIG|t$(a#F7JdY40k+Z zONTq23HoryYFs{MExmlqQ^at`T6X!EXBt9et?cqK&rHv(SO|bML0R?7$GFcXBZrgr zK8e~lcD@+cOU5sm#pQ-liMEOx9C=i=W}bPT`KKNnc@{D_vX)&w=2>`KF%}^wqCJ`OwLI6B#Fm$bF-KmFC zo()o)WtWe6HjAOBbNQHOt7lu;P|Cv&xUpB{xw$k1z*al|yo7uyL5% zs&j)J!p>x=h+I}dmH@N4a)`VF(e&JCg!qT}v6SZyy{+z{t;+3VR^#?D&)rgxlWrgL z+$TSl-9A-#nORyTN4(7a@6T_7_MP8STlO#zND-1ZLqS<=rfaeR( zmze#Pp+i}%+~i7h(hP^3@cqcjKwWkYSFDEIT%?*_=s89BAASL5fIqMDN&jL>?fDU7f6^u97tgVB5_3YAm_OqrCPi73_`-b3>NO;$l}HRR zN#=Q$lw7jeW^>Rptlz+tP2_wA3n9KxMwI0Zmb9Yb_!EcTv*fe&p2Jgu^4a?J_U=uP z_8y3-iSgt4@?+V}VQ~`Uy;vm1d#U#_FGp9#O-(s+&5u)biAnzH9{<$hyu_@mf_ep> zVb3IH&D^!C=j&FNDKSYEB*t62RARjK42enAXVliF=8W3gP$VWTHly}7k%G1HYR$X> zZ}8MI<4qEoX%?G5(8~1v&AN!qSx(n?kmC zPW&Zha}+NeA0F+^!q9AQ&Z%X_n=3V%6`Qep^Tg2X)0nY)uk^MnlNoR4Qkn5`b=bKC zD$uOL%9>})*sbP;Vb+|O%w%)GgREYp_sq^@%AS(VfgM(4>B33)Lska$JVhQE69v@ly|hqjCZUNX=XN1Wo?7Zn9WvXhA90A zYQVx20!XM3$u%>AVHvxnF;L+Ib0`#(8Sexy=NyPOv$j*#D-D?;`YSn-PTW6XJZNbe zOApztck_9tipA|?c_zFwB+rC*mUp&yj`yl^O8}B0(b`2>J1A>` zvi7Lh5$bs+yz{*aw7uSirt)-F){e^Bi4Q;)sO115QCPAZ&Eg`FA+n?>OZ~d+u*fe- zgGv+RRr<&Dq;f`;><&a4OWHg-#wwp&@sBGpT13aY+)FxU?+R0Nx+`l}W$i}qEssX& zk|hC98qvWl{u`MUu$jeZ$;!aS24T!%hs^FWQaFFgStR}uddi}xbm%N?%b7)z$q_W1 z7TY!;Hxd!XGKrPMPprXWk{$4c-!L-e}s~OIh=kwP&f# zY(;Qjg;i%g4JA*O@H*bYSt53dh`A##mp2lKU&(m2FCwYT$D3#NeQd7t~+e(O2 zX{E3wD;lgvL`!BSIcrG(A;*7NEN1~RYR;7~O>%7-v^A1xb`zmX1W$lB_`pAKE zusofJa6Km`DdhEqa>BqFtE9=%8@v)qm2rulvxHTDewMX-_5viql~G7mxY=-#JRfX> zWXNW~X+8X3h^d!^)ZSeprrzD&JIch=d$)+GcVC>C4pY`b`jG+3+TRemLiQwB@tG|=dr9+R({z_0TA zr{1UJ$04yF7$S`C6KD?Alg&KXQD>J8Jl?&-O{on%CgSkQ48o zZ;ENf+{512Vq*HHA*RC(F&$GXrtgTDjwln;52SM$S(%uAq`vcGLOMlRXPQDf+nldWjtMC{bHw8k(wEF_ z0J7Il@J2FiHNp{HmcKc?8;+l^`7V*R>bs1#I$hf8RK2bGYDqz+#hRt@qeL!RXT*N2 zAf&#=K8{LgcljKKkeZECS!W@nMw2~COW|y8N^&%u!Gb)A&{9&!p~W!>PUj|vi8hz~ z3@OQGWPs1DhXPvXl!gNO{9?mZaWgPql8?_)JiS0!=PK)xN+d;Aw|yDDOl_~Psi}kW zl~pP0Jld{AG_xYZ{;G6S>;aObSww=9kCG`*<{I>aF+pLSh6rLg7q0J<>isP}BAcV^ zIinSlwn@4~5ubndx0M(y8tCKrD+cG9da_tq7b@!_`etLRJrhgGWNADJsRvx>Q-OHieK)Q|2I&xJWYkAq!#) zyRak>lyrlV5Ro~VZZ`!YRGv+7)LQa6(23{*M5Y7MMiDuIzhydEI^_6=kNy{e;_E?q z@l(hNYm{}lAt>8LP)O}#3QCkkAqMavALj)b2&R*; zj0EB2E+QB#hovo&d&CQhZ-oAl63S~`B_HVu<9i$<-$GfMBIC!2@?+V>VsU~(6d1EJ z-*n#$-%Nc{mU`IoY;I4o+GhT2U$E-P%EYV%cj~KxrjAt1YU`U*sv|yS=*W6QM>d-} z;#(j(vLU7;K1sD_EvZCDe8s+HWjeA^SvQG}Ft!OMaX#P2Ey1k&C1r4Va3*~ju_M{^ z&>Z&4i9fsVTUD)@Z?$jDsddD+PITnjn2z{1ifLP_&=KFYzAY7XWSg>XHFQLdt42vo zBk(-r!5VCW6Lou}3j-%V19L{*jQ$ZcZi^{1mFyM1?* z(-AslW8KepUra}CP}W;a9l6ca5eXeLk_-^fkxd3>Du9(7mc&?2V`e7l-Ra)QW5aoi z_<%*9er2nVD_gBMNfX^^v_`qI)moOF$oTP){CM;K(2*B>FX}q-vY{hp<5bpL(GjD` zrqfb#b8@qT5#yo*X2fYE+vj4^ROVATbc)%*ob*U?Y(nOH%|~JonULMCth9hQ2zTUqZ=)_W`I#C6sA z)OUow<1%)_ds1 z^%)B1lF|sGV#3F4D`c!!B0h5YI`aa|GeVX085lDHR{J%6h*kJm?tW zhcL4Ih!sX60V2fEYy_RfO8yu9SeD2udM}4e(MtvZBrarLj2e-6kvJpfL=tT;<40;n zpX>g!NB;}q@mJUO`p*#I@t@^CyG(fe77-r*d2zz?gt9)y2l%kEK4b{b3nDy^$ApJq zIC4?Q>3U9S$>o(15^*yKW=fgFm0%nUiE^y6+-V}eK05Tv=H4@ zg=iWH%dx&(8kWP2)_f%ylBSiLLQ`@%1D%r`PUg7JIkuvJ>kLDq- zOXGXhXlG-k9E2B@pGNy9$&YWuevBLSASH}?{4@MB&9EF(LSjwOoNV|x>mdU1c4=6S zU&&M7iRyV)U+DJz>-_7n ze1qBTf2^#BmGz_lbhq!{=HHIVoXpU>{m+#3Q)NB!f4bYhh4S30cl*2ix0mbo$#+Lv z-W%8L|Ddej@sWI~tX~-2{_oQ5e;@1icYk;CVg%3bY5=E{0jDr@f9Y0;!q zwhqd7`w!_~-hQ6)jeL1u8DHK3`5eBEePqUuPsoqo#(s?Z^8C-}U*7Zn7yK`>@ssm; z|2xmBp-()5)eg2vJ>$W|tX7i_<=;4FVq(@3dxtJ_8(n2~j1_|AYT% z#jgK^vK}`k9_(Do#5~oPCMoJzcVPX5WKHOyoNG==$t7GiUY~x&(BJ&W|A9#SF17hb znMnLChW>dPA`z$_kkN{HI5lu?sYnEDv5Cju%66t961KBVk@%}@;t>v|urEg~L`hpq zVK}V9@?rD*xO6@n0&jMkWz~+yJptfvBM-wi?QIzOr4QtBGvQFdAi_m0KlbZXh{P znf#FGgY_Mv2iWM~SO@Pkrb==v6Wc!A;>6++t55pg44V@ymylddV)u>setmUJCQ6(D zVQwUATx?UwU$c87VFQHGvoglkf0a8qfewL=Sl!9Ax~8&Sq-+X>;<29T4`8 z^z|!=Cg6Yuw{2yRHIx+$td?mKKhksHXf|XhrxEYK1cZyUB)EiAKSY}FxB9M@ej^Bn zY$$t3^3RLOB$?xI1iMjevdLXuRh!&1&?_&^?0v91>!KOW&Dd##GguEifoB7{iAc;%%#=Y*#2->AhoBJexCD87#9hVU{yL zq>nJyL@T$1O(|KdB^|rW_D=QJCqJ91$;Gq(#mp_hrgA_o#H|?^7Z_hA;ejHN@W9ma z5^l3ATVr~#`pQ;MmvCDM3AZ(gNqCqB%U#VZG0D9X`UY|~i%&ilo#}LFgxQj3rksQa zuF|_j#Zwwdx7fhw0q0Ba(=gTp8b2=wR_oZf!6HM# z8+7}-O%8#C_79tVy?5@1iCL?yHJDA6U{=FlbF<~1ceuo(%r zIb#wY*e0Exs}czhTpwUHjmOImidql#cWPm5yiyK6e$*V*bE4jxx6e2$+$GTFZ z+*p`G7(uzMoxsi2ngwnN+fFa>* zq>|MxnCxRMLE;^_!6Gx4u~~9~j$Z^geqjW2*ix0PsVU)d6BhG48@E@QYll&Gomh{GurMmSq-mrp z$qbXAG&2|`>Px>U;iR^zpT7t&W3**RTQ!310>j0NW zFg3KbRJInz+F>gBS4fM^P2BWB%x0rx3{H_HU~ae|)gvp1nJI?FN5$e+ag)fvFM(r$ zU!`7hl`Tuz@+uKenM4MD5BxzV@~0`~VP(r!wj5fzel$~(LbLrWVRS)afQ;1K?4n=+ z|6i69(GGOf>>E)*w32l-f;i=Ts<8$1|M#yeF3@Hd1eE9!!;4)#6o|FC?-pYwZ_G8DWZSOb$UG-c>YWox5sZ82Gb{BRpl zFnE>mHG71zJt*OVdTAt=6PJ^bWC&A?L%{f2j`i_g@wk+x%7^?5VF}j4&MQP%f^~v* z%Y-G^P=qDeI8Io)D_d8-s}9Q6-Vl}nA}rlv!V-*-c#ib!WUma<6ER#OnI(JoY#m3F zQ^MJFn(@KtL9Yl)(9csk%g5SLZ{@+DwDL}|@6z}&RetOe`!P;ff=xwOf-QnAgRRI% zXIb-F$)2xuVM&@0t;< zZ&O%;c_J+NF<}X|laH@wCBhQy80=IgEWMPiK!k;>aV2s!>fb=RV_% z2mz9DgP`Diy{#^!tqzm6T4*%O#Zr)=v1V!fxJ-T=9{aI^umo2J*NCtL*BQcMHcn+5 ziLjVWmX?BwXM~9IBTQ4SS|lmAakDkoC?w~SC6>scvQ4RANswSM5tcE^HrfytGVIaD znDJ)k$gQ5TJ;i1@xp4VNc?3~{xk-k_TgBqBu_(ddbuy0(?g-ux+!?&_q$ok#BxM_? zY%`T@Y9(E^Xif0eAVE_>f~MpcyKSPfjaRk_G=6k$p}$OX2t~jUBi8{M%2zIXXp+-_SPJ=TW{d21aw;DYkpu)r zv>VT^)F<4DNDK?Z2=0=QiB^>-@Pqq<9Bv36Fzue9Y}1r&I(ADm3I?Fv=p4ZuqH{(x z3Y%#BCijR);38H_5z!>h`ZH-JR-J#8X-st4DHQ!-Ce1_%!8iX{E=FRsK=1}}>};>; z)kqBzuh0AswUR)KDtFg{hk{RI@-wDH&QZ2m$~N0{HE|?*NDPxQiKH>qmw7q!F2s?k zyIg7LM zBq2SbcTS)4lm*f`%`?7g$rfXqAM1yVAHS0y7sh^!7t)_}Aw3rSHTYX%)+l2qO&3!C zv1i)6*y|(4y$d=mioUs?8QNa`Kbt~YG0AuE_n46WWeDj~LrAYNg)~%6g!Jl|kcQ3@ z5h$)iNJHm_xc!00=`*xt%C=mDl(fguU`}?nkIj3z7=UfajGWvM@oAY6PK%JlGZc!O zp@q(`)+}^EsK%*57<;hAtJ;R#qXTp<1CUDhlapWg|-wExIuajhVSj15o^Q zR)fitgOKKC`p9_{%}$Q8d=!n35)3uK(1xK#rxwysW2w!xF(C~(#n5%9A*3Ns$Qu*V z%R`}3Aq}O*gmit_-ykAq{mfgw$-D%C-d| zHJhvqxwrx;8fIWhuf$xQn@7l(Ph!^)*|G>bh^D4QGt5QS5a$gI-25EakY;)?;c!RQCuWUPL&XNj_ zl{GHdW6@4>kg~pL#5NFvjvf+N$4yCkOo1%ER{T?$w8;It1bcA6h-rg9S@`FFTZzG< ziJ?&;7N0_6Ol`SY*=|&}n`qXexAe{QvT_Ot;XqwH&^(C5k9Z!7?evsbrQ# z7R3&U>6C+XOgNdgbGuWix-f^9q%@LRM@}*5fBa93*3X!oal;umV6@T|aqhmk`;=|B z>1HOlOcpaGiU$S9RI!5Yk3bVbA6fq8)EmbEX2joGLGA$YjZ6Ah_AlfAy#2T#g`;yYsc-wP`v2Z>(8$8U zMP(+JgsxV$dtzp8malQ&NoH;jUB|Sz+{>~j77ZFVaN>~G6UR*+e_QDK(2mdzp`D={ zLpOzP4&4&EHFTSpUFE+Zt$uma~+)SO@E&1a60WVL!YCZ^GN~F1!yP z!bk8G`~<(iukZ)_rD?U#fs3FvxFH0YkONmjKNtoxfcMwl1~XDv{sI+Ur-7T`T~cuyUkRfp%);Td(U zfPd=-0UPUPLl`2^0Xjh!$cJ7q2o?Z7t9uW;1^B;SeMo~`Xb&BsGZa7{pv?6KLm`X> z?5np4@N>P_;WtgIUk8!_8|t@(c7P4_d3Sx@UB5RB0Boo~3h-V18{io@s%Z@_25e}+ z-!{Mp4Jdzu>)|$_P8-|-_rc@vBplMTh5^Wdo`8)Fsh5Uh;3}X^G~59X0={qfG8}>9 zG|98T0v7`H+^8|QAPHJQ6#BwwpuCO7!33br8_fdjYcv<;!2(zgD*?YY!tO@AyU_;N z2>7YdwXhYa!$y>;5#?^Q6K;YR;1l>x(-Qe^63+*GnOGO7m&AsU2ww05b)A?B>5v7K zKQR~Dz?IMqus0D~6R{(458$iBH{g3Xs%eeS1>V#661WU%!4<%J8uOmUErI7Xrp_9V zg@r)b8dH|Wcf-^08hijh!q0FFXa|i?Xj+pq;8MW$CMl2y{eik^G6kjq_BELgJiEza z;5qhl09))$p*gew>cgH5l+#W*xrSG>^E^BD*=b|;jzAl?cZVK8d$acfY`6CT+J&8V z$6dFYeJ~7xp)d@tfgM17aEGX7zZv+B?Ud1e58Mj};4yd{-iB}BSNIeD)-*>opu7$n z)BxI);|ieM4s3T|i=znmW*i%V`gia?E}_yKv~34%+wmm42rt7c@Gg7`-vWMdTH!pn z0C>KW=W_v#=Bx(+Xa=nTpEzj)&i25!@8tR1@}M~%h4^-aR|t{;8%d6?xiSEs zyYRV-x_4o>i?-#$=dLhBAPT&L z8&GZ+<#ycxdjQ*9_rU}3Cg5M!$3WR#-@=N8oe#621n?ZJ_c{xBN&E;#C} zd9mM%@4RbaJ(R#ExE6SacRNrvFJ<#mHZNuK@?K7dYMkBFytG*_2I~Mjec0){1@3~q@Gv|H&%#T9eZF@AdwhRr8gb&9A3OZifxj_$AO&cn{tUn# zKfd>OhXNQ3!(jp}0qTIDL(Tsf;D0~9_y4A80lrbc@VBA%&=ERA7w8Il_cEU|?Ctz=AFJN=%L3kXfm(U@29{3(YU%*lL34Vq@H7)6ExB#4h z-;%sQTTV)cOlStwPZDhUQ!fPGlS)}r+d@~Mji&Ov)DpN0 zUI2WVhRtc%mKK6mkO!k+8c@zO>LZQ!q)`WH_&5!Jrv0sH>D7R;rrY3rpia}N&vbm4 zjt|p$U-}&2yGSpF<*)))!5UZ#55i0E3cL%{bvkvM!SgaM0UuCj8Q7H(0c^|Y4*5X4 z&cJ6GeV`xUyNnSq5sF|6;J1v0K;30vN5*Q{3^%|Y*arvUIlvzo*pl%+d_2 zru|_IV1HA5)|6*8y%(s1rqoxnbD=(@LkFPz%?e==;MZn*fi}^McQpH3)0&?LmjZ3D zIrZE;5ojCDX@kvYz$Um3ZiKtw33v()!PD?8JP*9TIsR$>3Q(5jyrVhgY5o?x4e!Ex zfd87)R+@jWX)Snf3lDg~4?#$RX3zp!K`un0BXkDZY76SNMFC8L$$&3fTm?%2pR~Z{ z7CT@kV0Vj~f%VO@vttEX!%WP-|?Eza_ zVoOVGY1tiUZ!NK@B{sBN1S{Ysz+WwSS4-MS%M(ml&jlY))>f3Y6=iLe0%?!|yr&iI zwAC!Z9VIDpf0m0f7TzGmR$>IKiNHCB49)I^{@|~2kJ7LZ!w#{&AAw;!yM`pc zIoAL_&v_7DgwFt*!eQX=!coWr`kpX84Y!95fNf#?8pf|--W|rTVf-2{fZos-`U5@= zZ-#4OEAS13u`hfZP?qo=uotj5jGw}f!a+C$)JOPp_!96{SnT=}{?fEu{FLhk?99bi zxvilMbb)SwO}QIkC(xd99|ruE`vy?Qx%fYqXGId=QfLJDJraTxz^9R>&;qg`2Y62e zUqtXl1V2RZL4@*0cvqws;M2&xa6dc%55az*ToK9@p1?pv~m%hC2cO zzep9p8j^;C(m@_^RU{n$`(>I$=krY{-FJXbo+l zJzz_x5x{#oEr;E32jG`Zdx5sw314)25U7VvN8yB~b*8>M*8$4exgj(L+Gc0!pfkSj z+z*BUe(U@=JOPK`S)d(tei8U4I%9ul?C;F8JHHK-q4T>yIXYA4oheIa%F_80P3vNT z`apTQBm&=07v9$;1SyaP&7cKDp$%LK__|9M7zYzz2F!*M%P}|(ziV38Gl6>VN;~Xo2W;r-0qVGG0D8bE7z0yaI?RLxz&pDx1^nEVI_ydv zcBS2Q-3QOY^Y8{x_O86YEB@~KGaQ4zHLY7U;Qie?0_Ez~6?#BE^n?QF4fwxXe;5R` zuWmzu`shYocf+=BtKlZN8E%8y0eiaL4-dh9I0)2Rw-?}Lcoq2eyHQ8oeu7^BySial z_jBPAxEyLhZD4Up z*wOtn_#D23Z{U0Q5wNAl`M`U6Bmq9@(GBoRk6zFR@I{XSKt1$W58HtH?(ry4&K^&~ z(?HwoK^^qK_xWdl4e(q32p9>}Y5sVi9px9nRKWgx?9b=f`E!6WeaL z-(vyqD4^~O_)ZEI!X~&Db^`A$xEH9if`jk`;I{(GP{8|p*Ms`d2%3N$u)ntp+<=dI z`ym9hk>06*&w6J7w)GweQ(!90fLVY&y_Y~SEQi&w7Pi24xE^kTTL6FdejKo?H+J=Y z6F!B{;S2Z*egf*T_ivik=PWoEEN~uRTb}@6U!P>awmzAFZGFbU4ZySe&~Ex1f@k1) zp!|Ja*0jFWfq&N*ANR$deTTt(z|OvR!&C49P|y8ZLmOxd?V%HN2ELho`M@{RuK?&r z`t^hUFaQQaA<)M9@%(-xU?uE?8v#G`qkZ+;4b)Y?2jC|z1%^?MFp1nlki2D}Bd zmwvx$8n4j$p8+<&AN?-{>a%|oXwUt}!g!bnlVKWAPyJT__0oS0tb?sUoA18^b^*5Z z-vciIzUu!f@b3Q9PyfF(ZNSBF3DkpzkO*GzLkM~R{v3cW2J{8|F<=s4!+<%k81TV> zjc_e&g_{6h4B-6(DBFPF;CJ{7{?;^_nl_O78c2Buo(<;!?O>o4&W8)&Lcq3x)c?Sa z&p<)ph+PBkgooh(JPHTlIiOw! zQZEBPfREr4_)OCVVcQ_u=^*SIWCLs)bP-_NpgfojJbTbKxDIx}jX?Pa-3sq&+F<_O z;9)>}89WlOb?|tY0Q8}Qrvi2lralK_``|fn6;Ou3^I;(@g2k{DD8t|<;7NEIo(1Z6 zFm*ck9e58Y!(hrV_#5~hj>0jZE{5RSAy+^hs0(%oKnApcK~MaJ2A&7(8}f^$6L$PNl_6+R}{a^qT0{$6FJr11&*fw+q%mQp0x&iRZ zP};=MTj36P2p)k0@EA~UL-EVdm*9Ok3?IW0O&f-vhGEaJ^MU#rRue9TT7b`nWdrXX zM!Oq^zlY)DVLWTt%kUb|7KXhI?*Y#qPC19; zd^=(|OaS~iq6lUK?QFyf*bDc<{qP`Q_XunraS+~ucL94wV9SWl;VbwCsQVGW!U;_q zc`;l9_-`cs8;M;bgOCZ$p(V5i>U?B7z?PBNGI9z`gXwS$tb~nlJ=_M^HWJ%L-VfC0 zNc=bwKaRQxc;_hIH>ws;U!!UR{uxyd8Uj8Vg^xzr!3A#c0=A9n4kKX{j0Ng>6!wgo z1@sG}6yTpxOJEhOh4ru*w!l8P53p+#c8#J=N8zhc_-Yis8ilV$;j2;jY81X2bsYYH zzcg)hHNdvfiGY2ho!|lN8XbUsupD^bXv#jC_l$l39tPUeXzFD&ei(g3)5e?)JZH=t zmKv&U?JO>iwxrZHP#JK*0jlwr*Ka2P%YdDnMv z6n=u=fO;Q$24KV3bKyL=04UGc5F|qiw16nk4#yV3RG1Dk0lUXy^Vs=N0{C|<_Kd}r zu{Xi3unX=1d@&Y3jC~behd1DDz^<`B06rdzkH`L{Y2(g;1h4_NjKh|3X^;V#&;dF@ zFBk;0gK^k44%@~}hk1Y>$Kl6ue4pcZ=Q!Rs?rnGnsONF`XWR$y5#Xb7_-Nc`@Fh_1 z*f#zWa07Kb-VZ^*p7G706=Vbc8J`E8p&Rso-q07Oz%;@V9O+InRE<(gX5Z3bUxI8TF?k+2SwOcgl$EckOTO!2tO9_eQKBRKY4Ev?=0E~ zn}E75!be40;X1%iMfj=cMz{s2`y%ST2>Xg&hp&KoF8U6B0BkDy1OC>u$<+WKO+FVc zgqm}_Jsj32zb}ju`mH9!8D-m zr_Kj#n7Ra(!wR50Q}@8#uooVNCxNy&^=J4Mj>GSO-P5pn+8J;;;NNN3GYwm&Ilv8G zNCkW`4L?ll3f-Xx^aAXfHXiWtG<-a54lIVHune$e8n#T^2lv7K@B+L9Z^OqxJD7%T z)39yYaZQ_E9q{9H{5YL&bUN>x&ikhKf&!qPr{kaL{a_&Aqv`l)`cN1F)cbVmeLA*H zUkA4Wbv%7H+zHq-{ULY+9tHd}{SdqiufZGeF1!!N;5Wdo8Q3+0I-P;9X5gzC_-Y2e znt`uo;Hw$SZQ=nArrPz;kBqhXa7!GarYi0NZCi3;1;=ew|4U~xiuwhmnw1C&=Oih8)ygE zG8brfNAM{e0em&*2lxr_)m7EuEI0=&5CD91RWhVOCNu+lbyX`E3TuEi zbQN_lSA%MBCh&~8JY%j6E`S=44nqKY=kC%p#owp|;O`Xuq~dSXg-{bN1N^4&o5F7j zpQ-xL01^SeDg34!fbUc%Csc?cFmg(Jb2zhSPUy+HLL?{nTIX&sKa@W!ej6zybT}2*YGo78%5IQR|hNL$NBhi zesAEN^LgL=K`kAsOY2_^%!&EE=l!(O--?g#9d{{+xS%zp;( z&-|C+9e5u;giql!_*>H!&=wY8*8=QXK%FkYR}1jf0(`XqUoF5_3-Hwfe6=74BG4Mz z0=6v}4cNC}0u%vuE#O;RfPWU;1rNe|z`Gal?gbyi5%>bW)U<_{KsNBag*)LUxEXGP z-Ear+oQ3xQWn6e4P|k&vbK%3VAMpLcgYY;!0Z+kqnzrZ+I1|nR+VCRU!XnI3Cn?_ zUp4LOdT=FR@6~I7zq$Gc;P0;f8RTz%gWusVO)JK4#rUllzZK)N;7y+YU zEKG&zFbl9{8MZ8=4wu~wx4?cl08hg!@GfB6GHhG+CHx5ZaT$JGo&&sdIqzHE2HFC? zUygs4cYw}-kCx-3hzj3;XH$=TiF8mo0Zv+3#|da zt;BCD@!Lv#wz4D8wpMlp{I(Lmt;`2}w{kA518iEk5%Ake{I>EYxE1i*N_@8RZg>c2 zS1Yk&B|cku2tI6#{-*H6Cd1tCqnvumV;CcCESv?t**ZUN``J$E%(IY*~dZtGy^3D~px7od+=eFE^$nrdKy^WXxg370|uXbWqwYYld-p-$J}t2Ov)4Zd1~ zuh!tJHTY@`zFIR8Cc{*i0obH#{qlR@yvBk!!z(aya=?R^?VoWv2i{2t-lcP&wBdu^$nmAIKTz?X?-fB1MO;k zOXv-Kfp2g92*5|{X-n&8!9v&t*tni|u73`wv-K~*+wdNI0MyY2Y}jxaBm(uafp=|4 z0p7KtDbQv%&}KG-Aqx0=!w$gb8}RvtTj4gqCmVR*2EL&U_+`UAK>xGhe!xE)9tQlf z;Q-*94F};Xz=jeH&VaLkZ>j`el;DdJ+Db`nz$Ybkz!xPR2m*GNTnXKv2js&5z!xR> zqGUE~1?(-s-jba_`zXQQ5^OBl2iRAFEhX4eLLHTS2p<9Mr{oBnfIl>CBX(^(AMn%0 z29O9%zz^86F&TP70rZ9bfGry*!&I0HOJOx^2JG6n9c}@9w-MiM{8Q65S%LPjiT1GR zBDfgv!zTQ&iFa?h0`SMCI#3_5WfQh+Y7F>ilM_0^5GaJC^i0C&P&fR8pk1W&*#@H)H!Zvj5q^eKD>zru0APn)RA&D8;$He=IfY}$-Xo890A zA9Mh0+}s(uLU+gq{I?nVHqU@ra1~(V=7q2bsK?FNv-wRp48LpIwdVtE;@SudggLMZ zb^?EU?K7ITr3vsIZNZK$9`FP0d`l9fLONtXCNzf@&=RsC47tGbx3q?_Fdr7cVxUg9 zECYPEr35y?Ho(>`w6iVr6(<$pb=1~+Z-?jros%E4ZL$3^|eg_b+&CGP-ok) zW82k0JKJ^*tN`j~+ZuQP@W-~709&@b4%o8oBfu})Xj|L92K=)P|7;VxsB=CWZ9DdD zuMKsf9$?eltaW7GDvumLu~X88Xoy6Y&f z>+BD}pD*1ZDM%v?(jeUu5`t1vN=iyE0wSFf0s?vIvt!*!v)urMFr7nx(H<`k9r4Pe?}wvf%b- z$z)blWHPHdb!kc)-0`eY$Ya)6#xoIjGfTg-X0rr6&RWSn_H%&4T;m20(c5hMneBdN z%V~BZKE}Rg+tqA)neBU;T^aq%u0}KLXLdWf(U&3UYxYR&X7=w);U>4Z%LCM${fH+# zBvAvGT}z%Wkub2Imt~P zJ|iFUnAd@hbfzmk(AzwH&C}OB{miqgc@uE=^W-wm{mh%m1|r$XE)H@Mdz$Bt=h@M` z|AJtC6rv%6`R-=E-siiU`DsYc=M<*|rTH5Bn%@+Anyx$D+|+#E*nEA>e;ou1qT*f_#G)Q@Snw_OvOvuR&G???w4yco zSkR94bmB+4(2c3AU?qB4uok^6kj(vNUcQ=QE$;xo}=EP5B2O~ zu^AT^rU=C-L21mk*ldfdQ=6}8j2;$$kDV<3fdP!fEi4|5Sr^Y_A^R}%;zJza7$>-Z zeivWm9(r8-I0%-+B|ZtTgC*u(l8t=mZHWw)d`V5dq9KiF${>c|ds(8NC8G#qHcJR6 z0=KY4UrY9LoRgdmf~DEXL2m4MshUgkQ;n=nfp27)T$b%cHp}jCm-{?I?PV`;Gs}~Zhbqir z9`jkmQkJojHLPVF>)FI+wxIU%NYq}wlil14f)(ak5tSIk!ab}=iWyhnfK|LDKkmj_fJHI3Q6@E{wn8r+Iu^9cXSiuJLxWbLBILW`*!HRRZ%@s0O z@h%8f>TP90Qj(f9WFZ?lsfF)lN_OlWFK_)pG1^)mFA)cdP#9Acwic6|Qp&x3gMLtM#;6PpjR`>g0S(Dyq?kNvvms z;XeH5@?S0g)!T6wtKH@53&>)PH`WxS5Jf0PNy<=`ru4;**T`?pOFsOZ4A=Y@1mQ}A zM@4SoZYx}N;j#b)}HQx^h%R&2?W;g{oA? zy{*&7I`_7&4t1$V1HNSdlbDQN)=fh%>lPxHb<0?deAdZloxaxXU=R9RcZF+Q=R;2~ zgJ6Ah>~ei<;$nB}Q}8i4$i-*mrx1Etuc!5TTCb<|P56%Q>5qQatGhlD_qYBp)Lwsp zgV@mq``D0#bX18#9+cY5MG+xRmw-zf8q^H|6#`V;P&U z*UiVcgnTy3V~h8;cyEjMws>z#alE(1dt1D>r6au=#zefg#d}-4x5ax~ytm~fr#XjS zx44@vZf46Z%(%tvYWHQxTsaiwONiWF{-_ zEFw2~DS$mid`<~`GZE#eNM-CVq6T&sVWtST7-0_)YY4~p7-5zOJBiqeJB-+g{Y30$ zFYYnoZw_*pBm9HeBh0c@&s!6d6n$^i_tuPjihj4|A`eBdudVvrS{8S_wGl08O&dC6 ze_P%1){!h>IV)MsTJ*eiJNn$J$E}CZ(^ma#eZ&)<^NQC&uuXQ`WVEd)>Tat_9n{{| zl<#Oudpa?hKXAL-W-^P}$YI+BE^!-mw!IC4?a_%v9FmZXlr*OWX4~%l?d?!wdq>pS z-i5C8z<0CV+}nHO+u8mL^V!T6wqZBhcVQ3P&Aa_5r#Q_O+}!q?_*S+*2!hCXBp?N; z$b=h;bUTq>(-N6S>MK%Tk@|{sd8e2T0iU*Z-b z-Sv(TQAk5k>d=kum~)3Ycl5=KJNmPPe}iCW46>4q9O!eW8{b)gf_%qlWU})d=eda4 zcba{t?`@~O>@x4J3Uo%lyX3V?&%5-z>o_M+Z`WD8vCB?(d1se*c3tHfa@_UdtvlT1 zeh}=o*WLQsos&H1ZMWWbm!LFdsYGSILdLu6@-2tRWCDM(g>BgJZh7zi z3wiI>^KL!wK8YT8Uq*j_MIjn7i9=lS^95C?jkgg*ZFAciswbMG0&7{=ko z_8h>T_8j3TcC^P{_Lz6iRc>*Ir@X+oy~nNX4M;;e+|Aycze`aXxAJ!d?CbBUR6~A$&&R(1evUc+Hs{~!|NUPO?6>p%QOQRW)Z2dp z+3df~J=EF%h^P4Z{eFJ`Ys|6V4Ewz!>fnHP4n!vg<~b0Xyi}wTRnXIc8q}j9@;vYz z&1p|3IwR8qdOu+91Ap)*GCm;V1Iw}B12R5v3A;RSotxZ2&j-wUK%WQncu>9v^>k1_ z2eV+O2Xm5#&!|f~?De3!2m3J$wGYbt;P1>Jj5!$g;357&t_M$Y3OO7~N^;Vn&Y^r1 zqa>xNjNKfn&Sa)wwnN@OG!r!r%|@L=_I79ii&=uX53RsAbts&(Ji<41=oxl%$X*WH z!(sCtjzxSDl9JT8m%|y!Oj*kFB{iu<1AgIG#v+5m!I3!V<47VBQ-Zdb|HuZscVshLiNtLm@&1t~LGVvH^!HB(I`SjF zyMOHIpI-cgoc=i)1pXBq&4Brin(t^YgZr@Aib+C%&N`&G?>{jAkt3@tvHo(-TvW z!-?aZvc+4C8&hT#sCu0+r1T>%_W;^Nqli#7n$rh+{vJF4b9=CAP+$THJ4YzP| z8mm~%TI}Yey_~d%ljc3SmxCPUU(RwKdp~(C2u?*I8u3X)Vp35Sv!62isru;ilpUNJ zfLl6c{!?QKV>a_xi0n@tK+RKXo^qV0PN4Rw(?RfWObXDHU$DP_2Qq}=jN(`9?O%I3 zos>cprYOZJh5k;LqY?T!JvRu>$o7nR&bZ?)k4Sel~W1|hq%>YklU7;2wg%5v5t%d=a! z&Q0!cpNBjOf^%{>mz&QhiaO`2Qir|___ zKDU?sxQlbog5Z1{d;{kbU^nOO<-9$dH}CljWFZ^*D2V-^xBK%YX-Fel(uN=C!W7JY z-t6aBpwIJmaQ-w`F#mb;pMS+0-Uq>j5VF7UDQaF&^FmJYp!S9QxPuG5n1Got*yjav zU)V$hX1x%JJTIEzVrBGnu`Ryai}rL;e;2#cgD?*8G6*io_|iAX`BDSSb*VAUkoP4s zUXuAGw|B{Vm)haYOWwTH8Sh@|inlNQiJ330LZ6q`VK0|i5iV-4$YV>dS8Tez{E9qhz>H}#jNv$o|d=)V!nSowHm(?K@Y3;BF#HV$QqXx;u)|jKjNky?b{uyLlW0_tIe>_sUY9 zN>t%Xsw0bg3pgGG_w$mU0=T35pHmF=?t9~YIlOVd0$)%WZ{7FS{TkGy7PaYxzV46V zH}rO2Z}(?1o4J_%{u0c5e?1$qgZp-H|1{>kFYo);d4OAc5W)>S$U$yCBOe9P^Mlgp z^MM{8nD2p}9_Z&mC)~n=ZuI1T%wP>`QTKuG@WBz(esGQp+~hX*g5Y6tQj(gqq$dM% zc-WYxv_YMRKQWLY3}YPQ`JGGH=R>nS^!~$JsPXVFAL=~h5l?xBxgWmbE$@Ti(Wexn zIHjqVCNh~R%wjKQe`NMY7t!YXnam$dL(fkapwFjze7Y7rJ=M?C zQ<(XwjGxN*sf?e+A`R(K_gOxQq4u*%ROTz{P?vu6XAnaf&Isi2Y&Uy2f;!KxaF+)> z;x+E**?&Rsyeic&+jH+f_nkafI`oA3H~M*#ot)$$ANgrOM}9=zHv<@n+HWQ?g;}_d zH}kQFH~(-P-@%*HoC$)ra(J79kI9HSZwpeAGL)kl)v3i){={r=z5mwU->UI;9_qYZ z#A24Q9CN>2jqmWSyL@|rr?|bhFR`1q_VUgi-kJAZToUmSsYy$E{N8()l?qhCZN95b z9U9@gcsB~UzmxepeZAAyJAJ)#hk+U2x%+qjV(xc$k^8$x=;xg~d7lzFyjSvW%-+S}@S)YM&Ty3*+~PhDdBt1a2cb|@qLY@aWG4p& zC_zQ4(~-_}r91ya&!K_nGo;7RIP?_KPiQsatY;IOxx!0c2canHMu|r<)Q*yYOynXD z`DjQZn({p@Xo(!6gfW{Xs1qfEzu3oqj&qXJK`82{WWj7vy&p9?W$cM74*g=8Za$KlqcmEMO7KS;;{T^Dk#P$Mql-Ek0(CX7*^A z(PuO}h*pDom_M5Nqp2UQJss(c-A7Y5n!3>@GnMJg-~g|KP;~D^uS^xHVTaLcQky!M zC%S&3yOHR6ihhC1*im%7MZd)z?s5-z6a5j7dBzLuGP+xe{w4^;$Vd@n7^67yiy^-l z>c{vJGsRFh#y2$KJDSsmwhUwxqZxy_V%TvEImTGUQQUQmQ`l(?8OG3ajGO2)h8|-) zM^7>I6Eh{LNJDyL98(@K8`BhZW6Cn-PpBQ!4aXeDIAj~s4aeNdc6Q>nV(!I##gs#= z7{nqm>cq-KE%IikfbE10EH+;S<2xiVt2vpvCSTPIQooj2eDVP z8S}?Bf9w;ujo9kPRzLP_~h#4&%Ik5DU43S<#S=5f+u_i=h+jySuKVH_F8+0P;V z;b;)@t3MQ1c5xf<6TRunFX%6>{^Aa04Sp`J`tjltj|Au;p8E0Bk7w`k%p31J`fw6= z9`7{gxX2~U63;C0WEt9|Xo^1Kx5B-}@6QNE@hiVGg9WVM2*;3j{8OAk&+)IL&-i+b{}esN*H41vm^VRc ze_8^CZ(TG7p)Jd3u9OULRic*Y{ z3}ZNEOX&TCV^JgFc+^QaiOEdmPt2WgCbMxL3HNgecb4!Pc9YOv652yT^Co=BJN^qo ziDF^@iQIW2x0fg>`6xgMN>iCC)TS45PbBk1`bwm)MEXj!ksa*D%!$q+=R|T&d+DMCtk#2mSU%gSF@INTnR!SB}RWAHRC&)V^1Ib zKzlkc1-tm@aS%$91oI`a>m=$Y`Gj=1#U$17y(F0*gpx+VzLG{qK1t=1G#+-BR7Od? zku(|JN$Q=XsW3}Yvn2IaQu8Fuh?$aBLw`y2m$U`?ORB%5UFc3v`tUPDk!@0YPb$}> za!tB~aLk-^J=@vGQO@uddrTH0DsC*9o|DNYnLd;0F_{^Y=_#3hl9i=Am8e2hIx~b} zsGIB$W}|kp<*dYhlWk@zH@VF{9wOUhPl8Z#IV5+>$@5VRb&`L{H`J#g&1p#+RvO{kGP0(Fx6j*{Ch=1%@M2RY1(Ae15=@kxZ;q_CG1_K?E7DKe3b92B51 zMe&WLC`}`p(3-ZiqZ?B(dkV9sScN`Q*g=Z3T*Le+%%9>7z9avYH6HB+jY zGBXAEXc>HA1|o{L=JI=Ard$0;b!kJ!h@zcGPH{J}J)v!7Q%D3zM21~7=h z3}YmtP%o9APvz%RP2_ic6REtD%ABdZlWHbm%wi5QPNlC@m$-`FQt2(#W1b=RRBw47 zgi^;O4)%~bF-gcpA&MaH)NU?yRqF69edtGj1~LRar#5S9eWuo9>KW)MwSH1>X9v64 z%RU|jp-*BE3w1w9MJCk##0`Fuk7AU-u0Lr*TRI@uPrA?*IecQzpR8mf>U^@F+&mi265D`z>+4Q_LXr$H!fYRsP2>}m6(&$M=swh_L!wB}E1{UwU_* zekyJ#{e0w_-k#HMim$0hedL&7 z0`4}$4AjY>P6l-{*jt9J>|q}Vc#b?W$RmR+{GSX$8AD{FB&Dg0IvE?%oL01_L zgY87J3-4##iy9f-Z$@=89_9$gIL;~l#SLXVAA~YRCl#qlOL{Wljxw1yQ$7k)l(JO7 zt}|7mI&Eo>%rpIuUJPI%YuSJdGHphWne>=Rf0-`ePBPu&Ay1G=rdL5Ivwkw`CvzI~ zlUYBRv*6w`f5Sjl@()KbS7vi%K7*Mud;3%O^Jy{M#izp<&PYZx4!invBC`8b4_VaA zQk)W$!mL@$n&k^BBmXRZE{pFXYfNGjhxjBSF-b|m$9ONR8M4YWYdXx4)f`zr#VlFP zk~KTEXo=ls{egCL#5bDtC){w>{+K!ID8`_VtiLmvm25=5S>0LI-5f$5SuX~mY$2i% zgILHVo1U{JN1xgBn9Y4>(^EG6WUGXEvsJ_It88vPTMuNH?N`*zHiHGIoox+k*~)fy zB2RxGG?eWz&v?PhAe3DW{!VBpdtpkWPWG>8NMoAP1~-+x1M6`=+0B;S``NdlM)n=3 zll?FD@HhK0cXs!l-Cblq#+x9N!)|gU#%^*X$ILl=(>d%RhaKd|MIMS!4ExVfmhv>h zZgR9nUpYEsCpm^P0-5BHNe-F#8=;{bQ(1w2b3~xm9Qw?m&m3+(#~to+pGQ1JHaTRI zGYR_0Sq1awY=;bT{)lfqXAj&&&RLi<=i4BZ%lDDXedTgnx!hJRJIrN=xpGjCL9D_z zl1m=BPVg^hxq$n~9UpV&He+tzLT>%$-i2Iq%Qd%LbE}tIrn$Y5+qah6JGs4+`!r`b z&xf}zaha<@C{JAUl_vw4(OVw9<;hPWg07_ zd3*CS{TP66Kks0MvJCg1cPD?b7c=Lzm%OL2le~7D*Dmtj<{l4t%JU$UFCi&Og}(CH zO}^X|qa-rPCzE_K$@e8SXpVmKx&M56&8N?N`pnmt>C7OEIm|~k`DBxCH~PruR`Z)b ze_CXa->v3%5Bal`gKscr{^cCz2yQmNJIil}`Ry?Oxgb;^4n^=y78rs&3JhlyWB3jC zQD7V9E@;MrZm6Js3%a3#axEy=f^sdWUO|}_^hUv9c&DIu3jWGy#^J4k6PU;(BG6aC zW1K{91@%_&8aI)5!3R9zHShQ@2o-V_A+-xV;cXBq9GwKDKo*5R;Zw4rhr)G`ec}3iOJkZKm%@MW zCv#D!@H*sL*zFbG#X;<*$%yxh*liItir8-vb&9yJB6-M1ehN{Tq7>sh z+<%dt{6rtjT*O}dUC>YwJ1JtfMeL%;G-fi3`79)ozd3-uir7t&i`?TOGASaHA~GrR zUl1x9B02gk>i&!BwWvOe>a%EGzM?i?Q;&worl@R+_Cg;;-D*+u7d?Uuin`UJ?xE;e z&IO^*V`0wEzh@wWaI>Ggv(N4Db36QeEL*r8go^nli+zqfij|-=<*11JDApBo7c*mV zH&k4|#obVGxfYjeak&;(ueeN$d!u-9yi?pe#mi8Z3V5sd7gVMyozYkEp^QLp#r0Nv zGEj7gi=XEP4|x@YN~9tU>BxYrOJw0Q^jo4JCDCIEvzBOz zTPV?j*0ez{CDbl4kL9dqJNuADi9?*?GkgMU(#+%s!`H@OMa;1zDi!=D%ZHlE$(nH2$f2T`!AJ)+Z8RVa_tiC`=LD zY#Db}#tzHaVVUy$$TWPDW$q%6G7osnGhX68%4WgbWzAUD4VBezSvOQxuKu=YsH|Me zs#jK~WxY}MKHe$oow84O$_qZc^_n-l3qs{GqpxzsD2d+6>8)HfY9Q}&-%yWcG^Zu* zpfkNFXh!P-+=FF zM>qN+i}C{)$*<_4{03xSK7#G+U?*~^5DziwGG?w|FBKkPCl&0rf?ZUMN(^EV zpM+#19|h1?MZ2k3i8|CpCKY8;Q6?2z(waW#x1#&6sMm`6tf>^p7I8>Ia#G?Rs-&YRWifM=3RI^qO_6gI z8CP)=Rb*VnJyiJ(Jy)5AKC9@l%HkjhKD?=~DtfANfJ6MlaZd0q2vz-vq^Mmr3!kBW z)#8-I&Z}0Y8r|qYFYLOie5>|D7F9Q~h25xA^%R%5%5@&#?y5cwLe)xB2J=<(ezh-9 zqgqwesaAuU)W*G4GkdjqxVLKGG64IjHW~Y=HVt!ETZmm$vxjP{2`7T>>|hW3xPot? zn!c*(tJ=#T^ksBn5u3Qk3K4m*uF4p1=HowzQ`cUFeRSzMO-+s|REt zBbmuc4szq|>J1srTHH=`*;PNyIWD5#>T;}+7(LWbv&IPAKn*ug!`;>x&+o{k#wz?= zjW)D8% z*WArs{^l@du6c&@=%c2rYu*S#wF06Lm3Sm0Ei(1@K0~!C;2vsK!5!54ntJHH*7vl) z{nr}A5QZ}f8Pw8OEj`rIL#<=TuGV$zx7K5x@{a$4&{ul+Dkt*)DlY{nL}40Z_OH6p z7j?cG!(`mrSJRls0v7X}7re&%U%f|-+9A}b?XGIaAU1J`PXZG05ua0on$+fN%v{@! zYTHrmme@^g_f^|2YTHBYpXf(_{@_paRa;-Rm$R9zY$Fnx)INya)V7P-zQfv2(0lDy zyhYD-(&J9+WFiaM$%UNie2cv6tm72_V#jstxXvZqXB}^U?MA;YLkC79yRXMFfl281 zYdLYAnQXVj$~a;@8m&e(a~zWl-fhGOQrzcCSg)RlGJ>8xWL@~yjr z{TxRgb!AyE3em9pda;R1QuJHzV=|)0dRZ}dy-HN!OUzzRFZI-}Hxk*^v)_92SdJ{} ztzirHTu%@6?r@KX$hF=x?6gT5*B~hn-P3mK(^&8U)zX$5eqyAdVR(~VjuOERL z^|zx={ax&4FZ(!v+p6!j>i>g#YLI}0d_+>r+`wKMxT^+s(jW(R(V!4TDMo4BL4$@g zLSGH^)xd5V^r0X2(qI5GY2daRjAbq>S&iNsY+y5bZg7!HT;V#mxQm<`rbgZkdor0R zxXXri+c1ndc)Q_|AoOiOZrtOyvitTczNQ}f{Z@|O4nq&$s@W(+6zsoIOyUq9xird- zpKH_w*)=+Z>>3^A1SdJoIWF+wJu@`A$~DZ<$Q+IAyOCKMnWfQ#Ak;WHIgxAQ&&Y?J zH!evT%Hi8;Z05$b`38M7mUZJM^yC-h+jtL5-%vQK#vzjAk6aVeY2C<0hKAiKda9 z

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 gtGFF=j6cZ^a+Lh Date: Sun, 24 Jun 2018 16:41:58 +0300 Subject: [PATCH 1960/2606] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 448b4e145..065b954c1 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Segmented Control](#segmented-control) - [Slider](#slider) - [Splash View](#splash-view) + - [Status Bar](#status-bar) - [Stepper](#stepper) - [Switch](#switch) - [Tab Bar](#tab-bar) @@ -2475,6 +2476,9 @@ Most of these are paid services, some have free tiers. * [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. * [RevealingSplashView](https://github.com/PiXeL16/RevealingSplashView) - A Splash view that animates and reveals its content, inspired by Twitter splash +### Status Bar +* [Bartinter](https://github.com/MaximKotliar/Bartinter) - Status bar tint depending on content behind, updates dynamically. + ### Stepper * [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! * [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. From 4473baf71c1557fa79bdc37d556babbd253645d3 Mon Sep 17 00:00:00 2001 From: David Ask Date: Sun, 24 Jun 2018 21:46:37 +0200 Subject: [PATCH 1961/2606] Add Futures --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 448b4e145..36a22aff0 100644 --- a/README.md +++ b/README.md @@ -649,6 +649,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Promise](https://github.com/khanlou/Promise) - A Promise library for Swift, based partially on Javascript's A+ spec. * [promises](https://github.com/google/promises) - Google provides a synchronization construct for Objective-C and Swift to facilitate writing asynchronous code. * [Continuum](https://github.com/marty-suzuki/Continuum) - NotificationCenter based Lightweight UI / AnyObject binder. +* [Futures](https://github.com/formbound/Futures) - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side Swift. ## Files * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. From 0f9465ce3c94d7a3b3a61a6f23222c431380d91b Mon Sep 17 00:00:00 2001 From: giginet Date: Mon, 25 Jun 2018 04:55:51 +0900 Subject: [PATCH 1962/2606] Add Crossroad --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 448b4e145..96bc8ef19 100644 --- a/README.md +++ b/README.md @@ -222,6 +222,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Elegant URL routing, navigation frameworks, deep links and more* +* [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. * [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! * [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. * [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. From a26077b11255ef49fd41ec7b685225f32870ed4e Mon Sep 17 00:00:00 2001 From: giginet Date: Mon, 25 Jun 2018 05:01:36 +0900 Subject: [PATCH 1963/2606] Sort chronogical --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 96bc8ef19..a4a1b6a5d 100644 --- a/README.md +++ b/README.md @@ -222,7 +222,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Elegant URL routing, navigation frameworks, deep links and more* -* [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. * [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! * [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. * [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. @@ -239,6 +238,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS. * [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - 📱📲 Navigate between view controllers with ease. * [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. +* [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. ## Apple TV From 81762c8f788a1fad563d79bd4e9f5193f5a9dbaa Mon Sep 17 00:00:00 2001 From: giginet Date: Mon, 25 Jun 2018 05:17:58 +0900 Subject: [PATCH 1964/2606] Fix CI --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a4a1b6a5d..460c3cfac 100644 --- a/README.md +++ b/README.md @@ -310,7 +310,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. * [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. -* [EthereumKit](https://github.com/yuzushioh/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. +* [EthereumKit](https://github.com/D-Technologies/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. * [BitcoinKit](https://github.com/kishikawakatsumi/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. ## Bridging @@ -3023,7 +3023,7 @@ CollectionView, make Instagram Discover within minutes. ## Good Websites ### News, Blogs and more -* [BGR](http://bgr.com/ios-7/) +* [BGR](https://bgr.com/ios-7/) * [iMore](https://www.imore.com/) * [Lifehacker](https://lifehacker.com/tag/ios) * [NSHipster](http://nshipster.com) From 48ea95ec759281ad5d9c7055da00c17819ddd99e Mon Sep 17 00:00:00 2001 From: giginet Date: Mon, 25 Jun 2018 05:21:27 +0900 Subject: [PATCH 1965/2606] Remove raw=true --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 460c3cfac..457b52163 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - +

awesome From 5df90f318854a812876f1d8f79cc51e44dc4f3d5 Mon Sep 17 00:00:00 2001 From: muyexi Date: Mon, 25 Jun 2018 10:25:42 +0800 Subject: [PATCH 1966/2606] feat: add StaticTableViewController --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6223d7a40..292a08f6b 100644 --- a/README.md +++ b/README.md @@ -2597,6 +2597,7 @@ CollectionView, make Instagram Discover within minutes. * [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. * [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. * [MSPeekCollectionViewDelegateImplementation](https://github.com/MaherKSantina/MSPeekCollectionViewDelegateImplementation) - A custom paging behavior that peeks the previous and next items in a collection view. +* [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. #### Expandable Cell From 3530d65057c4f39c09bb6a27a0e0326ac5b8c69d Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 25 Jun 2018 11:49:54 -0300 Subject: [PATCH 1967/2606] delete old newsletter image --- newsletter.png | Bin 25950 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 newsletter.png diff --git a/newsletter.png b/newsletter.png deleted file mode 100644 index 1d099d6ec55e90fb7efa02c658e4bd792a777581..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25950 zcmXt9WmH>Tv<$#ogVdxVyU)clYA%P~6>%`^)#} z?7e57nMs(!cL@|kd_({MfFdO+sssSQe22VGMu3J~O(f($LtbDUg{6KVARw%6%WnYy zV1SgU&=0rFvn+Qnth=|5&C4lMll$=lFfkz%<`=ZWP*oX)Yhi+UkLhqdOLOaidflSC zCV^^?h85}ZyE4raMVWzc%8*d1P{MCui5B7@!QswjPgfKEoK2#7p0qQYiwP*NY&0VK zdzPFhFaCNmo@#GBqP@&OLGTfFN9p3rQI_@`aj}#{B;cF>B&TT)E+cBBy$NA`KNH7y zjc7c1Lcn3NGNIET7yJ$Rp?1uJL3$VI84}A^04D%`k_*>&gw}o>eFwgW%MbbJfSFO6 zEIbiRE(xR-3j<2WDiy+#OH+x3ftg~cI`pkmEbpZc!XrrB31d_yO}l%fzN>3^gq9`q&2yM`$Y z%c*>ikcT2;!hy>5>rX}U17NWF;Ft7pfkQ{>zJ z%cMy^`>n{+YrU99`Q7GFk=Im_9ktvXpggXBZnqHe9c(~$kHv$>haH+3H=ed2;bhC? zoR%d|cG*pZW=-Qe%U;%`yYMU2?q{yQ|3nYD%R@h;|DQxX}Q(&;Z6=CbZN6 z>VB#`SfGc<33?a_TeSJyeWmlh)@j)(Nv*nOsRR^9aKOh#txkTf!iuMoyf_K5q#yH7 zFDj7}p$-BeFd+glf*>a@;uKI909ec407k)_%45oMNzR3dAgGhh_0d*c#RjUJK;bgP zVZ>+bx|p<+r(gm(4fPkig6HSxHc^~RzPMv&!PAj2yk|_yhlWH7PFEw8QUY(WIvp%; zFwtT&3CBmJzc}__q8(tv=nAhk)_q*NwNLtM8Rra4rp*5_$iXf%tPQ%Ox7lEE%APrb z7A8SJ_K)X}^$?AZQzDU}8ks46ZnN#O`Kx$rc~2T6!}ob)75?5^N2f&LD004DaYQII zP>CmxUD`?#OEeAmNfE9vlvxOoiW1okD-J+ONG_@@ndZU?%eYe0$X|aCd-H>$5VQ;2 zsfaTto*e(wz;IWg+DDtxckUqhoj|$)o}#n=?Ur_i z6hllj*$tz_e!kd!#64nC2KQ!1DTc)+v^&Usignx1UW%{(+Z|Pd%R00liUOj46*O^Z z&~4{DX}pn>e)>j(iOTK@%0}6Wd?!l!0fCAbU^?JNA`{K4p$JUo>di$Cjt;X#cu=OF?NyJBoxw?h%}8+NmZ`B z!E6?qPH)~I!G^H>H|(@ty;|$RPlrCOjya;lGQqqhd_xCUR852#bTY~HM$1K1Hc}3f z@iNI-b!V|;JV|HqMx>&`u#>yoG4@-u*MAQ_zo0azzqc%O4EYDWAS(6D}7QD%wi? z0N*8L+e0e^=Hx|Jk_QjtYA=1*FNiUCwZsC3VT}+mh{Hw6g|SG|Hl(=TiIRZE!enIZ z(%Ok_RL%+`QojQ+AWU7v3nzQ&5q{AxMWZW2EH-VF0C1Z0?kT%dSLf(xxDHz5Pw+6|NCU#>C4vE{3JKZ0ej1^I zcIw1;574jyB2fuG?k~O+*&kOi4DW3})fnV@xsH0+A~c0yvwGsbm!z0qo^8mW8^MMF z#B#9;gKAET?g&-QGGAJ{cVW}9zePicexA3f)3?*GF2>i76F9vFoVJN!#63wjr3dYaV9 z`Zav3sZfx?5jUvxF|BR{o*_Gtg?8smI|?%fWH^?(*) zaQLIb(beL#fEFHe7T8+xEy$5`DdA*w}WZ^4z) zjK756FU}adsvD>+p)bLF{<*gQh3k<{T{Q09R(Mo*%cHQg$Muw)%whRh-t2C{_m;iT zE?{~H9RA^ghn4%^Zq~h3LX@xbhzwugfG{97R=p4LiO-FYB1-&UCU>G@{M+^Icne9B z$KlNCWEI0*!6L^oK78AL#H>G$)=hr~3hsJ!7t

CBtTLhzZAu$ZQvh?emVhCE8c& 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 Date: Mon, 25 Jun 2018 11:50:18 -0300 Subject: [PATCH 1968/2606] Upload newsletter file --- newsletter.png | Bin 0 -> 19994 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 newsletter.png diff --git a/newsletter.png b/newsletter.png new file mode 100644 index 0000000000000000000000000000000000000000..8780bb1fc30e5738962e00d1d5b4d6b336888fcf GIT binary patch literal 19994 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 literal 0 HcmV?d00001 From 472caed90945f5754214e200edbeef76964ab7d1 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 25 Jun 2018 12:19:15 -0300 Subject: [PATCH 1969/2606] weekly banner on readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 407f1753e..741548fdb 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ +

awesome From 4eb295a55c9375086cdf547a2e5f21f3c4e9d2d6 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 25 Jun 2018 12:20:25 -0300 Subject: [PATCH 1970/2606] change banner position --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 741548fdb..c71e9aba3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ - +

awesome @@ -9,7 +9,8 @@ PRs Welcome

-[Subscribe on Awesome-iOS Weekly!! 🗞](https://goo.gl/UtS5qk) + + ## About A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. From 5ed732d005b95493117c1cec0f533c684a5aecea Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 25 Jun 2018 12:21:38 -0300 Subject: [PATCH 1971/2606] Update readme badges --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index c71e9aba3..769fe53cd 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,12 @@ -

awesome Join the chat at gitter Build Status - pr-closed PRs Welcome

- ## About From 1be1176cf321157ce9aa63c2563d8bbd15062a52 Mon Sep 17 00:00:00 2001 From: Morten Heiberg Date: Thu, 28 Jun 2018 08:14:27 +0200 Subject: [PATCH 1972/2606] Add SimpleSource --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 95cebb664..7e258001b 100644 --- a/README.md +++ b/README.md @@ -2604,6 +2604,7 @@ CollectionView, make Instagram Discover within minutes. * [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. * [MSPeekCollectionViewDelegateImplementation](https://github.com/MaherKSantina/MSPeekCollectionViewDelegateImplementation) - A custom paging behavior that peeks the previous and next items in a collection view. * [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. +* [SimpleSource](https://github.com/Squarespace/simple-source) - Easy and type-safe iOS table and collection views in Swift. #### Expandable Cell From b94f7301311b0061d2bc92677cba23ed35781797 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 28 Jun 2018 11:06:52 -0300 Subject: [PATCH 1973/2606] Added Money by @Flight-School --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 95cebb664..504de1c20 100644 --- a/README.md +++ b/README.md @@ -1731,6 +1731,7 @@ Most of these are paid services, some have free tiers. * [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. * [Font-Awesome-Swift](https://github.com/Vaberer/Font-Awesome-Swift) - Font Awesome swift library for iOS. * [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. +* [Money](https://github.com/Flight-School/Money) - A precise, type-safe representation of a monetary amount in a given currency. ## Testing From 4ee610708a25faf3f70c38a42ac6b58ad181e84c Mon Sep 17 00:00:00 2001 From: Steven Deutsch Date: Fri, 29 Jun 2018 01:07:45 -0500 Subject: [PATCH 1974/2606] Update link to Hero library --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6028ae4fe..cb3014114 100644 --- a/README.md +++ b/README.md @@ -2069,7 +2069,7 @@ Most of these are paid services, some have free tiers. * [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like iOS task manager * [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. * [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. -* [Hero](https://github.com/lkzhao/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. +* [Hero](https://github.com/HeroTransitions/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. * [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. * [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS * [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. From 75e8cb72e7c94a435a4fff92006cb4146318b55a Mon Sep 17 00:00:00 2001 From: k-lpmg Date: Fri, 29 Jun 2018 17:16:52 +0900 Subject: [PATCH 1975/2606] Add RealmWrapper --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6028ae4fe..a5544ec59 100644 --- a/README.md +++ b/README.md @@ -551,6 +551,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FirebaseHelper](https://github.com/quanvo87/FirebaseHelper) - Safe and easy wrappers for common Firebase Realtime Database functions. * [Shallows](https://github.com/dreymonde/Shallows) - Your lightweight persistence toolbox. * [StorageManager](https://github.com/iAmrSalman/StorageManager) - Safe and easy way to use FileManager as Database. +* [RealmWrapper](https://github.com/k-lpmg/RealmWrapper) - Safe and easy wrappers for RealmSwift. ## Data Structures / Algorithms From 9fee3270f3797c6bf8986b37fc1dff55071e7940 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 29 Jun 2018 09:46:18 -0300 Subject: [PATCH 1976/2606] update broken links --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cb3014114..17c005ab8 100644 --- a/README.md +++ b/README.md @@ -3033,7 +3033,7 @@ CollectionView, make Instagram Discover within minutes. * [BGR](https://bgr.com/ios-7/) * [iMore](https://www.imore.com/) * [Lifehacker](https://lifehacker.com/tag/ios) -* [NSHipster](http://nshipster.com) +* [NSHipster](https://nshipster.com) * [Objc.io](https://www.objc.io/) * [ASCIIwwdc](https://asciiwwdc.com/) * [Natasha The Robot](https://www.natashatherobot.com/) @@ -3046,7 +3046,7 @@ CollectionView, make Instagram Discover within minutes. * [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) * [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. * [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) -* [Code Facebook](https://code.facebook.com/ios/) +* [Code Facebook](https://code.fb.com/category/ios/) * [iOS Cookies](https://ioscookies.com/) - A hand curated collection of iOS libraries written in Swift * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. * [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) From d2fa6fcc9c3b0ba9d81024c6887ad83e90143dc2 Mon Sep 17 00:00:00 2001 From: Omar Albeik Date: Mon, 2 Jul 2018 22:26:02 +0300 Subject: [PATCH 1977/2606] Add UserDefaultsStore --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 011cbde9c..b21fd497e 100644 --- a/README.md +++ b/README.md @@ -552,6 +552,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Shallows](https://github.com/dreymonde/Shallows) - Your lightweight persistence toolbox. * [StorageManager](https://github.com/iAmrSalman/StorageManager) - Safe and easy way to use FileManager as Database. * [RealmWrapper](https://github.com/k-lpmg/RealmWrapper) - Safe and easy wrappers for RealmSwift. +* [UserDefaultsStore](https://github.com/omaralbeik/UserDefaultsStore) - An easy and very light way to store and retrieve -reasonable amount- of Codable objects, in a couple lines of code! ## Data Structures / Algorithms From 1274137edd12fb7878e314ab7f20a0e8c134c298 Mon Sep 17 00:00:00 2001 From: Yunarta Kartawahyudi Date: Wed, 4 Jul 2018 12:46:37 +0800 Subject: [PATCH 1978/2606] Add Athena --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b21fd497e..39943996d 100644 --- a/README.md +++ b/README.md @@ -2836,7 +2836,7 @@ CollectionView, make Instagram Discover within minutes. * [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language * [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool * [Rome](https://github.com/blender/Rome) - A cache tool for Carthage built frameworks - +* [Athena](https://github.com/yunarta/works-athena-gradle-plugin) - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local. ## Tools From b011689647398a0361da979c9135f3e33512891a Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Wed, 4 Jul 2018 13:02:32 +0300 Subject: [PATCH 1979/2606] add SelectionList --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b21fd497e..c44c1f0e3 100644 --- a/README.md +++ b/README.md @@ -2608,6 +2608,7 @@ CollectionView, make Instagram Discover within minutes. * [MSPeekCollectionViewDelegateImplementation](https://github.com/MaherKSantina/MSPeekCollectionViewDelegateImplementation) - A custom paging behavior that peeks the previous and next items in a collection view. * [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. * [SimpleSource](https://github.com/Squarespace/simple-source) - Easy and type-safe iOS table and collection views in Swift. +* [SelectionList](https://github.com/yonat/SelectionList) - Simple single-selection or multiple-selection checklist, based on UITableView. #### Expandable Cell From a23f84e2e7564e46106f998975504755815e468d Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 4 Jul 2018 14:13:34 -0300 Subject: [PATCH 1980/2606] fix Swifton redirect link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d75ddb12f..b3849fd28 100644 --- a/README.md +++ b/README.md @@ -1638,7 +1638,7 @@ Most of these are paid services, some have free tiers. * [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift * [Frank](https://github.com/kylef-archive/Frank) - Frank is a DSL for quickly writing web applications in Swift * [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server -* [Swifton](https://github.com/necolt/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and macOS +* [Swifton](https://github.com/sauliusgrigaitis/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and macOS * [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. * [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. macOS + Linux compatible. * [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) From a62c1cbb659581583597cd47fa7c34025c8f3394 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 4 Jul 2018 14:20:27 -0300 Subject: [PATCH 1981/2606] create EventBus category description --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index b3849fd28..d711aabb0 100644 --- a/README.md +++ b/README.md @@ -632,6 +632,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window ## EventBus + +*Async code in an easy way. Promises and Futures libraries to help you write better async code in Swift.* + * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS. * [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and macOS. * [Bolts](https://github.com/BoltsFramework/Bolts-ObjC) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links). @@ -655,6 +658,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Futures](https://github.com/formbound/Futures) - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side Swift. ## Files + * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. * [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. From b7686648f3c5d76667b0859fcaab6b106ecebc8c Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 4 Jul 2018 14:21:06 -0300 Subject: [PATCH 1982/2606] create 'Files' category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d711aabb0..bbc575dc1 100644 --- a/README.md +++ b/README.md @@ -659,6 +659,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Files +*File management, file browser, zip handling and file observers.* + * [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. * [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. * [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. From 11d1409bd73ba2569222537dc9673d5cece9e92e Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 4 Jul 2018 14:22:14 -0300 Subject: [PATCH 1983/2606] Edit 'EventBus' category description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bbc575dc1..3474f989d 100644 --- a/README.md +++ b/README.md @@ -633,7 +633,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## EventBus -*Async code in an easy way. Promises and Futures libraries to help you write better async code in Swift.* +*Promises and Futures libraries to help you write better async code in Swift.* * [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS. * [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and macOS. From a08fd3ac6c779acf2581ea5c0697c3fd76b329d3 Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Wed, 4 Jul 2018 20:36:22 +0300 Subject: [PATCH 1984/2606] add MockImagePicker --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 3474f989d..e5be90f88 100644 --- a/README.md +++ b/README.md @@ -779,6 +779,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RAImagePicker](https://github.com/rallahaseh/RAImagePicker) - RAImagePicker is a protocol-oriented framework that provides custom features from the built-in Image Picker Edit. * [FDTake](https://github.com/fulldecent/FDTake) - Easily take a photo or video or choose from library. * [YPImagePicker](https://github.com/Yummypets/YPImagePicker) - Instagram-like image picker & filters for iOS +* [MockImagePicker](https://github.com/yonat/MockImagePicker) - Mock UIImagePickerController for testing camera based UI in simulator. + ### Force Touch From 16dedc49a6451c4515de2c08f891d5ec0e321f85 Mon Sep 17 00:00:00 2001 From: Yonat Sharon Date: Wed, 4 Jul 2018 20:54:02 +0300 Subject: [PATCH 1985/2606] delete empty line --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index e5be90f88..c2aecedad 100644 --- a/README.md +++ b/README.md @@ -781,7 +781,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YPImagePicker](https://github.com/Yummypets/YPImagePicker) - Instagram-like image picker & filters for iOS * [MockImagePicker](https://github.com/yonat/MockImagePicker) - Mock UIImagePickerController for testing camera based UI in simulator. - ### Force Touch * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) From cc67c16fbf8a30ad3a741b3506022ff799804cfb Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 6 Jul 2018 10:42:27 -0300 Subject: [PATCH 1986/2606] Create 'Functional Programming' category description --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index c2aecedad..4bdd08054 100644 --- a/README.md +++ b/README.md @@ -674,6 +674,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ZipZap](https://github.com/pixelglow/ZipZap) - zip file I/O library for iOS, macOS and tvOS. ## Functional Programming + +*Collection of Swift functional programming tools.* + * [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. * [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. * [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. @@ -693,6 +696,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AssetImportKit](https://github.com/eugenebokhan/AssetImportKit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. ## GCD + * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch * [SwiftSafe](https://github.com/nodes-ios/SwiftSafe) - Thread synchronization made easy From f810afcd7a399a4dd3febeb139fa9ae8f0a75bdc Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 6 Jul 2018 10:44:30 -0300 Subject: [PATCH 1987/2606] Create GCD category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 4bdd08054..013b6598b 100644 --- a/README.md +++ b/README.md @@ -697,6 +697,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## GCD +*Grand Central Dispatch syntax sugars, tools and timers.* + * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch * [SwiftSafe](https://github.com/nodes-ios/SwiftSafe) - Thread synchronization made easy From 664cfdc81a5283e008b05415c46e573a0ee58cd9 Mon Sep 17 00:00:00 2001 From: Siarhei Ladzeika Date: Sat, 7 Jul 2018 09:18:36 +0300 Subject: [PATCH 1988/2606] Add ViperServices --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 013b6598b..0875e1eaa 100644 --- a/README.md +++ b/README.md @@ -2951,6 +2951,7 @@ CollectionView, make Instagram Discover within minutes. * [Weaver](https://github.com/scribd/Weaver) - A declarative, easy-to-use and safe Dependency Injection framework for Swift * [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. * [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. +* [ViperServices](https://github.com/ladeiko/ViperServices) - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code. ## Deployment / Distribution From 3a174e9e3a45c9c76fb91345043bb20e6bcc08f8 Mon Sep 17 00:00:00 2001 From: mylittleswift Date: Sat, 7 Jul 2018 11:51:40 -0700 Subject: [PATCH 1989/2606] Added Sica from @cats-oss --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 013b6598b..1dd713f52 100644 --- a/README.md +++ b/README.md @@ -2066,6 +2066,7 @@ Most of these are paid services, some have free tiers. * [VariousViewsEffects](https://github.com/artrmz/VariousViewsEffects) - Animates views nicely with easy to use extensions. * [TheAnimation](https://github.com/marty-suzuki/TheAnimation) - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values. * [Poi](https://github.com/HideakiTouhara/Poi) - Poi makes you use card UI like tinder UI .You can use it like tableview method. +* [Sica](https://github.com/cats-oss/Sica) - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly. ### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 2474b321184da09fd7d78ef374d0bbc1cdddde03 Mon Sep 17 00:00:00 2001 From: Seong ho Hong Date: Sun, 8 Jul 2018 19:23:08 +0900 Subject: [PATCH 1990/2606] add TiledImageView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1dd713f52..8dff587f9 100644 --- a/README.md +++ b/README.md @@ -1120,6 +1120,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [StyleArt](https://github.com/ileafsolutions/StyleArt) - Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style. * [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS * [ImageDetect](https://github.com/Feghal/ImageDetect) - Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api. +* [THTiledImageView](https://github.com/TileImageTeamiOS/THTiledImageView) - Provide ultra-high-quality images through tiling techniques ### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift From c3491bedfc0967baf5d039b66b1e474d15f017b4 Mon Sep 17 00:00:00 2001 From: floriel-fedry-cko Date: Tue, 10 Jul 2018 10:59:58 +0100 Subject: [PATCH 1991/2606] add FramesIos --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 62a2683b8..dbc0de4cb 100644 --- a/README.md +++ b/README.md @@ -1428,6 +1428,7 @@ Most of these are paid services, some have free tiers. * [CreditCardForm-iOS](https://github.com/orazz/CreditCardForm-iOS) - CreditCardForm is iOS framework that allows developers to create the UI which replicates an actual Credit Card. * [merchantkit](https://github.com/benjaminmayo/merchantkit) - A modern In-App Purchases management framework for iOS. * [TipJarViewController](https://github.com/lionheart/TipJarViewController) - Easy, drop-in tip jar for iOS apps. +* [FramesIos](https://github.com/checkout/frames-ios) - Payment Form UI and Utilities in Swift. ## Permissions * [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). From 9f74120fc878ee4ad182739cf6e750a0aa675c12 Mon Sep 17 00:00:00 2001 From: Steve Moser Date: Tue, 10 Jul 2018 10:28:14 -0700 Subject: [PATCH 1992/2606] Add Xcode Keymap for Visual Studio Code --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dbc0de4cb..2ccec5283 100644 --- a/README.md +++ b/README.md @@ -3026,6 +3026,7 @@ CollectionView, make Instagram Discover within minutes. * [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 * [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift * [XcodeCodeSnippets](https://github.com/ismetanin/XcodeCodeSnippets) - A set of code snippets for iOS development, includes code and comments snippets. +* [Xcode Keymap for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=stevemoser.xcode-keybindings) - This extension ports popular Xcode keyboard shortcuts to Visual Studio Code. ## Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. From 7e2f5059a7dcf733217870aaa823975832be1714 Mon Sep 17 00:00:00 2001 From: Siarhei Ladzeika Date: Wed, 11 Jul 2018 15:33:13 +0300 Subject: [PATCH 1993/2606] add OneWaySynchronizer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2ccec5283..4aff8ae2d 100644 --- a/README.md +++ b/README.md @@ -586,6 +586,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RandMyMod](https://github.com/jamesdouble/RandMyMod) - RandMyMod base on your own struct or class create one or a set of randomized instance. * [KeyPathKit](https://github.com/vincent-pradeilles/KeyPathKit) - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths. * [Differific](https://github.com/zenangst/Differific) - A fast and convenient diffing framework. +* [OneWaySynchronizer](https://github.com/ladeiko/OneWaySynchronizer) - The simplest abstraction to synchronize local data with remote source. ## Date & Time From 85f99135841dab734fd56d8b7427072c1506ff53 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 11 Jul 2018 10:03:38 -0300 Subject: [PATCH 1994/2606] update dropbox developers URL. Remove Little Bites of Cocoa, the site is down --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 4aff8ae2d..a060e71b7 100644 --- a/README.md +++ b/README.md @@ -1530,7 +1530,7 @@ Most of these are paid services, some have free tiers. * [AWS](https://github.com/aws/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. * [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. * [Adobe Creative SDK](https://www.adobe.io/apis/creativecloud/creativesdk.html) Adobe creative tools and Creative Cloud SDK. -* [Dropbox](https://www.dropbox.com/developers) SDKs for Drop-ins and Dropbox Core API. +* [Dropbox](https://www.dropbox.com/lp/developers) SDKs for Drop-ins and Dropbox Core API. * [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. * [Liquid Analytics](https://github.com/lqd-io/liquid-sdk-ios) Identify behaviours through Analytics and react with real-time Personalization. * [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. @@ -3064,7 +3064,6 @@ CollectionView, make Instagram Discover within minutes. * [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) * [iOScreator](https://www.ioscreator.com/) * [Mathew Sanders](http://mathewsanders.com/) -* [Little Bites of Cocoa](https://littlebitesofcocoa.com/) * [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) * [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. * [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) From b20576e73afd9583c3c10640d58becf44bce7095 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 12 Jul 2018 14:29:53 -0300 Subject: [PATCH 1995/2606] create Gestures category description --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index a060e71b7..1b972c678 100644 --- a/README.md +++ b/README.md @@ -714,6 +714,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftyTask](https://github.com/Albinzr/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. ## Gesture + +*Libraries and tools to handle gestures.* + * [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS * [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds * [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] From 17edb25485ab4109940e1709502c0abd04ef64ba Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 12 Jul 2018 14:40:11 -0300 Subject: [PATCH 1996/2606] create Graphics category description --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 1b972c678..67ec1ebb8 100644 --- a/README.md +++ b/README.md @@ -725,6 +725,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FDFullscreenPopGesture](https://github.com/forkingdog/FDFullscreenPopGesture) - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP. ## Graphics + +*CoreGraphics, CoreAnimation, SVG, CGContext libraries, helpers and tools.* + * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! * [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. * [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext From 2fd0033899fc6ae645cd5ee0795a82ef4106c572 Mon Sep 17 00:00:00 2001 From: Dasha Korneichuk Date: Sat, 14 Jul 2018 22:58:45 +0300 Subject: [PATCH 1997/2606] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 67ec1ebb8..2c61d7d16 100644 --- a/README.md +++ b/README.md @@ -3220,6 +3220,8 @@ CollectionView, make Instagram Discover within minutes. * [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. * [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. * [Awesome list of open source applications for macOS](https://github.com/serhii-londar/open-source-mac-os-apps) - List of awesome open source applications for macOS. +* [Awesome iOS Interview question list](https://github.com/serhii-londar/open-source-mac-os-apps) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. + ## Contributing and License From 359780fb93b33abde0a9a3861cccc646fcb7bf53 Mon Sep 17 00:00:00 2001 From: Dasha Korneichuk Date: Sat, 14 Jul 2018 23:14:04 +0300 Subject: [PATCH 1998/2606] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 2c61d7d16..4ab297380 100644 --- a/README.md +++ b/README.md @@ -3223,7 +3223,6 @@ CollectionView, make Instagram Discover within minutes. * [Awesome iOS Interview question list](https://github.com/serhii-londar/open-source-mac-os-apps) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. - ## Contributing and License * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) * Distributed under the MIT license. See LICENSE for more information. From 72ebb30331582676db6664d53a86bece3ecee0cc Mon Sep 17 00:00:00 2001 From: Dasha Korneichuk Date: Sun, 15 Jul 2018 00:31:05 +0300 Subject: [PATCH 1999/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4ab297380..ccadda59e 100644 --- a/README.md +++ b/README.md @@ -3220,7 +3220,7 @@ CollectionView, make Instagram Discover within minutes. * [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. * [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. * [Awesome list of open source applications for macOS](https://github.com/serhii-londar/open-source-mac-os-apps) - List of awesome open source applications for macOS. -* [Awesome iOS Interview question list](https://github.com/serhii-londar/open-source-mac-os-apps) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. +* [Awesome iOS Interview question list](https://github.com/dashvlas/awesome-ios-interview) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. ## Contributing and License From 837bf824a0670ad3ec03f0606bba25acf5ad3d97 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 16 Jul 2018 11:19:36 -0300 Subject: [PATCH 2000/2606] add ARStarter by @codePrincess --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ccadda59e..0cbf263b2 100644 --- a/README.md +++ b/README.md @@ -198,6 +198,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) * [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) * [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS) +* [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners ## Analytics From dee5e1bc079e7c3bffb5d707730dccfc51b1a902 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 16 Jul 2018 11:33:56 -0300 Subject: [PATCH 2001/2606] add GPUImage3 by @BradLarson --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0cbf263b2..7ea13c519 100644 --- a/README.md +++ b/README.md @@ -1129,6 +1129,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS * [ImageDetect](https://github.com/Feghal/ImageDetect) - Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api. * [THTiledImageView](https://github.com/TileImageTeamiOS/THTiledImageView) - Provide ultra-high-quality images through tiling techniques +* [GPUImage3](https://github.com/BradLarson/GPUImage3) - GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal. ### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift From c9a7c4d019f60af9733b121dc4b043260d512da1 Mon Sep 17 00:00:00 2001 From: Mohamad Kaakati Date: Mon, 16 Jul 2018 22:51:56 +0300 Subject: [PATCH 2002/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ea13c519..31d382a14 100644 --- a/README.md +++ b/README.md @@ -270,6 +270,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YARCH](https://github.com/alfa-laboratory/YARCH) - More clean alternative to VIPER with unidirectional data flow (flux-like). * [iOS-Viper-Architecture](https://github.com/MindorksOpenSource/iOS-Viper-Architecture) - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc. * [Tempura](https://github.com/BendingSpoons/tempura-swift) - A holistic approach to iOS development, inspired by Redux and MVVM. +* [VIPER Module Generator](https://github.com/Kaakati/VIPER-Module-Generator) - A Clean VIPER Modules Generator with comments and predfined functions. ## ARKit From d435d3b379c5bf68f2deaf1c1e8595ad0a1fe63e Mon Sep 17 00:00:00 2001 From: DimaMishchenko Date: Wed, 18 Jul 2018 01:21:05 +0300 Subject: [PATCH 2003/2606] Added EasyFutures. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 31d382a14..97831ef73 100644 --- a/README.md +++ b/README.md @@ -659,6 +659,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [promises](https://github.com/google/promises) - Google provides a synchronization construct for Objective-C and Swift to facilitate writing asynchronous code. * [Continuum](https://github.com/marty-suzuki/Continuum) - NotificationCenter based Lightweight UI / AnyObject binder. * [Futures](https://github.com/formbound/Futures) - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side Swift. +* [EasyFutures](https://github.com/DimaMishchenko/EasyFutures) - 🔗 Swift Futures & Promises. Easy to use. Highly combinable. ## Files From 998ac4e67b1a47ccec8ca641e632ccbe2c3eff24 Mon Sep 17 00:00:00 2001 From: dbukowski Date: Thu, 19 Jul 2018 11:22:43 +0200 Subject: [PATCH 2004/2606] Added Disintegrate. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 97831ef73..f693e73a4 100644 --- a/README.md +++ b/README.md @@ -2080,6 +2080,7 @@ Most of these are paid services, some have free tiers. * [TheAnimation](https://github.com/marty-suzuki/TheAnimation) - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values. * [Poi](https://github.com/HideakiTouhara/Poi) - Poi makes you use card UI like tinder UI .You can use it like tableview method. * [Sica](https://github.com/cats-oss/Sica) - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly. +* [Disintegrate](https://github.com/dbukowski/Disintegrate) - Disintegration animation inspired by THAT thing Thanos did at the end of Avengers: Infinity War. ### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From f92f4204586c84d70211aa708318cca19e2aeaf8 Mon Sep 17 00:00:00 2001 From: Suyash Shekhar Date: Sat, 21 Jul 2018 13:49:05 +0800 Subject: [PATCH 2005/2606] Add Lumos --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 97831ef73..bf37ff9d2 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Push Notifications](#push-notifications) - [Push Notification Providers](#push-notification-providers) - [Local Notifications](#local-notifications) +- [Objective-C Runtime](#objective-c-runtime) - [Optimization](#optimization) - [Parsing](#parsing) - [CSV](#csv) @@ -1327,6 +1328,10 @@ Most of these are paid services, some have free tiers. * [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. +## Objective-C Runtime + +* [Lumos](https://github.com/sushinoya/lumos) - A light Swift wrapper around Objective-C Runtime. + ## Optimization * [Unreachable](https://github.com/nvzqz/Unreachable) - Unreachable code path optimization hint for Swift. From 13847a8a84c2126cf2633e64fb6c3287f04f54d5 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 22 Jul 2018 16:41:17 -0300 Subject: [PATCH 2006/2606] add Wormholy in Debugging category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 97831ef73..b69bebc81 100644 --- a/README.md +++ b/README.md @@ -633,6 +633,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Hyperion](https://github.com/willowtreeapps/Hyperion-iOS) - In-app design review tool to inspect measurements, attributes, and animations. * [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. * [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window +* [Wormholy](https://github.com/pmusolino/Wormholy) - iOS network debugging, like a wizard ## EventBus From 5db07b9cb9311f937ca26654725e3c7dbfa87a95 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 22 Jul 2018 16:43:25 -0300 Subject: [PATCH 2007/2606] add 'Top app developers' list on 'Other Awesome Lists' category. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b69bebc81..229280ee0 100644 --- a/README.md +++ b/README.md @@ -3226,6 +3226,7 @@ CollectionView, make Instagram Discover within minutes. * [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. * [Awesome list of open source applications for macOS](https://github.com/serhii-londar/open-source-mac-os-apps) - List of awesome open source applications for macOS. * [Awesome iOS Interview question list](https://github.com/dashvlas/awesome-ios-interview) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. +* [Top App Developers](https://github.com/app-developers/top) - A list of top iOS app developers ## Contributing and License From 18abde40c147c9cb6a097128a3002de1d3716116 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 22 Jul 2018 16:47:18 -0300 Subject: [PATCH 2008/2606] add 'RXCoordinator' in 'Reactive Programming' category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 229280ee0..883fc14db 100644 --- a/README.md +++ b/README.md @@ -1499,6 +1499,7 @@ Most of these are paid services, some have free tiers. * [BindKit](https://github.com/electricbolt/bindkit) - Two-way data binding framework for iOS. Only one API to learn. * [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. * [RxReduce](https://github.com/RxSwiftCommunity/RxReduce) - Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way. +* [RxCoordinator](https://github.com/quickbirdstudios/RxCoordinator) - Reactive navigation library for iOS based on the coordinator pattern ### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. From 00827353419c4195f01c10b915dd67268a640cc2 Mon Sep 17 00:00:00 2001 From: Suyash Shekhar Date: Mon, 23 Jul 2018 04:22:21 +0800 Subject: [PATCH 2009/2606] Add obj-c runtime category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index bf37ff9d2..0a5e478ee 100644 --- a/README.md +++ b/README.md @@ -1330,6 +1330,8 @@ Most of these are paid services, some have free tiers. ## Objective-C Runtime +*Objective-C Runtime wrappers, libraries and tools.* + * [Lumos](https://github.com/sushinoya/lumos) - A light Swift wrapper around Objective-C Runtime. ## Optimization From 4e34f3e0420553da3d943c425bdeecd3dfbd2919 Mon Sep 17 00:00:00 2001 From: Suyash Shekhar Date: Mon, 23 Jul 2018 04:26:12 +0800 Subject: [PATCH 2010/2606] Move Swizzlean to right category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0a5e478ee..8a0b58730 100644 --- a/README.md +++ b/README.md @@ -1333,6 +1333,7 @@ Most of these are paid services, some have free tiers. *Objective-C Runtime wrappers, libraries and tools.* * [Lumos](https://github.com/sushinoya/lumos) - A light Swift wrapper around Objective-C Runtime. +* [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class. ## Optimization @@ -2934,7 +2935,6 @@ CollectionView, make Instagram Discover within minutes. * [Attabench](https://github.com/attaswift/Attabench) - Microbenchmarking app for Swift with nice log-log plots * [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. * [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. -* [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class * [AppDevKit](https://github.com/yahoo/AppDevKit) - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. * [Tweaks](https://github.com/facebook/Tweaks) - An easy way to fine-tune, and adjust parameters for iOS apps in development. * [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. From 486c1f770c948382b3911659c029dcdd4e76d97a Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 22 Jul 2018 21:56:44 -0300 Subject: [PATCH 2011/2606] add Gallery --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 857ff9cea..59fe85f8a 100644 --- a/README.md +++ b/README.md @@ -1134,6 +1134,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ImageDetect](https://github.com/Feghal/ImageDetect) - Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api. * [THTiledImageView](https://github.com/TileImageTeamiOS/THTiledImageView) - Provide ultra-high-quality images through tiling techniques * [GPUImage3](https://github.com/BradLarson/GPUImage3) - GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal. +* [Gallery](https://github.com/hyperoslo/Gallery) - Your next favorite image and video picker ### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift From 7961c5419ad25a0dce751759c9bc97b2cf30e622 Mon Sep 17 00:00:00 2001 From: Zuik Date: Mon, 23 Jul 2018 17:29:02 +0800 Subject: [PATCH 2012/2606] add ZIKRouter --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59fe85f8a..43c545988 100644 --- a/README.md +++ b/README.md @@ -241,6 +241,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - 📱📲 Navigate between view controllers with ease. * [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. * [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. +* [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. ## Apple TV From 621ad1867d2af7ff48b1642962cf5887bfc25482 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 23 Jul 2018 17:15:20 -0300 Subject: [PATCH 2013/2606] fix redirect CI errors --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 43c545988..8e015e6b9 100644 --- a/README.md +++ b/README.md @@ -2864,7 +2864,7 @@ CollectionView, make Instagram Discover within minutes. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents * [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. * [xclint](https://github.com/xcodeswift/xclint) - Validate the state of your Xcode projects. -* [xcproj](https://github.com/xcode-project-manager/xcodeproj) - Read and update Xcode projects. +* [xcproj](https://github.com/tuist/xcodeproj) - Read and update Xcode projects. ## Dependency / Package Manager @@ -2923,12 +2923,12 @@ CollectionView, make Instagram Discover within minutes. * [xcenv](https://github.com/xcenv/xcenv) - Groom your Xcode environment. * [playgroundbook](https://github.com/playgroundbooks/playgroundbook) - Tool for Swift Playground books * [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. -* [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from *.ipa file. +* [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from `.ipa` file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. * [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! * [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A macOS library for managing and manipulating iOS Simulators -* [Nomad](http://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute *.ipa*, verify In-App-Purchase receipt and more. -* [Cookiecutter](https://github.com/RahulKatariya/FrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file +* [Nomad](https://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute `.ipa`, verify In-App-Purchase receipt and more. +* [Cookiecutter](https://github.com/RahulKatariya/SwiftFrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file * [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. * [AssetChecker 👮](https://github.com/freshOS/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. * [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar From 1c85714fcffb65d9a473a1414d72d2b6a51a7a77 Mon Sep 17 00:00:00 2001 From: Eugene Kazaev Date: Wed, 25 Jul 2018 15:58:06 +0100 Subject: [PATCH 2014/2606] Added [RouteComposer](https://github.com/saksdirect/route-composer) - Library that helps handle view controllers composition, routing and deeplinking tasks. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e015e6b9..a15aecadc 100644 --- a/README.md +++ b/README.md @@ -242,6 +242,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. * [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. * [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. +* [RouteComposer](https://github.com/saksdirect/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. ## Apple TV From e90d9f7503aa29d03801f74770d0ac3eb54d0372 Mon Sep 17 00:00:00 2001 From: Dylan Date: Wed, 25 Jul 2018 11:53:56 -0400 Subject: [PATCH 2015/2606] Added OKTableViewLiaison --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e015e6b9..f6bf2990b 100644 --- a/README.md +++ b/README.md @@ -2648,6 +2648,7 @@ CollectionView, make Instagram Discover within minutes. * [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. * [SimpleSource](https://github.com/Squarespace/simple-source) - Easy and type-safe iOS table and collection views in Swift. * [SelectionList](https://github.com/yonat/SelectionList) - Simple single-selection or multiple-selection checklist, based on UITableView. +* [OKTableViewLiaison](https://github.com/okcupid/OKTableViewLiaison) - Framework to help you better manage UITableView configuration. #### Expandable Cell From 30a9cf5c7bd573222db47c182ff7f5f53dd9bb47 Mon Sep 17 00:00:00 2001 From: DimaMishchenko Date: Fri, 27 Jul 2018 12:18:41 +0300 Subject: [PATCH 2016/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37fc3db71..5a8f143e2 100644 --- a/README.md +++ b/README.md @@ -2225,6 +2225,7 @@ Most of these are paid services, some have free tiers. * [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class * [DesignableButton](https://github.com/IdleHandsApps/DesignableButton) - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time! * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox) - Tasteful Checkbox for iOS. (Check box) +* [ExpandableButton](https://github.com/DimaMishchenko/ExpandableButton) - Customizable and easy to use expandable button in Swift. ### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). From 103879af0439d96135f5deba189878c7f03a733d Mon Sep 17 00:00:00 2001 From: k-lpmg Date: Sun, 29 Jul 2018 01:34:39 +0900 Subject: [PATCH 2017/2606] Add Tagging --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37fc3db71..d89670629 100644 --- a/README.md +++ b/README.md @@ -2732,6 +2732,7 @@ CollectionView, make Instagram Discover within minutes. * [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. * [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. +* [Tagging](https://github.com/k-lpmg/Tagging) - ✍️ TextView that provides easy to use tagging feature for Mention or Hashtag. ### UIPageControl * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. From bcf8475b680f5d44c125af4ed4a40007a03191ea Mon Sep 17 00:00:00 2001 From: Amir Abbas Mousavian Date: Mon, 30 Jul 2018 01:14:02 +0430 Subject: [PATCH 2018/2606] Added AMSMB2 framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37fc3db71..f991dec43 100644 --- a/README.md +++ b/README.md @@ -680,6 +680,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ZIPFoundation](https://github.com/weichsel/ZIPFoundation) - Effortless ZIP Handling in Swift * [AppFolder](https://github.com/dreymonde/AppFolder) - AppFolder is a lightweight framework that lets you design a friendly, strongly-typed representation of a directories inside your app's container. * [ZipZap](https://github.com/pixelglow/ZipZap) - zip file I/O library for iOS, macOS and tvOS. +* [AMSMB2](https://github.com/amosavian/AMSMB2) - Swift framework to connect SMB 2/3 shares for iOS. ## Functional Programming From bf750a62fc31fd1a79b739f2b970d33ecebd81fd Mon Sep 17 00:00:00 2001 From: "Steve(Sung Woo) Chang" Date: Mon, 30 Jul 2018 17:08:17 +0900 Subject: [PATCH 2019/2606] add EtherWalletKit add EtherWalletKit on the Blockchain section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37fc3db71..06dbffb01 100644 --- a/README.md +++ b/README.md @@ -317,6 +317,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. * [EthereumKit](https://github.com/D-Technologies/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. * [BitcoinKit](https://github.com/kishikawakatsumi/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. +* [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. ## Bridging From 4bd4c0929b550e35642b4deaa12b570c596fdfaf Mon Sep 17 00:00:00 2001 From: Bofei Zhu Date: Tue, 31 Jul 2018 14:39:54 -0400 Subject: [PATCH 2020/2606] Cleanup Table View / Collection View section --- README.md | 71 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index e7eb1e429..c07b3ce49 100644 --- a/README.md +++ b/README.md @@ -140,9 +140,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Switch](#switch) - [Tab Bar](#tab-bar) - [Table View / Collection View](#table-view--collection-view) + - [Table View](#table-view) + - [Collection View](#collection-view) - [Expandable Cell](#expandable-cell) - [Header](#header) - [Placeholder](#placeholder) + - [Layout](#layout) - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [UIPageControl](#uipagecontrol) @@ -2578,61 +2581,60 @@ Most of these are paid services, some have free tiers. ### Table View / Collection View +#### Table View + * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. -* [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. * [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ * [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. * [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. -* [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. * [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. -* [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff * [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) * [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy * [BWSwipeRevealCell](https://github.com/bitwit/BWSwipeRevealCell) - A Swift library for swipeable table cells * [preview-transition](https://github.com/Ramotion/preview-transition) - PreviewTransition is a simple preview gallery controller * [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A simple way to create a UITableView for settings in Swift. * [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views with Swift -* [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView * [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu -* [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts -* [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. -* [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. -* [mosaic-layout](https://github.com/vinnyoodles/mosaic-layout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift -* [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells * [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. * [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). -* [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager * [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift -* [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout which can move item with drag and drop. -* [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. * [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. -* [TLLayoutTransitioning](https://github.com/SwiftKickMobile/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. * [Bohr](https://github.com/DavdRoman/Bohr) - Bohr allows you to set up a settings screen for your app with three principles in mind: ease, customization and extensibility. * [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. [e] -* [TLIndexPathTools](https://github.com/SwiftKickMobile/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. * [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. * [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. -* [IGListKit](https://github.com/Instagram/IGListKit) - A data-driven UICollectionView framework for building fast and flexible lists. * [FlexibleTableViewController](https://github.com/dimpiax/FlexibleTableViewController) - Swift library of generic table view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler -* [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc * [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift. * [TimelineTableViewCell](https://github.com/kf99916/TimelineTableViewCell) - Simple timeline view implemented by UITableViewCell written in Swift 3.0. * [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". * [TORoundedTableView](https://github.com/TimOliver/TORoundedTableView) - A subclass of UITableView that styles it like Settings.app on iPad -* [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. * [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ * [DTTableViewManager](https://github.com/DenHeadless/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. -* [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView * [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. -* [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView -* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. -* [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. -* [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations +* [SelectionList](https://github.com/yonat/SelectionList) - Simple single-selection or multiple-selection checklist, based on UITableView. +* [OKTableViewLiaison](https://github.com/okcupid/OKTableViewLiaison) - Framework to help you better manage UITableView configuration. + +### Collection View + +* [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff +* [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. +* [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView +* [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts +* [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells +* [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager +* [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. +* [TLLayoutTransitioning](https://github.com/SwiftKickMobile/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. +* [TLIndexPathTools](https://github.com/SwiftKickMobile/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. +* [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. +* [IGListKit](https://github.com/Instagram/IGListKit) - A data-driven UICollectionView framework for building fast and flexible lists. +* [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc +* [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. +* [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView +* [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView * [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. * [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. -* [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. * [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. * [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). * [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) @@ -2643,16 +2645,10 @@ Most of these are paid services, some have free tiers. * [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. * [CampcotCollectionView](https://github.com/touchlane/CampcotCollectionView) - CampcotCollectionView is a custom UICollectionView written in Swift that allows to expand and collapse sections. It provides a simple API to manage collection view appearance. -* [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. -CollectionView, make Instagram Discover within minutes. -* [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. * [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. * [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. * [MSPeekCollectionViewDelegateImplementation](https://github.com/MaherKSantina/MSPeekCollectionViewDelegateImplementation) - A custom paging behavior that peeks the previous and next items in a collection view. -* [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. * [SimpleSource](https://github.com/Squarespace/simple-source) - Easy and type-safe iOS table and collection views in Swift. -* [SelectionList](https://github.com/yonat/SelectionList) - Simple single-selection or multiple-selection checklist, based on UITableView. -* [OKTableViewLiaison](https://github.com/okcupid/OKTableViewLiaison) - Framework to help you better manage UITableView configuration. #### Expandable Cell @@ -2674,9 +2670,26 @@ CollectionView, make Instagram Discover within minutes. * [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. #### Placeholder + +* [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. * [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project * [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views +#### Layout + +* [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. +* [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. +* [mosaic-layout](https://github.com/vinnyoodles/mosaic-layout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift +* [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout which can move item with drag and drop. +* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. +* [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content +* [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations +* [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. +* [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. +CollectionView, make Instagram Discover within minutes. +* [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. + + ### Tag * [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. * [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. From 9f66b00b2ce1b6646d5e5327ad4997b80c9e7a8b Mon Sep 17 00:00:00 2001 From: Bofei Zhu Date: Tue, 31 Jul 2018 14:43:18 -0400 Subject: [PATCH 2021/2606] fix link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c07b3ce49..d7c2de209 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Expandable Cell](#expandable-cell) - [Header](#header) - [Placeholder](#placeholder) - - [Layout](#layout) + - [Collection View Layout](#collection-view-layout) - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [UIPageControl](#uipagecontrol) @@ -2675,7 +2675,7 @@ Most of these are paid services, some have free tiers. * [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project * [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views -#### Layout +#### Collection View Layout * [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. From 1ca7ff5f73c3587bfe389ba8dec415b8e01de9b4 Mon Sep 17 00:00:00 2001 From: Bofei Zhu Date: Tue, 31 Jul 2018 14:53:59 -0400 Subject: [PATCH 2022/2606] nit --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d7c2de209..ef6c9c958 100644 --- a/README.md +++ b/README.md @@ -2614,6 +2614,9 @@ Most of these are paid services, some have free tiers. * [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. * [SelectionList](https://github.com/yonat/SelectionList) - Simple single-selection or multiple-selection checklist, based on UITableView. +* [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. +* [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. +* [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. * [OKTableViewLiaison](https://github.com/okcupid/OKTableViewLiaison) - Framework to help you better manage UITableView configuration. ### Collection View @@ -2625,9 +2628,7 @@ Most of these are paid services, some have free tiers. * [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells * [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager * [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. -* [TLLayoutTransitioning](https://github.com/SwiftKickMobile/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. * [TLIndexPathTools](https://github.com/SwiftKickMobile/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. -* [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. * [IGListKit](https://github.com/Instagram/IGListKit) - A data-driven UICollectionView framework for building fast and flexible lists. * [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc * [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. @@ -2641,9 +2642,7 @@ Most of these are paid services, some have free tiers. * [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. * [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections * [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. -* [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. * [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. -* [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. * [CampcotCollectionView](https://github.com/touchlane/CampcotCollectionView) - CampcotCollectionView is a custom UICollectionView written in Swift that allows to expand and collapse sections. It provides a simple API to manage collection view appearance. * [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. * [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. @@ -2680,6 +2679,7 @@ Most of these are paid services, some have free tiers. * [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. * [mosaic-layout](https://github.com/vinnyoodles/mosaic-layout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift +* [TLLayoutTransitioning](https://github.com/SwiftKickMobile/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. * [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout which can move item with drag and drop. * [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. * [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content From c24057d515b04f12d73f41ada995c39f4f14238c Mon Sep 17 00:00:00 2001 From: Nurdaulet Date: Wed, 1 Aug 2018 17:27:17 +0600 Subject: [PATCH 2023/2606] Add RPInteraction --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e7eb1e429..4fa6d4ee1 100644 --- a/README.md +++ b/README.md @@ -2095,6 +2095,7 @@ Most of these are paid services, some have free tiers. * [TheAnimation](https://github.com/marty-suzuki/TheAnimation) - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values. * [Poi](https://github.com/HideakiTouhara/Poi) - Poi makes you use card UI like tinder UI .You can use it like tableview method. * [Sica](https://github.com/cats-oss/Sica) - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly. +* [RPInteraction](https://github.com/nbolatov/RPInteraction) - Review page interaction - handy and pretty way to ask for review. ### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From f50f70847ebaef74a8c77dd398944aaac179ca27 Mon Sep 17 00:00:00 2001 From: Bofei Zhu Date: Wed, 1 Aug 2018 12:41:28 -0400 Subject: [PATCH 2024/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ef6c9c958..c51d71793 100644 --- a/README.md +++ b/README.md @@ -2619,7 +2619,7 @@ Most of these are paid services, some have free tiers. * [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. * [OKTableViewLiaison](https://github.com/okcupid/OKTableViewLiaison) - Framework to help you better manage UITableView configuration. -### Collection View +#### Collection View * [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff * [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. From 85ae4373c63c4bf2a7b7186f0fd415d1d0eb8f5b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 2 Aug 2018 13:16:41 -0300 Subject: [PATCH 2025/2606] Removed FlexboxLayout Deprecated --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index c51d71793..df455f150 100644 --- a/README.md +++ b/README.md @@ -850,7 +850,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Layout -* [FlexboxLayout](https://github.com/alexdrone/FlexboxLayout) - Port of Facebook's css-layout to Swift * [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. * [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. * [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. From 2ce26b183c06518653e782577020934a1ca41239 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 2 Aug 2018 13:17:56 -0300 Subject: [PATCH 2026/2606] Updated Compose's link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c51d71793..5b76e920c 100644 --- a/README.md +++ b/README.md @@ -878,7 +878,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications * [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally * [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. -* [Compose](https://github.com/GrupoZapVivaReal/Compose) - Compose is a library that helps you compose complex and dynamic views. +* [Compose](https://github.com/grupozap/Compose) - Compose is a library that helps you compose complex and dynamic views. * [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. * [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. * [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. From eb82b8277e351c58afb180411980ed62d5f2bc86 Mon Sep 17 00:00:00 2001 From: Evgen Bodunov Date: Fri, 3 Aug 2018 15:19:30 +0300 Subject: [PATCH 2027/2606] Added link to GLMap --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bffbdadef..e330bf202 100644 --- a/README.md +++ b/README.md @@ -981,6 +981,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ClusterKit](https://github.com/hulab/ClusterKit) - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. * [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities. * [MapViewPlus](https://github.com/okhanokbay/MapViewPlus) - Use any custom view as custom callout view of your MKMapView with cool animations. Also, easily use any image as annotation view. +* [GLMap](https://getyourmap.com) - Crossplatform offline vector map with MapCSS styling. Offline search and offline navigation are included. ## Math From 83c6b0d7199cf2c671814c04e061312ff23e3096 Mon Sep 17 00:00:00 2001 From: Matan Abravanel Date: Sat, 4 Aug 2018 11:34:49 +0300 Subject: [PATCH 2028/2606] TopicEventBus added to EventBus category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e330bf202..e86357f50 100644 --- a/README.md +++ b/README.md @@ -668,6 +668,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Continuum](https://github.com/marty-suzuki/Continuum) - NotificationCenter based Lightweight UI / AnyObject binder. * [Futures](https://github.com/formbound/Futures) - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side Swift. * [EasyFutures](https://github.com/DimaMishchenko/EasyFutures) - 🔗 Swift Futures & Promises. Easy to use. Highly combinable. +* [TopicEventBus](https://github.com/mcmatan/topicEventBus) - Publish–subscribe design pattern implementation framework, with ability to publish events by topic. (NotificationCenter extended alternative) ## Files From 301ecf75f7459eff2d2ea73af9661782931b270b Mon Sep 17 00:00:00 2001 From: Sergey Zenchenko Date: Sat, 4 Aug 2018 12:10:48 +0300 Subject: [PATCH 2029/2606] Add AppSpector --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e330bf202..5215336ac 100644 --- a/README.md +++ b/README.md @@ -641,6 +641,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. * [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window * [Wormholy](https://github.com/pmusolino/Wormholy) - iOS network debugging, like a wizard +* [AppSpector](https://appspector.com) - Ultimate Remote iOS and Android debugging and data collection. Networking, Logs, CoreData, SQLite, NSNotifcationCenter, location mocking and even more. ## EventBus From 080972dc3d70e24f3247a1e58ff12adf54644584 Mon Sep 17 00:00:00 2001 From: Sergey Zenchenko Date: Sat, 4 Aug 2018 13:08:37 +0300 Subject: [PATCH 2030/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5215336ac..ca3e5aac4 100644 --- a/README.md +++ b/README.md @@ -641,7 +641,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. * [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window * [Wormholy](https://github.com/pmusolino/Wormholy) - iOS network debugging, like a wizard -* [AppSpector](https://appspector.com) - Ultimate Remote iOS and Android debugging and data collection. Networking, Logs, CoreData, SQLite, NSNotifcationCenter, location mocking and even more. +* [AppSpector](https://appspector.com) - Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotifcationCenter and mock device's geo location. ## EventBus From 5f674837b0b62fbf2621c0dfffeb8ff13465d009 Mon Sep 17 00:00:00 2001 From: Ryo Aoyama Date: Sun, 5 Aug 2018 22:56:22 +0900 Subject: [PATCH 2031/2606] Add DifferenceKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e330bf202..66025e93a 100644 --- a/README.md +++ b/README.md @@ -596,6 +596,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [KeyPathKit](https://github.com/vincent-pradeilles/KeyPathKit) - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths. * [Differific](https://github.com/zenangst/Differific) - A fast and convenient diffing framework. * [OneWaySynchronizer](https://github.com/ladeiko/OneWaySynchronizer) - The simplest abstraction to synchronize local data with remote source. +* [DifferenceKit](https://github.com/ra1028/DifferenceKit) - 💻 A fast and flexible O(n) difference algorithm framework for Swift collection. ## Date & Time From 13a961b455ce3f1276aa34efd56cf8e3e829e44a Mon Sep 17 00:00:00 2001 From: Sergey Zenchenko Date: Mon, 6 Aug 2018 14:12:31 +0300 Subject: [PATCH 2032/2606] Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca3e5aac4..2675514bf 100644 --- a/README.md +++ b/README.md @@ -641,7 +641,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. * [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window * [Wormholy](https://github.com/pmusolino/Wormholy) - iOS network debugging, like a wizard -* [AppSpector](https://appspector.com) - Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotifcationCenter and mock device's geo location. +* [AppSpector](https://appspector.com) - Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotificationCenter and mock device's geo location. ## EventBus From 9fb9733e6e38fce1492456025e418e1fc1381aea Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 7 Aug 2018 16:38:27 -0300 Subject: [PATCH 2033/2606] fix redirects --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 56b11b7b0..0d3717bee 100644 --- a/README.md +++ b/README.md @@ -3160,7 +3160,7 @@ CollectionView, make Instagram Discover within minutes. * [Principle](http://principleformac.com) ### Newsletters -* [iOS Goodies](http://ios-goodies.com) - Weekly iOS newsletter +* [iOS Goodies](https://ios-goodies.com) - Weekly iOS newsletter * [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week * [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. * [iOS Trivia Weekly](http://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday @@ -3199,7 +3199,7 @@ CollectionView, make Instagram Discover within minutes. * [Debug](https://www.imore.com/debug) * [App Story](http://www.appstorypodcast.com) * [Mobile Couch](https://mobilecouch.co/) -* [iPhreaks](https://devchat.tv/iphreaks) +* [iPhreaks](https://devchat.tv/iphreaks/) * [Under the Radar](https://www.relay.fm/radar) * [Core Intuition](http://coreint.org/) * [Swift Playhouse](http://www.swiftplayhouse.com/) From 7b6d71189b2ec29cdb1d25cc3279f29df1829709 Mon Sep 17 00:00:00 2001 From: Quentin Date: Wed, 8 Aug 2018 12:56:09 +0800 Subject: [PATCH 2034/2606] Add Schedule --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0d3717bee..947407e72 100644 --- a/README.md +++ b/README.md @@ -622,6 +622,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TimePicker](https://github.com/Endore8/TimePicker) - Configurable time picker component based on a pan gesture and its velocity. * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift * [NVDate](https://github.com/novalagung/nvdate) - Swift4 Date extension library +* [Schedule](https://github.com/jianstm/Schedule) - ⏳ A missing lightweight task scheduler for Swift with an incredibly human-friendly syntax. ## Debugging From 4f535eeace10ff60e8736a894d3b426cedea1f89 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 8 Aug 2018 09:27:31 -0300 Subject: [PATCH 2035/2606] Updated The Ray Wenderlich Podcast's link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 947407e72..e9b605e57 100644 --- a/README.md +++ b/README.md @@ -3196,7 +3196,7 @@ CollectionView, make Instagram Discover within minutes. * [Framer JS](https://www.facebook.com/groups/framerjs/about/) ## Podcasts -* [The Ray Wenderlich Podcast](https://www.raywenderlich.com/rwpodcast) +* [The Ray Wenderlich Podcast](https://www.raywenderlich.com/podcast) * [Debug](https://www.imore.com/debug) * [App Story](http://www.appstorypodcast.com) * [Mobile Couch](https://mobilecouch.co/) From 85963ba1d63adbd30b27a479354c725f883ff129 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 8 Aug 2018 19:26:30 -0300 Subject: [PATCH 2036/2606] add awesome ios weekly --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e9b605e57..58eb7dd4a 100644 --- a/README.md +++ b/README.md @@ -3161,6 +3161,7 @@ CollectionView, make Instagram Discover within minutes. * [Principle](http://principleformac.com) ### Newsletters +* [AwesomeiOS Weekly](http://weekly.awesomeios.com) - AwesomeiOS Weekly * [iOS Goodies](https://ios-goodies.com) - Weekly iOS newsletter * [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week * [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. From 966096c2200c7cda799e4be2e3c53617316726d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80?= Date: Fri, 10 Aug 2018 07:50:17 +0300 Subject: [PATCH 2037/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 58eb7dd4a..e51743eb8 100644 --- a/README.md +++ b/README.md @@ -1520,6 +1520,7 @@ Most of these are paid services, some have free tiers. * [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. * [RxReduce](https://github.com/RxSwiftCommunity/RxReduce) - Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way. * [RxCoordinator](https://github.com/quickbirdstudios/RxCoordinator) - Reactive navigation library for iOS based on the coordinator pattern +* [CoreEvents](https://github.com/surfstudio/CoreEvents) - Simple library with C#-like events ### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. From d3e4a8c4a6eef6ddf43828ae91e24902dfd7bfa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80?= Date: Fri, 10 Aug 2018 07:55:33 +0300 Subject: [PATCH 2038/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e51743eb8..99d3f39b6 100644 --- a/README.md +++ b/README.md @@ -1520,13 +1520,13 @@ Most of these are paid services, some have free tiers. * [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. * [RxReduce](https://github.com/RxSwiftCommunity/RxReduce) - Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way. * [RxCoordinator](https://github.com/quickbirdstudios/RxCoordinator) - Reactive navigation library for iOS based on the coordinator pattern -* [CoreEvents](https://github.com/surfstudio/CoreEvents) - Simple library with C#-like events ### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. * [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. * [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. * [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. +* [CoreEvents](https://github.com/surfstudio/CoreEvents) - Simple library with C#-like events. ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. From 1a0169ed297a8eaf7254e830e94cf3aa34aac85f Mon Sep 17 00:00:00 2001 From: Dalton Hinterscher Date: Fri, 10 Aug 2018 09:39:04 -0500 Subject: [PATCH 2039/2606] Added AlamoRecord --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 58eb7dd4a..12de0993a 100644 --- a/README.md +++ b/README.md @@ -1293,6 +1293,7 @@ Also see [push notifications](#push-notifications) * [Dots](https://github.com/iAmrSalman/Dots) - Lightweight Concurrent Networking Framework. * [Gem](https://github.com/Albinzr/Gem) - An extreme light weight system with high performance for managing all http request with automated parser with modal. * [RMHttp](https://github.com/rogermolas/RMHttp) - Lightweight REST library for iOS and watchOS. +* [AlamoRecord](https://github.com/tunespeak/AlamoRecord) - An elegant yet powerful iOS networking layer inspired by ActiveRecord. ### Email From 4d8f34b85f1eefe42ffb0134df8106037a5bec10 Mon Sep 17 00:00:00 2001 From: Christoph Wendt Date: Sat, 11 Aug 2018 22:29:23 +0200 Subject: [PATCH 2040/2606] add new category for accessibility --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 58eb7dd4a..84c1da1cc 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [About](#about) - [How to Use](#how-to-use) - [Courses](#courses) +- [Accessibility](#accessibility) - [Analytics](#analytics) - [App Routing](#app-routing) - [Apple TV](#apple-tv) @@ -204,6 +205,10 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS) * [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners +## Accessibility + + *Frameworks that help to support accessibility features and enable people with disabilities to use your apps* + ## Analytics *Analytics platforms, SDK's, error tracking and real-time answers about your app* From 72769d34d901b0e008e705279fb261268b910105 Mon Sep 17 00:00:00 2001 From: Christoph Wendt Date: Sat, 11 Aug 2018 22:45:00 +0200 Subject: [PATCH 2041/2606] add Capable framework --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 84c1da1cc..1c94770b2 100644 --- a/README.md +++ b/README.md @@ -207,8 +207,10 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Accessibility - *Frameworks that help to support accessibility features and enable people with disabilities to use your apps* - + *Frameworks that help to support accessibility features and enable people with disabilities to use your app* + +* [Capable](https://github.com/chrs1885/Capable) - Track accessibility features to improve your app for people with certain disabilities. + ## Analytics *Analytics platforms, SDK's, error tracking and real-time answers about your app* From 13697d2a6de01edf23b33a2a07f1a0a94f38e639 Mon Sep 17 00:00:00 2001 From: Dalton Hinterscher Date: Sun, 12 Aug 2018 22:10:32 -0500 Subject: [PATCH 2042/2606] Added RxAlamoRecord --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1d26d0946..29e144a28 100644 --- a/README.md +++ b/README.md @@ -1528,6 +1528,7 @@ Most of these are paid services, some have free tiers. * [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. * [RxReduce](https://github.com/RxSwiftCommunity/RxReduce) - Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way. * [RxCoordinator](https://github.com/quickbirdstudios/RxCoordinator) - Reactive navigation library for iOS based on the coordinator pattern +* [RxAlamoRecord](https://github.com/Daltron/RxAlamoRecord) Combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively. ### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. From 9b5895a6ad830a1ba5fe1ee31ceba539943b7af5 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 14 Aug 2018 13:24:13 -0300 Subject: [PATCH 2043/2606] fix redirects and old links. --- .travis.yml | 2 +- README.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 49b9a69ab..74bf36062 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ before_script: - gem install awesome_bot - gem install danger script: - - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,PerfectlySoft,gitter,instabug + - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,PerfectlySoft,gitter,instabug,weekly.awesomeios.com - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix,amazon,facebook.com/groups,goo.gl - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger diff --git a/README.md b/README.md index 29e144a28..c4be74fd1 100644 --- a/README.md +++ b/README.md @@ -209,7 +209,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Frameworks that help to support accessibility features and enable people with disabilities to use your app* -* [Capable](https://github.com/chrs1885/Capable) - Track accessibility features to improve your app for people with certain disabilities. +* [Capable](https://github.com/chrs1885/Capable) - Track accessibility features to improve your app for people with certain disabilities. ## Analytics @@ -326,7 +326,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. * [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. * [EthereumKit](https://github.com/D-Technologies/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. -* [BitcoinKit](https://github.com/kishikawakatsumi/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. +* [BitcoinKit](https://github.com/BitcoinCashKit/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. * [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. ## Bridging @@ -3141,7 +3141,7 @@ CollectionView, make Instagram Discover within minutes. * [Code with Chris](https://codewithchris.com/) * [Cocoa with Love](http://www.cocoawithlove.com/) * [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. -* [RAYWENDERLICH](https://www.raywenderlich.com/tutorials) - Tutorials for developers and gamers +* [raywenderlich.com](https://www.raywenderlich.com/ios) - Tutorials for developers and gamers * [Mike Ash](https://www.mikeash.com/pyblog/) * [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) * [Tuts+](https://code.tutsplus.com/categories/ios-sdk) @@ -3175,7 +3175,7 @@ CollectionView, make Instagram Discover within minutes. * [iOS Goodies](https://ios-goodies.com) - Weekly iOS newsletter * [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week * [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. -* [iOS Trivia Weekly](http://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday +* [iOS Trivia Weekly](https://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday * [Indie iOS Focus Weekly](http://indieiosfocus.com/) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. * [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. * [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday From aabbc0f85ae2c100946b1ce9da338c5c7458c594 Mon Sep 17 00:00:00 2001 From: Ivlev Alexander Date: Thu, 16 Aug 2018 17:41:07 +0700 Subject: [PATCH 2044/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c4be74fd1..9848e3f76 100644 --- a/README.md +++ b/README.md @@ -3010,6 +3010,7 @@ CollectionView, make Instagram Discover within minutes. * [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. * [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. * [ViperServices](https://github.com/ladeiko/ViperServices) - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code. +* [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS (Swift) ## Deployment / Distribution From dfffe05e18b886e7cc07a4344fb62c20e97bb4cb Mon Sep 17 00:00:00 2001 From: Ivlev Alexander Date: Thu, 16 Aug 2018 17:43:05 +0700 Subject: [PATCH 2045/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9848e3f76..bb3fca5c6 100644 --- a/README.md +++ b/README.md @@ -3010,7 +3010,7 @@ CollectionView, make Instagram Discover within minutes. * [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. * [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. * [ViperServices](https://github.com/ladeiko/ViperServices) - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code. -* [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS (Swift) +* [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS applications written in clean Swift. ## Deployment / Distribution From bc568ccec082ffbd39cf137804ef407f296365fe Mon Sep 17 00:00:00 2001 From: Cameron Ingham Date: Sat, 18 Aug 2018 12:13:42 -0600 Subject: [PATCH 2046/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb3fca5c6..6a9a47ebc 100644 --- a/README.md +++ b/README.md @@ -3083,6 +3083,7 @@ CollectionView, make Instagram Discover within minutes. * [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift * [XcodeCodeSnippets](https://github.com/ismetanin/XcodeCodeSnippets) - A set of code snippets for iOS development, includes code and comments snippets. * [Xcode Keymap for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=stevemoser.xcode-keybindings) - This extension ports popular Xcode keyboard shortcuts to Visual Studio Code. +* [Xcode Template Manager](https://github.com/Camji55/xtm) - Xcode Template Manager is a Swift command line tool that helps your manage your Xcode project templates. ## Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. From 5ca5d6c20c8ecc95b21a8c43451d0579488438a6 Mon Sep 17 00:00:00 2001 From: Suraj Thomas K Date: Sun, 19 Aug 2018 15:30:38 +0400 Subject: [PATCH 2047/2606] Include ATGMediaBrowser in Image category ATGMediaBrowser is an image viewer which allows multiple transition styles with provision to define custom transitions. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bb3fca5c6..be0264ce5 100644 --- a/README.md +++ b/README.md @@ -1152,7 +1152,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ImageDetect](https://github.com/Feghal/ImageDetect) - Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api. * [THTiledImageView](https://github.com/TileImageTeamiOS/THTiledImageView) - Provide ultra-high-quality images through tiling techniques * [GPUImage3](https://github.com/BradLarson/GPUImage3) - GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal. -* [Gallery](https://github.com/hyperoslo/Gallery) - Your next favorite image and video picker +* [Gallery](https://github.com/hyperoslo/Gallery) - Your next favorite image and video picker. +* [ATGMediaBrowser](https://github.com/altayer-digital/ATGMediaBrowser) - Image slide-show viewer with multiple predefined transition styles, and ability to create new transitions with ease. ### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift From 24cd3084e39d127f7b378bb7614cac4b27061695 Mon Sep 17 00:00:00 2001 From: David Cordero Date: Mon, 20 Aug 2018 16:46:01 +0200 Subject: [PATCH 2048/2606] Add TvOSSlider --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68e86770e..d8ffa33e9 100644 --- a/README.md +++ b/README.md @@ -271,6 +271,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TvOSPinKeyboard](https://github.com/zattoo/TvOSPinKeyboard) - PIN keyboard for tvOS * [TvOSScribble](https://github.com/dcordero/TvOSScribble) - Handwriting numbers recognizer for Siri Remote * [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS +* [TvOSSlider](https://github.com/zattoo/TvOSSlider) - TvOSSlider is an implementation of UISlider for tvOS ## Architecture Patterns From f4d22370fb53f895ce458d10239e5548db13cdf0 Mon Sep 17 00:00:00 2001 From: Cameron Ingham Date: Wed, 22 Aug 2018 17:51:15 -0600 Subject: [PATCH 2049/2606] Fixed Typo on Xcode Template Manager --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d8ffa33e9..86aed3a80 100644 --- a/README.md +++ b/README.md @@ -3085,7 +3085,7 @@ CollectionView, make Instagram Discover within minutes. * [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift * [XcodeCodeSnippets](https://github.com/ismetanin/XcodeCodeSnippets) - A set of code snippets for iOS development, includes code and comments snippets. * [Xcode Keymap for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=stevemoser.xcode-keybindings) - This extension ports popular Xcode keyboard shortcuts to Visual Studio Code. -* [Xcode Template Manager](https://github.com/Camji55/xtm) - Xcode Template Manager is a Swift command line tool that helps your manage your Xcode project templates. +* [Xcode Template Manager](https://github.com/Camji55/xtm) - Xcode Template Manager is a Swift command line tool that helps you manage your Xcode project templates. ## Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. From d0a198894920c7f7fc0f3e408e0b253a14dcfa3f Mon Sep 17 00:00:00 2001 From: bannzai Date: Thu, 23 Aug 2018 22:45:14 +0900 Subject: [PATCH 2050/2606] :metal: Add Conv --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 86aed3a80..b987896f7 100644 --- a/README.md +++ b/README.md @@ -605,6 +605,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Differific](https://github.com/zenangst/Differific) - A fast and convenient diffing framework. * [OneWaySynchronizer](https://github.com/ladeiko/OneWaySynchronizer) - The simplest abstraction to synchronize local data with remote source. * [DifferenceKit](https://github.com/ra1028/DifferenceKit) - 💻 A fast and flexible O(n) difference algorithm framework for Swift collection. +* [Conv](https://github.com/bannzai/conv) - Conv smart represent UICollectionView data structure more than UIKit. ## Date & Time From cb7624c20736754a5f36c580f59ed11133d4d027 Mon Sep 17 00:00:00 2001 From: bannzai Date: Thu, 23 Aug 2018 23:41:50 +0900 Subject: [PATCH 2051/2606] :recycle: Move to under /Collection View category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b987896f7..06f9da770 100644 --- a/README.md +++ b/README.md @@ -605,7 +605,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Differific](https://github.com/zenangst/Differific) - A fast and convenient diffing framework. * [OneWaySynchronizer](https://github.com/ladeiko/OneWaySynchronizer) - The simplest abstraction to synchronize local data with remote source. * [DifferenceKit](https://github.com/ra1028/DifferenceKit) - 💻 A fast and flexible O(n) difference algorithm framework for Swift collection. -* [Conv](https://github.com/bannzai/conv) - Conv smart represent UICollectionView data structure more than UIKit. ## Date & Time @@ -2665,6 +2664,7 @@ Most of these are paid services, some have free tiers. * [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. * [MSPeekCollectionViewDelegateImplementation](https://github.com/MaherKSantina/MSPeekCollectionViewDelegateImplementation) - A custom paging behavior that peeks the previous and next items in a collection view. * [SimpleSource](https://github.com/Squarespace/simple-source) - Easy and type-safe iOS table and collection views in Swift. +* [Conv](https://github.com/bannzai/conv) - Conv smart represent UICollectionView data structure more than UIKit. #### Expandable Cell From 092fab5b11f3aec31fd83af584d298848c5f76df Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 23 Aug 2018 13:09:29 -0300 Subject: [PATCH 2052/2606] Remove iphonedevsdk, the server is down. Change bitcoinkit url. Remove xclint, the project was deleted. --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 06f9da770..3412b512f 100644 --- a/README.md +++ b/README.md @@ -196,7 +196,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Apple - Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) * [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. * [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? -* [Ray Wenderlich](https://www.raywenderlich.com/38557/learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. +* [Ray Wenderlich](https://www.raywenderlich.com/2690-learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. * [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) * [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. * [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. @@ -327,7 +327,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. * [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. * [EthereumKit](https://github.com/D-Technologies/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. -* [BitcoinKit](https://github.com/BitcoinCashKit/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. +* [BitcoinKit](https://github.com/yenom/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. * [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. ## Bridging @@ -2899,7 +2899,6 @@ CollectionView, make Instagram Discover within minutes. * [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents * [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. -* [xclint](https://github.com/xcodeswift/xclint) - Validate the state of your Xcode projects. * [xcproj](https://github.com/tuist/xcodeproj) - Read and update Xcode projects. @@ -3137,7 +3136,6 @@ CollectionView, make Instagram Discover within minutes. * [UIAppearance list](https://gist.github.com/mattt/5135521) ### Forums and discuss lists -* [iPhone Dev SDK Forum](http://iphonedevsdk.com/) * ["iOS" on Stackoverflow](https://stackoverflow.com/questions/tagged/ios) ### Tutorials and Keynotes From 23a0ffeeb2d2ea2e30def42024dabb394d463654 Mon Sep 17 00:00:00 2001 From: metasmile Date: Sat, 25 Aug 2018 19:16:20 +0200 Subject: [PATCH 2053/2606] add PropertyDefaults added PropertyDefaults - Key-Safe, Protocol-Driven and Strongly Typed UserDefaults for iOS, macOS and tvOS --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3412b512f..3d4daab31 100644 --- a/README.md +++ b/README.md @@ -570,6 +570,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [StorageManager](https://github.com/iAmrSalman/StorageManager) - Safe and easy way to use FileManager as Database. * [RealmWrapper](https://github.com/k-lpmg/RealmWrapper) - Safe and easy wrappers for RealmSwift. * [UserDefaultsStore](https://github.com/omaralbeik/UserDefaultsStore) - An easy and very light way to store and retrieve -reasonable amount- of Codable objects, in a couple lines of code! +* [PropertyDefaults](https://github.com/metasmile/PropertyDefaults) - Key-Safe, Protocol-Driven and Strongly Typed UserDefaults for iOS, macOS and tvOS ## Data Structures / Algorithms From 60475da0060839a2242070e94e1c9e05f9e8f1f6 Mon Sep 17 00:00:00 2001 From: metasmile Date: Sat, 25 Aug 2018 19:23:48 +0200 Subject: [PATCH 2054/2606] modified redirected URL - https://github.com/WhiskerzAB/PlaygroundTDD --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d4daab31..248b1db87 100644 --- a/README.md +++ b/README.md @@ -1811,7 +1811,7 @@ Most of these are paid services, some have free tiers. * [SwiftCheck](https://github.com/typelift/SwiftCheck) - QuickCheck for Swift * [Spry](https://github.com/Quick/Spry) - A Mac and iOS Playgrounds Unit Testing library based on Nimble. * [swift-corelibs-xctest](https://github.com/apple/swift-corelibs-xctest) - The XCTest Project, A Swift core library for providing unit test support. -* [PlaygroundTDD](https://github.com/app-shack/PlaygroundTDD) - Small library to easily run your tests directly within a Playground. +* [PlaygroundTDD](https://github.com/WhiskerzAB/PlaygroundTDD) - Small library to easily run your tests directly within a Playground. ### A/B Testing * [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. From 5e03c4c0ed7eb0f8f6f3fedf28ad92069fb480d8 Mon Sep 17 00:00:00 2001 From: metasmile Date: Sun, 26 Aug 2018 01:09:09 +0200 Subject: [PATCH 2055/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 248b1db87..df8c77050 100644 --- a/README.md +++ b/README.md @@ -570,7 +570,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [StorageManager](https://github.com/iAmrSalman/StorageManager) - Safe and easy way to use FileManager as Database. * [RealmWrapper](https://github.com/k-lpmg/RealmWrapper) - Safe and easy wrappers for RealmSwift. * [UserDefaultsStore](https://github.com/omaralbeik/UserDefaultsStore) - An easy and very light way to store and retrieve -reasonable amount- of Codable objects, in a couple lines of code! -* [PropertyDefaults](https://github.com/metasmile/PropertyDefaults) - Key-Safe, Protocol-Driven and Strongly Typed UserDefaults for iOS, macOS and tvOS +* [PropertyKit](https://github.com/metasmile/PropertyKit) - Protocol-First, Type and Key-Safe Swift Property for iOS, macOS and tvOS ## Data Structures / Algorithms From e123fa0bf5bf79fbc1214df771bc492c01fa679d Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 28 Aug 2018 13:13:34 -0300 Subject: [PATCH 2056/2606] create Bluetooth category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index df8c77050..f9c621e73 100644 --- a/README.md +++ b/README.md @@ -779,6 +779,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ### Bluetooth +*Libraries to deal with nearby devices, BLE tools and MultipeerConnectivity wrappers.* + * [Discovery](https://github.com/omergul/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). * [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. * [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. From fadb91df64b9ce717589b0e4e841b199a55ff627 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 28 Aug 2018 13:15:37 -0300 Subject: [PATCH 2057/2606] create Camera category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f9c621e73..36042f38e 100644 --- a/README.md +++ b/README.md @@ -797,6 +797,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ### Camera +*Mocks, ImagePickers, and multiple options of customizable camera implementation* + * [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. * [PBJVision](https://github.com/piemonte/PBJVision) - iOS camera engine, features touch-to-record video, slow motion video, and photo capture. * [Cool-iOS-Camera](https://github.com/GabrielAlva/Cool-iOS-Camera) - A fully customisable and modern camera implementation for iOS made with AVFoundation. From c55ee114d8289933eafab20c0aaf4e4dfeb35580 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 28 Aug 2018 13:17:31 -0300 Subject: [PATCH 2058/2606] create loggin category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 36042f38e..bb7dedb78 100644 --- a/README.md +++ b/README.md @@ -939,6 +939,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Logging +*Debugging lives here. Logging tools, frameworks, integrations and more.* + * [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. * [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. * [NSLogger](https://github.com/fpillet/NSLogger) - a high performance logging utility which displays traces emitted by client applications running on macOS, iOS and Android. From 35eb336a97d1a7a72c0fe6686f0a09ece8278311 Mon Sep 17 00:00:00 2001 From: Rob Nash Date: Thu, 30 Aug 2018 12:32:36 +0100 Subject: [PATCH 2059/2606] Add Sheet --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb7dedb78..9a2f83036 100644 --- a/README.md +++ b/README.md @@ -2151,6 +2151,7 @@ Most of these are paid services, some have free tiers. ### Alert & Action Sheet +* [Sheet](https://github.com/rob-nash/Sheet) - Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed. * [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. * [NYAlertViewController](https://github.com/nealyoung/NYAlertViewController) - Highly configurable iOS Alert Views with custom content views. * [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. From ceb02bb7722ced98f39caebae9266a4166209ae6 Mon Sep 17 00:00:00 2001 From: Rob Nash Date: Thu, 30 Aug 2018 12:36:13 +0100 Subject: [PATCH 2060/2606] Moving to bottom --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a2f83036..06b506905 100644 --- a/README.md +++ b/README.md @@ -2151,7 +2151,6 @@ Most of these are paid services, some have free tiers. ### Alert & Action Sheet -* [Sheet](https://github.com/rob-nash/Sheet) - Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed. * [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. * [NYAlertViewController](https://github.com/nealyoung/NYAlertViewController) - Highly configurable iOS Alert Views with custom content views. * [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. @@ -2216,6 +2215,7 @@ Most of these are paid services, some have free tiers. * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. * [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 * [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. +* [Sheet](https://github.com/rob-nash/Sheet) - Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed. ### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From f23bc1da7ca163e9f0c9d069b1e4b08181b33b26 Mon Sep 17 00:00:00 2001 From: raer6 <40835566+raer6@users.noreply.github.com> Date: Thu, 30 Aug 2018 21:12:08 +0200 Subject: [PATCH 2061/2606] adding to your list of videos Hi, I thought this live video course about Swift might be good match for your list of videos. Thank you for your consideration, Rada. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 06b506905..e74b5403a 100644 --- a/README.md +++ b/README.md @@ -3169,7 +3169,7 @@ CollectionView, make Instagram Discover within minutes. * [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. * [Realm Academy](https://academy.realm.io/) * [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. - +* [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. ### iOS UI Template * [iOS UI Design Kit](https://www.invisionapp.com/tethr) * [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) From 7c9f510bdd1053d9b2d4c8c4565b709602a1c20c Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 3 Sep 2018 21:34:25 -0300 Subject: [PATCH 2062/2606] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e74b5403a..3cee9870c 100644 --- a/README.md +++ b/README.md @@ -13,12 +13,12 @@ A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). -## Recommended SDK for bug and crash reporting [Instabug](https://goo.gl/hNadrZ) -[![instabug-visual-repro-steps](https://user-images.githubusercontent.com/9888943/40114739-4e0ff416-590e-11e8-9a29-55fb2d4cfebc.png)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) -> Instabug has just released their visual repro steps feature to enable you to trace all the views that the user interacted with before a bug or a crash occured. This will help you reproduce bugs and fix them 10x faster. We highly recommend integrating Instabug’s framework as they compiled a lot of other great features like network logs and screen annotations, providing you with useful and rich data attached to each bug or crash report. -Instabug is offering awesome-ios community an exclusive **15% discount** on all paid plans. [**Go to 1 minute integration guide.**](https://goo.gl/q93Qtd) +## Recommended SDK for bug and crash reporting [Instabug](https://goo.gl/qoc5F8) +[![instabug-github](https://user-images.githubusercontent.com/9888943/44792036-517d8680-aba3-11e8-99f5-02578d763fe8.png)](https://goo.gl/qoc5F8) +> Get super detailed bug reports directly into your GitHub project with Instabug. The level of details Instabug’s SDK grabs with each bug report attracted tens of thousands of companies like Lyft, T-Mobile and eBay. They rely on them enhancing their app quality and iterating faster. We highly recommend integrated Instabug’s framework as they compiled a lot of great features that provides mobile developers with all the details needed in one organized dashboard to fix bugs in minutes, instead of wasting time debugging. [Install from GitHub Marketplace](https://goo.gl/qoc5F8) [![](https://goo.gl/A74z8Q)](https://instabug.com) + ## How to Use Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use are: - Ask for help on our [Twitter](https://twitter.com/awesome_ios) or [Gitter Channel](https://gitter.im/vsouza/awesome-ios) From ae7ea2dc0e306a854971c2632c1e5883188311f2 Mon Sep 17 00:00:00 2001 From: Mohamed Emad Hegab Date: Fri, 7 Sep 2018 15:45:23 +0200 Subject: [PATCH 2063/2606] add MHNetwork --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3cee9870c..2437a7946 100644 --- a/README.md +++ b/README.md @@ -1310,6 +1310,7 @@ Also see [push notifications](#push-notifications) * [Gem](https://github.com/Albinzr/Gem) - An extreme light weight system with high performance for managing all http request with automated parser with modal. * [RMHttp](https://github.com/rogermolas/RMHttp) - Lightweight REST library for iOS and watchOS. * [AlamoRecord](https://github.com/tunespeak/AlamoRecord) - An elegant yet powerful iOS networking layer inspired by ActiveRecord. +* [MHNetwork](https://github.com/emadhegab/MHNetwork) - Protocol Oriented Network Layer Aim to avoid having bloated singleton NetworkManager ### Email From c28aa5d17ee79f901522ab96a19441c03fdfcf09 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 7 Sep 2018 17:56:49 +0300 Subject: [PATCH 2064/2606] Fix link issues 301 https://github.com/imjog/JSButton redirects to https://github.com/jogendra/JSButton 301 https://github.com/imjog/JSLabel/ redirects to https://github.com/jogendra/JSLabel 301 https://github.com/imjog/AnimatedMaskLabel redirects to https://github.com/jogendra/AnimatedMaskLabel 404 https://github.com/mrkey0310/pivot-slider 301 https://github.com/imjog/example-ios-apps redirects to https://github.com/jogendra/example-ios-apps --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3cee9870c..b88f19328 100644 --- a/README.md +++ b/README.md @@ -2248,7 +2248,7 @@ Most of these are paid services, some have free tiers. * [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. * [MultiToggleButton](https://github.com/yonat/MultiToggleButton) - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons). * [PMSuperButton](https://github.com/pmusolino/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! -* [JSButton](https://github.com/imjog/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. +* [JSButton](https://github.com/jogendra/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. * [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation * [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. * [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class @@ -2349,8 +2349,8 @@ Most of these are paid services, some have free tiers. * [UICountingLabel](https://github.com/dataxpress/UICountingLabel/) - Adds animated counting support to UILabel. * [SlidingText](https://github.com/dnKaratzas/SlidingText) - Swift UIView for sliding text with page indicator. * [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. -* [JSLabel](https://github.com/imjog/JSLabel/) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. -* [AnimatedMaskLabel](https://github.com/imjog/AnimatedMaskLabel) - Animated Mask Label is a nice gradient animated label. This is an easy way to add a shimmering effect to any view in your app. +* [JSLabel](https://github.com/jogendra/JSLabel) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. +* [AnimatedMaskLabel](https://github.com/jogendra/AnimatedMaskLabel) - Animated Mask Label is a nice gradient animated label. This is an easy way to add a shimmering effect to any view in your app. ### Login * [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. @@ -2537,7 +2537,6 @@ Most of these are paid services, some have free tiers. * [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. * [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. * [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. -* [PivotSlider](https://github.com/mrkey0310/pivot-slider) - Slider that pivots * [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. * [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. * [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. @@ -3276,7 +3275,7 @@ CollectionView, make Instagram Discover within minutes. * [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. * [Awesome ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. * [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. -* [example-ios-apps](https://github.com/imjog/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. +* [example-ios-apps](https://github.com/jogendra/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. * [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. * [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. * [Awesome list of open source applications for macOS](https://github.com/serhii-londar/open-source-mac-os-apps) - List of awesome open source applications for macOS. From 619eb25e5830c25acb2767559898bf06f021817b Mon Sep 17 00:00:00 2001 From: Nurdaulet Date: Sat, 15 Sep 2018 13:06:48 +0600 Subject: [PATCH 2065/2606] fix: move RPInteraction from Animations to Rating Stars category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4fa6d4ee1..b38618605 100644 --- a/README.md +++ b/README.md @@ -2095,7 +2095,6 @@ Most of these are paid services, some have free tiers. * [TheAnimation](https://github.com/marty-suzuki/TheAnimation) - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values. * [Poi](https://github.com/HideakiTouhara/Poi) - Poi makes you use card UI like tinder UI .You can use it like tableview method. * [Sica](https://github.com/cats-oss/Sica) - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly. -* [RPInteraction](https://github.com/nbolatov/RPInteraction) - Review page interaction - handy and pretty way to ask for review. ### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. @@ -2469,6 +2468,7 @@ Most of these are paid services, some have free tiers. * [Cosmos](https://github.com/evgenyneu/Cosmos) - A star rating control for iOS / Swift * [HCSStarRatingView](https://github.com/hsousa/HCSStarRatingView) - Simple star rating view for iOS written in Objective-C * [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift +* [RPInteraction](https://github.com/nbolatov/RPInteraction) - Review page interaction - handy and pretty way to ask for review. ### ScrollView * [ScrollingFollowView](https://github.com/ktanaka117/ScrollingFollowView) - ScrollingFollowView is a simple view which follows UIScrollView scrolling. From d8f472f833732830605092a3db09db967a8fd1ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Pi=C3=B1era=20Buend=C3=ADa?= Date: Tue, 18 Sep 2018 13:35:46 +0200 Subject: [PATCH 2066/2606] Include Tuist --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ab2cdb09d..8f211f4ae 100644 --- a/README.md +++ b/README.md @@ -2994,7 +2994,7 @@ CollectionView, make Instagram Discover within minutes. * [Transformer](https://github.com/andresinaka/transformer) - Easy Online Attributed String Creator. This tool lets you format a string directly in the browser and then copy/paste the attributed string code into your app. * [ProvisionQL](https://github.com/ealeksandrov/ProvisionQL) - Quick Look plugin for apps and provisioning profile files. * [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. - +* [Tuist](https://github.com/tuist/tuist) - A tool to create, maintain and interact with Xcode projects at scale. ## Rapid Development From fcbdce692b28e0aa08e387e7d8eaca6df08c18e9 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 18 Sep 2018 15:45:02 +0300 Subject: [PATCH 2067/2606] Fix link issues https://github.com/prynt/PryntTrimmerView redirects to https://github.com/HHK1/PryntTrimmerView https://github.com/facebook/facebook-ios-sdk redirects to https://github.com/facebook/facebook-objc-sdk --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ab2cdb09d..9ebb4a56e 100644 --- a/README.md +++ b/README.md @@ -1208,7 +1208,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. * [swift-360-videos](https://github.com/gsabran/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. * [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. -* [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. +* [PryntTrimmerView](https://github.com/HHK1/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. * [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. * [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. * [Swift-YouTube-Player](https://github.com/gilesvangruisen/Swift-YouTube-Player) - Swift library for embedding and controlling YouTube videos in your iOS applications! @@ -1567,7 +1567,7 @@ Most of these are paid services, some have free tiers. * [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. * [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. -* [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. +* [Facebook](https://github.com/facebook/facebook-objc-sdk) Facebook iOS SDK. * [Facebook Swift](https://github.com/facebook/facebook-sdk-swift) Integrate your iOS apps in Swift with Facebook Platform. * [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS * [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. From ba546fa440f2620e046d6e34fb4547afcf01e9fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Pi=C3=B1era=20Buend=C3=ADa?= Date: Tue, 18 Sep 2018 14:52:49 +0200 Subject: [PATCH 2068/2606] Move to the Project Setup section --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 8f211f4ae..3245d24da 100644 --- a/README.md +++ b/README.md @@ -2908,7 +2908,7 @@ CollectionView, make Instagram Discover within minutes. * [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents * [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. * [xcproj](https://github.com/tuist/xcodeproj) - Read and update Xcode projects. - +* [Tuist](https://github.com/tuist/tuist) - A tool to create, maintain and interact with Xcode projects at scale. ## Dependency / Package Manager * [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. @@ -2994,7 +2994,6 @@ CollectionView, make Instagram Discover within minutes. * [Transformer](https://github.com/andresinaka/transformer) - Easy Online Attributed String Creator. This tool lets you format a string directly in the browser and then copy/paste the attributed string code into your app. * [ProvisionQL](https://github.com/ealeksandrov/ProvisionQL) - Quick Look plugin for apps and provisioning profile files. * [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. -* [Tuist](https://github.com/tuist/tuist) - A tool to create, maintain and interact with Xcode projects at scale. ## Rapid Development From b47a035e536e92a8c650e516ffabb7f0ca6a0d78 Mon Sep 17 00:00:00 2001 From: Dominique Stranz Date: Tue, 18 Sep 2018 15:19:11 +0200 Subject: [PATCH 2069/2606] add CoinpaprikaAPI Coinpaprika API client with free & frequently updated market data from the world of crypto: coin prices, volumes, market caps, ATHs, return rates and more --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ab2cdb09d..156d42f59 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [EthereumKit](https://github.com/D-Technologies/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. * [BitcoinKit](https://github.com/yenom/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. * [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. +* [CoinpaprikaAPI](https://github.com/coinpaprika/coinpaprika-api-swift-client) - Coinpaprika API client with free & frequently updated market data from the world of crypto: coin prices, volumes, market caps, ATHs, return rates and more. ## Bridging From 9b6c1d3565eea67c3a1feb51c948b4233add646a Mon Sep 17 00:00:00 2001 From: Dominique Stranz Date: Tue, 18 Sep 2018 15:37:23 +0200 Subject: [PATCH 2070/2606] Fix link redirects --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 156d42f59..a4a1ae012 100644 --- a/README.md +++ b/README.md @@ -1209,7 +1209,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. * [swift-360-videos](https://github.com/gsabran/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. * [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. -* [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. +* [PryntTrimmerView](https://github.com/HHK1/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. * [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. * [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. * [Swift-YouTube-Player](https://github.com/gilesvangruisen/Swift-YouTube-Player) - Swift library for embedding and controlling YouTube videos in your iOS applications! @@ -1568,7 +1568,7 @@ Most of these are paid services, some have free tiers. * [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. * [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. -* [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. +* [Facebook Obj-C](https://github.com/facebook/facebook-objc-sdk) Facebook iOS SDK. * [Facebook Swift](https://github.com/facebook/facebook-sdk-swift) Integrate your iOS apps in Swift with Facebook Platform. * [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS * [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. From aba7aff934d75fc1f0f7ac032ce6666722db1187 Mon Sep 17 00:00:00 2001 From: Dominique Stranz Date: Wed, 19 Sep 2018 08:15:38 +0200 Subject: [PATCH 2071/2606] Revert "Fix link redirects" This reverts commit 9b6c1d3565eea67c3a1feb51c948b4233add646a. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a4a1ae012..156d42f59 100644 --- a/README.md +++ b/README.md @@ -1209,7 +1209,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. * [swift-360-videos](https://github.com/gsabran/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. * [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. -* [PryntTrimmerView](https://github.com/HHK1/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. +* [PryntTrimmerView](https://github.com/prynt/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. * [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. * [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. * [Swift-YouTube-Player](https://github.com/gilesvangruisen/Swift-YouTube-Player) - Swift library for embedding and controlling YouTube videos in your iOS applications! @@ -1568,7 +1568,7 @@ Most of these are paid services, some have free tiers. * [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. * [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. -* [Facebook Obj-C](https://github.com/facebook/facebook-objc-sdk) Facebook iOS SDK. +* [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. * [Facebook Swift](https://github.com/facebook/facebook-sdk-swift) Integrate your iOS apps in Swift with Facebook Platform. * [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS * [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. From 038ed2b38437f25683256e21f43d2eaf0c5838ec Mon Sep 17 00:00:00 2001 From: shu223 Date: Wed, 19 Sep 2018 18:48:40 +0900 Subject: [PATCH 2072/2606] Add iOS-Depth-Sampler --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ebb4a56e..e7e2857d0 100644 --- a/README.md +++ b/README.md @@ -822,6 +822,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FDTake](https://github.com/fulldecent/FDTake) - Easily take a photo or video or choose from library. * [YPImagePicker](https://github.com/Yummypets/YPImagePicker) - Instagram-like image picker & filters for iOS * [MockImagePicker](https://github.com/yonat/MockImagePicker) - Mock UIImagePickerController for testing camera based UI in simulator. +* [iOS-Depth-Sampler](https://github.com/shu223/iOS-Depth-Sampler) - A collection of code examples for Depth APIs. ### Force Touch From d189db5a14bdbf4ec62c337158246c06ce52d599 Mon Sep 17 00:00:00 2001 From: efekanegeli Date: Thu, 20 Sep 2018 09:55:29 +0300 Subject: [PATCH 2073/2606] Update Readme.md Move component from UI to Layout --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b94d95d4c..8cdc1c89b 100644 --- a/README.md +++ b/README.md @@ -869,6 +869,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. * [SuperLayout](https://github.com/lionheart/SuperLayout) - Simplify Auto Layout with super syntactic sugar. * [QuickLayout](https://github.com/huri000/QuickLayout) - QuickLayout offers a simple way, to easily manage Auto Layout in code. +* [EEStackLayout](https://github.com/efekanegeli/EEStackLayout) - A structured vertical stack layout. ## Localization @@ -1910,7 +1911,6 @@ Most of these are paid services, some have free tiers. * [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. * [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable * [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. 🔶 -* [EEStackLayout](https://github.com/efekanegeli/EEStackLayout) - A structured vertical stack layout. ### Activity Indicator From 8f2c154786efb43e37ca05bf0f5193b976abc557 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 20 Sep 2018 16:32:21 -0300 Subject: [PATCH 2074/2606] fix ci links --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 76d7c5525..427e1718a 100644 --- a/README.md +++ b/README.md @@ -2279,7 +2279,7 @@ Most of these are paid services, some have free tiers. * [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. * [KDCalendarView](https://github.com/mmick66/CalendarView) - A calendar component for iOS written in Swift 4.0. It features both vertical and horizontal layout (and scrolling) and the display of native calendar events. * [CalendarPopUp](https://github.com/orazz/CalendarPopUp) - CalendarPopUp - JTAppleCalendar library. -* [ios_calendar](https://github.com/maximbilan/ios_calendar) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar +* [ios_calendar](https://github.com/maximbilan/Calendar-iOS) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar ### Cards From c82c76603d8bf3912a62004967059ba4a0b42e45 Mon Sep 17 00:00:00 2001 From: Aaron Date: Fri, 21 Sep 2018 16:54:23 -0700 Subject: [PATCH 2075/2606] Add STAControls. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 427e1718a..d771b5377 100644 --- a/README.md +++ b/README.md @@ -1983,6 +1983,7 @@ Most of these are paid services, some have free tiers. * [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. * [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable * [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. 🔶 +* [STAControls](https://github.com/Stunner/awesome-ios) - Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C. ### Activity Indicator From bad65ed5af6c0024e3afc4ac2858b3146a0a8c8d Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 24 Sep 2018 14:11:25 -0300 Subject: [PATCH 2076/2606] remove Liquid company. The website is completely down. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 427e1718a..09151f374 100644 --- a/README.md +++ b/README.md @@ -219,7 +219,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. * [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. * [Answers by Fabric](https://answers.io/) - Answers gives you real-time insight into people’s experience in your app. -* [Liquid Analytics](https://onliquid.com) - Identify behaviours through Analytics and react with real-time Personalization. * [GTrack](https://github.com/gemr/GTrack) - Lightweight Objective-C wrapper around the Google Analytics for iOS SDK with some extra goodies. * [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. * [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. From 347cc7896199ff8c7de6dfb9d1631df355a65022 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 24 Sep 2018 14:13:39 -0300 Subject: [PATCH 2077/2606] Remove liquid sdk. Deprecated --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 09151f374..5f19bce66 100644 --- a/README.md +++ b/README.md @@ -1586,7 +1586,6 @@ Most of these are paid services, some have free tiers. * [Adobe Creative SDK](https://www.adobe.io/apis/creativecloud/creativesdk.html) Adobe creative tools and Creative Cloud SDK. * [Dropbox](https://www.dropbox.com/lp/developers) SDKs for Drop-ins and Dropbox Core API. * [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. -* [Liquid Analytics](https://github.com/lqd-io/liquid-sdk-ios) Identify behaviours through Analytics and react with real-time Personalization. * [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. * [PacketZoom](https://www.packetzoom.com/) PacketZoom SDK for iOS. * [Primer](https://www.goprimer.com) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. From 7209e4eff275d5e4166cb489a65f082954951c5a Mon Sep 17 00:00:00 2001 From: Aaron Jubbal Date: Tue, 25 Sep 2018 00:21:58 -0700 Subject: [PATCH 2078/2606] Corrected project link. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d771b5377..98e8e34ff 100644 --- a/README.md +++ b/README.md @@ -1983,7 +1983,7 @@ Most of these are paid services, some have free tiers. * [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. * [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable * [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. 🔶 -* [STAControls](https://github.com/Stunner/awesome-ios) - Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C. +* [STAControls](https://github.com/Stunner/STAControls) - Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C. ### Activity Indicator From 2e134a4305c7a3c94302f01343e90e445a5d804e Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 25 Sep 2018 12:45:57 -0300 Subject: [PATCH 2079/2606] Add ARKit Emperor by @kboy-silvergym --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f19bce66..46dc91982 100644 --- a/README.md +++ b/README.md @@ -297,6 +297,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SmileToUnlock](https://github.com/rsrbk/SmileToUnlock) - This library uses ARKit Face Tracking in order to catch a user's smile. * [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision * [Poly](https://github.com/piemonte/Poly) - Unofficial Google Poly SDK – search and display 3D models +* [ARKit Emperor](https://github.com/kboy-silvergym/ARKit-Emperor) - The Emperor give you the most practical ARKit samples ever. ## Authentication From e03ccdf4fe7290435b165c36c52327651856ab86 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 25 Sep 2018 12:49:30 -0300 Subject: [PATCH 2080/2606] add NSFWDetector by @lovoo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 46dc91982..49a0ec845 100644 --- a/README.md +++ b/README.md @@ -1171,6 +1171,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [QR Code Scanner](https://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. * [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. * [EFQRCode](https://github.com/EyreFree/EFQRCode) - A better way to operate two-dimensional code in Swift. +* [NSFWDetector](https://github.com/lovoo/NSFWDetector) - A NSFW (aka porn) detector with CoreML ### PDF * [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. From 21f992fd5920e03276d9d51d0a26ad2480b6cb6c Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 25 Sep 2018 12:52:07 -0300 Subject: [PATCH 2081/2606] Add fireworks by @tomkowz --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 49a0ec845..717eeb4e6 100644 --- a/README.md +++ b/README.md @@ -2125,6 +2125,7 @@ Most of these are paid services, some have free tiers. * [TheAnimation](https://github.com/marty-suzuki/TheAnimation) - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values. * [Poi](https://github.com/HideakiTouhara/Poi) - Poi makes you use card UI like tinder UI .You can use it like tableview method. * [Sica](https://github.com/cats-oss/Sica) - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly. +* [fireworks](https://github.com/tomkowz/fireworks) - Fireworks effect for UIView ### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From e2de6f5ba8ac6ffc65433ce2615c3c31539de2ed Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 26 Sep 2018 14:50:01 -0300 Subject: [PATCH 2082/2606] add InputBarAccessoryView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 717eeb4e6..ca312765e 100644 --- a/README.md +++ b/README.md @@ -2779,6 +2779,7 @@ CollectionView, make Instagram Discover within minutes. * [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. * [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. * [Tagging](https://github.com/k-lpmg/Tagging) - ✍️ TextView that provides easy to use tagging feature for Mention or Hashtag. +* [InputBarAccessoryView](https://github.com/nathantannar4/InputBarAccessoryView) - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments. ### UIPageControl * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. From 2c76fedba05da57acbd20371e6a1e824f0f2cd03 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 26 Sep 2018 14:53:05 -0300 Subject: [PATCH 2083/2606] Add AcknowledgementsPlist by @cats-oss --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 35aa14545..176f955e2 100644 --- a/README.md +++ b/README.md @@ -1454,6 +1454,8 @@ Most of these are paid services, some have free tiers. * [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. * [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. * [RLPSwift](https://github.com/bitfwdcommunity/RLPSwift) - Recursive Length Prefix encoding written in Swift. +* [AcknowledgementsPlist](https://github.com/cats-oss/AcknowledgementsPlist) - AcknowledgementsPlist manages the licenses of libraries that depend on your iOS app. + ## Passbook * [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. From fed222f2dc1d235230bb9fbea034319cb8cd7f91 Mon Sep 17 00:00:00 2001 From: Roman Kotov Date: Sun, 30 Sep 2018 16:29:52 +0300 Subject: [PATCH 2084/2606] Add RKAutoLayout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 176f955e2..1c07ea93e 100644 --- a/README.md +++ b/README.md @@ -920,6 +920,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SuperLayout](https://github.com/lionheart/SuperLayout) - Simplify Auto Layout with super syntactic sugar. * [QuickLayout](https://github.com/huri000/QuickLayout) - QuickLayout offers a simple way, to easily manage Auto Layout in code. * [EEStackLayout](https://github.com/efekanegeli/EEStackLayout) - A structured vertical stack layout. +* [RKAutoLayout](https://github.com/daskioff/RKAutoLayout) - Simple wrapper over AutoLayout. [iOS] 🔶 ## Localization From 8ba329249d49867a3dffd5f83fec3d7e31b89e54 Mon Sep 17 00:00:00 2001 From: Abdullah Selek Date: Mon, 1 Oct 2018 21:44:52 +0100 Subject: [PATCH 2085/2606] Add TakeASelfie under camera section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 176f955e2..dd13b39d7 100644 --- a/README.md +++ b/README.md @@ -824,6 +824,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YPImagePicker](https://github.com/Yummypets/YPImagePicker) - Instagram-like image picker & filters for iOS * [MockImagePicker](https://github.com/yonat/MockImagePicker) - Mock UIImagePickerController for testing camera based UI in simulator. * [iOS-Depth-Sampler](https://github.com/shu223/iOS-Depth-Sampler) - A collection of code examples for Depth APIs. +* [TakeASelfie](https://github.com/abdullahselek/TakeASelfie) - An iOS framework that uses the front camera, detects your face and takes a selfie. ### Force Touch From 17963d2898b5852950f806385e9a56601a48af95 Mon Sep 17 00:00:00 2001 From: gwangbeom Date: Wed, 3 Oct 2018 15:54:03 +0900 Subject: [PATCH 2086/2606] add sheet --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 176f955e2..48e9081fb 100644 --- a/README.md +++ b/README.md @@ -2224,6 +2224,7 @@ Most of these are paid services, some have free tiers. * [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 * [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. * [Sheet](https://github.com/rob-nash/Sheet) - Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed. +* [Sheet](https://github.com/ParkGwangBeom/Sheet) - SHEET helps you easily create a wide variety of action sheets with navigation features used in the Flipboard App ### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From edf48e4c2a1d06b7a17cd5ee05362e4891201a44 Mon Sep 17 00:00:00 2001 From: Guy Daher Date: Wed, 3 Oct 2018 14:39:27 +0200 Subject: [PATCH 2087/2606] add voice-overlay-ios --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 176f955e2..c2dd9f731 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [UIPageControl](#uipagecontrol) + - [Voice](#voice) - [Web View](#web-view) - [Utility](#utility) - [VR](#vr) @@ -2789,6 +2790,8 @@ CollectionView, make Instagram Discover within minutes. * [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here * [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. +### Voice +* [Voice Overlay](https://github.com/algolia/voice-overlay-ios) - An overlay that gets your user’s voice permission and input as text in a customizable UI. ### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. From f344597d4a7421f211d27bae7179d0e0c5b2d97c Mon Sep 17 00:00:00 2001 From: Guy Daher Date: Wed, 3 Oct 2018 14:54:32 +0200 Subject: [PATCH 2088/2606] add voice-overlay-ios to audio category --- README.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index c2dd9f731..b8532369b 100644 --- a/README.md +++ b/README.md @@ -150,7 +150,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [Tag](#tag) - [TextField & TextView](#textfield--textview) - [UIPageControl](#uipagecontrol) - - [Voice](#voice) - [Web View](#web-view) - [Utility](#utility) - [VR](#vr) @@ -1055,6 +1054,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SonogramView](https://github.com/Luccifer/SonogramView) - Audio visualisation of song * [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. * [Porcupine](https://github.com/Picovoice/Porcupine) - On-device wake word detection engine for macOS, iOS, and watchOS, powered by deep learning. +* [Voice Overlay](https://github.com/algolia/voice-overlay-ios) - An overlay that gets your user’s voice permission and input as text in a customizable UI. ### GIF @@ -2790,9 +2790,6 @@ CollectionView, make Instagram Discover within minutes. * [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here * [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. -### Voice -* [Voice Overlay](https://github.com/algolia/voice-overlay-ios) - An overlay that gets your user’s voice permission and input as text in a customizable UI. - ### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. * [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. From 4ae48e5761a25b9fabf5d6f502560772dff4dedb Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 4 Oct 2018 15:07:49 +0300 Subject: [PATCH 2089/2606] Add LightRoute --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b8532369b..51c74f7d8 100644 --- a/README.md +++ b/README.md @@ -252,6 +252,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. * [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. * [RouteComposer](https://github.com/saksdirect/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. +* [LightRoute](https://github.com/SpectralDragon/LightRoute) - Easy transition between VIPER modules, implemented on pure Swift. ## Apple TV From c941a69ecafdae7b2e307a067bc0e98d681f53d2 Mon Sep 17 00:00:00 2001 From: Vincent Pradeilles Date: Fri, 5 Oct 2018 19:43:49 +0200 Subject: [PATCH 2090/2606] Add WeakableSelf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b8532369b..f086cc090 100644 --- a/README.md +++ b/README.md @@ -428,6 +428,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. * [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. * [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. +* [WeakableSelf](https://github.com/vincent-pradeilles/weakable-self) - A Swift micro-framework to encapsulate `[weak self]` and `guard` statements within closures. ### Linter From 5c89931ab7e7a0014bd0c3a5518629762cefbcb7 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Fri, 5 Oct 2018 21:57:46 +0300 Subject: [PATCH 2091/2606] Fix link issue https://github.com/VirgilSecurity/virgil-sdk-x redirects to https://github.com/VirgilSecurity/sdk-x --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b8532369b..a7d3da849 100644 --- a/README.md +++ b/README.md @@ -1659,7 +1659,7 @@ Most of these are paid services, some have free tiers. * [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. * [🗄 Vault](https://github.com/umbri/Vault) - Simple and Secure container for passwords and other sensitive data * [Virgil SWIFT PFS SDK](https://github.com/VirgilSecurity/virgil-sdk-pfs-x) - An SDK that allows developers to add the Perfect Forward Secrecy (PFS) technologies to their digital solutions to protect previously intercepted traffic from being decrypted even if the main Private Key is compromised. -* [Virgil Security Objective-C/Swift SDK](https://github.com/VirgilSecurity/virgil-sdk-x) - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API. +* [Virgil Security Objective-C/Swift SDK](https://github.com/VirgilSecurity/sdk-x) - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API. ### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From 29dbf8e81b1e29ad7008fdf3f93d6d423f6e1e3e Mon Sep 17 00:00:00 2001 From: snakagam Date: Mon, 8 Oct 2018 04:06:37 +0900 Subject: [PATCH 2092/2606] add ImageTransition --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7d3da849..fa89d553a 100644 --- a/README.md +++ b/README.md @@ -2157,6 +2157,7 @@ Most of these are paid services, some have free tiers. * [TransitionableTab](https://github.com/Interactive-Studio/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab * [AlertTransition](https://github.com/loopeer/AlertTransition) - AlertTransition is a extensible library for making view controller transitions, especially for alert transitions. * [SemiModalViewController](https://github.com/muyexi/SemiModalViewController) - Present view / view controller as bottom-half modal. +* [ImageTransition](https://github.com/shtnkgm/ImageTransition) - ImageTransition is a library for smooth animation of images during transitions. ### Alert & Action Sheet From 14ee7a8b5bac58ec659d1f413e5667099f96ce29 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 7 Oct 2018 19:18:55 -0300 Subject: [PATCH 2093/2606] Update contributin guidelines and pull request template --- .github/CONTRIBUTING.md | 7 ++++++- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index f9daed1eb..c00549fc5 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -30,7 +30,12 @@ Typical reasons for deleting project: - Don't support Swift 4 or later - Not written in English - README is not clear -- Projects without tests can be rejected. - Does not support the most commom package managers (spm, cocoapods, carthage...) +#### Projects that can be rejected: + +- Projects without tests. +- Very young projects. +- Missing LICENSE. + Your contributions are always welcome! Thank you for your suggestions! :smiley: diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index c4e6b1f91..000e659a0 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -9,7 +9,7 @@ ## Description -## Why it should be included to `awesome-ios` (optional) +## Why it should be included to `awesome-ios` (mandatory) ## Checklist From 605cbba38593cbe027597fece2767704864af7cf Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 7 Oct 2018 19:33:41 -0300 Subject: [PATCH 2094/2606] improving rules --- .github/CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index c00549fc5..24cd966c2 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -32,10 +32,10 @@ Typical reasons for deleting project: - README is not clear - Does not support the most commom package managers (spm, cocoapods, carthage...) -#### Projects that can be rejected: +### Projects that can be rejected: - Projects without tests. -- Very young projects. -- Missing LICENSE. +- Projects with exact same functionalities as other projects that are already in AwesomeiOS +- Projects with few functionalities Your contributions are always welcome! Thank you for your suggestions! :smiley: From fdcc2a1315be42698931c0a666a18e0ee7d42fba Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 8 Oct 2018 16:24:56 +0200 Subject: [PATCH 2095/2606] Add JOSESwift in Security/Encryption --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4b91706a8..fb9d9b956 100644 --- a/README.md +++ b/README.md @@ -1687,6 +1687,7 @@ Most of these are paid services, some have free tiers. * [SecureEnclaveCrypto](https://github.com/trailofbits/SecureEnclaveCrypto) - Demonstration library for using the Secure Enclave on iOS. * [RSASwiftGenerator](https://github.com/4taras4/RSASwiftGenerator) - Util for generation RSA keys on your client and save to keychain or cover into Data 🔑 🔐 * [Virgil Security Objective-C/Swift Crypto Library](https://github.com/VirgilSecurity/virgil-foundation-x) - A high-level cryptographic library that allows to perform all necessary operations for securely storing and transferring data. +* [JOSESwift](https://github.com/airsidemobile/JOSESwift) - A framework for the JOSE standards JWS, JWE, and JWK written in Swift. ### Keychain * [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. From ba21278b38e87eff9f30765cff54840bc2db80ac Mon Sep 17 00:00:00 2001 From: Daniel Spindelbauer Date: Mon, 8 Oct 2018 19:47:17 +0100 Subject: [PATCH 2096/2606] Fixed typos - Fixed GitHub capitalisation - Fixed capitalisations in CONTRIBUTING.md --- .github/CONTRIBUTING.md | 8 ++++---- README.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 24cd966c2..eee29c806 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -7,8 +7,8 @@ Please ensure your pull request adheres to the following guidelines: - Use the following format: `[PACKAGE](LINK) - DESCRIPTION.` - New categories, or improvements to the existing categorization are welcome. - Keep descriptions short and simple, but descriptive. -- don't include ios versions or swift versions in the description. -- Emojis should be used with care in descriptions, we already had some problems with emoji render in Github. +- Don't include iOS versions or Swift versions in the description. +- Emojis should be used with care in descriptions, we already had some problems with emoji render in GitHub. - End all descriptions with a full stop/period. - Check your spelling and grammar. - Make sure that your suggestion is positioned as the last item category. @@ -30,7 +30,7 @@ Typical reasons for deleting project: - Don't support Swift 4 or later - Not written in English - README is not clear -- Does not support the most commom package managers (spm, cocoapods, carthage...) +- Does not support the most common package managers (spm, cocoapods, carthage...) ### Projects that can be rejected: @@ -38,4 +38,4 @@ Typical reasons for deleting project: - Projects with exact same functionalities as other projects that are already in AwesomeiOS - Projects with few functionalities -Your contributions are always welcome! Thank you for your suggestions! :smiley: +Your contributions are always welcome! Thank you for your suggestions! :smiley: diff --git a/README.md b/README.md index fb9d9b956..928c25082 100644 --- a/README.md +++ b/README.md @@ -1623,7 +1623,7 @@ Most of these are paid services, some have free tiers. * [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift * [TJDropbox](https://github.com/timonus/TJDropbox) - A Dropbox v2 client library written in Objective-C * [Lyft](https://github.com/genadyo/Lyft) - Some pink mustache company forgot to build that SDK. -* [Github.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift +* [GitHub.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift * [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. * [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project. * [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & macOS written in Swift. @@ -3083,7 +3083,7 @@ CollectionView, make Instagram Discover within minutes. * [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. * [Mark](https://github.com/velyan/Mark) - Xcode extension for generating MARK comments. * [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). -* [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to Github's Gist and automatically copy the Gist URL into your Clipboard. +* [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to GitHub's Gist and automatically copy the Gist URL into your Clipboard. * [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. * [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. * [Snowonder](https://github.com/Karetski/Snowonder) - 🔮 Magical import declarations formatter for Xcode. @@ -3121,11 +3121,11 @@ CollectionView, make Instagram Discover within minutes. ## Style Guides * [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. * [raywenderlich Style Guide](https://github.com/raywenderlich/objective-c-style-guide) - A style guide that outlines the coding conventions for raywenderlich.com. -* [Github Objective-C Style Guide](https://github.com/github/objective-c-style-guide) - Style guide & coding conventions for Objective-C projects. +* [GitHub Objective-C Style Guide](https://github.com/github/objective-c-style-guide) - Style guide & coding conventions for Objective-C projects. * [Objective-C Coding Convention and Best Practices](https://gist.github.com/soffes/812796) - Gist with coding conventions. * [Swift Style Guide by @raywenderlich](https://github.com/raywenderlich/swift-style-guide) - The official Swift style guide for raywenderlich.com. * [Spotify Objective-C Coding Style](https://github.com/spotify/ios-style) - Guidelines for iOS development in use at Spotify. -* [Github - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. +* [GitHub - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. * [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). * [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift * [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. From df111bb0c4e7ab16f81c2a486882d6aa1c93f683 Mon Sep 17 00:00:00 2001 From: Spencer Whyte Date: Tue, 9 Oct 2018 02:46:42 -0400 Subject: [PATCH 2097/2606] Removed ImagePicker (due to deprecation). Closes #2648 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 928c25082..9a65977ff 100644 --- a/README.md +++ b/README.md @@ -807,7 +807,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Cool-iOS-Camera](https://github.com/GabrielAlva/Cool-iOS-Camera) - A fully customisable and modern camera implementation for iOS made with AVFoundation. * [SCRecorder](https://github.com/rFlex/SCRecorder) - Camera engine with Vine-like tap to record, animatable filters, slow motion, segments editing. * [ALCameraViewController](https://github.com/AlexLittlejohn/ALCameraViewController) - A camera view controller with custom image picker and image cropping. Written in Swift. -* [ImagePicker](https://github.com/hyperoslo/ImagePicker) - Reinventing the way ImagePicker works. * [CameraManager](https://github.com/imaginary-cloud/CameraManager) - Simple Swift class to provide all the configurations you need to create custom camera view in your app. * [RSBarcodes_Swift](https://github.com/yeahdongcn/RSBarcodes_Swift) - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. * [LLSimpleCamera](https://github.com/omergul/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. From 036fc6720bc66ff1624825db6fe508a3c7382a35 Mon Sep 17 00:00:00 2001 From: Antonio Casero Palmero Date: Tue, 9 Oct 2018 13:17:24 +0200 Subject: [PATCH 2098/2606] Add Panels --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9a65977ff..929904c72 100644 --- a/README.md +++ b/README.md @@ -2429,6 +2429,7 @@ Most of these are paid services, some have free tiers. * [Dropdowns](https://github.com/hyperoslo/Dropdowns) - 💧 Dropdown in Swift * [Parchment](https://github.com/rechsteiner/Parchment) - A paging view controller with a highly customizable menu. Built on UICollectionView, with support for custom layouts and infinite data sources. * [ContextMenu](https://github.com/GitHawkApp/ContextMenu) - An iOS context menu UI inspired by Things 3. +* [Panels](https://github.com/antoniocasero/Panels) - Panels is a framework to easily add sliding panels to your application. ### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls From a4aebc5248050010b56a1716d93a3a92b601c5e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Eorvaldur=20R=C3=BAnarsson?= Date: Wed, 10 Oct 2018 22:17:02 +0000 Subject: [PATCH 2099/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 929904c72..9ffa95dc0 100644 --- a/README.md +++ b/README.md @@ -2938,7 +2938,6 @@ CollectionView, make Instagram Discover within minutes. * [Athena](https://github.com/yunarta/works-athena-gradle-plugin) - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local. ## Tools - * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. * [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. @@ -3010,6 +3009,7 @@ CollectionView, make Instagram Discover within minutes. * [Transformer](https://github.com/andresinaka/transformer) - Easy Online Attributed String Creator. This tool lets you format a string directly in the browser and then copy/paste the attributed string code into your app. * [ProvisionQL](https://github.com/ealeksandrov/ProvisionQL) - Quick Look plugin for apps and provisioning profile files. * [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. +* [Zolang](https://github.com/Zolang/Zolang) - A programming language for sharing logic between iOS, Android and Tools. ## Rapid Development From e5c7d45efa4a3a1ad3e3b264e78006d58eeb8e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Eorvaldur=20R=C3=BAnarsson?= Date: Thu, 11 Oct 2018 00:24:17 +0000 Subject: [PATCH 2100/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ffa95dc0..b595ba430 100644 --- a/README.md +++ b/README.md @@ -2938,6 +2938,7 @@ CollectionView, make Instagram Discover within minutes. * [Athena](https://github.com/yunarta/works-athena-gradle-plugin) - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local. ## Tools + * [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. * [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. * [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. From 0994197e9d24e230ff34f812e1e9dcd38d600f2e Mon Sep 17 00:00:00 2001 From: Steve Landey <38225497+stevelandeyasana@users.noreply.github.com> Date: Fri, 12 Oct 2018 16:54:08 -0700 Subject: [PATCH 2101/2606] Add Drawsana to Graphics section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 929904c72..d74fba1ab 100644 --- a/README.md +++ b/README.md @@ -756,6 +756,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *CoreGraphics, CoreAnimation, SVG, CGContext libraries, helpers and tools.* +* [Drawsana](https://asana.github.io/Drawsana/) - iOS framework for building raster drawing and image markup views, maintained by Asana * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! * [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. * [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext From d5820fefa91a74e59c501c8258e23930527b51af Mon Sep 17 00:00:00 2001 From: Steve Landey <38225497+stevelandeyasana@users.noreply.github.com> Date: Fri, 12 Oct 2018 16:59:21 -0700 Subject: [PATCH 2102/2606] Fix order & wording --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d74fba1ab..04da111c9 100644 --- a/README.md +++ b/README.md @@ -756,7 +756,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *CoreGraphics, CoreAnimation, SVG, CGContext libraries, helpers and tools.* -* [Drawsana](https://asana.github.io/Drawsana/) - iOS framework for building raster drawing and image markup views, maintained by Asana * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! * [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. * [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext @@ -778,6 +777,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BlockiesSwift](https://github.com/Boilertalk/BlockiesSwift) - Unique blocky identicons/profile picture generator. * [Rough](https://github.com/bakhtiyork/Rough) - lets you draw in a sketchy, hand-drawn-like, style. * [GraphLayout](https://github.com/bakhtiyork/GraphLayout) - UI controls for graph visualization. It is powered by Graphviz. +* [Drawsana](https://asana.github.io/Drawsana/) - iOS framework for building raster drawing and image markup views, written in Swift and maintained by Asana ## Hardware From c41840a7528e67ab575017e4b46e203f7b3f0b2e Mon Sep 17 00:00:00 2001 From: Lucas Gabriel Schneider Date: Fri, 12 Oct 2018 23:10:34 -0300 Subject: [PATCH 2103/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 929904c72..7f1bf8a50 100644 --- a/README.md +++ b/README.md @@ -397,7 +397,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. * [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit -* [CoreCharts](https://github.com/cagricolak/CoreCharts) - CoreCharts is a simple powerfull yet Charts library for apple products +* [CoreCharts](https://github.com/cagricolak/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products ## Code Quality From 4f1ba27ff00c5a1addced7be6b3667a69a7ac2de Mon Sep 17 00:00:00 2001 From: Siddhesh Mahadeshwar Date: Sat, 13 Oct 2018 20:00:30 -0400 Subject: [PATCH 2104/2606] Remove GranadaLayout #2657 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 7f1bf8a50..8323aa29a 100644 --- a/README.md +++ b/README.md @@ -918,7 +918,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. * [Layoutless](https://github.com/DeclarativeHub/Layoutless) - Minimalistic declarative layout and styling framework built on top of Auto Layout. * [Yalta](https://github.com/kean/Yalta) - An intuitive and powerful Auto Layout library. -* [GranadaLayout](https://github.com/gskbyte/GranadaLayout) - Alternative layout system for iOS, inspired on the Android layout system, that includes linear and relative layouts, as well as an extensible JSON-based layout inflater. * [SuperLayout](https://github.com/lionheart/SuperLayout) - Simplify Auto Layout with super syntactic sugar. * [QuickLayout](https://github.com/huri000/QuickLayout) - QuickLayout offers a simple way, to easily manage Auto Layout in code. * [EEStackLayout](https://github.com/efekanegeli/EEStackLayout) - A structured vertical stack layout. From a39dd910ef8bb1497b0d5a97a01d5527129f8061 Mon Sep 17 00:00:00 2001 From: Jose Quintero Date: Sat, 13 Oct 2018 23:57:01 -0600 Subject: [PATCH 2105/2606] Added VersaPlayer to Video section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f1bf8a50..33bc00366 100644 --- a/README.md +++ b/README.md @@ -1221,6 +1221,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. * [Swift-YouTube-Player](https://github.com/gilesvangruisen/Swift-YouTube-Player) - Swift library for embedding and controlling YouTube videos in your iOS applications! * [JDVideoKit](https://github.com/jamesdouble/JDVideoKit) - You can easily transfer your video into Three common video type via this framework. +* [VersaPlayer](https://github.com/josejuanqm/VersaPlayer) - Versatile AVPlayer implementation for iOS ## Messaging From e7720cdddbd22afba7ca03eb2bba512fd51d7931 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 15 Oct 2018 12:02:53 +0300 Subject: [PATCH 2106/2606] Update README.md Fix link issues --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8323aa29a..9f12cfd1f 100644 --- a/README.md +++ b/README.md @@ -1684,7 +1684,7 @@ Most of these are paid services, some have free tiers. * [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. * [SecureEnclaveCrypto](https://github.com/trailofbits/SecureEnclaveCrypto) - Demonstration library for using the Secure Enclave on iOS. * [RSASwiftGenerator](https://github.com/4taras4/RSASwiftGenerator) - Util for generation RSA keys on your client and save to keychain or cover into Data 🔑 🔐 -* [Virgil Security Objective-C/Swift Crypto Library](https://github.com/VirgilSecurity/virgil-foundation-x) - A high-level cryptographic library that allows to perform all necessary operations for securely storing and transferring data. +* [Virgil Security Objective-C/Swift Crypto Library](https://github.com/VirgilSecurity/crypto-x) - A high-level cryptographic library that allows to perform all necessary operations for securely storing and transferring data. * [JOSESwift](https://github.com/airsidemobile/JOSESwift) - A framework for the JOSE standards JWS, JWE, and JWK written in Swift. ### Keychain @@ -2043,7 +2043,6 @@ Most of these are paid services, some have free tiers. * [SendIndicator](https://github.com/LeonardoCardoso/SendIndicator) - Yet another task indicator * [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. * [BPBlockActivityIndicator](https://github.com/ppth0608/BPBlockActivityIndicator) - A simple and awesome Loading Activity Indicator(with funny block animation) for your iOS app. -* [JustHUD](https://github.com/shubh10/JustHUD) - JustHUD is an iOS drop-in class written in Swift that displays a translucent HUD. * [JDBreaksLoading](https://github.com/jamesdouble/JDBreaksLoading) - You can easily start up a little breaking game indicator by one line. * [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. * [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. @@ -2624,7 +2623,7 @@ Most of these are paid services, some have free tiers. * [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. * [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. -* [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller http://holko.pl/2016/01/05/typed-table-view-controller/ +* [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller https://holko.pl/2016/01/05/typed-table-view-controller/ * [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. * [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. * [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. From 62d938cc93009e4a768755b62fa327a59dac74cd Mon Sep 17 00:00:00 2001 From: siddharthsuneel Date: Tue, 16 Oct 2018 17:58:52 +0530 Subject: [PATCH 2107/2606] Added smoke-framework in Server section Added Amazon server side framework named "smoke-framework" in server section of document. Written purely in Swift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 74f02ced9..e576f1672 100644 --- a/README.md +++ b/README.md @@ -1632,6 +1632,7 @@ Most of these are paid services, some have free tiers. * [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! * [GCDWebServer](https://github.com/swisspol/GCDWebServer) - Lightweight GCD based HTTP server for macOS & iOS (includes web based uploader & WebDAV server) * [Embassy](https://github.com/envoy/Embassy) - Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux. +* [smoke-framework](https://github.com/amzn/smoke-framework) - A light-weight server-side service framework written in the Swift programming language. ## Text * [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. From 8a7a3a7724f8622b64b0ba15a6dac478875aa436 Mon Sep 17 00:00:00 2001 From: Nikhil Sharma Date: Tue, 16 Oct 2018 18:10:52 +0530 Subject: [PATCH 2108/2606] Added a new section for Alexa Skills Added AlexaSkillKit that will help in writing custom Alexa skills in swift. --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 9f12cfd1f..3571deb10 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [How to Use](#how-to-use) - [Courses](#courses) - [Accessibility](#accessibility) +- [Alexa](#alexa) - [Analytics](#analytics) - [App Routing](#app-routing) - [Apple TV](#apple-tv) @@ -211,6 +212,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Capable](https://github.com/chrs1885/Capable) - Track accessibility features to improve your app for people with certain disabilities. +## Alexa + +*Frameworks that help to support writing custom alexa skills in swift* + +* [AlexaSkillsKit](https://github.com/choefele/AlexaSkillsKit) - Swift library to develop custom Alexa Skills. + ## Analytics *Analytics platforms, SDK's, error tracking and real-time answers about your app* From 71ae189d3b6bb63c12ad6bb418a4922c5e0b8909 Mon Sep 17 00:00:00 2001 From: Steve Landey <38225497+stevelandeyasana@users.noreply.github.com> Date: Tue, 16 Oct 2018 12:28:43 -0700 Subject: [PATCH 2109/2606] Point Drawsana to github repo instead of docs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 04da111c9..f70c19050 100644 --- a/README.md +++ b/README.md @@ -777,7 +777,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BlockiesSwift](https://github.com/Boilertalk/BlockiesSwift) - Unique blocky identicons/profile picture generator. * [Rough](https://github.com/bakhtiyork/Rough) - lets you draw in a sketchy, hand-drawn-like, style. * [GraphLayout](https://github.com/bakhtiyork/GraphLayout) - UI controls for graph visualization. It is powered by Graphviz. -* [Drawsana](https://asana.github.io/Drawsana/) - iOS framework for building raster drawing and image markup views, written in Swift and maintained by Asana +* [Drawsana](https://github.com/Asana/Drawsana) - iOS framework for building raster drawing and image markup views, written in Swift and maintained by Asana ## Hardware From c37cd28ccf11f4ac9e56e591c9a79b85241e18b7 Mon Sep 17 00:00:00 2001 From: Nikola Kirev Date: Sat, 20 Oct 2018 19:25:11 +0100 Subject: [PATCH 2110/2606] Add OnboardKit to Walkthrough section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bcf4db9f5..e81c7fe29 100644 --- a/README.md +++ b/README.md @@ -2912,6 +2912,7 @@ CollectionView, make Instagram Discover within minutes. * [Minamo](https://github.com/yukiasai/Minamo) - Simple coach mark library written in Swift. * [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. * [WhatsNewKit](https://github.com/SvenTiigi/WhatsNewKit) - Showcase your awesome new app features 📱 +* [OnboardKit](https://github.com/NikolaKirev/OnboardKit) - Customisable user onboarding for your iOS app ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From ae054d996930981f8fc3bd9061d04df91770bf0a Mon Sep 17 00:00:00 2001 From: miang Date: Sun, 21 Oct 2018 10:35:36 +0700 Subject: [PATCH 2111/2606] Add Matomo tracker --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2af813b31..61b5c9fad 100644 --- a/README.md +++ b/README.md @@ -196,6 +196,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. * [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. * [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting/) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. +* [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. ## Apple TV * [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. From d8bc4faac51850ac3542988be6d8d584c26e3991 Mon Sep 17 00:00:00 2001 From: Omar Albeik Date: Thu, 25 Oct 2018 22:14:55 +0300 Subject: [PATCH 2112/2606] Add PersistenceKit to Databases --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b0eed6962..a7db7db59 100644 --- a/README.md +++ b/README.md @@ -581,6 +581,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RealmWrapper](https://github.com/k-lpmg/RealmWrapper) - Safe and easy wrappers for RealmSwift. * [UserDefaultsStore](https://github.com/omaralbeik/UserDefaultsStore) - An easy and very light way to store and retrieve -reasonable amount- of Codable objects, in a couple lines of code! * [PropertyKit](https://github.com/metasmile/PropertyKit) - Protocol-First, Type and Key-Safe Swift Property for iOS, macOS and tvOS +* [PersistenceKit](https://github.com/Teknasyon-Teknoloji/PersistenceKit) - Store and retrieve Codable objects to various persistence layers, in a couple lines of code! + ## Data Structures / Algorithms From c493f2197e67c8cc19d865c7f976ea8b34226078 Mon Sep 17 00:00:00 2001 From: Seyed Samad Gholamzadeh Date: Sat, 27 Oct 2018 16:11:53 +0330 Subject: [PATCH 2113/2606] Added ModelAssistant library to the DataBase --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b0eed6962..c42937c2d 100644 --- a/README.md +++ b/README.md @@ -581,6 +581,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RealmWrapper](https://github.com/k-lpmg/RealmWrapper) - Safe and easy wrappers for RealmSwift. * [UserDefaultsStore](https://github.com/omaralbeik/UserDefaultsStore) - An easy and very light way to store and retrieve -reasonable amount- of Codable objects, in a couple lines of code! * [PropertyKit](https://github.com/metasmile/PropertyKit) - Protocol-First, Type and Key-Safe Swift Property for iOS, macOS and tvOS +* [ModelAssistant](https://github.com/ssamadgh/ModelAssistant) - Elegant library to manage the interactions between view and model in Swift. ## Data Structures / Algorithms From 2c37bc878a09a2bb28a1eb423439ff83c57658b0 Mon Sep 17 00:00:00 2001 From: Kazuhiro Hayashi Date: Tue, 30 Oct 2018 20:05:23 +0900 Subject: [PATCH 2114/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c42937c2d..42ffce2eb 100644 --- a/README.md +++ b/README.md @@ -2738,6 +2738,7 @@ Most of these are paid services, some have free tiers. * [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. CollectionView, make Instagram Discover within minutes. * [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. +* [UICollectionViewSplitLayout](https://github.com/yahoojapan/UICollectionViewSplitLayout) - UICollectionViewSplitLayout makes collection view more responsive. ### Tag From 48276d774c7a3bf8b68e708ba9ae82d5ea4f3077 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Tue, 30 Oct 2018 14:51:35 +0200 Subject: [PATCH 2115/2606] Fix link issues (#2676) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c42937c2d..e83d348b0 100644 --- a/README.md +++ b/README.md @@ -1085,7 +1085,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. * [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - iOS UIImage processing functions using the vDSP/Accelerate framework for speed. * [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. -* [SDWebImage](https://github.com/rs/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. +* [SDWebImage](https://github.com/SDWebImage/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. * [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. * [MapleBacon](https://github.com/JanGorman/MapleBacon) - An image download and caching library for iOS written in Swift. * [NYTPhotoViewer](https://github.com/NYTimes/NYTPhotoViewer) - Slideshow and image viewer. @@ -1401,7 +1401,7 @@ Most of these are paid services, some have free tiers. * [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modeling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. * [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. * [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. -* [ObjectMapper](https://github.com/Hearst-DD/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. +* [ObjectMapper](https://github.com/tristanhimmelman/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. * [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. * [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. * [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization From 1fb4b18d2bb30b513edf07a243e246000a509570 Mon Sep 17 00:00:00 2001 From: QuentinJin Date: Wed, 31 Oct 2018 00:08:32 +0800 Subject: [PATCH 2116/2606] Add Once --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 783f93c4e..adf1fbe1e 100644 --- a/README.md +++ b/README.md @@ -2879,6 +2879,7 @@ CollectionView, make Instagram Discover within minutes. * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs * [SwiftProvisioningProfile](https://github.com/Sherlouk/SwiftProvisioningProfile) - Parse provisioning profiles into Swift models. + * [Once](https://github.com/jianstm/Once) - Minimalist library to manage one-off operations. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS From 7f41f82690cc5b0fef6c6567268417e22b43182c Mon Sep 17 00:00:00 2001 From: Muukii Date: Wed, 31 Oct 2018 13:49:36 +0900 Subject: [PATCH 2117/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 783f93c4e..643ff1df6 100644 --- a/README.md +++ b/README.md @@ -1178,6 +1178,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GPUImage3](https://github.com/BradLarson/GPUImage3) - GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal. * [Gallery](https://github.com/hyperoslo/Gallery) - Your next favorite image and video picker. * [ATGMediaBrowser](https://github.com/altayer-digital/ATGMediaBrowser) - Image slide-show viewer with multiple predefined transition styles, and ability to create new transitions with ease. +* [Pixel](https://github.com/muukii/Pixel) - An image editor and engine using CoreImage. ### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift From 9f30ed1fb48ad51f678fe6b72e8913bcc866999e Mon Sep 17 00:00:00 2001 From: dbukowski Date: Thu, 1 Nov 2018 12:00:38 +0100 Subject: [PATCH 2118/2606] Rollback of a change in another project. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 264ba14cf..436417b64 100644 --- a/README.md +++ b/README.md @@ -235,7 +235,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. * [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting/) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. * [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. -* [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. +* [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. ## App Routing From 0d66a0182c2896d353ccd3e665133d0ef368f7b4 Mon Sep 17 00:00:00 2001 From: Alexandr Graschenkov Date: Thu, 1 Nov 2018 19:27:25 +0300 Subject: [PATCH 2119/2606] Added LiquidTransition to Transition --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e578d63a4..df14dae0e 100644 --- a/README.md +++ b/README.md @@ -2173,6 +2173,7 @@ Most of these are paid services, some have free tiers. * [AlertTransition](https://github.com/loopeer/AlertTransition) - AlertTransition is a extensible library for making view controller transitions, especially for alert transitions. * [SemiModalViewController](https://github.com/muyexi/SemiModalViewController) - Present view / view controller as bottom-half modal. * [ImageTransition](https://github.com/shtnkgm/ImageTransition) - ImageTransition is a library for smooth animation of images during transitions. +* [LiquidTransition](https://github.com/AlexandrGraschenkov/LiquidTransition) - removes boilerplate code to perform transition, allows backward animations, custom properties animation and much more! ### Alert & Action Sheet From b793bb24c4831f4120614eb40500b407ef7486a0 Mon Sep 17 00:00:00 2001 From: GeorgeWu Date: Fri, 2 Nov 2018 22:49:36 +0800 Subject: [PATCH 2120/2606] Add LinkedIn style guide --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e038ff9b1..1f3c24bbf 100644 --- a/README.md +++ b/README.md @@ -3146,6 +3146,7 @@ CollectionView, make Instagram Discover within minutes. * [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). * [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift * [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. +* [Swift Style Guide by LinkedIn](https://github.com/linkedin/swift-style-guide) - LinkedIn's Official Swift Style Guide. ## Good Websites From 38b506b9193b58c86257169e5becb021fbc39854 Mon Sep 17 00:00:00 2001 From: QuentinJin Date: Sun, 4 Nov 2018 18:32:31 +0800 Subject: [PATCH 2121/2606] Add crayon --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e038ff9b1..dff7ff8b5 100644 --- a/README.md +++ b/README.md @@ -483,6 +483,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift * [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts * [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. +* [Crayon](https://github.com/jianstm/Crayon) - Terminal string styling with expressive api and 256/TrueColor support. ## Concurrency From c0d911eb08729e62a4cb15ff70cc801a38dd4230 Mon Sep 17 00:00:00 2001 From: Jose Quintero Date: Tue, 6 Nov 2018 01:06:07 -0600 Subject: [PATCH 2122/2606] Update README.md Fixed description on VersaPlayer --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 83537ce48..b722050ca 100644 --- a/README.md +++ b/README.md @@ -1232,7 +1232,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. * [Swift-YouTube-Player](https://github.com/gilesvangruisen/Swift-YouTube-Player) - Swift library for embedding and controlling YouTube videos in your iOS applications! * [JDVideoKit](https://github.com/jamesdouble/JDVideoKit) - You can easily transfer your video into Three common video type via this framework. -* [VersaPlayer](https://github.com/josejuanqm/VersaPlayer) - Versatile AVPlayer implementation for iOS +* [VersaPlayer](https://github.com/josejuanqm/VersaPlayer) - Versatile AVPlayer implementation for iOS, macOS, and tvOS ## Messaging From f5a356a8016899f8117ec236e09684013cc17990 Mon Sep 17 00:00:00 2001 From: duruldalkanat Date: Tue, 6 Nov 2018 14:00:17 -0500 Subject: [PATCH 2123/2606] Xcode themes updated. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b722050ca..379afbdf7 100644 --- a/README.md +++ b/README.md @@ -235,7 +235,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. * [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting/) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. * [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. -* [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. +* [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. ## App Routing @@ -3113,6 +3113,8 @@ CollectionView, make Instagram Discover within minutes. * [Xcode themes list](https://github.com/hdoria/xcode-themes) - Color themes for Xcode. * [Solarized-Dark-for-Xcode](https://github.com/ArtSabintsev/Solarized-Dark-for-Xcode/) - Solarized Dark Theme for Xcode 5. * [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. +* [DRL Theme](https://github.com/durul/Xcodetheme) - A soft darkness theme for Xcode. + ### Other Xcode From 6802f85f0bcd74eeb55effdb3816c0cffe44866f Mon Sep 17 00:00:00 2001 From: chaselen Date: Wed, 7 Nov 2018 15:32:45 +0800 Subject: [PATCH 2124/2606] Add FSCalendar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b722050ca..285df6a38 100644 --- a/README.md +++ b/README.md @@ -2286,6 +2286,7 @@ Most of these are paid services, some have free tiers. * [ExpandableButton](https://github.com/DimaMishchenko/ExpandableButton) - Customizable and easy to use expandable button in Swift. ### Calendar +* [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A fully customizable iOS calendar library, compatible with Objective-C and Swift. * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). * [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. * [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS From 1982a3cc2002f2decffaf52b372296c23580f828 Mon Sep 17 00:00:00 2001 From: Stephan Tolksdorf Date: Thu, 8 Nov 2018 15:57:37 +0100 Subject: [PATCH 2125/2606] Add STULabel --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b722050ca..022c79e11 100644 --- a/README.md +++ b/README.md @@ -2380,6 +2380,7 @@ Most of these are paid services, some have free tiers. * [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. * [JSLabel](https://github.com/jogendra/JSLabel) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. * [AnimatedMaskLabel](https://github.com/jogendra/AnimatedMaskLabel) - Animated Mask Label is a nice gradient animated label. This is an easy way to add a shimmering effect to any view in your app. +* [STULabel](https://github.com/stephan-tolksdorf/STULabel) - A label view that's faster than UILabel and supports asynchronous rendering, links with UIDragInteraction, very flexible text truncation, Auto Layout, UIAccessibility and more. ### Login * [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. From b2793ea7f8cf396cd26bf2287ee5cf1df6d3875c Mon Sep 17 00:00:00 2001 From: eduardolomb Date: Sun, 11 Nov 2018 13:18:33 -0200 Subject: [PATCH 2126/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b722050ca..4297f94e8 100644 --- a/README.md +++ b/README.md @@ -808,6 +808,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ExtendaBLE](https://github.com/AntonTheDev/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](https://github.com/rchatham/PeerConnectivity) - Functional wrapper for Apple's MultipeerConnectivity framework. * [AZPeerToPeerConnection](https://github.com/AfrozZaheer/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] (https://github.com/dingwilson/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. ### Camera From 0165a13dce9befa0338b74083987227bfd72671e Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Mon, 12 Nov 2018 15:36:49 +0200 Subject: [PATCH 2127/2606] Fix link issues Line Status Link 206 403 https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS 811 Dupe https://github.com/dingwilson/MultiPeer 1189 301 https://github.com/EyreFree/EFQRCode redirects to https://github.com/EFPrefix/EFQRCode 1370 502 http://www.catapush.com/ 1595 301 https://github.com/facebook/facebook-sdk-swift redirects to https://github.com/facebook/facebook-swift-sdk 1605 301 https://github.com/aws/aws-sdk-ios redirects to https://github.com/aws-amplify/aws-sdk-ios 1807 301 https://github.com/EyreFree/EFMarkdown redirects to https://github.com/EFPrefix/EFMarkdown 3209 301 https://www.invisionapp.com/tethr redirects to https://www.invisionapp.com/inside-design/design-resources/tethr/ --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index cdfc60323..d90b53f4a 100644 --- a/README.md +++ b/README.md @@ -1186,7 +1186,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift * [QR Code Scanner](https://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. * [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. -* [EFQRCode](https://github.com/EyreFree/EFQRCode) - A better way to operate two-dimensional code in Swift. +* [EFQRCode](https://github.com/EFPrefix/EFQRCode) - A better way to operate two-dimensional code in Swift. * [NSFWDetector](https://github.com/lovoo/NSFWDetector) - A NSFW (aka porn) detector with CoreML ### PDF @@ -1322,7 +1322,6 @@ Also see [push notifications](#push-notifications) * [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). * [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework * [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development -* [MultiPeer](https://github.com/dingwilson/MultiPeer) - An easy-to-use wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices * [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. * [FGRoute](https://github.com/Feghal/FGRoute) - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses. * [RxRestClient](https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. @@ -1592,7 +1591,7 @@ Most of these are paid services, some have free tiers. * [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. * [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. * [Facebook](https://github.com/facebook/facebook-objc-sdk) Facebook iOS SDK. -* [Facebook Swift](https://github.com/facebook/facebook-sdk-swift) Integrate your iOS apps in Swift with Facebook Platform. +* [Facebook Swift](https://github.com/facebook/facebook-swift-sdk) Integrate your iOS apps in Swift with Facebook Platform. * [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS * [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. * [Pocket](https://github.com/Pocket/Pocket-ObjC-SDK) SDK for saving stuff to Pocket. @@ -1602,7 +1601,7 @@ Most of these are paid services, some have free tiers. * [OneDrive](https://github.com/OneDrive/onedrive-sdk-ios) Live SDK for iOS. * [Stripe](https://github.com/stripe/stripe-ios) Stripe bindings for iOS and macOS. * [Venmo](#payments) -* [AWS](https://github.com/aws/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. +* [AWS](https://github.com/aws-amplify/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. * [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. * [Adobe Creative SDK](https://www.adobe.io/apis/creativecloud/creativesdk.html) Adobe creative tools and Creative Cloud SDK. * [Dropbox](https://www.dropbox.com/lp/developers) SDKs for Drop-ins and Dropbox Core API. @@ -1804,7 +1803,7 @@ Most of these are paid services, some have free tiers. * [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS * [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. * [fuse-swift](https://github.com/krisk/fuse-swift) - A lightweight fuzzy-search library, with zero dependencies. -* [EFMarkdown](https://github.com/EyreFree/EFMarkdown) - A lightweight Markdown library for iOS. +* [EFMarkdown](https://github.com/EFPrefix/EFMarkdown) - A lightweight Markdown library for iOS. * [Croc](https://github.com/jkalash/croc) - A lightweight Swift library for Emoji parsing and querying. ### Font @@ -3208,7 +3207,7 @@ CollectionView, make Instagram Discover within minutes. * [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. * [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. ### iOS UI Template -* [iOS UI Design Kit](https://www.invisionapp.com/tethr) +* [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) * [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) * [iOS GUI by Facebook Design Resources](https://facebook.design/) From 5a34a0fe9d61506af669bd24bfcf872b3351fbb7 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 13 Nov 2018 10:19:28 -0200 Subject: [PATCH 2128/2606] Fixed Multipeer --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d90b53f4a..5e6b28ba2 100644 --- a/README.md +++ b/README.md @@ -808,7 +808,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ExtendaBLE](https://github.com/AntonTheDev/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](https://github.com/rchatham/PeerConnectivity) - Functional wrapper for Apple's MultipeerConnectivity framework. * [AZPeerToPeerConnection](https://github.com/AfrozZaheer/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] (https://github.com/dingwilson/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. +* [MultiPeer](https://github.com/dingwilson/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. ### Camera From 2e11c699de76282c4113661956069b6c580a9d6b Mon Sep 17 00:00:00 2001 From: Bogdan Evsenev Date: Tue, 13 Nov 2018 21:35:41 +0300 Subject: [PATCH 2129/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dcea47b07..70b8ff695 100644 --- a/README.md +++ b/README.md @@ -292,6 +292,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [iOS-Viper-Architecture](https://github.com/MindorksOpenSource/iOS-Viper-Architecture) - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc. * [Tempura](https://github.com/BendingSpoons/tempura-swift) - A holistic approach to iOS development, inspired by Redux and MVVM. * [VIPER Module Generator](https://github.com/Kaakati/VIPER-Module-Generator) - A Clean VIPER Modules Generator with comments and predfined functions. +* [VIPER Module Template](https://github.com/EvsenevDev/VIPERModuleTemplate) - Xcode Template of VIPER Module which generates all layers of VIPER. ## ARKit From 757cd5d57b42a737b345005bfc614a6ef65b9c6e Mon Sep 17 00:00:00 2001 From: chaselen Date: Wed, 14 Nov 2018 08:54:31 +0800 Subject: [PATCH 2130/2606] Add FSCalendar to bottom --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 285df6a38..5f3a96ff2 100644 --- a/README.md +++ b/README.md @@ -2286,7 +2286,6 @@ Most of these are paid services, some have free tiers. * [ExpandableButton](https://github.com/DimaMishchenko/ExpandableButton) - Customizable and easy to use expandable button in Swift. ### Calendar -* [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A fully customizable iOS calendar library, compatible with Objective-C and Swift. * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). * [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. * [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS @@ -2306,6 +2305,7 @@ Most of these are paid services, some have free tiers. * [KDCalendarView](https://github.com/mmick66/CalendarView) - A calendar component for iOS written in Swift 4.0. It features both vertical and horizontal layout (and scrolling) and the display of native calendar events. * [CalendarPopUp](https://github.com/orazz/CalendarPopUp) - CalendarPopUp - JTAppleCalendar library. * [ios_calendar](https://github.com/maximbilan/Calendar-iOS) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar +* [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A fully customizable iOS calendar library, compatible with Objective-C and Swift. ### Cards From d8303d6f7a9d98299c65a74851f477064c3b1829 Mon Sep 17 00:00:00 2001 From: Rudro Samanta Date: Tue, 13 Nov 2018 17:10:46 -0800 Subject: [PATCH 2131/2606] Split Injection section into two Code Injection and Dependency Injection are quite different things, so they really belong in different sections. --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dcea47b07..110d9f6e2 100644 --- a/README.md +++ b/README.md @@ -3038,10 +3038,15 @@ CollectionView, make Instagram Discover within minutes. * [swiftmon](https://github.com/dimpiax/swiftmon) - swiftmon restarts your swift application in case of any file change. -## Injection +## Code Injection * [dyci](https://github.com/DyCI/dyci-main) - Code injection tool. * [injectionforxcode](https://github.com/johnno1962/injectionforxcode) - Code injection including Swift. +* [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. + + +## Dependency Injection + * [Swinject](https://github.com/Swinject/Swinject) - Dependency injection framework for Swift * [Reliant](https://github.com/appfoundry/Reliant) - Nonintrusive Objective-C dependency injection. * [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. @@ -3052,7 +3057,6 @@ CollectionView, make Instagram Discover within minutes. * [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift * [Weaver](https://github.com/scribd/Weaver) - A declarative, easy-to-use and safe Dependency Injection framework for Swift * [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. -* [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. * [ViperServices](https://github.com/ladeiko/ViperServices) - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code. * [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS applications written in clean Swift. From 00d71d0304250fd0baa77131aad79a0c4b58bc81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=B0=8F=E5=88=9A?= <672141926@qq.com> Date: Wed, 14 Nov 2018 22:30:58 +0800 Subject: [PATCH 2132/2606] Add Woodpecker to Debugging section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3ba5a999f..58b4330f8 100644 --- a/README.md +++ b/README.md @@ -666,6 +666,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window * [Wormholy](https://github.com/pmusolino/Wormholy) - iOS network debugging, like a wizard * [AppSpector](https://appspector.com) - Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotificationCenter and mock device's geo location. +* [Woodpecker](http://www.woodpeck.cn) - View sandbox files, UserDefaults, network request from Mac. ## EventBus From c5671302266bcbe76fc3e78ca9fa6a95ddc1f498 Mon Sep 17 00:00:00 2001 From: muyexi Date: Thu, 15 Nov 2018 15:33:27 +0800 Subject: [PATCH 2133/2606] feat: add SwiftLinter --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3ba5a999f..987342152 100644 --- a/README.md +++ b/README.md @@ -445,6 +445,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. * [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. +* [Swiftlinter](https://github.com/muyexi/SwiftLinter) - Share lint rules between projects and lint changed files with SwiftLint. * [IBLinter](https://github.com/IBDecodable/IBLinter) - A linter tool for Interface Builder. ## Color From 7140fd73efbc8cb16c634d450804cb03f42b0a61 Mon Sep 17 00:00:00 2001 From: muyexi Date: Thu, 15 Nov 2018 15:36:47 +0800 Subject: [PATCH 2134/2606] fix(SwiftLinter): typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 987342152..6a7e0aea0 100644 --- a/README.md +++ b/README.md @@ -445,7 +445,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. * [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. -* [Swiftlinter](https://github.com/muyexi/SwiftLinter) - Share lint rules between projects and lint changed files with SwiftLint. +* [SwiftLinter](https://github.com/muyexi/SwiftLinter) - Share lint rules between projects and lint changed files with SwiftLint. * [IBLinter](https://github.com/IBDecodable/IBLinter) - A linter tool for Interface Builder. ## Color From 6e550769edb5d5fac212a27572d846c5a40f99b2 Mon Sep 17 00:00:00 2001 From: muyexi Date: Thu, 15 Nov 2018 15:44:22 +0800 Subject: [PATCH 2135/2606] fix(SwiftLinter): move to bottom of category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6a7e0aea0..0472f7cb7 100644 --- a/README.md +++ b/README.md @@ -445,8 +445,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. * [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. * [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. -* [SwiftLinter](https://github.com/muyexi/SwiftLinter) - Share lint rules between projects and lint changed files with SwiftLint. * [IBLinter](https://github.com/IBDecodable/IBLinter) - A linter tool for Interface Builder. +* [SwiftLinter](https://github.com/muyexi/SwiftLinter) - Share lint rules between projects and lint changed files with SwiftLint. ## Color From 93b6854c649ea17a358d962cbd1e0c0e4b3c2dc8 Mon Sep 17 00:00:00 2001 From: Masahiro Watanabe Date: Fri, 16 Nov 2018 10:09:56 +0900 Subject: [PATCH 2136/2606] Add ALRT --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3ba5a999f..e1907686f 100644 --- a/README.md +++ b/README.md @@ -2245,6 +2245,7 @@ Most of these are paid services, some have free tiers. * [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. * [Sheet](https://github.com/rob-nash/Sheet) - Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed. * [Sheet](https://github.com/ParkGwangBeom/Sheet) - SHEET helps you easily create a wide variety of action sheets with navigation features used in the Flipboard App +* [ALRT](https://github.com/mshrwtnb/alrt) - An easier constructor for UIAlertController. Present an alert from anywhere. ### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From b42c61ee33af3e0d5c401835fb5a83303e0ec693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20J?= <30n1st@gmail.com> Date: Sun, 18 Nov 2018 20:40:14 +0100 Subject: [PATCH 2137/2606] Add HybridCamera --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3ba5a999f..ece5084b2 100644 --- a/README.md +++ b/README.md @@ -838,6 +838,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MockImagePicker](https://github.com/yonat/MockImagePicker) - Mock UIImagePickerController for testing camera based UI in simulator. * [iOS-Depth-Sampler](https://github.com/shu223/iOS-Depth-Sampler) - A collection of code examples for Depth APIs. * [TakeASelfie](https://github.com/abdullahselek/TakeASelfie) - An iOS framework that uses the front camera, detects your face and takes a selfie. +* [HybridCamera](https://github.com/eonist/HybridCamera) - Video and photo camera for iOS, similar to the SnapChat camera. ### Force Touch From bacc69737f9b682df8cf42d6063755ef606bd653 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 19 Nov 2018 15:07:45 -0200 Subject: [PATCH 2138/2606] Updated Readme with new Instabug text --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3ba5a999f..3daf5f5fb 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,11 @@ A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). -## Recommended SDK for bug and crash reporting [Instabug](https://goo.gl/qoc5F8) -[![instabug-github](https://user-images.githubusercontent.com/9888943/44792036-517d8680-aba3-11e8-99f5-02578d763fe8.png)](https://goo.gl/qoc5F8) -> Get super detailed bug reports directly into your GitHub project with Instabug. The level of details Instabug’s SDK grabs with each bug report attracted tens of thousands of companies like Lyft, T-Mobile and eBay. They rely on them enhancing their app quality and iterating faster. We highly recommend integrated Instabug’s framework as they compiled a lot of great features that provides mobile developers with all the details needed in one organized dashboard to fix bugs in minutes, instead of wasting time debugging. [Install from GitHub Marketplace](https://goo.gl/qoc5F8) -[![](https://goo.gl/A74z8Q)](https://instabug.com) - +## Recommended SDK for bug and crash reporting [Instabug](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=header) +[![instabug-github](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) +> We highly recommend integrating Instabug’s framework as they compiled a lot of great features in their SDK that provides useful and rich data with each bug/crash report. +They removed the hassle of debugging as the SDK automatically attach screenshots, screen recordings, device details, network logs and repro-steps with each bug report which speeds up the development process. Instabug is offering awesome-ios community an exclusive **15% discount** on all paid plans. [**Go to 5-minute installation guide.**](https://try.instabug.com/awesomeios?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more)🚀 +[![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) ## How to Use Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use are: From 1f3b3060e13464a98be9eecd7e4d6424cdd54939 Mon Sep 17 00:00:00 2001 From: Ivan Sapozhnik Date: Tue, 20 Nov 2018 21:24:32 +0100 Subject: [PATCH 2139/2606] Haptico added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3daf5f5fb..311a7a2bd 100644 --- a/README.md +++ b/README.md @@ -1977,6 +1977,7 @@ Most of these are paid services, some have free tiers. * [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. +* [Haptico](https://github.com/iSapozhnik/Haptico) - 📳 Easy to use haptic feedback generator with pattern-play support. * [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. * [HamsterUIKit](https://github.com/Howardw3/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. * [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. From 5eb1541b1f8302ab2c588245c6512ca3beff30ce Mon Sep 17 00:00:00 2001 From: Ivan Sapozhnik Date: Tue, 20 Nov 2018 21:32:50 +0100 Subject: [PATCH 2140/2606] Changing root category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 311a7a2bd..dfd66ef82 100644 --- a/README.md +++ b/README.md @@ -880,6 +880,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. * [Device.swift](https://github.com/schickling/Device.swift) - Super-lightweight library to detect used device. * [SDVersion](https://github.com/sebyddd/SDVersion) - :iphone: Lightweight Cocoa library for detecting the running device's model and screen size. +* [Haptico](https://github.com/iSapozhnik/Haptico) - 📳 Easy to use haptic feedback generator with pattern-play support. ## Layout @@ -1977,7 +1978,6 @@ Most of these are paid services, some have free tiers. * [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). * [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. * [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. -* [Haptico](https://github.com/iSapozhnik/Haptico) - 📳 Easy to use haptic feedback generator with pattern-play support. * [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. * [HamsterUIKit](https://github.com/Howardw3/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. * [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. From b1e8455e48efcfc0390c163fa91ad94177ceb442 Mon Sep 17 00:00:00 2001 From: Chris Byatt Date: Thu, 22 Nov 2018 15:18:21 +0000 Subject: [PATCH 2141/2606] Update description of CBPinEntryView to reflect recent changes (#2700) * Update CBPinEntryView description * Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3daf5f5fb..c284b4461 100644 --- a/README.md +++ b/README.md @@ -2792,7 +2792,7 @@ CollectionView, make Instagram Discover within minutes. * [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple library for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. * [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. * [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion -* [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 3.0 for any numerical pin or code entry. +* [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 4.2 for any pin, code or password entry. Supports one time codes in iOS 12. * [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. * [DTTextField](https://github.com/iDhaval/DTTextField) - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0. * [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. From 7ef79e5629ad716573288a621928d4897cb11999 Mon Sep 17 00:00:00 2001 From: Daniel Huri Date: Sat, 24 Nov 2018 16:58:31 +0200 Subject: [PATCH 2142/2606] Add CrownControl --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c284b4461..4d6812ee2 100644 --- a/README.md +++ b/README.md @@ -2539,6 +2539,7 @@ Most of these are paid services, some have free tiers. * [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 * [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf * [SlideController](https://github.com/touchlane/SlideController) - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types. +* [CrownControl](https://github.com/huri000/CrownControl) - Inspired by Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content possible without lifting your thumb. ### Segmented Control * [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. From 096ea8308321f567ed93df73721bf66883923e41 Mon Sep 17 00:00:00 2001 From: Daniel Huri Date: Sat, 24 Nov 2018 17:16:25 +0200 Subject: [PATCH 2143/2606] Revise CrownControl description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d6812ee2..f25faef41 100644 --- a/README.md +++ b/README.md @@ -2539,7 +2539,7 @@ Most of these are paid services, some have free tiers. * [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 * [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf * [SlideController](https://github.com/touchlane/SlideController) - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types. -* [CrownControl](https://github.com/huri000/CrownControl) - Inspired by Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content possible without lifting your thumb. +* [CrownControl](https://github.com/huri000/CrownControl) - Inspired by Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content without lifting your thumb. ### Segmented Control * [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. From 4d8abf63d6fdc4de3196c0bc269b877f3e94ea18 Mon Sep 17 00:00:00 2001 From: Aleksey Pleshkov Date: Sat, 24 Nov 2018 19:06:27 +0300 Subject: [PATCH 2144/2606] Add UIMenuScroll --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c284b4461..43f0d68d5 100644 --- a/README.md +++ b/README.md @@ -2446,6 +2446,7 @@ Most of these are paid services, some have free tiers. * [Parchment](https://github.com/rechsteiner/Parchment) - A paging view controller with a highly customizable menu. Built on UICollectionView, with support for custom layouts and infinite data sources. * [ContextMenu](https://github.com/GitHawkApp/ContextMenu) - An iOS context menu UI inspired by Things 3. * [Panels](https://github.com/antoniocasero/Panels) - Panels is a framework to easily add sliding panels to your application. +* [UIMenuScroll](https://github.com/AlekseyPleshkov/UIMenuScroll) - Creating the horizontal swiping navigation how on Facebook Messenger. ### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls From e3c925652700ffd0d3153e2bc7674d8b23330b13 Mon Sep 17 00:00:00 2001 From: Daniel Huri Date: Sat, 24 Nov 2018 19:11:55 +0200 Subject: [PATCH 2145/2606] Revise CrownControl description - final revision. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f25faef41..212065b36 100644 --- a/README.md +++ b/README.md @@ -2539,7 +2539,7 @@ Most of these are paid services, some have free tiers. * [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 * [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf * [SlideController](https://github.com/touchlane/SlideController) - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types. -* [CrownControl](https://github.com/huri000/CrownControl) - Inspired by Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content without lifting your thumb. +* [CrownControl](https://github.com/huri000/CrownControl) - Inspired by the Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content without lifting your thumb. ### Segmented Control * [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. From 2daf0344a9108bba93cc1df227d6922e4df1d8e1 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 29 Nov 2018 11:21:49 -0200 Subject: [PATCH 2146/2606] Removed Cleveroad libraries since the links are broken --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 2950a5bd6..cbb405b81 100644 --- a/README.md +++ b/README.md @@ -1914,7 +1914,6 @@ Most of these are paid services, some have free tiers. * [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion * [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers * [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. -* [CRParticleEffect](https://github.com/Cleveroad/CRParticleEffect) - A CocoaPod that simplifies creation of the particle effects. * [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. * [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book * [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. @@ -1958,7 +1957,6 @@ Most of these are paid services, some have free tiers. * [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app * [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect * [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. -* [CRRulerControl](https://github.com/Cleveroad/CRRulerControl) - Customizable component is aimed at turning a simple ruler into a handy and smart instrument. * [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. * [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control * [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button @@ -1966,7 +1964,6 @@ Most of these are paid services, some have free tiers. * [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. * [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. * [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. -* [CRPageViewController](https://github.com/Cleveroad/CRPageViewController) - While a standard page view allows you to navigate between pages by using simple gestures, our component goes further. * [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. * [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts * [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. @@ -2272,7 +2269,6 @@ Most of these are paid services, some have free tiers. * [WYMaterialButton](https://github.com/Yu-w/WYMaterialButton) - Interactive and fully animated Material Design button for iOS developers. * [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift * [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash -* [CRNetworkButton](https://github.com/Cleveroad/CRNetworkButton) - Send Button for iOS * [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. * [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. * [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. From 83c06832895b662eee9c0186daa122d7b0c51f04 Mon Sep 17 00:00:00 2001 From: Velislava Yanchina Date: Sun, 2 Dec 2018 21:10:57 +1100 Subject: [PATCH 2147/2606] Add Comment Spell Checker --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8bfb0b5e2..83836436f 100644 --- a/README.md +++ b/README.md @@ -3108,6 +3108,7 @@ CollectionView, make Instagram Discover within minutes. * [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. * [Snowonder](https://github.com/Karetski/Snowonder) - 🔮 Magical import declarations formatter for Xcode. * [XVim2](https://github.com/XVimProject/XVim2) - Vim key-bindings for Xcode 9. +* [Comment Spell Checker](https://github.com/velyan/Comment-Spell-Checker) - Xcode extension for spell checking and auto correcting code comments. ### Themes From 8dc7960cb23f4c7e9674c6593ba73104f9ea0e81 Mon Sep 17 00:00:00 2001 From: Maryom Date: Mon, 3 Dec 2018 19:45:31 +0300 Subject: [PATCH 2148/2606] Added MMVMi to Architecture Patterns --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8bfb0b5e2..d1e16cbdc 100644 --- a/README.md +++ b/README.md @@ -292,7 +292,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [iOS-Viper-Architecture](https://github.com/MindorksOpenSource/iOS-Viper-Architecture) - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc. * [Tempura](https://github.com/BendingSpoons/tempura-swift) - A holistic approach to iOS development, inspired by Redux and MVVM. * [VIPER Module Generator](https://github.com/Kaakati/VIPER-Module-Generator) - A Clean VIPER Modules Generator with comments and predfined functions. - +* [MMVMi](https://github.com/Maryom/MMVMi) - A Validation Model for MVC and MVVM Design Patterns in iOS Applications. ## ARKit From b307baf815db7b8f4e9985e3925a2f0635235cb7 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 4 Dec 2018 18:27:27 -0200 Subject: [PATCH 2149/2606] fix redirect on MFCard project --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e61045b47..278e6c823 100644 --- a/README.md +++ b/README.md @@ -1497,7 +1497,7 @@ Most of these are paid services, some have free tiers. * [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift * [ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn) - Luhn Credit Card Validation Algorithm * [RMStore](https://github.com/robotmedia/RMStore) - A lightweight iOS library for In-App Purchases -* [MFCard](https://github.com/mobilefirstinc/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI +* [MFCard](https://github.com/RC7770/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI * [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt * [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL * [CreditCardForm-iOS](https://github.com/orazz/CreditCardForm-iOS) - CreditCardForm is iOS framework that allows developers to create the UI which replicates an actual Credit Card. From 8445ad176c7f5a3a12d942da65f20bba3a15a536 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 4 Dec 2018 18:28:29 -0200 Subject: [PATCH 2150/2606] fix redirects on RequestPermission project --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 278e6c823..890355bb4 100644 --- a/README.md +++ b/README.md @@ -1516,7 +1516,7 @@ Most of these are paid services, some have free tiers. * [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. * [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS * [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. -* [RequestPermission](https://github.com/IvanVorobei/RequestPermission) - simple permission request with beautiful UI +* [RequestPermission](https://github.com/IvanVorobei/SPPermission) - simple permission request with beautiful UI ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. From 9c146bbd8856c205bd7a10e049f82181644d9ad5 Mon Sep 17 00:00:00 2001 From: ibrahimhass Date: Thu, 6 Dec 2018 00:53:43 +0530 Subject: [PATCH 2151/2606] Added IHProgressHUD --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 890355bb4..4f0750ebf 100644 --- a/README.md +++ b/README.md @@ -2066,6 +2066,7 @@ Most of these are paid services, some have free tiers. * [LinearProgressBar](https://github.com/Recouse/LinearProgressBar) - Material Linear Progress Bar for your iOS apps. * [MKProgress](https://github.com/kamirana4/MKProgress) - A lightweight ProgressHUD written in Swift. Looks similar to /MBProgressHUD/SVProgressHUD/KVNProgressHUD. * [RHPlaceholder](https://github.com/robertherdzik/RHPlaceholder) - Simple library which give you possibility to add Facebook like loading state for your views. +* [IHProgressHUD](https://github.com/Swiftify-Corp/IHProgressHUD) - Simple HUD, thread safe, supports iOS, tvOS and App Extensions. ### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From 37219c2c1ed0d3c800d33420b1536ebdb80b455a Mon Sep 17 00:00:00 2001 From: Muhammad Abdul Subhan Date: Thu, 6 Dec 2018 16:49:35 +0500 Subject: [PATCH 2152/2606] Added MSFlightMapView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 890355bb4..fa248252f 100644 --- a/README.md +++ b/README.md @@ -1021,6 +1021,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities. * [MapViewPlus](https://github.com/okhanokbay/MapViewPlus) - Use any custom view as custom callout view of your MKMapView with cool animations. Also, easily use any image as annotation view. * [GLMap](https://getyourmap.com) - Crossplatform offline vector map with MapCSS styling. Offline search and offline navigation are included. +* [MSFlightMapView](https://github.com/mabdulsubhan/MSFlightMapView) - Add and animate geodesic flights on Google map. ## Math From bc8c2d4cfb7d7e870f6199335f0abc8fbd6833eb Mon Sep 17 00:00:00 2001 From: Kcat Date: Thu, 6 Dec 2018 21:12:52 +0800 Subject: [PATCH 2153/2606] Added CatAlertController --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 890355bb4..fc9c5792e 100644 --- a/README.md +++ b/README.md @@ -2246,6 +2246,7 @@ Most of these are paid services, some have free tiers. * [Sheet](https://github.com/rob-nash/Sheet) - Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed. * [Sheet](https://github.com/ParkGwangBeom/Sheet) - SHEET helps you easily create a wide variety of action sheets with navigation features used in the Flipboard App * [ALRT](https://github.com/mshrwtnb/alrt) - An easier constructor for UIAlertController. Present an alert from anywhere. +* [CatAlertController](https://github.com/ImKcat/CatAlertController) - Use UIAlertController like a boss. ### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From f2840d6d22c0f890dc8d8d022ebabe9dffb0c3ed Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 13 Dec 2018 13:48:04 -0200 Subject: [PATCH 2154/2606] Remove Hedwig. Outdated project. Fix #2698 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 293e8a80b..65792f4a5 100644 --- a/README.md +++ b/README.md @@ -2223,7 +2223,6 @@ Most of these are paid services, some have free tiers. * [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. * [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. * [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. -* [Hedwig](https://github.com/carabina/Hedwig) - Interactive notification * [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. * [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift * [RAlertView](https://github.com/roycms/AlertView) - AlertView, iOS popup window, A pop-up framework, Can be simple and convenient to join your project. From 5a91b39b7bc643718dda9d2c45be4a5034006b77 Mon Sep 17 00:00:00 2001 From: Vova Sevruk Date: Sat, 15 Dec 2018 14:32:57 +0300 Subject: [PATCH 2155/2606] Added Page-Control to UIPageControl section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 65792f4a5..b891975f2 100644 --- a/README.md +++ b/README.md @@ -2818,6 +2818,7 @@ CollectionView, make Instagram Discover within minutes. * [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. * [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here * [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. +* [Page-Control](https://github.com/sevruk-dev/page-control) - 💥 Beautiful, animated and highly customizable UIPageControl alternative. ### Web View * [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. From 1f5f4d3b40d7c274bc401dfddb1e42c2e4bd17b9 Mon Sep 17 00:00:00 2001 From: shindyu Date: Sun, 16 Dec 2018 08:50:49 +0900 Subject: [PATCH 2156/2606] Add ApplyStyleKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 65792f4a5..43e005c3c 100644 --- a/README.md +++ b/README.md @@ -2006,6 +2006,7 @@ Most of these are paid services, some have free tiers. * [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable * [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. 🔶 * [STAControls](https://github.com/Stunner/STAControls) - Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C. +* [ApplyStyleKit](https://github.com/shindyu/ApplyStyleKit) - Elegant apply style, using Swift Method Chain. ### Activity Indicator From b98e035e9959bf56c78d39307d0a872c87d27f46 Mon Sep 17 00:00:00 2001 From: Gabriel Robert Date: Fri, 21 Dec 2018 10:55:36 -0500 Subject: [PATCH 2157/2606] Add xavtool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9696692f8..a1136c481 100644 --- a/README.md +++ b/README.md @@ -3037,6 +3037,7 @@ CollectionView, make Instagram Discover within minutes. * [ProvisionQL](https://github.com/ealeksandrov/ProvisionQL) - Quick Look plugin for apps and provisioning profile files. * [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. * [Zolang](https://github.com/Zolang/Zolang) - A programming language for sharing logic between iOS, Android and Tools. +* [xavtool](https://github.com/gabrielrobert/xavtool) - Command-line utility to automatically increase iOS / Android applications version. ## Rapid Development From 09592e215fcf32b2e69ba3e9d52f21022ccd144c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gae=CC=81tan=20Zanella?= Date: Wed, 19 Dec 2018 15:06:32 +0100 Subject: [PATCH 2158/2606] Add OverlayContainer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9696692f8..9231e3284 100644 --- a/README.md +++ b/README.md @@ -2007,6 +2007,7 @@ Most of these are paid services, some have free tiers. * [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. 🔶 * [STAControls](https://github.com/Stunner/STAControls) - Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C. * [ApplyStyleKit](https://github.com/shindyu/ApplyStyleKit) - Elegant apply style, using Swift Method Chain. +* [OverlayContainer](https://github.com/applidium/ADOverlayContainer) - A library to develop overlay based interfaces, such as the one presented in the iOS 12 Apple Maps or Stocks apps. ### Activity Indicator From d270fca7334386b8bd26601e0b2d7d709b1a5af2 Mon Sep 17 00:00:00 2001 From: JonyFang Date: Thu, 27 Dec 2018 11:40:09 +0800 Subject: [PATCH 2159/2606] Add FFPopup Signed-off-by: JonyFang --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9696692f8..f91bbc329 100644 --- a/README.md +++ b/README.md @@ -2480,6 +2480,7 @@ Most of these are paid services, some have free tiers. * [ADDatePicker](https://github.com/abhiperry/ADDatePicker) - A fully customizable iOS Horizontal PickerView library, written in pure swift. ### Popup +* [FFPopup](https://github.com/JonyFang/FFPopup) - ⛩FFPopup is a lightweight library for presenting custom views as a popup. * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. * [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. From 7c596fd9a32e47d208e54a98f0014e201113785c Mon Sep 17 00:00:00 2001 From: Karol Kulesza Date: Thu, 27 Dec 2018 21:40:48 +0100 Subject: [PATCH 2160/2606] - Added Model2App to Rapid Development section; --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9696692f8..e9326db6f 100644 --- a/README.md +++ b/README.md @@ -3044,6 +3044,7 @@ CollectionView, make Instagram Discover within minutes. * [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. * [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. * [swiftmon](https://github.com/dimpiax/swiftmon) - swiftmon restarts your swift application in case of any file change. +* [Model2App](https://github.com/Q-Mobile/Model2App) - Turn your Swift data model into a working CRUD app. ## Code Injection From e9f52b08ac5c1096edc8b310b4c19a6a04343783 Mon Sep 17 00:00:00 2001 From: ankierman Date: Fri, 28 Dec 2018 23:53:54 +0100 Subject: [PATCH 2161/2606] Add ModernAVPlayer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9696692f8..6af534793 100644 --- a/README.md +++ b/README.md @@ -1074,6 +1074,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. * [Porcupine](https://github.com/Picovoice/Porcupine) - On-device wake word detection engine for macOS, iOS, and watchOS, powered by deep learning. * [Voice Overlay](https://github.com/algolia/voice-overlay-ios) - An overlay that gets your user’s voice permission and input as text in a customizable UI. +* [ModernAVPlayer](https://github.com/noreasonprojects/ModernAVPlayer) - Persistence player to resume playback after bad network connection even in background mode, manage headphone interactions, system interruptions, now playing informations and remote commands. ### GIF From 3f4b96c2170de99ef0242a24bcbd8529a8444fba Mon Sep 17 00:00:00 2001 From: Belinskaya Date: Sun, 30 Dec 2018 18:03:15 -0500 Subject: [PATCH 2162/2606] Added AppVersion --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9696692f8..9b882d255 100644 --- a/README.md +++ b/README.md @@ -3101,6 +3101,7 @@ CollectionView, make Instagram Discover within minutes. * [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. * [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. * [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. +* [AppVersion](https://github.com/amebalabs/AppVersion) - Keep users on the up-to date version of your App. ## Xcode From 173407b1e632239e6ec691755e9935ab2e7a034e Mon Sep 17 00:00:00 2001 From: JonyFang Date: Fri, 4 Jan 2019 09:55:15 +0800 Subject: [PATCH 2163/2606] Move FFPopup to the bottom of category Signed-off-by: JonyFang --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f91bbc329..f758c70ee 100644 --- a/README.md +++ b/README.md @@ -2480,7 +2480,6 @@ Most of these are paid services, some have free tiers. * [ADDatePicker](https://github.com/abhiperry/ADDatePicker) - A fully customizable iOS Horizontal PickerView library, written in pure swift. ### Popup -* [FFPopup](https://github.com/JonyFang/FFPopup) - ⛩FFPopup is a lightweight library for presenting custom views as a popup. * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. * [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. @@ -2498,6 +2497,7 @@ Most of these are paid services, some have free tiers. * [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. * [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. * [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - A highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. +* [FFPopup](https://github.com/JonyFang/FFPopup) - ⛩FFPopup is a lightweight library for presenting custom views as a popup. ### ProgressView * [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift From b83eedbec5dba6edf3911b41a413e30e5e8d3213 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 4 Jan 2019 16:33:46 -0200 Subject: [PATCH 2164/2606] fix broken links. Remove archived projects. Fix redirects --- README.md | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ca0b02584..8ddffc928 100644 --- a/README.md +++ b/README.md @@ -404,7 +404,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. * [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit -* [CoreCharts](https://github.com/cagricolak/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products +* [CoreCharts](https://github.com/CoreCharts/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products ## Code Quality @@ -544,7 +544,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. * [YapDatabase](https://github.com/yapstudios/YapDatabase) - YapDatabase is an extensible database for iOS & Mac. -* [Couchbase Mobile](https://developer.couchbase.com/mobile/) - Couchbase document store for mobile with cloud sync. +* [Couchbase Mobile](https://www.couchbase.com/products/mobile/) - Couchbase document store for mobile with cloud sync. * [FMDB](https://github.com/ccgus/fmdb) - A Cocoa / Objective-C wrapper around SQLite. * [FCModel](https://github.com/marcoarment/FCModel) - An alternative to Core Data for people who like having direct SQL access. * [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly synchronize NSUserDefaults over iCloud. @@ -951,7 +951,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching * [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. * [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. -* [lokalise](https://lokalise.co/en ) - Translation platform for software developers. Free for open source projects * [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. * [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable * [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings @@ -1000,7 +999,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. * [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios) - The official Google-built powerful neural network library port for iOS. * [Bender](https://github.com/xmartlabs/Bender) - Easily craft fast Neural Networks. Use TensorFlow models. Metal under the hood. -* [Caffe2](https://github.com/caffe2/caffe2) - Lightweight, modular, and scalable deep learning framework. * [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. * [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. * [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of unique Core ML Models. @@ -1172,7 +1170,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LetterAvatarKit](https://github.com/vpeschenkov/LetterAvatarKit) - A UIImage extension that generates letter-based avatars written in Swift. * [AXPhotoViewer](https://github.com/alexhillc/AXPhotoViewer) - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos * [TJProfileImage](https://github.com/tejas-ardeshna/TJProfileImage) - Live rendering of componet’s properties in Interface Builder. -* [Viewer](https://github.com/bakkenbaeck/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images +* [Viewer](https://github.com/3lvis/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images * [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. * [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below * [MetalPetal](https://github.com/MetalPetal/MetalPetal) - A GPU-accelerated image/video processing framework based on [Metal](https://developer.apple.com/metal/). @@ -1565,7 +1563,7 @@ Most of these are paid services, some have free tiers. * [BindKit](https://github.com/electricbolt/bindkit) - Two-way data binding framework for iOS. Only one API to learn. * [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. * [RxReduce](https://github.com/RxSwiftCommunity/RxReduce) - Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way. -* [RxCoordinator](https://github.com/quickbirdstudios/RxCoordinator) - Reactive navigation library for iOS based on the coordinator pattern +* [RxCoordinator](https://github.com/quickbirdstudios/XCoordinator) - Powerful navigation library for iOS based on the coordinator pattern. * [RxAlamoRecord](https://github.com/Daltron/RxAlamoRecord) Combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively. ### React-Like @@ -1680,7 +1678,7 @@ Most of these are paid services, some have free tiers. * [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. * [🗄 Vault](https://github.com/umbri/Vault) - Simple and Secure container for passwords and other sensitive data * [Virgil SWIFT PFS SDK](https://github.com/VirgilSecurity/virgil-sdk-pfs-x) - An SDK that allows developers to add the Perfect Forward Secrecy (PFS) technologies to their digital solutions to protect previously intercepted traffic from being decrypted even if the main Private Key is compromised. -* [Virgil Security Objective-C/Swift SDK](https://github.com/VirgilSecurity/sdk-x) - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API. +* [Virgil Security Objective-C/Swift SDK](https://github.com/VirgilSecurity/virgil-sdk-x) - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API. ### Encryption * [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. @@ -1703,7 +1701,7 @@ Most of these are paid services, some have free tiers. * [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. * [SecureEnclaveCrypto](https://github.com/trailofbits/SecureEnclaveCrypto) - Demonstration library for using the Secure Enclave on iOS. * [RSASwiftGenerator](https://github.com/4taras4/RSASwiftGenerator) - Util for generation RSA keys on your client and save to keychain or cover into Data 🔑 🔐 -* [Virgil Security Objective-C/Swift Crypto Library](https://github.com/VirgilSecurity/crypto-x) - A high-level cryptographic library that allows to perform all necessary operations for securely storing and transferring data. +* [Virgil Security Objective-C/Swift Crypto Library](https://github.com/VirgilSecurity/virgil-crypto-x) - A high-level cryptographic library that allows to perform all necessary operations for securely storing and transferring data. * [JOSESwift](https://github.com/airsidemobile/JOSESwift) - A framework for the JOSE standards JWS, JWE, and JWK written in Swift. ### Keychain @@ -2448,7 +2446,7 @@ Most of these are paid services, some have free tiers. * [SwipeMenuViewController](https://github.com/yysskk/SwipeMenuViewController) - Swipable tab and menu View and ViewController. * [DTPagerController](https://github.com/tungvoduc/DTPagerController) - A fully customizable container view controller to display set of ViewControllers in horizontal scroller * [PagingKit](https://github.com/kazuhiro4949/PagingKit) - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries. -* [Dropdowns](https://github.com/hyperoslo/Dropdowns) - 💧 Dropdown in Swift +* [Dropdowns](https://github.com/onmyway133/Dropdowns) - 💧 Dropdown in Swift * [Parchment](https://github.com/rechsteiner/Parchment) - A paging view controller with a highly customizable menu. Built on UICollectionView, with support for custom layouts and infinite data sources. * [ContextMenu](https://github.com/GitHawkApp/ContextMenu) - An iOS context menu UI inspired by Things 3. * [Panels](https://github.com/antoniocasero/Panels) - Panels is a framework to easily add sliding panels to your application. @@ -2583,7 +2581,7 @@ Most of these are paid services, some have free tiers. * [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. * [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. * [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. -* [VSVerticalSlider](https://github.com/vsmithers1087/VSVerticalSlider) - An animatable and customizable vertical slider written in Swift4. +* [VSVerticalSlider](https://github.com/vsmithers1087/VerticalSlider) - An animatable and customizable vertical slider written in Swift4. * [Fluid Slider](https://github.com/Ramotion/fluid-slider) - A slider widget with a popup bubble displaying the precise value selected. ### Splash View @@ -2705,7 +2703,7 @@ Most of these are paid services, some have free tiers. * [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). * [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) * [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. -* [SectionScrubber](https://github.com/bakkenbaeck/SectionScrubber) - A component to quickly scroll between collection view sections +* [SectionScrubber](https://github.com/3lvis/SectionScrubber) - A component to quickly scroll between collection view sections * [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. * [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. * [CampcotCollectionView](https://github.com/touchlane/CampcotCollectionView) - CampcotCollectionView is a custom UICollectionView written in Swift that allows to expand and collapse sections. It provides a simple API to manage collection view appearance. @@ -3098,7 +3096,7 @@ CollectionView, make Instagram Discover within minutes. ## App Store * [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. -* [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/rejections/) Highlighted some of the most common issues that cause apps to get rejected. +* [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/#common-app-rejections) Highlighted some of the most common issues that cause apps to get rejected. * [Free App Store Optimization Tool](https://www.mobileaction.co) Lets you track your App Store visibility in terms of keywords and competitors. * [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. * [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. @@ -3154,7 +3152,7 @@ CollectionView, make Instagram Discover within minutes. ## Reference * [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. * [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. -* [SwiftSnippets](https://github.com/hyperoslo/SwiftSnippets) - A collection of Swift snippets to be used in Xcode +* [SwiftSnippets](https://github.com/onmyway133/SwiftSnippets) - A collection of Swift snippets to be used in Xcode * [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. * [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. * [WWDC17-Recap](https://github.com/erenkabakci/WWDC17-Recap) - Markdown collection repo for the sessions at WWDC17. From fd927151b5812448029e5fa400e8dd1601ce063a Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 4 Jan 2019 16:43:54 -0200 Subject: [PATCH 2165/2606] Updating CONTRIBUTION GUIDELINES and Pull Request Template --- .github/CONTRIBUTING.md | 5 ++++- .github/PULL_REQUEST_TEMPLATE.md | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index eee29c806..ba2440122 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -22,19 +22,22 @@ Typical reasons for deleting project: - No updates / no longer works - Deprecated - Lacks license +- Archived projects #### Projects are ineligible if: - Lack recent commit +- Have lower than 50 stargazers in Github - Don't support iOS 9 or later - Don't support Swift 4 or later -- Not written in English +- README or code comments aren't written in English - README is not clear - Does not support the most common package managers (spm, cocoapods, carthage...) ### Projects that can be rejected: - Projects without tests. +- Have only one contributor - Projects with exact same functionalities as other projects that are already in AwesomeiOS - Projects with few functionalities diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 000e659a0..3641b5717 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -14,7 +14,10 @@ ## Checklist +- [ ] Has 50 Github stargazers or more - [ ] Only one project/change is in this pull request +- [ ] Isn't an archived project +- [ ] Has more than one contributor - [ ] Has unit tests, integration tests or UI tests - [ ] Addition in chronological order (bottom of category) - [ ] Supports iOS 9 / tvOS 10 or later From 146beca158fdae4c6b0f26b36fdf5c43b917f4b7 Mon Sep 17 00:00:00 2001 From: Basem Emara Date: Sat, 5 Jan 2019 01:00:31 -0500 Subject: [PATCH 2166/2606] Added ZamzamKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8ddffc928..c2decff2f 100644 --- a/README.md +++ b/README.md @@ -2895,6 +2895,7 @@ CollectionView, make Instagram Discover within minutes. * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs * [SwiftProvisioningProfile](https://github.com/Sherlouk/SwiftProvisioningProfile) - Parse provisioning profiles into Swift models. * [Once](https://github.com/jianstm/Once) - Minimalist library to manage one-off operations. + * [ZamzamKit](https://github.com/ZamzamInc/ZamzamKit) - A collection of micro utilities and extensions for Standard Library, Foundation and UIKit. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS From 617e3580aa1b0cd0855faa5685d71d71fb385e57 Mon Sep 17 00:00:00 2001 From: Vlad Iacob Date: Mon, 7 Jan 2019 14:24:38 +0200 Subject: [PATCH 2167/2606] Include Swinflate --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 65792f4a5..ac4b88d95 100644 --- a/README.md +++ b/README.md @@ -2751,6 +2751,7 @@ Most of these are paid services, some have free tiers. CollectionView, make Instagram Discover within minutes. * [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. * [UICollectionViewSplitLayout](https://github.com/yahoojapan/UICollectionViewSplitLayout) - UICollectionViewSplitLayout makes collection view more responsive. +* [Swinflate](https://github.com/VladIacobIonut/Swinflate) - A bunch of layouts providing light and seamless experiences in your CollectionView. ### Tag From acebeba710caeddeb12bf1cc25228279c19e5a6b Mon Sep 17 00:00:00 2001 From: Sunnyyoung Date: Tue, 15 Jan 2019 15:09:02 +0800 Subject: [PATCH 2168/2606] Added MMKV --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8f757032c..1afb59a0f 100644 --- a/README.md +++ b/README.md @@ -585,6 +585,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PropertyKit](https://github.com/metasmile/PropertyKit) - Protocol-First, Type and Key-Safe Swift Property for iOS, macOS and tvOS * [PersistenceKit](https://github.com/Teknasyon-Teknoloji/PersistenceKit) - Store and retrieve Codable objects to various persistence layers, in a couple lines of code! * [ModelAssistant](https://github.com/ssamadgh/ModelAssistant) - Elegant library to manage the interactions between view and model in Swift. +* [MMKV](https://github.com/Tencent/MMKV) - An efficient, small mobile key-value storage framework developed by WeChat. Works on iOS, Android, macOS and Windows. ## Data Structures / Algorithms From 24abb8fc441b6bcdf441fdfb614f59ea25fa0dce Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Sun, 20 Jan 2019 12:57:34 +0000 Subject: [PATCH 2169/2606] Add CoreXLSX to Other Parsing Thanks for this great list! Hope this library can be added to "Other Parsing" section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1afb59a0f..4e5884f82 100644 --- a/README.md +++ b/README.md @@ -1476,6 +1476,7 @@ Most of these are paid services, some have free tiers. * [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. * [RLPSwift](https://github.com/bitfwdcommunity/RLPSwift) - Recursive Length Prefix encoding written in Swift. * [AcknowledgementsPlist](https://github.com/cats-oss/AcknowledgementsPlist) - AcknowledgementsPlist manages the licenses of libraries that depend on your iOS app. +* [CoreXLSX](https://github.com/MaxDesiatov/CoreXLSX) - Excel spreadsheet (XLSX) format support in pure Swift. ## Passbook From bacd2a562bdcd6b51a2c1caf455fc785b57d85aa Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 21 Jan 2019 10:23:22 -0200 Subject: [PATCH 2170/2606] Add OnlyPicture from @KiranJasvanee --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4e5884f82..2c0489f75 100644 --- a/README.md +++ b/README.md @@ -1186,6 +1186,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Gallery](https://github.com/hyperoslo/Gallery) - Your next favorite image and video picker. * [ATGMediaBrowser](https://github.com/altayer-digital/ATGMediaBrowser) - Image slide-show viewer with multiple predefined transition styles, and ability to create new transitions with ease. * [Pixel](https://github.com/muukii/Pixel) - An image editor and engine using CoreImage. +* [OnlyPictures](https://github.com/KiranJasvanee/OnlyPictures) - A simple and flexible way to add source of overlapping circular pictures. ### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift From 1d0a8f3dbe264596a024f8f252599874549008ea Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 21 Jan 2019 11:31:40 -0200 Subject: [PATCH 2171/2606] add Defaults by @sindresorhus --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2c0489f75..42f0951db 100644 --- a/README.md +++ b/README.md @@ -586,6 +586,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PersistenceKit](https://github.com/Teknasyon-Teknoloji/PersistenceKit) - Store and retrieve Codable objects to various persistence layers, in a couple lines of code! * [ModelAssistant](https://github.com/ssamadgh/ModelAssistant) - Elegant library to manage the interactions between view and model in Swift. * [MMKV](https://github.com/Tencent/MMKV) - An efficient, small mobile key-value storage framework developed by WeChat. Works on iOS, Android, macOS and Windows. +* [Defaults](https://github.com/sindresorhus/Defaults) - Swifty and modern UserDefaults ## Data Structures / Algorithms From 437834970c67164449a031260bbc3457177ff3ed Mon Sep 17 00:00:00 2001 From: Florian Marcu Date: Mon, 21 Jan 2019 20:37:00 -0800 Subject: [PATCH 2172/2606] Adding Messenger Chat with Firebase --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 42f0951db..73d2f6bf2 100644 --- a/README.md +++ b/README.md @@ -1263,6 +1263,7 @@ Also see [push notifications](#push-notifications) * [AsyncMessagesViewController](https://github.com/nguyenhuy/AsyncMessagesViewController) - A smooth, responsive and flexible messages UI library for iOS. * [MessageViewController](https://github.com/GitHawkApp/MessageViewController) - A SlackTextViewController replacement written in Swift for the iPhone X. * [SwiftyMessenger](https://github.com/abdullahselek/SwiftyMessenger) - Swift toolkit for passing messages between iOS apps and extensions. +* [Messenger Chat with Firebase](https://github.com/instamobile/messenger-iOS-chat-swift-firestore) - Swift messaging chat app with Firebase Firestore integration. ## Networking * [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. From ad69d94dd48073d64deb9b64b649cd4133fc8316 Mon Sep 17 00:00:00 2001 From: Alan Zeino Date: Wed, 23 Jan 2019 15:40:11 -0800 Subject: [PATCH 2173/2606] Add iOS Snapshot Test Case --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73d2f6bf2..4988c5c9b 100644 --- a/README.md +++ b/README.md @@ -1896,6 +1896,7 @@ Most of these are paid services, some have free tiers. * [OCMock](http://ocmock.org) - Mock objects for Objective-C. * [Mockingjay](https://github.com/kylef/Mockingjay) - An elegant library for stubbing HTTP requests with ease in Swift. * [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. +* [iOS Snapshot Test Case](https://github.com/uber/ios-snapshot-test-case) — Snapshot test your UIViews and CALayers on iOS and tvOS. ## UI * [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. From e3e71f37c033aa6661e8e84d13b36e9f9438dd4d Mon Sep 17 00:00:00 2001 From: Alan Zeino Date: Wed, 23 Jan 2019 15:42:59 -0800 Subject: [PATCH 2174/2606] Add Needle --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73d2f6bf2..7b32c6f1b 100644 --- a/README.md +++ b/README.md @@ -3077,6 +3077,7 @@ CollectionView, make Instagram Discover within minutes. * [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. * [ViperServices](https://github.com/ladeiko/ViperServices) - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code. * [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS applications written in clean Swift. +* [Needle](https://github.com/uber/needle) — Compile-time safe Swift dependency injection framework with real code ## Deployment / Distribution From a405cc71829e83a111e5e2651deddb755296fb09 Mon Sep 17 00:00:00 2001 From: Amadeu Cavalcante Date: Mon, 28 Jan 2019 12:54:19 -0200 Subject: [PATCH 2175/2606] Added CwlSignal to reactive programming topic --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7586ca7bd..90e283894 100644 --- a/README.md +++ b/README.md @@ -1570,6 +1570,7 @@ Most of these are paid services, some have free tiers. * [RxReduce](https://github.com/RxSwiftCommunity/RxReduce) - Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way. * [RxCoordinator](https://github.com/quickbirdstudios/XCoordinator) - Powerful navigation library for iOS based on the coordinator pattern. * [RxAlamoRecord](https://github.com/Daltron/RxAlamoRecord) Combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively. +* [CwlSignal](https://github.com/mattgallagher/CwlSignal) A Swift framework for reactive programming. ### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. From 9e727087c7379e92e6374ed8afc466769c0df680 Mon Sep 17 00:00:00 2001 From: IhorS Date: Tue, 29 Jan 2019 20:38:01 +0200 Subject: [PATCH 2176/2606] Adding LayoutInspector debuggin tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 90e283894..2319a4afa 100644 --- a/README.md +++ b/README.md @@ -670,6 +670,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Wormholy](https://github.com/pmusolino/Wormholy) - iOS network debugging, like a wizard * [AppSpector](https://appspector.com) - Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotificationCenter and mock device's geo location. * [Woodpecker](http://www.woodpeck.cn) - View sandbox files, UserDefaults, network request from Mac. +* [LayoutInspector](https://github.com/isavynskyi/LayoutInspector) - Debug app layouts directly on iOS device: inspect layers in 3D and debug each visible view attributes ## EventBus From 7933ea69b88290cfeff92e2e9446e969f17bcd0a Mon Sep 17 00:00:00 2001 From: Pawel Krawiec Date: Fri, 1 Feb 2019 00:19:52 +0000 Subject: [PATCH 2177/2606] Add ios-architecture --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2319a4afa..820549431 100644 --- a/README.md +++ b/README.md @@ -293,6 +293,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Tempura](https://github.com/BendingSpoons/tempura-swift) - A holistic approach to iOS development, inspired by Redux and MVVM. * [VIPER Module Generator](https://github.com/Kaakati/VIPER-Module-Generator) - A Clean VIPER Modules Generator with comments and predfined functions. * [MMVMi](https://github.com/Maryom/MMVMi) - A Validation Model for MVC and MVVM Design Patterns in iOS Applications. +* [ios-architecture](https://github.com/tailec/ios-architecture) - A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others ## ARKit From 5b52be094502755acbce07a8f34fcf62ded8be5d Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Sat, 2 Feb 2019 11:10:43 +0000 Subject: [PATCH 2178/2606] Add XMLCoder --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 820549431..f07cacd5b 100644 --- a/README.md +++ b/README.md @@ -1469,6 +1469,7 @@ Most of these are paid services, some have free tiers. * [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. * [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift * [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 4 +* [XMLCoder](https://github.com/MaxDesiatov/XMLCoder) - Encoder & Decoder for XML using Swift's `Codable` protocols. ### Other Parsing * [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. From 8949878c703fd2095b65c0617ce22da4ee1a1e9f Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 4 Feb 2019 18:10:29 -0200 Subject: [PATCH 2179/2606] Remove JTChartView. Outdated project --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f07cacd5b..c0cf1b60a 100644 --- a/README.md +++ b/README.md @@ -375,7 +375,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Beautiful, Easy and Fully customized charts* * [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). -* [JTChartView](https://github.com/kubatruhlar/JTChartView) - JTChartView is the new lightweight and fully customizable solution to draw a chart. * [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS * [XJYChart](https://github.com/JunyiXie/XJYChart) - A Beautiful chart for iOS. Support animation, click, slide, area highlight. * [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Elegant Line Graphs for iOS (charting library). From ee3ead771cfc41d5169a044d53b3cd43852b0f52 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 4 Feb 2019 18:12:51 -0200 Subject: [PATCH 2180/2606] Remove ColorArt. Outdated project --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index c0cf1b60a..df39c06e7 100644 --- a/README.md +++ b/README.md @@ -453,7 +453,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Hex color extensions, theming, color pickers and other awesome color tools.* * [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). -* [ColorArt](https://github.com/vinhnx/ColorArt) - extract dominant colors from image like iTunes 11. * [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. [e] * [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. [e] * [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier. From 9f6d3939db341f6ec8eb1b93c3b813f1d21c9feb Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 4 Feb 2019 18:20:17 -0200 Subject: [PATCH 2181/2606] Create Machine Learning category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index df39c06e7..8e8fcc69a 100644 --- a/README.md +++ b/README.md @@ -997,6 +997,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Machine Learning +*A collection of ML Models, deep learning and neural networking libraries* + * [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. * [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. * [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios) - The official Google-built powerful neural network library port for iOS. From 7b783b071563ecaff406feb7c94bc1c937294ca9 Mon Sep 17 00:00:00 2001 From: Emerson Cloud Date: Mon, 11 Feb 2019 22:06:05 -0500 Subject: [PATCH 2182/2606] Add CameraKit-iOS --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e8fcc69a..f9708aa2d 100644 --- a/README.md +++ b/README.md @@ -843,6 +843,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [iOS-Depth-Sampler](https://github.com/shu223/iOS-Depth-Sampler) - A collection of code examples for Depth APIs. * [TakeASelfie](https://github.com/abdullahselek/TakeASelfie) - An iOS framework that uses the front camera, detects your face and takes a selfie. * [HybridCamera](https://github.com/eonist/HybridCamera) - Video and photo camera for iOS, similar to the SnapChat camera. +* [CameraKit-iOS](https://github.com/CameraKit/camerakit-ios) - Massively increase camera performance and ease of use in your next iOS project. ### Force Touch From e075d671895d2a436cf9a80812b6442e48554671 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 12 Feb 2019 06:35:34 -0200 Subject: [PATCH 2183/2606] create force touch category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 8e8fcc69a..dc3cb9c3b 100644 --- a/README.md +++ b/README.md @@ -846,6 +846,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ### Force Touch +*Quick actions and peek and pop interactions* + * [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) * [JustPeek](https://github.com/justeat/JustPeek) - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. * [PeekView](https://github.com/itsmeichigo/PeekView) - PeekView supports peek, pop and preview actions for iOS devices without 3D Touch capibility. From c7d66fab3ca1c0a3e99217de387fefb054ed11cf Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 12 Feb 2019 06:38:10 -0200 Subject: [PATCH 2184/2606] create iBeacon category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index dc3cb9c3b..9e1223c7b 100644 --- a/README.md +++ b/README.md @@ -854,6 +854,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ### iBeacon +*Device detect libraries and iBeacon helpers* + * [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. * [OWUProximityManager](https://github.com/ohayon/OWUProximityManager) - iBeacons + CoreBluetooth. * [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy Bluetooth devices in the background. From d84d6050869cdb960838e1d9fe7282275868255c Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 12 Feb 2019 06:40:20 -0200 Subject: [PATCH 2185/2606] create localization description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 9e1223c7b..d57b8afa6 100644 --- a/README.md +++ b/README.md @@ -865,6 +865,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ### Location +*Location monitoring, detect motion and geofencing libraries* + * [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. * [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. * [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift From 7117f18d3801a3a9d7db5298de53b546ab6308d3 Mon Sep 17 00:00:00 2001 From: Ryo Aoyama Date: Thu, 14 Feb 2019 00:31:03 +0900 Subject: [PATCH 2186/2606] Add Carbon --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f5f1d0a9c..bb2a4dd6c 100644 --- a/README.md +++ b/README.md @@ -2729,6 +2729,7 @@ Most of these are paid services, some have free tiers. * [MSPeekCollectionViewDelegateImplementation](https://github.com/MaherKSantina/MSPeekCollectionViewDelegateImplementation) - A custom paging behavior that peeks the previous and next items in a collection view. * [SimpleSource](https://github.com/Squarespace/simple-source) - Easy and type-safe iOS table and collection views in Swift. * [Conv](https://github.com/bannzai/conv) - Conv smart represent UICollectionView data structure more than UIKit. +* [Carbon](https://github.com/ra1028/Carbon) - 🚴 A declarative library for building component-based user interfaces in UITableView and UICollectionView. #### Expandable Cell From 334c458017b0b1984c0d3d41a304a2308cb1dc11 Mon Sep 17 00:00:00 2001 From: Jiar Date: Thu, 14 Feb 2019 10:50:18 +0800 Subject: [PATCH 2187/2606] Add SegementSlide --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb2a4dd6c..7bd6ad10a 100644 --- a/README.md +++ b/README.md @@ -2563,6 +2563,7 @@ Most of these are paid services, some have free tiers. * [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf * [SlideController](https://github.com/touchlane/SlideController) - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types. * [CrownControl](https://github.com/huri000/CrownControl) - Inspired by the Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content without lifting your thumb. +* [SegementSlide](https://github.com/Jiar/SegementSlide) - Multi-tier UIScrollView nested scrolling solution. ### Segmented Control * [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. From 1581e3844a4c5f5437cff52f7ea30dffac26f64f Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 14 Feb 2019 11:59:21 +0200 Subject: [PATCH 2188/2606] Fix link issues Line Status Link 206 [403](https://httpstatuses.com/403) https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS 228 [301](https://httpstatuses.com/301) https://answers.io/ redirects to https://get.fabric.io 460 [301](https://httpstatuses.com/301) https://github.com/hyperoslo/Hue redirects to https://github.com/zenangst/Hue 613 [404](https://httpstatuses.com/404) https://github.com/mentalfaculty/impeller 939 [301](https://httpstatuses.com/301) https://github.com/schibsted/layout redirects to https://github.com/nicklockwood/layout 1134 [301](https://httpstatuses.com/301) https://github.com/luiyezheng/JLStickerTextView redirects to https://github.com/Textcat/JLStickerTextView 1340 [404](https://httpstatuses.com/404) https://github.com/SvenTiigi/PerfectAPIClient 1516 [301](https://httpstatuses.com/301) https://github.com/RC7770/MFCard redirects to https://github.com/MobileFirstInc/MFCard 1630 Error https://www.packetzoom.com/ Connection refused - connect(2) for "www.packetzoom.com" port 443 1661 [301](https://httpstatuses.com/301) https://github.com/SlackKit/SlackKit redirects to https://github.com/pvzig/SlackKit 1673 [404](https://httpstatuses.com/404) https://github.com/SvenTiigi/PerfectSlackAPIClient 1899 [301](https://httpstatuses.com/301) https://github.com/KrauseFx/trainer redirects to https://github.com/xcpretty/trainer 2694 [301](https://httpstatuses.com/301) https://github.com/DenHeadless/DTTableViewManager redirects to https://github.com/DenTelezhkin/DTTableViewManager 3216 [301](https://httpstatuses.com/301) https://www.shinobicontrols.com/blog/ios-10-day-by-day-index redirects to https://www.shinobicontrols.com/blog/ios-10-day-by-day-index/ 3259 [301](https://httpstatuses.com/301) http://principleformac.com redirects to https://principleformac.com/ --- README.md | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index bb2a4dd6c..2886f579b 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. * [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) * [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) -* [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/?couponCode=CREATORS) +* [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/) * [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners ## Accessibility @@ -225,7 +225,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. * [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. * [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. -* [Answers by Fabric](https://answers.io/) - Answers gives you real-time insight into people’s experience in your app. +* [Answers by Fabric](https://get.fabric.io) - Answers gives you real-time insight into people’s experience in your app. * [GTrack](https://github.com/gemr/GTrack) - Lightweight Objective-C wrapper around the Google Analytics for iOS SDK with some extra goodies. * [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. * [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. @@ -457,7 +457,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. [e] * [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier. * [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. -* [Hue](https://github.com/hyperoslo/Hue) - Hue is the all-in-one coloring utility that you'll ever need. +* [Hue](https://github.com/zenangst/Hue) - Hue is the all-in-one coloring utility that you'll ever need. * [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. * [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. * [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. @@ -610,7 +610,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. * [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. * [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! -* [Impeller](https://github.com/mentalfaculty/impeller) - A Distributed Value Store in Swift +* [Impeller](https://github.com/david-coyle-sjc/impeller) - A Distributed Value Store in Swift * [Dispatch](https://github.com/alexdrone/Dispatch) - Multi-store Flux implementation in Swift * [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift * [BinaryKit](https://github.com/Cosmo/BinaryKit) - Access bits and bytes directly in Swift. @@ -936,7 +936,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. * [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. * [FlexLayout](https://github.com/layoutBox/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. -* [Layout](https://github.com/schibsted/layout) - A declarative UI framework for iOS +* [Layout](https://github.com/nicklockwood/layout) - A declarative UI framework for iOS * [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. * [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. * [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. @@ -1131,7 +1131,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Toucan](https://github.com/gavinbunney/Toucan) - Fabulous Image Processing in Swift * [ImageLoaderSwift](https://github.com/hirohisa/ImageLoaderSwift) - A lightweight and fast image loader for iOS written in Swift. * [ImageScout](https://github.com/kaishin/ImageScout) - A Swift implementation of fastimage. Supports PNG, GIF, and JPEG. -* [JLStickerTextView](https://github.com/luiyezheng/JLStickerTextView) - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image. +* [JLStickerTextView](https://github.com/Textcat/JLStickerTextView) - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image. * [Agrume](https://github.com/JanGorman/Agrume) - A lemony fresh iOS image viewer written in Swift. * [PASImageView](https://github.com/abiaad/PASImageView) - Rounded async imageview downloader lightly cached and written in Swift * [Navi](https://github.com/nixzhu/Navi) - Focus on avatar caching. @@ -1337,7 +1337,7 @@ Also see [push notifications](#push-notifications) * [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking * [Digger](https://github.com/cornerAnt/Digger) - Digger is a lightweight download framework that requires only one line of code to complete the file download task. * [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). -* [PerfectAPIClient](https://github.com/SvenTiigi/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework +* [PerfectAPIClient](https://github.com/jorik041/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework * [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development * [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. * [FGRoute](https://github.com/Feghal/FGRoute) - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses. @@ -1513,7 +1513,7 @@ Most of these are paid services, some have free tiers. * [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift * [ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn) - Luhn Credit Card Validation Algorithm * [RMStore](https://github.com/robotmedia/RMStore) - A lightweight iOS library for In-App Purchases -* [MFCard](https://github.com/RC7770/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI +* [MFCard](https://github.com/MobileFirstInc/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI * [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt * [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL * [CreditCardForm-iOS](https://github.com/orazz/CreditCardForm-iOS) - CreditCardForm is iOS framework that allows developers to create the UI which replicates an actual Credit Card. @@ -1627,7 +1627,6 @@ Most of these are paid services, some have free tiers. * [Dropbox](https://www.dropbox.com/lp/developers) SDKs for Drop-ins and Dropbox Core API. * [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. * [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. -* [PacketZoom](https://www.packetzoom.com/) PacketZoom SDK for iOS. * [Primer](https://www.goprimer.com) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. * [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device * [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps @@ -1658,7 +1657,7 @@ Most of these are paid services, some have free tiers. * [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. * [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project. * [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & macOS written in Swift. -* [SlackKit](https://github.com/SlackKit/SlackKit) - a Slack client library for iOS and macOS written in Swift. +* [SlackKit](https://github.com/pvzig/SlackKit) - a Slack client library for iOS and macOS written in Swift. * [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift Framework to Generate Random Users - An Unofficial SDK for randomuser.me. * [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). * [UnsplashKit](https://github.com/modo-studio/UnsplashKit) - Swift client for Unsplash. @@ -1670,7 +1669,7 @@ Most of these are paid services, some have free tiers. * [ARKKit](https://github.com/sleepdefic1t/ARKKit) - ARK Ecosystem Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. * [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. * [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. -* [PerfectSlackAPIClient](https://github.com/SvenTiigi/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework. +* [PerfectSlackAPIClient](https://github.com/CaptainYukinoshitaHachiman/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework. * [Mothership](https://github.com/thecb4/MotherShip) - Tunes Connect Library inspired by FastLane. * [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API. * [waterwheel.swift](https://github.com/kylebrowning/waterwheel.swift) - The Waterwheel Swift SDK provides classes to natively connect iOS, macOS, tvOS, and watchOS applications to Drupal 7 and 8. @@ -1896,7 +1895,7 @@ Most of these are paid services, some have free tiers. * [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java * [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps * [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 -* [trainer](https://github.com/KrauseFx/trainer) - Convert xcodebuild plist files to JUnit reports +* [trainer](https://github.com/xcpretty/trainer) - Convert xcodebuild plist files to JUnit reports * [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur * [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift * [AcceptanceMark](https://github.com/bizz84/AcceptanceMark) Tool to auto-generate Xcode tests classes from Markdown tables @@ -2690,7 +2689,7 @@ Most of these are paid services, some have free tiers. * [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". * [TORoundedTableView](https://github.com/TimOliver/TORoundedTableView) - A subclass of UITableView that styles it like Settings.app on iPad * [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ -* [DTTableViewManager](https://github.com/DenHeadless/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. +* [DTTableViewManager](https://github.com/DenTelezhkin/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. * [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. * [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. * [SelectionList](https://github.com/yonat/SelectionList) - Simple single-selection or multiple-selection checklist, based on UITableView. @@ -3212,7 +3211,7 @@ CollectionView, make Instagram Discover within minutes. * [Code Facebook](https://code.fb.com/category/ios/) * [iOS Cookies](https://ioscookies.com/) - A hand curated collection of iOS libraries written in Swift * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. -* [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index) +* [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index/) * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. ### UIKit references @@ -3255,7 +3254,7 @@ CollectionView, make Instagram Discover within minutes. * [FluidUI](https://www.fluidui.com) * [Proto.io](https://proto.io/) * [Framer](https://framer.com/) -* [Principle](http://principleformac.com) +* [Principle](https://principleformac.com/) ### Newsletters * [AwesomeiOS Weekly](http://weekly.awesomeios.com) - AwesomeiOS Weekly From e864397b890979f079ef511752f67e20884b13aa Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 14 Feb 2019 18:05:16 +0200 Subject: [PATCH 2189/2606] Add https://www.udemy.com/ to whitelisted --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 74bf36062..9eae5a2df 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ before_script: - gem install danger script: - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,PerfectlySoft,gitter,instabug,weekly.awesomeios.com - - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix,amazon,facebook.com/groups,goo.gl + - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix,amazon,facebook.com/groups,goo.gl,https://www.udemy.com - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger notifications: From 2dae051c970c5fdf2c360cd72755d2455c009a3a Mon Sep 17 00:00:00 2001 From: Hyejun Jang Date: Tue, 19 Feb 2019 01:18:11 +0900 Subject: [PATCH 2190/2606] Add ClassicKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 978c801ae..00295d819 100644 --- a/README.md +++ b/README.md @@ -2023,6 +2023,7 @@ Most of these are paid services, some have free tiers. * [STAControls](https://github.com/Stunner/STAControls) - Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C. * [ApplyStyleKit](https://github.com/shindyu/ApplyStyleKit) - Elegant apply style, using Swift Method Chain. * [OverlayContainer](https://github.com/applidium/ADOverlayContainer) - A library to develop overlay based interfaces, such as the one presented in the iOS 12 Apple Maps or Stocks apps. +* [ClassicKit](https://github.com/Baddaboo/ClassicKit) - A collection of classic-style UI components for iOS. ### Activity Indicator From c8b23ccf8f1c9c953f07bd9601f64faaffbf6f50 Mon Sep 17 00:00:00 2001 From: Hyejun Jang Date: Tue, 19 Feb 2019 01:34:54 +0900 Subject: [PATCH 2191/2606] Solve a Issue --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 00295d819..ef8851ee7 100644 --- a/README.md +++ b/README.md @@ -920,7 +920,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! * [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. * [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS. -* [MarkupKit](https://github.com/gk-brown/MarkupKit) - Declarative UI for iOS applications * [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally * [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. * [Compose](https://github.com/grupozap/Compose) - Compose is a library that helps you compose complex and dynamic views. @@ -3255,7 +3254,7 @@ CollectionView, make Instagram Discover within minutes. ### Prototyping * [FluidUI](https://www.fluidui.com) * [Proto.io](https://proto.io/) -* [Framer](https://framer.com/) +* [Framer](https://www.framer.com/) * [Principle](https://principleformac.com/) ### Newsletters From 9c6df16147afddf6ea34385603730051e23ac283 Mon Sep 17 00:00:00 2001 From: Kare Morstol Date: Mon, 18 Feb 2019 22:20:33 +0100 Subject: [PATCH 2192/2606] Add SwiftShell ## Project URL https://github.com/kareman/SwiftShell ## Category Command Line ## Description A Swift framework for shell scripting and running shell commands. ## Why it should be included to `awesome-ios` (mandatory) There aren't any other frameworks for running shell commands in the list. Most of the others in the "Command Line" category are command line arguments parsers. ## Checklist * [ x ] Has 50 Github stargazers or more * [ x ] Only one project/change is in this pull request * [ x ] Isn't an archived project * [ x ] Has more than one contributor * [ x ] Has unit tests, integration tests or UI tests * [ x ] Addition in chronological order (bottom of category) * [ N/A ] Supports iOS 9 / tvOS 10 or later * [ x ] Supports Swift 4 or later * [ x ] Has a commit from less than 2 years ago * [ x ] Has a **clear** README in English --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 978c801ae..125741bbb 100644 --- a/README.md +++ b/README.md @@ -484,6 +484,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts * [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. * [Crayon](https://github.com/jianstm/Crayon) - Terminal string styling with expressive api and 256/TrueColor support. +* [SwiftShell](https://github.com/kareman/SwiftShell) - A Swift framework for shell scripting and running shell commands. ## Concurrency From 9c83b83fd1c279568832877db09589015d629425 Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 26 Feb 2019 12:06:03 +0000 Subject: [PATCH 2193/2606] Added Cutter --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6eff19868..21c490d41 100644 --- a/README.md +++ b/README.md @@ -3060,6 +3060,7 @@ CollectionView, make Instagram Discover within minutes. * [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. * [Zolang](https://github.com/Zolang/Zolang) - A programming language for sharing logic between iOS, Android and Tools. * [xavtool](https://github.com/gabrielrobert/xavtool) - Command-line utility to automatically increase iOS / Android applications version. +* [Cutter](https://cutter.albemala.me/) - A tool to generate iOS Launch Images (Splash Screens) for all screen sizes starting from a single template. ## Rapid Development From 7c84032af6ed548b4465ab9f64879b9dc316f6c2 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 26 Feb 2019 15:18:24 -0300 Subject: [PATCH 2194/2606] Fix redirects --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 21c490d41..7ac54711e 100644 --- a/README.md +++ b/README.md @@ -1960,7 +1960,7 @@ Most of these are paid services, some have free tiers. * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS -* [RedBeard](http://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. +* [RedBeard](https://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. * [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. * [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. * [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. @@ -3118,7 +3118,7 @@ CollectionView, make Instagram Discover within minutes. ## App Store -* [Average App Store Review Times](http://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. +* [Average App Store Review Times](https://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. * [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/#common-app-rejections) Highlighted some of the most common issues that cause apps to get rejected. * [Free App Store Optimization Tool](https://www.mobileaction.co) Lets you track your App Store visibility in terms of keywords and competitors. * [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. From bd8156c66b77c2e6dcf07707c4f8fb9e4a5cd01a Mon Sep 17 00:00:00 2001 From: Joannis Orlandos Date: Thu, 28 Feb 2019 22:23:41 +0100 Subject: [PATCH 2195/2606] Add MongoKitten --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ac54711e..626c933e6 100644 --- a/README.md +++ b/README.md @@ -587,6 +587,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ModelAssistant](https://github.com/ssamadgh/ModelAssistant) - Elegant library to manage the interactions between view and model in Swift. * [MMKV](https://github.com/Tencent/MMKV) - An efficient, small mobile key-value storage framework developed by WeChat. Works on iOS, Android, macOS and Windows. * [Defaults](https://github.com/sindresorhus/Defaults) - Swifty and modern UserDefaults +* [MongoKitten](https://github.com/OpenKitten/MongoKitten) - A pure Swift MongoDB client implementation with support for embedded databases. ## Data Structures / Algorithms From 70c3f8332149d415999f7df6fbcf54007bdcb6d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raul=20Per=C8=9Be?= Date: Fri, 1 Mar 2019 12:59:50 +0200 Subject: [PATCH 2196/2606] adds CircleBar - adds CircleBar to ## Menu section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ac54711e..2aa2cc3a1 100644 --- a/README.md +++ b/README.md @@ -2468,6 +2468,7 @@ Most of these are paid services, some have free tiers. * [ContextMenu](https://github.com/GitHawkApp/ContextMenu) - An iOS context menu UI inspired by Things 3. * [Panels](https://github.com/antoniocasero/Panels) - Panels is a framework to easily add sliding panels to your application. * [UIMenuScroll](https://github.com/AlekseyPleshkov/UIMenuScroll) - Creating the horizontal swiping navigation how on Facebook Messenger. +* [CircleBar](https://github.com/softhausHQ/CircleBar) - 🔶 A fun, easy-to-use tab bar navigation controller for iOS. ### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls From d6065968be1917dfc97c1e4e43c96ac904813e3e Mon Sep 17 00:00:00 2001 From: Mat Schmid Date: Sat, 2 Mar 2019 12:22:33 -0500 Subject: [PATCH 2197/2606] Added Loaf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ac54711e..814707644 100644 --- a/README.md +++ b/README.md @@ -2267,6 +2267,7 @@ Most of these are paid services, some have free tiers. * [Sheet](https://github.com/ParkGwangBeom/Sheet) - SHEET helps you easily create a wide variety of action sheets with navigation features used in the Flipboard App * [ALRT](https://github.com/mshrwtnb/alrt) - An easier constructor for UIAlertController. Present an alert from anywhere. * [CatAlertController](https://github.com/ImKcat/CatAlertController) - Use UIAlertController like a boss. +* [Loaf](https://github.com/schmidyy/Loaf) - A simple framework for easy iOS Toasts. ### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From eb8251800d3ab693faa7d8e3c60d5e5b9649732c Mon Sep 17 00:00:00 2001 From: superasperatus <39364220+superasperatus@users.noreply.github.com> Date: Mon, 4 Mar 2019 11:10:01 +0100 Subject: [PATCH 2198/2606] Proposing new category & add user consent SDK --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 7ac54711e..32ecff1fb 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap - [UIPageControl](#uipagecontrol) - [Web View](#web-view) - [Utility](#utility) +- [User Consent](#user-consent) - [VR](#vr) - [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) - [Websocket](#websocket) @@ -2916,6 +2917,9 @@ CollectionView, make Instagram Discover within minutes. * [SwiftProvisioningProfile](https://github.com/Sherlouk/SwiftProvisioningProfile) - Parse provisioning profiles into Swift models. * [Once](https://github.com/jianstm/Once) - Minimalist library to manage one-off operations. * [ZamzamKit](https://github.com/ZamzamInc/ZamzamKit) - A collection of micro utilities and extensions for Standard Library, Foundation and UIKit. + +## User Consent +* [SmarltookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS From 59326889cf6f2fd29ba8f639a8387a6a081c3b9f Mon Sep 17 00:00:00 2001 From: Yusuke Morishita Date: Tue, 5 Mar 2019 17:06:46 +0900 Subject: [PATCH 2199/2606] Add MemoryCache --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ac54711e..f33d53fe4 100644 --- a/README.md +++ b/README.md @@ -353,6 +353,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Thread safe, offline and high performance cache libs and frameworks.* +* [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. * [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) * [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content * [Carlos](https://github.com/spring-media/Carlos) - A simple but flexible cache From 13d93a608cc579d7d28d7488b8d648989b76ba79 Mon Sep 17 00:00:00 2001 From: Yusuke Morishita Date: Tue, 5 Mar 2019 17:12:07 +0900 Subject: [PATCH 2200/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f33d53fe4..084a3ddea 100644 --- a/README.md +++ b/README.md @@ -353,7 +353,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Thread safe, offline and high performance cache libs and frameworks.* -* [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. * [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) * [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content * [Carlos](https://github.com/spring-media/Carlos) - A simple but flexible cache @@ -370,6 +369,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. * [Cachyr](https://github.com/YR/Cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift * [Cache](https://github.com/soffes/Cache) - Swift caching library. +* [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. ## Charts From 5b21444af1f6b118453f3e0bc416516013ae22f6 Mon Sep 17 00:00:00 2001 From: yysskk Date: Wed, 6 Mar 2019 11:50:32 +0900 Subject: [PATCH 2201/2606] Fix danger warnings --- README.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index 084a3ddea..708b981ab 100644 --- a/README.md +++ b/README.md @@ -1688,7 +1688,6 @@ Most of these are paid services, some have free tiers. * [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. * [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application * [SAPinViewController](https://github.com/siavashalipour/SAPinViewController) - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen. -* [VoiceItAPI1IosSDK](https://github.com/voiceittech/VoiceItAPI1IosSDK) - A super easy way to add Voice Authentication(Biometrics) to your iOS apps, conveniently usable via cocoapods * [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS * [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication * [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. @@ -1891,7 +1890,6 @@ Most of these are paid services, some have free tiers. * [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. * [DVR](https://github.com/venmo/DVR) - Network testing for Swift * [Cuckoo](https://github.com/Brightify/Cuckoo) - First boilerplate-free mocking framework for Swift -* [Parallel iOS Tests](https://github.com/plu/parallel_ios_tests) - Run iOS tests on multiple simulators in parallel at the same time * [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift * [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java * [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps @@ -3119,7 +3117,6 @@ CollectionView, make Instagram Discover within minutes. ## App Store -* [Average App Store Review Times](https://appreviewtimes.com) This site tracks the average App Store review times for both the iOS and the Mac App Store using data crowdsourced from iOS and Mac developers. * [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/#common-app-rejections) Highlighted some of the most common issues that cause apps to get rejected. * [Free App Store Optimization Tool](https://www.mobileaction.co) Lets you track your App Store visibility in terms of keywords and competitors. * [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. @@ -3306,7 +3303,7 @@ CollectionView, make Instagram Discover within minutes. * [Core Intuition](http://coreint.org/) * [Swift Playhouse](http://www.swiftplayhouse.com/) * [Release Notes](https://releasenotes.tv/) -* [More Than Just Code](http://mtjc.fm/) +* [More Than Just Code](https://mtjc.fireside.fm/) * [Runtime](https://spec.fm/podcasts/runtime) * [Consult](http://consultpodcast.com/) * [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) From e3c2396847e3570240ff1c8ea290be51e5261fd7 Mon Sep 17 00:00:00 2001 From: MoveUpwards <47981468+MoveUpwardsDev@users.noreply.github.com> Date: Thu, 7 Mar 2019 18:23:43 +0100 Subject: [PATCH 2202/2606] Update README.md Add Sejima Framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7ac54711e..2fe977618 100644 --- a/README.md +++ b/README.md @@ -2024,6 +2024,7 @@ Most of these are paid services, some have free tiers. * [ApplyStyleKit](https://github.com/shindyu/ApplyStyleKit) - Elegant apply style, using Swift Method Chain. * [OverlayContainer](https://github.com/applidium/ADOverlayContainer) - A library to develop overlay based interfaces, such as the one presented in the iOS 12 Apple Maps or Stocks apps. * [ClassicKit](https://github.com/Baddaboo/ClassicKit) - A collection of classic-style UI components for iOS. +* [Sejima](https://github.com/MoveUpwards/Sejima) - A collection of User Interface components for iOS. ### Activity Indicator From c0aea9e6c7553b483743c9d4109c2c478419645b Mon Sep 17 00:00:00 2001 From: Timon Blask <42553066+zagahr@users.noreply.github.com> Date: Sat, 9 Mar 2019 13:41:49 +0000 Subject: [PATCH 2203/2606] Add Conferences.digital --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0809af289..1e88ae962 100644 --- a/README.md +++ b/README.md @@ -3254,6 +3254,8 @@ CollectionView, make Instagram Discover within minutes. * [Realm Academy](https://academy.realm.io/) * [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. * [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. +* [Conferences.digital](https://github.com/zagahr/Conferences.digital) - 👨‍💻 Watch conference videos in a native macOS app. + ### iOS UI Template * [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) * [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) From c6fd5b48175d7a66202c9816b42979b279675475 Mon Sep 17 00:00:00 2001 From: Sagaya Abdulhafeez Date: Tue, 12 Mar 2019 10:11:58 +0100 Subject: [PATCH 2204/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0809af289..9ee31f69a 100644 --- a/README.md +++ b/README.md @@ -2170,7 +2170,7 @@ Most of these are paid services, some have free tiers. * [Sica](https://github.com/cats-oss/Sica) - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly. * [fireworks](https://github.com/tomkowz/fireworks) - Fireworks effect for UIView * [Disintegrate](https://github.com/dbukowski/Disintegrate) - Disintegration animation inspired by THAT thing Thanos did at the end of Avengers: Infinity War. - +* [Wobbly](https://github.com/sagaya/wobbly) - Wobbly is a Library of predefined, easy to use iOS animations ### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. * [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. From 3966149629747d078d65ce036f80bec918dc7d1a Mon Sep 17 00:00:00 2001 From: Sagaya Abdulhafeez Date: Tue, 12 Mar 2019 10:13:37 +0100 Subject: [PATCH 2205/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9ee31f69a..5b58f0b23 100644 --- a/README.md +++ b/README.md @@ -2170,7 +2170,7 @@ Most of these are paid services, some have free tiers. * [Sica](https://github.com/cats-oss/Sica) - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly. * [fireworks](https://github.com/tomkowz/fireworks) - Fireworks effect for UIView * [Disintegrate](https://github.com/dbukowski/Disintegrate) - Disintegration animation inspired by THAT thing Thanos did at the end of Avengers: Infinity War. -* [Wobbly](https://github.com/sagaya/wobbly) - Wobbly is a Library of predefined, easy to use iOS animations +* [Wobbly](https://github.com/sagaya/wobbly) - Wobbly is a Library of predefined, easy to use iOS animations. ### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. * [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. From d4d2333427d0634660d370d302e23aeaab25e603 Mon Sep 17 00:00:00 2001 From: Sagaya Abdulhafeez Date: Wed, 13 Mar 2019 21:40:34 +0100 Subject: [PATCH 2206/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b58f0b23..ed5324f99 100644 --- a/README.md +++ b/README.md @@ -2171,6 +2171,7 @@ Most of these are paid services, some have free tiers. * [fireworks](https://github.com/tomkowz/fireworks) - Fireworks effect for UIView * [Disintegrate](https://github.com/dbukowski/Disintegrate) - Disintegration animation inspired by THAT thing Thanos did at the end of Avengers: Infinity War. * [Wobbly](https://github.com/sagaya/wobbly) - Wobbly is a Library of predefined, easy to use iOS animations. + ### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. * [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. From cafd42bb1f8be3de380f8906c9f8ef0fe98ee2c3 Mon Sep 17 00:00:00 2001 From: superasperatus <39364220+superasperatus@users.noreply.github.com> Date: Mon, 18 Mar 2019 10:00:09 +0100 Subject: [PATCH 2207/2606] Typo tweak --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0809af289..23659e17e 100644 --- a/README.md +++ b/README.md @@ -2922,7 +2922,7 @@ CollectionView, make Instagram Discover within minutes. * [ZamzamKit](https://github.com/ZamzamInc/ZamzamKit) - A collection of micro utilities and extensions for Standard Library, Foundation and UIKit. ## User Consent -* [SmarltookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. +* [SmartlookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. ## VR * [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS From 8b77fd16e325d55967473fe53f6d4deaecb7c999 Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Mon, 18 Mar 2019 12:48:39 +0000 Subject: [PATCH 2208/2606] Add Tokamak --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0809af289..c2e148072 100644 --- a/README.md +++ b/README.md @@ -1591,6 +1591,7 @@ Most of these are paid services, some have free tiers. * [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. * [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. * [CoreEvents](https://github.com/surfstudio/CoreEvents) - Simple library with C#-like events. +* [Tokamak](https://github.com/MaxDesiatov/Tokamak) - React-like framework with a declarative API for building native UI components with easy to use one-way data binding. ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. From d40d7f74897f91f28e00e922b05e31b9e7f3d3a0 Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Mon, 18 Mar 2019 14:06:10 +0000 Subject: [PATCH 2209/2606] Refine description of Tokamak --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c2e148072..a08baffa4 100644 --- a/README.md +++ b/README.md @@ -1591,7 +1591,7 @@ Most of these are paid services, some have free tiers. * [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. * [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. * [CoreEvents](https://github.com/surfstudio/CoreEvents) - Simple library with C#-like events. -* [Tokamak](https://github.com/MaxDesiatov/Tokamak) - React-like framework with a declarative API for building native UI components with easy to use one-way data binding. +* [Tokamak](https://github.com/MaxDesiatov/Tokamak) - React-like framework providing a declarative API for building native UI components with easy to use one-way data binding. ## Reflection * [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. From 37ea8d050a3b7d0f0fe9a478ca7f2ab4d63c1d28 Mon Sep 17 00:00:00 2001 From: MoustafaRepos Date: Mon, 25 Mar 2019 17:22:02 +0200 Subject: [PATCH 2210/2606] update Cely framework URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 58e4f0cfe..4429223e0 100644 --- a/README.md +++ b/README.md @@ -2411,7 +2411,7 @@ Most of these are paid services, some have free tiers. ### Login * [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. -* [Cely](https://github.com/chaione/Cely) - Plug-n-Play login framework written in Swift. +* [Cely](https://github.com/initFabian/Cely) - Plug-n-Play login framework written in Swift. ### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. From 27558204f25244ecfd1f770f54a1469d5284b22a Mon Sep 17 00:00:00 2001 From: Viktor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Sun, 31 Mar 2019 21:59:15 +0300 Subject: [PATCH 2211/2606] Fix links --- README.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a8b6fc746..79096fd13 100644 --- a/README.md +++ b/README.md @@ -876,7 +876,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. * [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift * [SOMotionDetector](https://github.com/arturdev/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. -* [LocationPicker](https://github.com/JeromeTan1997/LocationPicker) - A ready for use and fully customizable location picker for your app +* [LocationPicker](https://github.com/ZhuoranTan/LocationPicker) - A ready for use and fully customizable location picker for your app * [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. * [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. * [NominatimKit](https://github.com/caloon/NominatimKit) - A Swift wrapper for (reverse) geocoding of OpenStreetMap data. @@ -886,7 +886,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. * [DarkLightning](https://github.com/jensmeder/DarkLightning) - Simply the fastest way to transmit data between iOS/tvOS and macOS. * [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) -* [DeviceKit](https://github.com/dennisweissmann/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. +* [DeviceKit](https://github.com/devicekit/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. * [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. * [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. * [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. @@ -925,7 +925,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. * [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS. * [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally -* [Anchorage](https://github.com/Raizlabs/Anchorage) - A collection of operators and utilities that simplify iOS layout code. +* [Anchorage](https://github.com/Rightpoint/Anchorage) - A collection of operators and utilities that simplify iOS layout code. * [Compose](https://github.com/grupozap/Compose) - Compose is a library that helps you compose complex and dynamic views. * [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. * [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. @@ -1505,7 +1505,7 @@ Most of these are paid services, some have free tiers. * [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend. * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. -* [Moltin](https://moltin.com/swift-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. +* [Moltin](https://www.moltin.com/swift-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. * [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. * [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS @@ -1797,7 +1797,7 @@ Most of these are paid services, some have free tiers. * [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift [e] * [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. * [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set -* [BonMot](https://github.com/Raizlabs/BonMot) - Beautiful, easy attributed strings in Swift +* [BonMot](https://github.com/Rightpoint/BonMot) - Beautiful, easy attributed strings in Swift * [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). * [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. * [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. @@ -1807,7 +1807,7 @@ Most of these are paid services, some have free tiers. * [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. * [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for iOS. With UITextField extension. * [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. -* [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/emojione/emojione). +* [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/joypixels/emojione). * [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. * [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). * [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). @@ -1958,7 +1958,7 @@ Most of these are paid services, some have free tiers. * [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. * [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views. * [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects -* [SwiftTheme](https://github.com/jiecao-fm/SwiftTheme) - Powerful theme/skin manager for iOS 7+ +* [SwiftTheme](https://github.com/wxxsw/SwiftTheme) - Powerful theme/skin manager for iOS 7+ * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ * [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS @@ -2094,7 +2094,7 @@ Most of these are paid services, some have free tiers. ### Animation * [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. * [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. -* [RZTransitions](https://github.com/Raizlabs/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. +* [RZTransitions](https://github.com/Rightpoint/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. * [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. * [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. * [Canvas](https://github.com/CanvasPod/Canvas) - Animate in Xcode without code http://canvaspod.io @@ -2507,7 +2507,7 @@ Most of these are paid services, some have free tiers. * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. * [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. * [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. -* [CNPPopupController](https://github.com/carsonperrotti/CNPPopupController) - Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. +* [CNPPopupController](https://github.com/carsonxyz/CNPPopupController) - Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. * [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. * [SubscriptionPrompt](https://github.com/binchik/SubscriptionPrompt) - Subscription View Controller like the Tinder uses * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ @@ -2903,7 +2903,7 @@ CollectionView, make Instagram Discover within minutes. * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. * [MoyaSugar](https://github.com/devxoul/MoyaSugar) - Syntactic sugar for Moya. * [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 400 native Swift 4 extensions to boost your productivity. - * [Eject](https://github.com/Raizlabs/Eject) - An eject button for Interface Builder to generate swift code. + * [Eject](https://github.com/Rightpoint/Eject) - An eject button for Interface Builder to generate swift code. * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift * [OpenSourceController](https://github.com/floriangbh/OpenSourceController) - The simplest way to display the libraries licences used in your application. @@ -3279,7 +3279,6 @@ CollectionView, make Instagram Discover within minutes. * [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. * [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday * [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) -* [WeeklyCocoa.News](https://weeklycocoa.news) - Weekly updated newsletter about iOS, Swift, Objective-C, CocoaTouch, and other Apple connected development technologies. * [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. * [Swift Developments](https://andybargh.com/swiftdevelopments/) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. From 035502bf7afda2cd496a0d99fcf0acdc3f00988a Mon Sep 17 00:00:00 2001 From: Viktor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Sun, 31 Mar 2019 21:54:31 +0000 Subject: [PATCH 2212/2606] Update .travis.yml (#2771) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9eae5a2df..bf2ecafee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: ruby rvm: - - 2.2 + - 2.4.1 before_script: - gem install awesome_bot - gem install danger From a70eb84d9d08eb158cd1910a2c46eeec68baa82c Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 1 Apr 2019 16:08:52 -0300 Subject: [PATCH 2213/2606] Remove deprecated project. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 79096fd13..d74ecb210 100644 --- a/README.md +++ b/README.md @@ -2507,7 +2507,6 @@ Most of these are paid services, some have free tiers. * [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. * [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. * [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. -* [CNPPopupController](https://github.com/carsonxyz/CNPPopupController) - Simple and versatile class for presenting a custom popup in a variety of fashions. It includes a many options for controlling how your popup appears and behaves. * [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. * [SubscriptionPrompt](https://github.com/binchik/SubscriptionPrompt) - Subscription View Controller like the Tinder uses * [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ From 11439c570beb11a9e4222acb81d2ff04a8204a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cihat=20G=C3=BCnd=C3=BCz?= Date: Wed, 10 Apr 2019 12:33:06 +0200 Subject: [PATCH 2214/2606] Add Accio to Dependency Manager section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d74ecb210..60b07e001 100644 --- a/README.md +++ b/README.md @@ -2992,6 +2992,7 @@ CollectionView, make Instagram Discover within minutes. * [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool * [Rome](https://github.com/blender/Rome) - A cache tool for Carthage built frameworks * [Athena](https://github.com/yunarta/works-athena-gradle-plugin) - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local. +* [Accio](https://github.com/JamitLabs/Accio) - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage. ## Tools From db1b3db08618b2fcbf37bfdf9b278ca15a226f4f Mon Sep 17 00:00:00 2001 From: Victor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Sat, 13 Apr 2019 00:58:03 +0300 Subject: [PATCH 2215/2606] Add SecureDefaults --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 60b07e001..d60478f7d 100644 --- a/README.md +++ b/README.md @@ -590,6 +590,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [MMKV](https://github.com/Tencent/MMKV) - An efficient, small mobile key-value storage framework developed by WeChat. Works on iOS, Android, macOS and Windows. * [Defaults](https://github.com/sindresorhus/Defaults) - Swifty and modern UserDefaults * [MongoKitten](https://github.com/OpenKitten/MongoKitten) - A pure Swift MongoDB client implementation with support for embedded databases. +* [SecureDefaults](https://github.com/vpeschenkov/SecureDefaults) - A lightweight wrapper over UserDefaults/NSUserDefaults with an extra AES-256 encryption layer. ## Data Structures / Algorithms From e7e2590d71c1af6cc5746806869514322f6dcf8c Mon Sep 17 00:00:00 2001 From: Victor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Sat, 13 Apr 2019 01:10:22 +0300 Subject: [PATCH 2216/2606] Fix links --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 60b07e001..7e723dd28 100644 --- a/README.md +++ b/README.md @@ -1033,7 +1033,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ClusterKit](https://github.com/hulab/ClusterKit) - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. * [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities. * [MapViewPlus](https://github.com/okhanokbay/MapViewPlus) - Use any custom view as custom callout view of your MKMapView with cool animations. Also, easily use any image as annotation view. -* [GLMap](https://getyourmap.com) - Crossplatform offline vector map with MapCSS styling. Offline search and offline navigation are included. +* [GLMap](https://globus.software) - Crossplatform offline vector map with MapCSS styling. Offline search and offline navigation are included. * [MSFlightMapView](https://github.com/mabdulsubhan/MSFlightMapView) - Add and animate geodesic flights on Google map. ## Math @@ -1505,7 +1505,7 @@ Most of these are paid services, some have free tiers. * [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend. * [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. * [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. -* [Moltin](https://www.moltin.com/swift-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. +* [Moltin](https://www.moltin.com/developer/swift-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. * [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. * [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS @@ -3306,7 +3306,7 @@ CollectionView, make Instagram Discover within minutes. ## Podcasts * [The Ray Wenderlich Podcast](https://www.raywenderlich.com/podcast) -* [Debug](https://www.imore.com/debug) +* [Debug](https://www.imore.com/node/24121) * [App Story](http://www.appstorypodcast.com) * [Mobile Couch](https://mobilecouch.co/) * [iPhreaks](https://devchat.tv/iphreaks/) @@ -3318,7 +3318,7 @@ CollectionView, make Instagram Discover within minutes. * [Runtime](https://spec.fm/podcasts/runtime) * [Consult](http://consultpodcast.com/) * [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) -* [Fireside Swift](https://itunes.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) +* [Fireside Swift](https://podcasts.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) * [Swift by Sundell](https://www.swiftbysundell.com/podcast/) ## Books From 4d9915ef9f8046eeed3ce118331a0974a2f54946 Mon Sep 17 00:00:00 2001 From: Victor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Sun, 14 Apr 2019 00:42:17 +0300 Subject: [PATCH 2217/2606] Remove PVOnboardKit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 60b07e001..9b455e668 100644 --- a/README.md +++ b/README.md @@ -2956,7 +2956,6 @@ CollectionView, make Instagram Discover within minutes. * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. * [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. * [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. -* [PVOnboardKit](https://github.com/vpeschenkov/PVOnboardKit) - Framework that allows you to add your own walkthrough/intro/tutorial into your app. * [Minamo](https://github.com/yukiasai/Minamo) - Simple coach mark library written in Swift. * [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. * [WhatsNewKit](https://github.com/SvenTiigi/WhatsNewKit) - Showcase your awesome new app features 📱 From 768a172ab819b3aec2b72548f3a3f469612653bd Mon Sep 17 00:00:00 2001 From: Jogendra Kumar Date: Thu, 18 Apr 2019 22:24:08 +0530 Subject: [PATCH 2218/2606] Add BedgeNotificHub --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f37c845d..ad2dac4df 100644 --- a/README.md +++ b/README.md @@ -2278,6 +2278,7 @@ Most of these are paid services, some have free tiers. * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. [e] * [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. * [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift +* [BedgeNotificHub](https://github.com/jogendra/BedgeNotificHub) - Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. ### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. From 830f44dd62bd3d051b972f2ea0e03287e1c1b5ae Mon Sep 17 00:00:00 2001 From: Victor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Mon, 22 Apr 2019 16:36:39 +0300 Subject: [PATCH 2219/2606] Remove AvatarImageView --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 7f37c845d..ad315e88e 100644 --- a/README.md +++ b/README.md @@ -1164,7 +1164,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. * [FacebookImagePicker](https://github.com/floriangbh/FacebookImagePicker) - Facebook album photo picker written in Swift. * [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. -* [AvatarImageView](https://github.com/ayushn21/AvatarImageView) - AvatarImageView is a UIImageView subclass designed to show a user's profile picture, falling back to their initials when a picture is unavailable. * [Ebblink](https://github.com/ebbapp/ebblinkSDK) - An iOS SDK for sharing photos that automatically expire and can be deleted at any time. * [Sharaku](https://github.com/makomori/Sharaku) - Instagram-like image filter ViewController. * [CTPanoramaView](https://github.com/scihant/CTPanoramaView) - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options. From 79c9ee08b5fe92f430354513462fc733b21b5022 Mon Sep 17 00:00:00 2001 From: Jorge Ovalle Date: Tue, 23 Apr 2019 10:07:58 -0500 Subject: [PATCH 2220/2606] Add WLEmptyState --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f37c845d..c97e2ae50 100644 --- a/README.md +++ b/README.md @@ -2761,6 +2761,7 @@ Most of these are paid services, some have free tiers. * [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. * [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project * [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views +* [WLEmptyState](https://github.com/wizeline/WLEmptyState) - A component that lets you customize the view when the dataset of UITableView is empty. #### Collection View Layout From d495e9a413e589bca0f68ee0ab993eab42082497 Mon Sep 17 00:00:00 2001 From: Sven Tiigi Date: Sun, 28 Apr 2019 17:13:39 +0200 Subject: [PATCH 2221/2606] Added SwiftKit to "Project setup" section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f37c845d..6a12cfad7 100644 --- a/README.md +++ b/README.md @@ -2980,6 +2980,7 @@ CollectionView, make Instagram Discover within minutes. * [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. * [xcproj](https://github.com/tuist/xcodeproj) - Read and update Xcode projects. * [Tuist](https://github.com/tuist/tuist) - A tool to create, maintain and interact with Xcode projects at scale. +* [SwiftKit](https://github.com/SvenTiigi/SwiftKit) - Start your next Open-Source Swift Framework 📦. ## Dependency / Package Manager * [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. From 503d8750114998b9652a16d09320a65385ff3f54 Mon Sep 17 00:00:00 2001 From: shatk0vskiy Date: Fri, 3 May 2019 17:49:10 +0300 Subject: [PATCH 2222/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f37c845d..4ec5c5a1f 100644 --- a/README.md +++ b/README.md @@ -2201,6 +2201,7 @@ Most of these are paid services, some have free tiers. * [SemiModalViewController](https://github.com/muyexi/SemiModalViewController) - Present view / view controller as bottom-half modal. * [ImageTransition](https://github.com/shtnkgm/ImageTransition) - ImageTransition is a library for smooth animation of images during transitions. * [LiquidTransition](https://github.com/AlexandrGraschenkov/LiquidTransition) - removes boilerplate code to perform transition, allows backward animations, custom properties animation and much more! +* [SPStorkController](https://github.com/IvanVorobei/SPStorkController) - Very similar to the controllers displayed in Apple Music, Podcasts and Mail Apple's applications. ### Alert & Action Sheet From 79b5945a007af58bb5ad860db498e86bd8a4a98b Mon Sep 17 00:00:00 2001 From: Alisher Date: Thu, 9 May 2019 13:33:32 +0600 Subject: [PATCH 2223/2606] Added UI Fabric by Microsoft --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7f37c845d..80aad3a11 100644 --- a/README.md +++ b/README.md @@ -2027,7 +2027,7 @@ Most of these are paid services, some have free tiers. * [OverlayContainer](https://github.com/applidium/ADOverlayContainer) - A library to develop overlay based interfaces, such as the one presented in the iOS 12 Apple Maps or Stocks apps. * [ClassicKit](https://github.com/Baddaboo/ClassicKit) - A collection of classic-style UI components for iOS. * [Sejima](https://github.com/MoveUpwards/Sejima) - A collection of User Interface components for iOS. - +* [UI Fabric by Microsoft](https://github.com/OfficeDev/ui-fabric-ios) - UI framework based on [Fluent Design System](https://www.microsoft.com/design/fluent/#/ios) by Microsoft. ### Activity Indicator * [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. From 1d2893f94045e1f617f8cdf52732aecd4846e038 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 9 May 2019 14:25:57 -0300 Subject: [PATCH 2224/2606] update broken links --- README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 9d38d3be7..fbb95c7f4 100644 --- a/README.md +++ b/README.md @@ -234,7 +234,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. * [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. * [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. -* [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting/) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. +* [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. * [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. * [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. @@ -303,7 +303,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. * [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. * [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆. -* [ARKitEnvironmentMapper](https://github.com/svtek/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. +* [ARKitEnvironmentMapper](https://github.com/svhawks/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. * [SmileToUnlock](https://github.com/rsrbk/SmileToUnlock) - This library uses ARKit Face Tracking in order to catch a user's smile. * [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision * [Poly](https://github.com/piemonte/Poly) - Unofficial Google Poly SDK – search and display 3D models @@ -370,7 +370,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. * [Cachyr](https://github.com/YR/Cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift * [Cache](https://github.com/soffes/Cache) - Swift caching library. -* [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. +* [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. ## Charts @@ -485,7 +485,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift * [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts * [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. -* [Crayon](https://github.com/jianstm/Crayon) - Terminal string styling with expressive api and 256/TrueColor support. +* [Crayon](https://github.com/luoxiu/Crayon) - Terminal string styling with expressive api and 256/TrueColor support. * [SwiftShell](https://github.com/kareman/SwiftShell) - A Swift framework for shell scripting and running shell commands. ## Concurrency @@ -651,7 +651,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [TimePicker](https://github.com/Endore8/TimePicker) - Configurable time picker component based on a pan gesture and its velocity. * [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift * [NVDate](https://github.com/novalagung/nvdate) - Swift4 Date extension library -* [Schedule](https://github.com/jianstm/Schedule) - ⏳ A missing lightweight task scheduler for Swift with an incredibly human-friendly syntax. +* [Schedule](https://github.com/luoxiu/Schedule) - ⏳ A missing lightweight task scheduler for Swift with an incredibly human-friendly syntax. ## Debugging @@ -1380,12 +1380,12 @@ Also see [push notifications](#push-notifications) Most of these are paid services, some have free tiers. -* [Urban Airship](https://www.urbanairship.com/products/mobile-app-engagement ) +* [Urban Airship](https://airship.com/products/mobile-app-engagement) * [Growth Push](https://growthpush.com) - Popular in Japan. * [Braze](https://www.braze.com/) * [Batch](https://batch.com) * [Boxcar](https://boxcar.io) -* [Carnival](http://www.carnival.io) +* [Carnival](https://www.sailthru.com) * [Catapush](http://www.catapush.com/) * [Netmera](https://www.netmera.com/) * [OneSignal](https://onesignal.com) - Free. @@ -1435,7 +1435,7 @@ Most of these are paid services, some have free tiers. * [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. * [mapper](https://github.com/lyft/mapper) - A JSON deserialization library for Swift * [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection -* [Jay](https://github.com/DanToml/Jay) - Pure-Swift JSON parser & formatter. Linux & macOS ready. +* [Jay](https://github.com/endocrimes/Jay) - Pure-Swift JSON parser & formatter. Linux & macOS ready. * [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/macOS. * [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON * [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder @@ -1454,7 +1454,7 @@ Most of these are paid services, some have free tiers. * [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x. * [Marshal](https://github.com/utahiosmac/Marshal) - Marshaling the typeless wild west of [String: Any] (Protocol based). * [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). -* [NSTEasyJSON](https://github.com/bernikowich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). +* [NSTEasyJSON](https://github.com/bernikovich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). * [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. * [MagicMapper](https://github.com/adrianmateoaea24/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. * [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. @@ -2922,9 +2922,9 @@ CollectionView, make Instagram Discover within minutes. * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs * [SwiftProvisioningProfile](https://github.com/Sherlouk/SwiftProvisioningProfile) - Parse provisioning profiles into Swift models. - * [Once](https://github.com/jianstm/Once) - Minimalist library to manage one-off operations. + * [Once](https://github.com/luoxiu/Once) - Minimalist library to manage one-off operations. * [ZamzamKit](https://github.com/ZamzamInc/ZamzamKit) - A collection of micro utilities and extensions for Standard Library, Foundation and UIKit. - + ## User Consent * [SmartlookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. @@ -2946,7 +2946,7 @@ CollectionView, make Instagram Discover within minutes. * [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. * [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. * [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. -* [VideoSplashKit](https://github.com/svtek/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos +* [VideoSplashKit](https://github.com/svhawks/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos * [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. * [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. * [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. @@ -3045,7 +3045,7 @@ CollectionView, make Instagram Discover within minutes. * [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from `.ipa` file. * [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. * [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! -* [FBSimulatorControl](https://github.com/facebook/FBSimulatorControl) - A macOS library for managing and manipulating iOS Simulators +* [FBSimulatorControl](https://github.com/facebook/idb) - A macOS library for managing and manipulating iOS Simulators * [Nomad](https://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute `.ipa`, verify In-App-Purchase receipt and more. * [Cookiecutter](https://github.com/RahulKatariya/SwiftFrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file * [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. @@ -3309,7 +3309,7 @@ CollectionView, make Instagram Discover within minutes. ## Podcasts * [The Ray Wenderlich Podcast](https://www.raywenderlich.com/podcast) -* [Debug](https://www.imore.com/node/24121) +* [Debug](https://www.imore.com/debug) * [App Story](http://www.appstorypodcast.com) * [Mobile Couch](https://mobilecouch.co/) * [iPhreaks](https://devchat.tv/iphreaks/) @@ -3319,7 +3319,7 @@ CollectionView, make Instagram Discover within minutes. * [Release Notes](https://releasenotes.tv/) * [More Than Just Code](https://mtjc.fireside.fm/) * [Runtime](https://spec.fm/podcasts/runtime) -* [Consult](http://consultpodcast.com/) +* [Consult](http://consultpodcast.com/#_=_) * [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) * [Fireside Swift](https://podcasts.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) * [Swift by Sundell](https://www.swiftbysundell.com/podcast/) From ab4bd54bf3293da5e6013a750b03779f9cc6b33c Mon Sep 17 00:00:00 2001 From: Bennett Yuan Date: Fri, 10 May 2019 10:14:02 +0800 Subject: [PATCH 2225/2606] Add TORoundedButton --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fbb95c7f4..58cbeecd1 100644 --- a/README.md +++ b/README.md @@ -2312,6 +2312,7 @@ Most of these are paid services, some have free tiers. * [DesignableButton](https://github.com/IdleHandsApps/DesignableButton) - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time! * [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox) - Tasteful Checkbox for iOS. (Check box) * [ExpandableButton](https://github.com/DimaMishchenko/ExpandableButton) - Customizable and easy to use expandable button in Swift. +* [TORoundedButton](https://github.com/TimOliver/TORoundedButton) - A high-performance button control with rounded corners. ### Calendar * [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). From 5fdf0edf408c6616f2747f3a9c0e3af3f3a620a9 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 10 May 2019 11:52:44 -0300 Subject: [PATCH 2226/2606] delete broken links and fix redirects --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 58cbeecd1..b762b4c59 100644 --- a/README.md +++ b/README.md @@ -1380,7 +1380,7 @@ Also see [push notifications](#push-notifications) Most of these are paid services, some have free tiers. -* [Urban Airship](https://airship.com/products/mobile-app-engagement) +* [Urban Airship](https://www.airship.com/products/mobile-app-engagement) * [Growth Push](https://growthpush.com) - Popular in Japan. * [Braze](https://www.braze.com/) * [Batch](https://batch.com) @@ -1656,7 +1656,6 @@ Most of these are paid services, some have free tiers. * [SocialLib](https://github.com/darkcl/SocialLib) - SocialLib handles sharing message to multiple social media. * [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift * [TJDropbox](https://github.com/timonus/TJDropbox) - A Dropbox v2 client library written in Objective-C -* [Lyft](https://github.com/genadyo/Lyft) - Some pink mustache company forgot to build that SDK. * [GitHub.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift * [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. * [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project. @@ -1803,7 +1802,6 @@ Most of these are paid services, some have free tiers. * [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. * [MarkdownKit](https://github.com/bmoliveira/MarkdownKit) - A simple and customizable Markdown Parser for Swift. * [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and macOS. -* [Apodimark](https://github.com/loiclec/Apodimark) - Fast, flexible markdown parser written in Swift. * [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. * [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for iOS. With UITextField extension. * [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. @@ -3320,7 +3318,7 @@ CollectionView, make Instagram Discover within minutes. * [Release Notes](https://releasenotes.tv/) * [More Than Just Code](https://mtjc.fireside.fm/) * [Runtime](https://spec.fm/podcasts/runtime) -* [Consult](http://consultpodcast.com/#_=_) +* [Consult](https://consultpodcast.com/#_=_) * [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) * [Fireside Swift](https://podcasts.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) * [Swift by Sundell](https://www.swiftbysundell.com/podcast/) From 6b44ff74ded7df4b1361147175a1159d712054fb Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 10 May 2019 11:57:16 -0300 Subject: [PATCH 2227/2606] Create layout category description --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b762b4c59..66f9fc3ce 100644 --- a/README.md +++ b/README.md @@ -901,6 +901,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Layout +*Auto Layout, UI frameworks and a gorgeous list of tools to simplify layout constructions* + * [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. * [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. * [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. From 70647c4295deecb8c2097134c670703e9153ed40 Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Fri, 10 May 2019 18:59:18 +0300 Subject: [PATCH 2228/2606] Add SPAlert --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 66f9fc3ce..c2c0a3c06 100644 --- a/README.md +++ b/README.md @@ -2273,6 +2273,7 @@ Most of these are paid services, some have free tiers. * [ALRT](https://github.com/mshrwtnb/alrt) - An easier constructor for UIAlertController. Present an alert from anywhere. * [CatAlertController](https://github.com/ImKcat/CatAlertController) - Use UIAlertController like a boss. * [Loaf](https://github.com/schmidyy/Loaf) - A simple framework for easy iOS Toasts. +* [SPAlert](https://github.com/IvanVorobei/SPAlert) - Native popup from Apple Music & Feedback in AppStore. Contains Done & Heart presets. ### Badge * [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From 05a38f71ff123ecc4e0f594ce451cd9e32a211b6 Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Mon, 13 May 2019 18:51:45 +0300 Subject: [PATCH 2229/2606] Update SPPermission --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c2c0a3c06..5b3aadadc 100644 --- a/README.md +++ b/README.md @@ -1537,7 +1537,7 @@ Most of these are paid services, some have free tiers. * [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. * [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS * [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. -* [RequestPermission](https://github.com/IvanVorobei/SPPermission) - simple permission request with beautiful UI +* [SPPermission](https://github.com/IvanVorobei/SPPermission) - Request permissions with dialog. Check state any permissions. ## Products * [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. From 5cd8f55ca0e215378193f9c6d5d204bc1c6ff0c5 Mon Sep 17 00:00:00 2001 From: Suraj Thomas K Date: Wed, 15 May 2019 12:11:04 +0400 Subject: [PATCH 2230/2606] Add ATGValidator This framework is a really flexible alternative for existing solutions with all features needed for most situations out-of-box. It's completely customizable and makes writing new rules an easy breeze of task. Also, adding support for new custom UI components can be done really easy. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b3aadadc..18b6ed579 100644 --- a/README.md +++ b/README.md @@ -2372,6 +2372,7 @@ Most of these are paid services, some have free tiers. * [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. * [LightForm](https://github.com/farshidce/LightForm) - A Simple interactive and customizable library to handle form input and validations * [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. +* [ATGValidator](https://github.com/altayer-digital/ATGValidator) - Rule based validation framework with form and card validation support for iOS. ### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From 9dd2b99f4a9a884dd3bd029111f2cd210ee9d790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojtek=20Cicho=C5=84?= Date: Wed, 15 May 2019 13:58:42 +0200 Subject: [PATCH 2231/2606] Added Semaphore CI for iOS --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b3aadadc..71812ec83 100644 --- a/README.md +++ b/README.md @@ -3128,6 +3128,7 @@ CollectionView, make Instagram Discover within minutes. * [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. * [Appfigurate](https://github.com/electricbolt/appfiguratesdk) - Secure runtime configuration for iOS and watchOS, apps and app extensions. * [ScreenshotFramer](https://github.com/IdeasOnCanvas/ScreenshotFramer) - With Screenshot Framer you can easily create nice-looking and localized App Store Images. +* [Semaphore](https://semaphoreci.com/product/ios) - 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. ## App Store From 8e8c712c0cb0952bc9a8eebcb362f28c76eaaf72 Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Thu, 16 May 2019 11:11:44 +0300 Subject: [PATCH 2232/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b3aadadc..ffbf937e6 100644 --- a/README.md +++ b/README.md @@ -2478,6 +2478,7 @@ Most of these are paid services, some have free tiers. * [Panels](https://github.com/antoniocasero/Panels) - Panels is a framework to easily add sliding panels to your application. * [UIMenuScroll](https://github.com/AlekseyPleshkov/UIMenuScroll) - Creating the horizontal swiping navigation how on Facebook Messenger. * [CircleBar](https://github.com/softhausHQ/CircleBar) - 🔶 A fun, easy-to-use tab bar navigation controller for iOS. +* [SPLarkController](https://github.com/IvanVorobei/SPLarkController) - Settings screen with buttons and switches. ### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls From ea3e846f7d154af00d45aced3f591c664d350e6d Mon Sep 17 00:00:00 2001 From: Simon Mitchell Date: Fri, 17 May 2019 08:35:39 +0100 Subject: [PATCH 2233/2606] Adds 3SidedCube frameworks too README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 978c801ae..04dfea891 100644 --- a/README.md +++ b/README.md @@ -1348,6 +1348,7 @@ Also see [push notifications](#push-notifications) * [RMHttp](https://github.com/rogermolas/RMHttp) - Lightweight REST library for iOS and watchOS. * [AlamoRecord](https://github.com/tunespeak/AlamoRecord) - An elegant yet powerful iOS networking layer inspired by ActiveRecord. * [MHNetwork](https://github.com/emadhegab/MHNetwork) - Protocol Oriented Network Layer Aim to avoid having bloated singleton NetworkManager +* [ThunderRequest](https://github.com/3sidedcube/ThunderRequest) - A simple URLSession wrapper with a generic protocol based request body approach and easy deserialisation of responses. ### Email @@ -2698,6 +2699,7 @@ Most of these are paid services, some have free tiers. * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. * [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. * [OKTableViewLiaison](https://github.com/okcupid/OKTableViewLiaison) - Framework to help you better manage UITableView configuration. +* [ThunderTable](https://github.com/3sidedcube/ThunderTable) - A simple declarative approach to UITableViewController management using a protocol-based approach. #### Collection View @@ -2730,6 +2732,7 @@ Most of these are paid services, some have free tiers. * [SimpleSource](https://github.com/Squarespace/simple-source) - Easy and type-safe iOS table and collection views in Swift. * [Conv](https://github.com/bannzai/conv) - Conv smart represent UICollectionView data structure more than UIKit. * [Carbon](https://github.com/ra1028/Carbon) - 🚴 A declarative library for building component-based user interfaces in UITableView and UICollectionView. +* [ThunderCollection](https://github.com/3sidedcube/ThunderCollection) - A simple declarative approach to UICollectionViewController management using a protocol-based approach. #### Expandable Cell From 6ac62aedc431d64c175c9b47d97c1185c721b834 Mon Sep 17 00:00:00 2001 From: cocoatoucher Date: Wed, 22 May 2019 10:12:50 +0200 Subject: [PATCH 2234/2606] Add glide engine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5b3aadadc..71262f5cb 100644 --- a/README.md +++ b/README.md @@ -742,6 +742,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit * [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit * [AssetImportKit](https://github.com/eugenebokhan/AssetImportKit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. +* [glide engine](http://github.com/cocoatoucher/Glide) - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials. ## GCD From 93943ca2bcdc4036dc89dc86645b17bfce562a5a Mon Sep 17 00:00:00 2001 From: cocoatoucher Date: Wed, 22 May 2019 11:00:01 +0200 Subject: [PATCH 2235/2606] Update repo link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71262f5cb..164dcc87e 100644 --- a/README.md +++ b/README.md @@ -742,7 +742,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit * [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit * [AssetImportKit](https://github.com/eugenebokhan/AssetImportKit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. -* [glide engine](http://github.com/cocoatoucher/Glide) - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials. +* [glide engine](https://github.com/cocoatoucher/Glide) - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials. ## GCD From 1a957e21f7550f56c4176110c5287f2b9af00364 Mon Sep 17 00:00:00 2001 From: Jogendra Kumar Date: Thu, 30 May 2019 18:54:56 +0530 Subject: [PATCH 2236/2606] Add LoadingShimmer --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c0ac35192..7d1e93314 100644 --- a/README.md +++ b/README.md @@ -774,7 +774,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Graphics -*CoreGraphics, CoreAnimation, SVG, CGContext libraries, helpers and tools.* +*CoreGraphics, Core + +, SVG, CGContext libraries, helpers and tools.* * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! * [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. @@ -2174,6 +2176,7 @@ Most of these are paid services, some have free tiers. * [fireworks](https://github.com/tomkowz/fireworks) - Fireworks effect for UIView * [Disintegrate](https://github.com/dbukowski/Disintegrate) - Disintegration animation inspired by THAT thing Thanos did at the end of Avengers: Infinity War. * [Wobbly](https://github.com/sagaya/wobbly) - Wobbly is a Library of predefined, easy to use iOS animations. +* [LoadingShimmer](https://github.com/jogendra/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. ### Transition * [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From b196f5a6a2e35ac057793ecd6de7ed6929c6f566 Mon Sep 17 00:00:00 2001 From: Jogendra Kumar Date: Thu, 30 May 2019 18:57:31 +0530 Subject: [PATCH 2237/2606] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 7d1e93314..f43784b4d 100644 --- a/README.md +++ b/README.md @@ -774,9 +774,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Graphics -*CoreGraphics, Core - -, SVG, CGContext libraries, helpers and tools.* +*CoreGraphics, Core, SVG, CGContext libraries, helpers and tools.* * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! * [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. From 004eb625aa8c15a2f023a687593ad222b21df0cd Mon Sep 17 00:00:00 2001 From: Jogendra Kumar Date: Thu, 30 May 2019 19:00:36 +0530 Subject: [PATCH 2238/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f43784b4d..c25dcd07d 100644 --- a/README.md +++ b/README.md @@ -774,7 +774,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Graphics -*CoreGraphics, Core, SVG, CGContext libraries, helpers and tools.* +*CoreGraphics, CoreAnimation, SVG, CGContext libraries, helpers and tools.* * [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! * [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. From b993f1985572a252d965c462c78dc757ecdcde1c Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Thu, 30 May 2019 06:40:21 -0700 Subject: [PATCH 2239/2606] Fix Typo [ci skip] --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 3641b5717..de80838dd 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -14,7 +14,7 @@ ## Checklist -- [ ] Has 50 Github stargazers or more +- [ ] Has 50 GitHub stargazers or more - [ ] Only one project/change is in this pull request - [ ] Isn't an archived project - [ ] Has more than one contributor From 3c3a6010179529fac40f863f6452422bb286de70 Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Sat, 1 Jun 2019 16:56:58 +0300 Subject: [PATCH 2240/2606] Remove TLYShyNavBar --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ffbf937e6..9c519fc56 100644 --- a/README.md +++ b/README.md @@ -2482,7 +2482,6 @@ Most of these are paid services, some have free tiers. ### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls -* [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! * [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. * [LTNavigationBar](https://github.com/ltebean/LTNavigationBar) - UINavigationBar Category which allows you to change its appearance dynamically * [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects From 7ff67bda1653d7cccd13906274093ed0ba3332c4 Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Sat, 1 Jun 2019 09:50:21 -0700 Subject: [PATCH 2241/2606] Update README URLs based on HTTP redirects (#2806) --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index c25dcd07d..41b3930f1 100644 --- a/README.md +++ b/README.md @@ -230,7 +230,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [GTrack](https://github.com/gemr/GTrack) - Lightweight Objective-C wrapper around the Google Analytics for iOS SDK with some extra goodies. * [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. * [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. -* [MOCA Analytics](https://mocaplatform.com/features) - Paid cross-platform analytics backend. +* [MOCA Analytics](http://www.mocaplatform.com/features) - Paid cross-platform analytics backend. * [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. * [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. * [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. @@ -368,7 +368,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS * [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift * [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. -* [Cachyr](https://github.com/YR/Cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift +* [Cachyr](https://github.com/nrkno/yr-cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift * [Cache](https://github.com/soffes/Cache) - Swift caching library. * [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. @@ -1142,7 +1142,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Agrume](https://github.com/JanGorman/Agrume) - A lemony fresh iOS image viewer written in Swift. * [PASImageView](https://github.com/abiaad/PASImageView) - Rounded async imageview downloader lightly cached and written in Swift * [Navi](https://github.com/nixzhu/Navi) - Focus on avatar caching. -* [SwiftPhotoGallery](https://github.com/Inspirato/SwiftPhotoGallery) - Simple, fullscreen image gallery with tap, swipe, and pinch gestures. +* [SwiftPhotoGallery](https://github.com/justinvallely/SwiftPhotoGallery) - Simple, fullscreen image gallery with tap, swipe, and pinch gestures. * [MetalAcc](https://github.com/wangjwchn/MetalAcc) - GPU-based Media processing library using Metal written in Swift. * [MWPhotoBrowser](https://github.com/mwaterfall/MWPhotoBrowser) - A simple iOS photo and video browser with grid view, captions and selections. * [UIImageColors](https://github.com/jathu/UIImageColors) - iTunes style color fetcher for UIImage. [e] @@ -1176,7 +1176,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! * [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. * [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. -* [PhotoEditorSDK](https://www.photoeditorsdk.com) - A fully customizable photo editor for your app. +* [PhotoEditorSDK](https://photoeditorsdk.com/) - A fully customizable photo editor for your app. * [SimpleImageViewer](https://github.com/aFrogleap/SimpleImageViewer) - A snappy image viewer with zoom and interactive dismissal transition. * [AZImagePreview](https://github.com/Minitour/AZImagePreview) - A framework that makes image viewing easy. * [FaceCropper](https://github.com/KimDarren/FaceCropper) - Crop faces, inside of your image, with iOS 11 Vision api @@ -1384,7 +1384,7 @@ Also see [push notifications](#push-notifications) Most of these are paid services, some have free tiers. -* [Urban Airship](https://www.airship.com/products/mobile-app-engagement) +* [Urban Airship](https://www.airship.com/platform/channels/mobile-app/) * [Growth Push](https://growthpush.com) - Popular in Japan. * [Braze](https://www.braze.com/) * [Batch](https://batch.com) @@ -1513,7 +1513,7 @@ Most of these are paid services, some have free tiers. * [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. * [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ * [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS -* [SwiftInAppPurchase](https://github.com/rpzzzzzz/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework +* [SwiftInAppPurchase](https://github.com/suraphanL/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework * [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions * [PayPal](https://github.com/paypal/PayPal-iOS-SDK) - Accept payments in your iOS app via PayPal. * [card.io-iOS-SDK](https://github.com/card-io/card.io-iOS-SDK) - card.io provides fast, easy credit card scanning in mobile apps @@ -1643,7 +1643,7 @@ Most of these are paid services, some have free tiers. * [Pinterest](https://github.com/pinterest/ios-pdk) - Pinterest iOS SDK * [playkit-ios](https://github.com/kaltura/playkit-ios) - PlayKit: Kaltura Player SDK for iOS. * [algoliasearch-client-swift](https://github.com/algolia/algoliasearch-client-swift) - Algolia Search API Client for Swift -* [twitter-kit-ios](https://github.com/twitter/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps. +* [twitter-kit-ios](https://github.com/twitter-archive/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps. * [rides-ios-sdk](https://github.com/uber/rides-ios-sdk) - Uber Rides iOS SDK (beta). ### Unofficial @@ -1838,7 +1838,7 @@ Most of these are paid services, some have free tiers. * [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported * [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon) * [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. -* [Iconic](https://github.com/dzenbot/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS +* [Iconic](https://github.com/home-assistant/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS * [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. * [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. * [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. @@ -2283,7 +2283,7 @@ Most of these are paid services, some have free tiers. * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. [e] * [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. * [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift -* [BedgeNotificHub](https://github.com/jogendra/BedgeNotificHub) - Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. +* [BedgeNotificHub](https://github.com/jogendra/BadgeHub) - Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. ### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. @@ -3335,7 +3335,7 @@ CollectionView, make Instagram Discover within minutes. * [Swift by Sundell](https://www.swiftbysundell.com/podcast/) ## Books -* [The Swift Programming Language by Apple](https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11) +* [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) * [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming/) * [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) * [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) From 0c1999da4fe48723899c0b7e67aa7119c17bd1bc Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Sat, 1 Jun 2019 09:58:51 -0700 Subject: [PATCH 2242/2606] Rename BadgeHub, close #2805 [ci skip] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41b3930f1..5b98ef7bd 100644 --- a/README.md +++ b/README.md @@ -2283,7 +2283,7 @@ Most of these are paid services, some have free tiers. * [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. [e] * [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. * [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift -* [BedgeNotificHub](https://github.com/jogendra/BadgeHub) - Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. +* [BadgeHub](https://github.com/jogendra/BadgeHub) - Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. ### Button * [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. From c16936292e0f6ef0d93dab34764baecfde47c1ee Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Sat, 1 Jun 2019 19:59:51 +0300 Subject: [PATCH 2243/2606] Remove TLYShyNavBar (#2804) [ci skip] --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5b98ef7bd..5a75b5bf9 100644 --- a/README.md +++ b/README.md @@ -2486,7 +2486,6 @@ Most of these are paid services, some have free tiers. ### Navigation Bar * [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls -* [TLYShyNavBar](https://github.com/telly/TLYShyNavBar) - Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create auto-scrolling navigation bars! * [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. * [LTNavigationBar](https://github.com/ltebean/LTNavigationBar) - UINavigationBar Category which allows you to change its appearance dynamically * [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects From c018c50d8867100b5f9c2f3520859be531476f2b Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Sat, 1 Jun 2019 22:48:40 +0300 Subject: [PATCH 2244/2606] Remove Whisper --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 2e709906d..2d30f27b1 100644 --- a/README.md +++ b/README.md @@ -2223,7 +2223,6 @@ Most of these are paid services, some have free tiers. * [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. * [RKDropdownAlert](https://github.com/cwRichardKim/RKDropdownAlert) - Extremely simple UIAlertView alternative. * [TKSwarmAlert](https://github.com/entotsu/TKSwarmAlert) - Animated alert library like Swarm app. -* [Whisper](https://github.com/hyperoslo/Whisper) - Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside * [SimpleAlert](https://github.com/KyoheiG3/SimpleAlert) - Customizable simple Alert and simple ActionSheet for Swift * [Hokusai](https://github.com/ytakzk/Hokusai) - A Swift library to provide a bouncy action sheet * [SwiftNotice](https://github.com/johnlui/SwiftNotice) - SwiftNotice is a GUI library for displaying various popups (HUD) written in pure Swift, fits any scrollview. From 430cc044408da353a80b515053621e24330aa847 Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Sun, 2 Jun 2019 23:51:21 +0300 Subject: [PATCH 2245/2606] Remove SYBlinkAnimationKit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 57ac67b64..a7f0afdf8 100644 --- a/README.md +++ b/README.md @@ -2111,7 +2111,6 @@ Most of these are paid services, some have free tiers. * [IBAnimatable](https://github.com/IBAnimatable/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. * [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView * [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining -* [SYBlinkAnimationKit](https://github.com/shoheiyokoyama/SYBlinkAnimationKit) - A blink effect animation framework for iOS, written in Swift. * [PulsingHalo](https://github.com/shu223/PulsingHalo) - iOS Component for creating a pulsing animation. * [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - Chainable animations in Swift * [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift From af6993d6d042816c7784a37fb6cbd64504a3c2d6 Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Sun, 2 Jun 2019 23:51:29 +0300 Subject: [PATCH 2246/2606] Remove VSVerticalSlider --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a7f0afdf8..47b6c039a 100644 --- a/README.md +++ b/README.md @@ -2610,7 +2610,6 @@ Most of these are paid services, some have free tiers. * [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. * [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. * [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. -* [VSVerticalSlider](https://github.com/vsmithers1087/VerticalSlider) - An animatable and customizable vertical slider written in Swift4. * [Fluid Slider](https://github.com/Ramotion/fluid-slider) - A slider widget with a popup bubble displaying the precise value selected. ### Splash View From bb5574405d6126c1186584c414e6a4ad9c3cca50 Mon Sep 17 00:00:00 2001 From: Artur Mkrtchyan Date: Tue, 4 Jun 2019 15:26:49 +0400 Subject: [PATCH 2247/2606] Add Unrealm --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5a75b5bf9..55faae7c0 100644 --- a/README.md +++ b/README.md @@ -591,6 +591,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Defaults](https://github.com/sindresorhus/Defaults) - Swifty and modern UserDefaults * [MongoKitten](https://github.com/OpenKitten/MongoKitten) - A pure Swift MongoDB client implementation with support for embedded databases. * [SecureDefaults](https://github.com/vpeschenkov/SecureDefaults) - A lightweight wrapper over UserDefaults/NSUserDefaults with an extra AES-256 encryption layer. +* [Unrealm](https://github.com/arturdev/Unrealm) - Unrealm enables you to easily store Swift native Classes, Structs and Enums into Realm ## Data Structures / Algorithms From 61a9b3c64a658bc46f20715023d8b6f23d0fa5ad Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 4 Jun 2019 13:49:34 -0300 Subject: [PATCH 2248/2606] remove outdated projects --- README.md | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 47b6c039a..b807daf2a 100644 --- a/README.md +++ b/README.md @@ -454,7 +454,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Hex color extensions, theming, color pickers and other awesome color tools.* -* [Chameleon](https://github.com/ViccAlexander/Chameleon) - A lightweight, yet powerful, flat color framework for iOS (ObjC & Swift). * [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. [e] * [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. [e] * [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier. @@ -479,7 +478,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Smart, beauftil and elegant tools to help you create command line applications.* * [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. -* [CommandLine](https://github.com/jatoben/CommandLine) - A pure Swift library for creating command-line interfaces * [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift * [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. * [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift @@ -511,17 +509,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Core data Frameworks, wrappers, generators and boilerplates.* -* [CWCoreData](https://github.com/jayway/CWCoreData) - Additions and utilities to make it concurrency easier with the Core Data framework. -* [ObjectiveRecord](https://github.com/supermarin/ObjectiveRecord) - ActiveRecord for Objective-C. -* [SSDataKit](https://github.com/soffes/SSDataKit) - Eliminate your Core Data boilerplate code. -* [ios-queryable](https://github.com/martydill/ios-queryable) - ios-queryable is an implementation of IQueryable/IEnumerable for Core Data. * [Ensembles](https://github.com/drewmccormack/ensembles) - A synchronization framework for Core Data. -* [SLRESTfulCoreData](https://github.com/OliverLetterer/SLRESTfulCoreData) - Objc naming conventions, autogenerated accessors at runtime, URL substitutions and intelligent attribute mapping. * [Mogenerator](https://github.com/rentzsch/mogenerator) - Automatic Core Data code generation. -* [HardCoreData](https://github.com/Krivoblotsky/HardCoreData) - CoreData stack and controller that will never block UI thread. -* [encrypted-core-data](https://github.com/project-imas/encrypted-core-data) - Core Data encrypted SQLite store using SQLCipher. * [MagicalRecord](https://github.com/magicalpanda/MagicalRecord) - Super Awesome Easy Fetching for Core Data. -* [QueryKit](https://github.com/QueryKit/QueryKit) - A simple type-safe Core Data query language. * [CoreStore](https://github.com/JohnEstropia/CoreStore) - Powerful Core Data framework for Incremental Migrations, Fetching, Observering, etc. * [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. * [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. @@ -596,7 +586,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Diffs, keypaths, sorted lists and other amazing data structures wrappers and libraries.* -* [SwiftSortedList](https://github.com/bemindinteractive/SwiftSortedList) - A sorted list implementation written in Swift * [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another * [BTree](https://github.com/attaswift/BTree) - Fast ordered collections for Swift using in-memory B-trees * [SwiftStructures](https://github.com/waynewbishop/SwiftStructures) - Examples of commonly used data structures and algorithms in Swift. @@ -618,7 +607,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Impeller](https://github.com/david-coyle-sjc/impeller) - A Distributed Value Store in Swift * [Dispatch](https://github.com/alexdrone/Dispatch) - Multi-store Flux implementation in Swift * [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift -* [BinaryKit](https://github.com/Cosmo/BinaryKit) - Access bits and bytes directly in Swift. * [Differ](https://github.com/tonyarnold/Differ) - Swift library to generate differences and patches between collections. * [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. * [RandMyMod](https://github.com/jamesdouble/RandMyMod) - RandMyMod base on your own struct or class create one or a set of randomized instance. @@ -2709,7 +2697,7 @@ Most of these are paid services, some have free tiers. * [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. * [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. * [OKTableViewLiaison](https://github.com/okcupid/OKTableViewLiaison) - Framework to help you better manage UITableView configuration. -* [ThunderTable](https://github.com/3sidedcube/ThunderTable) - A simple declarative approach to UITableViewController management using a protocol-based approach. +* [ThunderTable](https://github.com/3sidedcube/ThunderTable) - A simple declarative approach to UITableViewController management using a protocol-based approach. #### Collection View @@ -2742,7 +2730,7 @@ Most of these are paid services, some have free tiers. * [SimpleSource](https://github.com/Squarespace/simple-source) - Easy and type-safe iOS table and collection views in Swift. * [Conv](https://github.com/bannzai/conv) - Conv smart represent UICollectionView data structure more than UIKit. * [Carbon](https://github.com/ra1028/Carbon) - 🚴 A declarative library for building component-based user interfaces in UITableView and UICollectionView. -* [ThunderCollection](https://github.com/3sidedcube/ThunderCollection) - A simple declarative approach to UICollectionViewController management using a protocol-based approach. +* [ThunderCollection](https://github.com/3sidedcube/ThunderCollection) - A simple declarative approach to UICollectionViewController management using a protocol-based approach. #### Expandable Cell From a1ca16fd57e0d60a8f3c506c4eeec482ec2b8647 Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Tue, 4 Jun 2019 19:59:39 +0300 Subject: [PATCH 2249/2606] Remove archived projects --- README.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index 47b6c039a..14e23399c 100644 --- a/README.md +++ b/README.md @@ -2424,7 +2424,6 @@ Most of these are paid services, some have free tiers. * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. * [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. * [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. -* [PagingMenuController](https://github.com/kitasuke/PagingMenuController) - Paging view controller with customizable menu in Swift. * [RadialMenu](https://github.com/bradjasper/radialmenu) - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP * [cariocamenu](https://github.com/arn00s/cariocamenu) - The fastest zero-tap iOS menu. * [VLDContextSheet](https://github.com/vangelov/VLDContextSheet) - Context menu similar to the one in the Pinterest iOS app @@ -2643,7 +2642,7 @@ Most of these are paid services, some have free tiers. ### Tab Bar * [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. -* [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) -A gooey effect tabbar +* [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) - A gooey effect tabbar * [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. * [FoldingTabBar.iOS](https://github.com/Yalantis/FoldingTabBar.iOS) - Folding Tab Bar and Tab Bar Controller * [GGTabBar](https://github.com/Goles/GGTabBar) - Another UITabBar & UITabBarController (iOS Tab Bar) replacement, but uses Auto Layout for arranging it's views hierarchy. @@ -2776,7 +2775,6 @@ Most of these are paid services, some have free tiers. * [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. * [mosaic-layout](https://github.com/vinnyoodles/mosaic-layout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift * [TLLayoutTransitioning](https://github.com/SwiftKickMobile/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. -* [RAReorderableLayout](https://github.com/ra1028/RAReorderableLayout) - A UICollectionView layout which can move item with drag and drop. * [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. * [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content * [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations @@ -2823,7 +2821,6 @@ CollectionView, make Instagram Discover within minutes. * [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. * [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.[e] * [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield -* [EmojiTextView](https://github.com/fastred/EmojiTextView) - Tap to swap out words with emojis. Inspired by Messages.app on iOS 10. * [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. * [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies * [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS From 44c48e6af907511a3850ef632ed16c94c3758fcb Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 4 Jun 2019 14:24:20 -0300 Subject: [PATCH 2250/2606] Create FUNDING.yml --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..367e81cab --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +ko_fi: awesomeios From 19ab25e2dee4649be625271f20ce56b37f23bcb2 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 4 Jun 2019 14:29:10 -0300 Subject: [PATCH 2251/2606] Edit readme. Add ko-fi button --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b807daf2a..d1a1cc2d3 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,8 @@ A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). +ko-fi + ## Recommended SDK for bug and crash reporting [Instabug](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=header) [![instabug-github](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) > We highly recommend integrating Instabug’s framework as they compiled a lot of great features in their SDK that provides useful and rich data with each bug/crash report. From 1eae8db58c04fb9ce2a6b78ba267c00233475edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eren=20Kabak=C3=A7=C4=B1?= Date: Wed, 5 Jun 2019 22:42:34 +0200 Subject: [PATCH 2252/2606] Update WWDC-Recap with the revamped edition --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0ac604132..d08a07663 100644 --- a/README.md +++ b/README.md @@ -3186,7 +3186,7 @@ CollectionView, make Instagram Discover within minutes. * [SwiftSnippets](https://github.com/onmyway133/SwiftSnippets) - A collection of Swift snippets to be used in Xcode * [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. * [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. -* [WWDC17-Recap](https://github.com/erenkabakci/WWDC17-Recap) - Markdown collection repo for the sessions at WWDC17. +* [WWDC-Recap](https://erenkabakci.github.io/WWDC-Recap/) - A collection of session summaries in markdown format, from WWDC 19 & 17. ## Style Guides * [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. From 0982bc2085df0e980dfdb71437a6be5246388892 Mon Sep 17 00:00:00 2001 From: Felix M Date: Fri, 7 Jun 2019 09:20:20 +0800 Subject: [PATCH 2253/2606] =?UTF-8?q?=F0=9F=93=9D=20::=20Updated=20readme.?= =?UTF-8?q?md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added `LightweightObservable` to category `Reactive Programming` --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35f36c967..6134f9ade 100644 --- a/README.md +++ b/README.md @@ -1579,6 +1579,7 @@ Most of these are paid services, some have free tiers. * [RxCoordinator](https://github.com/quickbirdstudios/XCoordinator) - Powerful navigation library for iOS based on the coordinator pattern. * [RxAlamoRecord](https://github.com/Daltron/RxAlamoRecord) Combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively. * [CwlSignal](https://github.com/mattgallagher/CwlSignal) A Swift framework for reactive programming. +* [LightweightObservable](https://github.com/fxm90/LightweightObservable) - A lightweight implementation of an observable sequence that you can subscribe to. ### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. From cdb19123915510804f0c49bbff2d41e2af1c39b2 Mon Sep 17 00:00:00 2001 From: Chelemen Razvan Date: Fri, 7 Jun 2019 15:03:54 +0300 Subject: [PATCH 2254/2606] Update README.md Add AppstoreTransition --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35f36c967..c311667d9 100644 --- a/README.md +++ b/README.md @@ -2195,6 +2195,7 @@ Most of these are paid services, some have free tiers. * [ImageTransition](https://github.com/shtnkgm/ImageTransition) - ImageTransition is a library for smooth animation of images during transitions. * [LiquidTransition](https://github.com/AlexandrGraschenkov/LiquidTransition) - removes boilerplate code to perform transition, allows backward animations, custom properties animation and much more! * [SPStorkController](https://github.com/IvanVorobei/SPStorkController) - Very similar to the controllers displayed in Apple Music, Podcasts and Mail Apple's applications. +* [AppstoreTransition](https://github.com/appssemble/appstore-card-transition) - Simulates the appstore card animation transition. ### Alert & Action Sheet From a498271e2c27c47d24957ccb874e35772e0042f8 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 10 Jun 2019 14:23:31 -0300 Subject: [PATCH 2255/2606] remove deprecated projects in Maps section --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 6134f9ade..be0e16602 100644 --- a/README.md +++ b/README.md @@ -1017,10 +1017,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Maps -* [Route-me](https://github.com/route-me/route-me) - Open source map library for iOS. -* [NAMapKit](https://github.com/neilang/NAMapKit) - Allows you to use custom maps in iPhone applications and attempts to mimics some of the behaviour of the MapKit framework. * [Mapbox GL](https://github.com/mapbox/mapbox-gl-native) - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS. -* [CMMapLauncher](https://github.com/citymapper/CMMapLauncher) - iOS library that makes it quick and easy to show directions in various mapping applications. * [GEOSwift](https://github.com/GEOSwift/GEOSwift) - The Swift Geographic Engine. * [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift * [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. @@ -1028,7 +1025,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ClusterKit](https://github.com/hulab/ClusterKit) - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. * [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities. * [MapViewPlus](https://github.com/okhanokbay/MapViewPlus) - Use any custom view as custom callout view of your MKMapView with cool animations. Also, easily use any image as annotation view. -* [GLMap](https://globus.software) - Crossplatform offline vector map with MapCSS styling. Offline search and offline navigation are included. * [MSFlightMapView](https://github.com/mabdulsubhan/MSFlightMapView) - Add and animate geodesic flights on Google map. ## Math From fb7e46c83f3c5dbd0887875baf1fe4806cec17aa Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 12 Jun 2019 13:12:51 -0300 Subject: [PATCH 2256/2606] cleaning Form & Settings section. Removing deprecated projects --- README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/README.md b/README.md index be0e16602..cc847af14 100644 --- a/README.md +++ b/README.md @@ -2350,16 +2350,11 @@ Most of these are paid services, some have free tiers. * [YALField](https://github.com/Yalantis/YALField) - Custom Field component with validation for creating easier form-like UI from interface builder. * [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. * [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. -* [APValidators](https://github.com/Alterplay/APValidators) - Codeless solution for form validation in iOS! * [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS * [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - SwiftyFORM is a form framework for iOS written in Swift -* [FXForms](https://github.com/nicklockwood/FXForms) - FXForms is an Objective-C library for easily creating table-based forms on iOS. It is ideal for settings pages, or user data entry tasks. * [SwiftValidator](https://github.com/SwiftValidatorCommunity/SwiftValidator) - A rule-based validation library for Swift -* [MZFormSheetPresentationController](https://github.com/m1entus/MZFormSheetPresentationController) - MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet. * [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. -* [SuggestionsBox](https://github.com/manuelescrig/SuggestionsBox) - SuggestionsBox helps you build better a product trough your user suggestions. * [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. -* [LightForm](https://github.com/farshidce/LightForm) - A Simple interactive and customizable library to handle form input and validations * [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. * [ATGValidator](https://github.com/altayer-digital/ATGValidator) - Rule based validation framework with form and card validation support for iOS. From f2c62fc430a3e8562fe6e0ca459e3c8c345b7f86 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 12 Jun 2019 13:14:18 -0300 Subject: [PATCH 2257/2606] create Form & Settings category description --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index cc847af14..d3ebb2207 100644 --- a/README.md +++ b/README.md @@ -2344,6 +2344,9 @@ Most of these are paid services, some have free tiers. * [VerticalCardSwiper](https://github.com/JoniVR/VerticalCardSwiper) - A marriage between the Shazam Discover UI and Tinder, built with UICollectionView in Swift. ### Form & Settings + +*Input validators, form helpers and form builders.* + * [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS * [XLForm](https://github.com/xmartlabs/XLForm) - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C. * [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. From b0725cc1974c7e0008db810b094047c15fb3b486 Mon Sep 17 00:00:00 2001 From: Jim Zhou <40669892+jimzhou112@users.noreply.github.com> Date: Sat, 15 Jun 2019 14:13:07 -0400 Subject: [PATCH 2258/2606] fixed some spelling and syntax mistakes --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index d3ebb2207..c156952b3 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ They removed the hassle of debugging as the SDK automatically attach screenshots [![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) ## How to Use -Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use are: +Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use it are: - Ask for help on our [Twitter](https://twitter.com/awesome_ios) or [Gitter Channel](https://gitter.im/vsouza/awesome-ios) - Simply press command + F to search for a keyword - Go through our *Content Menu* @@ -207,7 +207,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) * [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) * [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/) -* [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners +* [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners. ## Accessibility @@ -349,8 +349,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. * [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. -* [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews -* [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS +* [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews. +* [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS. ## Cache @@ -407,8 +407,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [SMDiagramViewSwift](https://github.com/VRGsoftUA/SMDiagramView) - Meet cute and very flexibility library for iOS application for different data view in one circle diagram. * [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. * [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. -* [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit -* [CoreCharts](https://github.com/CoreCharts/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products +* [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit. +* [CoreCharts](https://github.com/CoreCharts/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products. ## Code Quality @@ -492,9 +492,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Job schedulers, Coroutines, Asynchronous and Type safe threads libs and frameworks written in Swift* -* [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift -* [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives -* [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift +* [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift. +* [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives. +* [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift. * [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. * [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. * [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. @@ -580,7 +580,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [PersistenceKit](https://github.com/Teknasyon-Teknoloji/PersistenceKit) - Store and retrieve Codable objects to various persistence layers, in a couple lines of code! * [ModelAssistant](https://github.com/ssamadgh/ModelAssistant) - Elegant library to manage the interactions between view and model in Swift. * [MMKV](https://github.com/Tencent/MMKV) - An efficient, small mobile key-value storage framework developed by WeChat. Works on iOS, Android, macOS and Windows. -* [Defaults](https://github.com/sindresorhus/Defaults) - Swifty and modern UserDefaults +* [Defaults](https://github.com/sindresorhus/Defaults) - Swifty and modern UserDefaults. * [MongoKitten](https://github.com/OpenKitten/MongoKitten) - A pure Swift MongoDB client implementation with support for embedded databases. * [SecureDefaults](https://github.com/vpeschenkov/SecureDefaults) - A lightweight wrapper over UserDefaults/NSUserDefaults with an extra AES-256 encryption layer. * [Unrealm](https://github.com/arturdev/Unrealm) - Unrealm enables you to easily store Swift native Classes, Structs and Enums into Realm From 5ddc5ffae2ea505ed3f3ec95d7b42c8e812224fd Mon Sep 17 00:00:00 2001 From: Jim Zhou <40669892+jimzhou112@users.noreply.github.com> Date: Sat, 15 Jun 2019 14:20:37 -0400 Subject: [PATCH 2259/2606] changed spelling --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c156952b3..d27bf95dc 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ The list is divided into categories such as Frameworks, Components, Testing and ## Recommended SDK for bug and crash reporting [Instabug](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=header) [![instabug-github](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) -> We highly recommend integrating Instabug’s framework as they compiled a lot of great features in their SDK that provides useful and rich data with each bug/crash report. +> We highly recommend integrating Instabug’s framework as they compiled a lot of great features in their SDK that provide useful and rich data with each bug/crash report. They removed the hassle of debugging as the SDK automatically attach screenshots, screen recordings, device details, network logs and repro-steps with each bug report which speeds up the development process. Instabug is offering awesome-ios community an exclusive **15% discount** on all paid plans. [**Go to 5-minute installation guide.**](https://try.instabug.com/awesomeios?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more)🚀 [![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) From 34af1149a6330790e1eed7d6a98581c4eb6ff798 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 17 Jun 2019 13:42:41 -0300 Subject: [PATCH 2260/2606] remove deprecated projects in Math section. Create Math category description --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d27bf95dc..09b76aa83 100644 --- a/README.md +++ b/README.md @@ -1029,6 +1029,8 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap ## Math +*Math frameworks, functions and libraries to custom operations, statistical calculations and more.* + * [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation * [SwiftMath](https://github.com/madbat/SwiftMath) - :triangular_ruler: A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. * [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations @@ -1036,15 +1038,12 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Upsurge](https://github.com/alejandro-isaza/Upsurge) - Swift math * [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. * [iosMath](https://github.com/kostub/iosMath) - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS. -* [swift-pons](https://github.com/dankogai/swift2-pons) - Protocol-Oriented Number System in Pure Swift * [BigInt](https://github.com/attaswift/BigInt) - Arbitrary-precision arithmetic in pure Swift * [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. * [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics * [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime * [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. * [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library with generic integer algorithms, complex numbers, rational numbers, and pseudorandom number generators (written in, and for, Swift 4) -* [EasyRoot](https://github.com/aaronjsutton/EasyRoot) - A framework to simplify radical expressions -* [SwiftSimplify](https://github.com/malcommac/SwiftSimplify) - Tiny high-performance Swift Polyline Simplification Library. ## Media From e323c2e1a9a23127e2d57b8b4af27a7fcad189fa Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 17 Jun 2019 13:43:56 -0300 Subject: [PATCH 2261/2606] update NumericAnnex repo description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 09b76aa83..a25ad4acf 100644 --- a/README.md +++ b/README.md @@ -1043,7 +1043,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics * [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime * [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. -* [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library with generic integer algorithms, complex numbers, rational numbers, and pseudorandom number generators (written in, and for, Swift 4) +* [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library. ## Media From 0201855fbc3f2f8c1cf0dd6de391ccdc53e1fb5a Mon Sep 17 00:00:00 2001 From: Euan Chan Date: Tue, 18 Jun 2019 14:22:56 +0800 Subject: [PATCH 2262/2606] add MTHawkeye --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a25ad4acf..0f967f9c6 100644 --- a/README.md +++ b/README.md @@ -648,6 +648,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Debugging tools, crash reports, logs and console UI's.* +* [MTHawkeye](https://github.com/meitu/MTHawkeye) - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc. * [Xniffer](https://github.com/xmartlabs/Xniffer) - A swift network profiler built on top of URLSession. * [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! * [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. From 7f0dbc0613aa10a76d8c37e1e1fc2a9793e0ef8c Mon Sep 17 00:00:00 2001 From: Vincent Pradeilles Date: Mon, 10 Jun 2019 17:36:10 +0200 Subject: [PATCH 2263/2606] Add Locatable --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6134f9ade..646abc56b 100644 --- a/README.md +++ b/README.md @@ -3099,7 +3099,7 @@ CollectionView, make Instagram Discover within minutes. * [ViperServices](https://github.com/ladeiko/ViperServices) - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code. * [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS applications written in clean Swift. * [Needle](https://github.com/uber/needle) — Compile-time safe Swift dependency injection framework with real code - +* [Locatable](https://github.com/vincent-pradeilles/locatable) - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern ## Deployment / Distribution From 3e51b9239f237a1f79c782e1d9c86dafbecd7f28 Mon Sep 17 00:00:00 2001 From: Euan Chan Date: Tue, 18 Jun 2019 22:38:57 +0800 Subject: [PATCH 2264/2606] Update README.md Update profiling & debugging tools MTHawkeye --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0f967f9c6..3e71c3056 100644 --- a/README.md +++ b/README.md @@ -648,7 +648,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap *Debugging tools, crash reports, logs and console UI's.* -* [MTHawkeye](https://github.com/meitu/MTHawkeye) - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc. * [Xniffer](https://github.com/xmartlabs/Xniffer) - A swift network profiler built on top of URLSession. * [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! * [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. @@ -667,6 +666,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [AppSpector](https://appspector.com) - Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotificationCenter and mock device's geo location. * [Woodpecker](http://www.woodpeck.cn) - View sandbox files, UserDefaults, network request from Mac. * [LayoutInspector](https://github.com/isavynskyi/LayoutInspector) - Debug app layouts directly on iOS device: inspect layers in 3D and debug each visible view attributes +* [MTHawkeye](https://github.com/meitu/MTHawkeye) - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc. ## EventBus From d4b6a294ccba4655d51504d960b4228b4a96380b Mon Sep 17 00:00:00 2001 From: Frederick Pietschmann <19194800+fredpi@users.noreply.github.com> Date: Tue, 18 Jun 2019 22:59:08 +0200 Subject: [PATCH 2265/2606] Add SFSafeSymbols --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 748ed339d..4465f5713 100644 --- a/README.md +++ b/README.md @@ -2017,6 +2017,7 @@ Most of these are paid services, some have free tiers. * [ClassicKit](https://github.com/Baddaboo/ClassicKit) - A collection of classic-style UI components for iOS. * [Sejima](https://github.com/MoveUpwards/Sejima) - A collection of User Interface components for iOS. * [UI Fabric by Microsoft](https://github.com/OfficeDev/ui-fabric-ios) - UI framework based on [Fluent Design System](https://www.microsoft.com/design/fluent/#/ios) by Microsoft. +* [SFSafeSymbols](https://github.com/piknotech/SFSafeSymbols) - Safely access Apple's SF Symbols using static typing. ### Activity Indicator * [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. From e4e705ec63f2e4454935340f97960d71c8f1a6ee Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 21 Jun 2019 16:10:08 -0300 Subject: [PATCH 2266/2606] cleaning Messaging category. Remove commercial and deprecated projects --- README.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/README.md b/README.md index 9f0dc3edc..666bd9a59 100644 --- a/README.md +++ b/README.md @@ -1249,15 +1249,9 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap Also see [push notifications](#push-notifications) * [LayerKit](https://github.com/layerhq/releases-ios) - iOS SDK for Layer, the easiest way to add in-app messaging (text, photos, videos, data) to any mobile or web application. -* [Twilio](https://www.twilio.com/) - Power modern communications. Build the next generation of voice and SMS applications. -* [Plivo](https://www.plivo.com/) - SMS API, Voice API, & Global Carrier Provider. * [XMPPFramework](https://github.com/robbiehanson/XMPPFramework) - An XMPP Framework in Objective-C for Mac and iOS. * [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift -* [Smooch](https://smooch.io) - Simple, lightweight SDKs and interfaces that enable customer messaging inside your apps and websites. -* [SlackTextViewController](https://github.com/slackhq/SlackTextViewController) - A drop-in UIViewController subclass with a growing text input view and other useful messaging features. * [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController -* [NoChat](https://github.com/little2s/NoChat) - A lightweight chat UI framework for iOS. -* [NMessenger](https://github.com/eBay/NMessenger) - A fast, lightweight messenger component built on AsyncDisplaykit and written in Swift * [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. * [Messenger](https://github.com/relatedcode/Messenger) - This is a native iOS Messenger app, making realtime chat conversations and audio calls with full offline support. * [OTTextChatAccelerator](https://github.com/opentok/accelerator-textchat-ios) - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices. From eb24e33d2d8c0af5a5e1b675669f251d34d30850 Mon Sep 17 00:00:00 2001 From: Frederick Pietschmann <19194800+fredpi@users.noreply.github.com> Date: Fri, 21 Jun 2019 21:11:34 +0200 Subject: [PATCH 2267/2606] Relocate SFSafeSymbols --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4465f5713..581746038 100644 --- a/README.md +++ b/README.md @@ -1189,6 +1189,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [ATGMediaBrowser](https://github.com/altayer-digital/ATGMediaBrowser) - Image slide-show viewer with multiple predefined transition styles, and ability to create new transitions with ease. * [Pixel](https://github.com/muukii/Pixel) - An image editor and engine using CoreImage. * [OnlyPictures](https://github.com/KiranJasvanee/OnlyPictures) - A simple and flexible way to add source of overlapping circular pictures. +* [SFSafeSymbols](https://github.com/piknotech/SFSafeSymbols) - Safely access Apple's SF Symbols using static typing. ### Media Processing * [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift @@ -2017,7 +2018,6 @@ Most of these are paid services, some have free tiers. * [ClassicKit](https://github.com/Baddaboo/ClassicKit) - A collection of classic-style UI components for iOS. * [Sejima](https://github.com/MoveUpwards/Sejima) - A collection of User Interface components for iOS. * [UI Fabric by Microsoft](https://github.com/OfficeDev/ui-fabric-ios) - UI framework based on [Fluent Design System](https://www.microsoft.com/design/fluent/#/ios) by Microsoft. -* [SFSafeSymbols](https://github.com/piknotech/SFSafeSymbols) - Safely access Apple's SF Symbols using static typing. ### Activity Indicator * [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. From 1a69f772d5ea05370b43583f6684751fb8123932 Mon Sep 17 00:00:00 2001 From: Herrick Wolber Date: Sun, 23 Jun 2019 01:35:39 +0200 Subject: [PATCH 2268/2606] Remove Compass in App routing section - Deprecated MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Like the first line of the repo's README.md, the project is : "⚠️ DEPRECATED, NO LONGER MAINTAINED" --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 666bd9a59..59cc5ad01 100644 --- a/README.md +++ b/README.md @@ -249,7 +249,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. * [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. * [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks -* [Compass](https://github.com/hyperoslo/Compass) - :earth_africa: Compass helps you setup a central navigation system for your application * [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. * [URLNavigator](https://github.com/devxoul/URLNavigator) - ⛵️ Elegant URL Routing for Swift * [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. From f329be0e4353ae445782b68567f992b7d46fb311 Mon Sep 17 00:00:00 2001 From: Sven Tiigi Date: Fri, 28 Jun 2019 18:30:36 +0200 Subject: [PATCH 2269/2606] Added ValidatedPropertyKit In Form & Settings section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c9d85c6cf..2a99f9bdf 100644 --- a/README.md +++ b/README.md @@ -2354,6 +2354,7 @@ Most of these are paid services, some have free tiers. * [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. * [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. * [ATGValidator](https://github.com/altayer-digital/ATGValidator) - Rule based validation framework with form and card validation support for iOS. +* [ValidatedPropertyKit](https://github.com/SvenTiigi/ValidatedPropertyKit) - Easily validate your Properties with Property Wrappers 👮 ### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From 8b08bc367ee45433a3375d629376b932b3fc1079 Mon Sep 17 00:00:00 2001 From: Ryo Aoyama Date: Wed, 3 Jul 2019 19:27:19 +0900 Subject: [PATCH 2270/2606] Add DiffableDataSources --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c9d85c6cf..07cfbaaf3 100644 --- a/README.md +++ b/README.md @@ -2722,6 +2722,7 @@ Most of these are paid services, some have free tiers. * [Conv](https://github.com/bannzai/conv) - Conv smart represent UICollectionView data structure more than UIKit. * [Carbon](https://github.com/ra1028/Carbon) - 🚴 A declarative library for building component-based user interfaces in UITableView and UICollectionView. * [ThunderCollection](https://github.com/3sidedcube/ThunderCollection) - A simple declarative approach to UICollectionViewController management using a protocol-based approach. +* [DiffableDataSources](https://github.com/ra1028/DiffableDataSources) - 💾 A library for backporting UITableView/UICollectionViewDiffableDataSource. #### Expandable Cell From 1e5566ea1c4b4515b3326b0efbcf4ccda3fef82c Mon Sep 17 00:00:00 2001 From: Sven Tiigi Date: Wed, 3 Jul 2019 18:58:53 +0200 Subject: [PATCH 2271/2606] Removed Emoji --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2a99f9bdf..732b79b8d 100644 --- a/README.md +++ b/README.md @@ -2354,7 +2354,7 @@ Most of these are paid services, some have free tiers. * [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. * [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. * [ATGValidator](https://github.com/altayer-digital/ATGValidator) - Rule based validation framework with form and card validation support for iOS. -* [ValidatedPropertyKit](https://github.com/SvenTiigi/ValidatedPropertyKit) - Easily validate your Properties with Property Wrappers 👮 +* [ValidatedPropertyKit](https://github.com/SvenTiigi/ValidatedPropertyKit) - Easily validate your Properties with Property Wrappers. ### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From 313c41fffa3277767eb496c1fd8b85439f415576 Mon Sep 17 00:00:00 2001 From: Ryo Aoyama Date: Thu, 4 Jul 2019 13:03:29 +0900 Subject: [PATCH 2272/2606] Remove emojis from description. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 07cfbaaf3..bc49c51fe 100644 --- a/README.md +++ b/README.md @@ -2722,7 +2722,7 @@ Most of these are paid services, some have free tiers. * [Conv](https://github.com/bannzai/conv) - Conv smart represent UICollectionView data structure more than UIKit. * [Carbon](https://github.com/ra1028/Carbon) - 🚴 A declarative library for building component-based user interfaces in UITableView and UICollectionView. * [ThunderCollection](https://github.com/3sidedcube/ThunderCollection) - A simple declarative approach to UICollectionViewController management using a protocol-based approach. -* [DiffableDataSources](https://github.com/ra1028/DiffableDataSources) - 💾 A library for backporting UITableView/UICollectionViewDiffableDataSource. +* [DiffableDataSources](https://github.com/ra1028/DiffableDataSources) - A library for backporting UITableView/UICollectionViewDiffableDataSource. #### Expandable Cell From 7e75a08d5db5f5b26c9b054095114c3d62f77dcd Mon Sep 17 00:00:00 2001 From: yassir RAMDANI <32711128+yassram@users.noreply.github.com> Date: Thu, 4 Jul 2019 11:17:58 +0200 Subject: [PATCH 2273/2606] Added YRPayment to Payment category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 732b79b8d..9e3dc720d 100644 --- a/README.md +++ b/README.md @@ -1508,6 +1508,7 @@ Most of these are paid services, some have free tiers. * [merchantkit](https://github.com/benjaminmayo/merchantkit) - A modern In-App Purchases management framework for iOS. * [TipJarViewController](https://github.com/lionheart/TipJarViewController) - Easy, drop-in tip jar for iOS apps. * [FramesIos](https://github.com/checkout/frames-ios) - Payment Form UI and Utilities in Swift. +* [YRPayment](https://github.com/yassram/YRPayment) - Better payment user experience library with cool animation in Swift. ## Permissions * [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). From 3c5236d100e7e9ba674a4a10f9b9efeb03ea28d9 Mon Sep 17 00:00:00 2001 From: Rob Nash Date: Thu, 4 Jul 2019 13:59:24 +0100 Subject: [PATCH 2274/2606] Swap rob-nash for BowdusBrown --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 732b79b8d..285b572fd 100644 --- a/README.md +++ b/README.md @@ -528,7 +528,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. * [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. * [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. -* [Records](https://github.com/rob-nash/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. +* [Records](https://github.com/BowdusBrown/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. * [PredicateFlow](https://github.com/andreadelfante/PredicateFlow) - Write amazing, strong-typed and easy-to-read NSPredicate, allowing you to write flowable NSPredicate, without guessing attribution names, predicate operation or writing wrong arguments type. ## Database @@ -2251,7 +2251,7 @@ Most of these are paid services, some have free tiers. * [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. * [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 * [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. -* [Sheet](https://github.com/rob-nash/Sheet) - Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed. +* [Sheet](https://github.com/BowdusBrown/Sheet) - Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed. * [Sheet](https://github.com/ParkGwangBeom/Sheet) - SHEET helps you easily create a wide variety of action sheets with navigation features used in the Flipboard App * [ALRT](https://github.com/mshrwtnb/alrt) - An easier constructor for UIAlertController. Present an alert from anywhere. * [CatAlertController](https://github.com/ImKcat/CatAlertController) - Use UIAlertController like a boss. @@ -2567,7 +2567,7 @@ Most of these are paid services, some have free tiers. * [MultiSelectSegmentedControl](https://github.com/yonat/MultiSelectSegmentedControl) - adds Multiple-Selection to the standard `UISegmentedControl`. * [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect * [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. -* [Rotary](https://github.com/rob-nash/Rotary) - A customisable rotary wheel composed of selectable segments. +* [Rotary](https://github.com/BowdusBrown/Rotary) - A customisable rotary wheel composed of selectable segments. ### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. From 54bfe893cf9f5d165f8d27fbeac4cae76803d72b Mon Sep 17 00:00:00 2001 From: zhiyao92 Date: Tue, 9 Jul 2019 12:32:54 +0800 Subject: [PATCH 2275/2606] Added additional iOS Tutorial link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a8675b183..82178793a 100644 --- a/README.md +++ b/README.md @@ -3247,6 +3247,7 @@ CollectionView, make Instagram Discover within minutes. * [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. * [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. * [Conferences.digital](https://github.com/zagahr/Conferences.digital) - 👨‍💻 Watch conference videos in a native macOS app. +* [DaddyCoding](https://www.daddycoding.com) ### iOS UI Template * [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) From f32c6ffc41c0e1e18e191b113f566c7d4d88e157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Ruiz-L=C3=B3pez?= Date: Wed, 10 Jul 2019 17:51:02 +0200 Subject: [PATCH 2276/2606] Add Bow --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a8675b183..d36d2d638 100644 --- a/README.md +++ b/README.md @@ -726,6 +726,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. [e] * [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift * [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. +* [Bow](https://github.com/bow-swift/bow) - Typed Functional Programming companion library for Swift. ## Games * [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. From 629bf9ca767fefdda437ec31ea8c20d6f12052b5 Mon Sep 17 00:00:00 2001 From: Maxim Kotliar Date: Wed, 10 Jul 2019 19:02:17 +0300 Subject: [PATCH 2277/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a8675b183..3621e772e 100644 --- a/README.md +++ b/README.md @@ -1571,6 +1571,7 @@ Most of these are paid services, some have free tiers. * [RxAlamoRecord](https://github.com/Daltron/RxAlamoRecord) Combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively. * [CwlSignal](https://github.com/mattgallagher/CwlSignal) A Swift framework for reactive programming. * [LightweightObservable](https://github.com/fxm90/LightweightObservable) - A lightweight implementation of an observable sequence that you can subscribe to. +[Bindy](https://github.com/MaximKotliar/Bindy) - Simple, lightweight swift bindings with KVO support and easy to read syntax. ### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. From 4e732bc69369a77477029b51a52f25487b136bb7 Mon Sep 17 00:00:00 2001 From: zhiyao92 Date: Thu, 11 Jul 2019 13:43:10 +0800 Subject: [PATCH 2278/2606] Added description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 82178793a..8a9d155d1 100644 --- a/README.md +++ b/README.md @@ -3247,7 +3247,7 @@ CollectionView, make Instagram Discover within minutes. * [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. * [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. * [Conferences.digital](https://github.com/zagahr/Conferences.digital) - 👨‍💻 Watch conference videos in a native macOS app. -* [DaddyCoding](https://www.daddycoding.com) +* [DaddyCoding](https://www.daddycoding.com) - iOS Tutorials ranging from beginners to advance ### iOS UI Template * [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) From 4c487ee98ffd5d2a7917fef105dace7cb1ea95eb Mon Sep 17 00:00:00 2001 From: Maxim Kotliar Date: Fri, 12 Jul 2019 17:59:21 +0300 Subject: [PATCH 2279/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3621e772e..938818cd9 100644 --- a/README.md +++ b/README.md @@ -1571,7 +1571,7 @@ Most of these are paid services, some have free tiers. * [RxAlamoRecord](https://github.com/Daltron/RxAlamoRecord) Combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively. * [CwlSignal](https://github.com/mattgallagher/CwlSignal) A Swift framework for reactive programming. * [LightweightObservable](https://github.com/fxm90/LightweightObservable) - A lightweight implementation of an observable sequence that you can subscribe to. -[Bindy](https://github.com/MaximKotliar/Bindy) - Simple, lightweight swift bindings with KVO support and easy to read syntax. +* [Bindy](https://github.com/MaximKotliar/Bindy) - Simple, lightweight swift bindings with KVO support and easy to read syntax. ### React-Like * [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. From 9aec80795c63c132f4cfff9ef26c2220a2ab90ba Mon Sep 17 00:00:00 2001 From: Kevin Quisquater Date: Mon, 15 Jul 2019 13:43:14 +0200 Subject: [PATCH 2280/2606] Update README to fix the URL and name of SwiftyGuideOverlay SwiftyGuideOverlay repo has moved and the name has been changed to SwiftyOverlay --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1c1c29313..57b15d53b 100644 --- a/README.md +++ b/README.md @@ -2945,7 +2945,7 @@ CollectionView, make Instagram Discover within minutes. * [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. * [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. * [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. -* [SwiftyGuideOverlay](https://github.com/saeid/SwiftyGuideOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. +* [SwiftyOverlay](https://github.com/saeid/SwiftyOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. * [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. * [Minamo](https://github.com/yukiasai/Minamo) - Simple coach mark library written in Swift. * [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. From abd2a0f5ca4ff0a2382b3379d5ff3bad5d2ca490 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 21 Jul 2019 11:49:50 -0300 Subject: [PATCH 2281/2606] add SourceDocs by @eneko in Command Line category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 57b15d53b..74f68643b 100644 --- a/README.md +++ b/README.md @@ -486,6 +486,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. * [Crayon](https://github.com/luoxiu/Crayon) - Terminal string styling with expressive api and 256/TrueColor support. * [SwiftShell](https://github.com/kareman/SwiftShell) - A Swift framework for shell scripting and running shell commands. +* [SourceDocs](https://github.com/eneko/SourceDocs) - Command Line Tool that generates Markdown documentation from inline source code comments. ## Concurrency From 9fe43e709de900a530ca02f17198520c744b36e2 Mon Sep 17 00:00:00 2001 From: captainBitcoin <8611762+esengulov@users.noreply.github.com> Date: Fri, 2 Aug 2019 17:29:51 +0600 Subject: [PATCH 2282/2606] Add blockchain libraries Bitcoin Kit, EOS Kit, Binance Chain Kit, Ethereum Kit, Atomic Swaps kit --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 74f68643b..f399ec023 100644 --- a/README.md +++ b/README.md @@ -341,6 +341,11 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [BitcoinKit](https://github.com/yenom/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. * [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. * [CoinpaprikaAPI](https://github.com/coinpaprika/coinpaprika-api-swift-client) - Coinpaprika API client with free & frequently updated market data from the world of crypto: coin prices, volumes, market caps, ATHs, return rates and more. +* [Bitcoin-Swift-Kit](https://github.com/horizontalsystems/bitcoin-kit-ios) - Full Bitcoin library written on Swift. Complete SPV wallet implementation for Bitcoin, Bitcoin Cash and Dash blockchains. +* [EOSio-Kit](https://github.com/horizontalsystems/eos-kit-ios) - General purpose iOS library (SDK) for the EOS blockchain and EOSIO protocol, written on Swift. +* [Binance-Chain-DEX-Kit](https://github.com/horizontalsystems/binance-chain-kit-ios) - All purpose iOS Swift library for the Binance blockchain (aka Binance DEX). +* [Atomic-Swaps-DEX-Kit](https://github.com/horizontalsystems/atomic-swap-kit-ios) - Atomic Swap iOS library for Bitcoin (BTC) and Bitcoin Cash (BCH) swaps in decentralized manner. Implemented on Swift. +* [Ethereum-Kit-iOS](https://github.com/horizontalsystems/ethereum-kit-ios) - Fully functional wallet implementation for Ethereum protocol. ## Bridging From bb3e5ba92962ecbd7235e2e879866c8ad0948e2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20A=CC=81ngel=20Di=CC=81az?= Date: Fri, 2 Aug 2019 16:01:32 +0200 Subject: [PATCH 2283/2606] added nef to tool section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 74f68643b..8fa72b618 100644 --- a/README.md +++ b/README.md @@ -3062,6 +3062,7 @@ CollectionView, make Instagram Discover within minutes. * [Zolang](https://github.com/Zolang/Zolang) - A programming language for sharing logic between iOS, Android and Tools. * [xavtool](https://github.com/gabrielrobert/xavtool) - Command-line utility to automatically increase iOS / Android applications version. * [Cutter](https://cutter.albemala.me/) - A tool to generate iOS Launch Images (Splash Screens) for all screen sizes starting from a single template. +* [nef](https://github.com/bow-swift/nef) - A set of command line tools for Xcode Playground: lets you have compile-time verification of your documentation written as Xcode Playgrounds, generates markdown files, integration with Jekyll for building microsites and Carbon to export code snippets. ## Rapid Development From 3bdd0298e5cbfce5d6f1b2725383d51e5b8031d7 Mon Sep 17 00:00:00 2001 From: captainBitcoin <8611762+esengulov@users.noreply.github.com> Date: Tue, 6 Aug 2019 16:49:25 +0600 Subject: [PATCH 2284/2606] Remove all blockchain libraries, except BitcoinKit --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index f399ec023..0f6784eff 100644 --- a/README.md +++ b/README.md @@ -342,10 +342,6 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. * [CoinpaprikaAPI](https://github.com/coinpaprika/coinpaprika-api-swift-client) - Coinpaprika API client with free & frequently updated market data from the world of crypto: coin prices, volumes, market caps, ATHs, return rates and more. * [Bitcoin-Swift-Kit](https://github.com/horizontalsystems/bitcoin-kit-ios) - Full Bitcoin library written on Swift. Complete SPV wallet implementation for Bitcoin, Bitcoin Cash and Dash blockchains. -* [EOSio-Kit](https://github.com/horizontalsystems/eos-kit-ios) - General purpose iOS library (SDK) for the EOS blockchain and EOSIO protocol, written on Swift. -* [Binance-Chain-DEX-Kit](https://github.com/horizontalsystems/binance-chain-kit-ios) - All purpose iOS Swift library for the Binance blockchain (aka Binance DEX). -* [Atomic-Swaps-DEX-Kit](https://github.com/horizontalsystems/atomic-swap-kit-ios) - Atomic Swap iOS library for Bitcoin (BTC) and Bitcoin Cash (BCH) swaps in decentralized manner. Implemented on Swift. -* [Ethereum-Kit-iOS](https://github.com/horizontalsystems/ethereum-kit-ios) - Fully functional wallet implementation for Ethereum protocol. ## Bridging From 24dedabf2efcbb832b1b993212fafc41735159ae Mon Sep 17 00:00:00 2001 From: Karthikeya Udupa KM Date: Tue, 13 Aug 2019 20:33:03 +0200 Subject: [PATCH 2285/2606] Update SwiftyJSONAccelerator description (#2843) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 051742b1b..13ec3be26 100644 --- a/README.md +++ b/README.md @@ -1416,7 +1416,7 @@ Most of these are paid services, some have free tiers. * [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. * [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. * [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization -* [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift model files from JSON using either SwiftyJSON or ObjectMapper. Supports NSCoding and provides method for JSON string representation of the model. +* [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift 5 model files from JSON with Codeable support. * [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift * [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. * [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. From 29b44160ee1dba8b4c9833777623dc475f46b7e1 Mon Sep 17 00:00:00 2001 From: Victor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Tue, 27 Aug 2019 23:47:47 +0300 Subject: [PATCH 2286/2606] Fix links --- README.md | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 13ec3be26..1feaa7b7b 100644 --- a/README.md +++ b/README.md @@ -408,7 +408,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. * [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. * [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit. -* [CoreCharts](https://github.com/CoreCharts/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products. +* [CoreCharts](https://github.com/cagricolak/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products. ## Code Quality @@ -498,7 +498,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift. * [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. * [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. -* [Overdrive](https://github.com/arikis/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. +* [Overdrive](https://github.com/saidsikira/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. * [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. * [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. * [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift @@ -609,7 +609,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. * [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! * [Impeller](https://github.com/david-coyle-sjc/impeller) - A Distributed Value Store in Swift -* [Dispatch](https://github.com/alexdrone/Dispatch) - Multi-store Flux implementation in Swift +* [Dispatch](https://github.com/alexdrone/Store) - Multi-store Flux implementation in Swift * [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift * [Differ](https://github.com/tonyarnold/Differ) - Swift library to generate differences and patches between collections. * [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. @@ -943,7 +943,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. * [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. * [Layoutless](https://github.com/DeclarativeHub/Layoutless) - Minimalistic declarative layout and styling framework built on top of Auto Layout. -* [Yalta](https://github.com/kean/Yalta) - An intuitive and powerful Auto Layout library. +* [Yalta](https://github.com/kean/Align) - An intuitive and powerful Auto Layout library. * [SuperLayout](https://github.com/lionheart/SuperLayout) - Simplify Auto Layout with super syntactic sugar. * [QuickLayout](https://github.com/huri000/QuickLayout) - QuickLayout offers a simple way, to easily manage Auto Layout in code. * [EEStackLayout](https://github.com/efekanegeli/EEStackLayout) - A structured vertical stack layout. @@ -1289,7 +1289,7 @@ Also see [push notifications](#push-notifications) * [EVURLCache](https://github.com/evermeer/EVURLCache) - a NSURLCache subclass for handling all web requests that use NSURLRequest * [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer. * [Pitaya](https://github.com/johnlui/Pitaya) - A Swift HTTP / HTTPS networking library just incidentally execute on machines -* [Just](https://github.com/JustHTTP/Just) - Swift HTTP for Humans +* [Just](https://github.com/dduan/Just) - Swift HTTP for Humans * [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and macOS * [Reach](https://github.com/Isuru-Nanayakkara/Reach) - A simple class to check for internet connection availability in Swift. * [SwiftHTTP](https://github.com/daltoniam/SwiftHTTP) - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. @@ -1618,11 +1618,10 @@ Most of these are paid services, some have free tiers. * [Venmo](#payments) * [AWS](https://github.com/aws-amplify/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. * [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. -* [Adobe Creative SDK](https://www.adobe.io/apis/creativecloud/creativesdk.html) Adobe creative tools and Creative Cloud SDK. * [Dropbox](https://www.dropbox.com/lp/developers) SDKs for Drop-ins and Dropbox Core API. * [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. * [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. -* [Primer](https://www.goprimer.com) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. +* [Primer](https://www.goprimer.com/) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. * [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device * [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps * [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple @@ -1949,7 +1948,7 @@ Most of these are paid services, some have free tiers. * [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects * [SwiftTheme](https://github.com/wxxsw/SwiftTheme) - Powerful theme/skin manager for iOS 7+ * [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ -* [YangMingShan](https://github.com/yahoo/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. +* [YangMingShan](https://github.com/YahooArchive/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. * [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS * [RedBeard](https://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. * [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. @@ -2056,7 +2055,7 @@ Most of these are paid services, some have free tiers. * [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. * [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design * [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. -* [LLSpinner](https://github.com/alaphao/LLSpinner) - An easy way to create a full screen activity indicator. +* [LLSpinner](https://github.com/alephao/LLSpinner) - An easy way to create a full screen activity indicator. * [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. * [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. * [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. @@ -2448,7 +2447,7 @@ Most of these are paid services, some have free tiers. * [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. * [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. * [RHSideButtons](https://github.com/robertherdzik/RHSideButtons) - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. -* [Swift-CircleMenu](https://github.com/Sufi-Al-Hussaini/Swift-CircleMenu) - Rotating circle menu written in Swift 3. +* [Swift-CircleMenu](https://github.com/hu55a1n1/Swift-CircleMenu) - Rotating circle menu written in Swift 3. * [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. * [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. * [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. @@ -2983,7 +2982,7 @@ CollectionView, make Instagram Discover within minutes. * [CocoaSeeds](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. * [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language * [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool -* [Rome](https://github.com/blender/Rome) - A cache tool for Carthage built frameworks +* [Rome](https://github.com/tmspzz/Rome) - A cache tool for Carthage built frameworks * [Athena](https://github.com/yunarta/works-athena-gradle-plugin) - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local. * [Accio](https://github.com/JamitLabs/Accio) - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage. @@ -3018,7 +3017,7 @@ CollectionView, make Instagram Discover within minutes. * [Localizations](https://github.com/athiercelin/localizations) - macOS app that manages localizations of Xcode projects. * [xcbuild](https://github.com/facebook/xcbuild) - Xcode-compatible build tool. * [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. -* [SwiftCompilationPerformanceReporter](https://github.com/tumblr/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets +* [SwiftCompilationPerformanceReporter](https://github.com/TumblrArchive/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets * [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift * [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations * [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. @@ -3106,7 +3105,7 @@ CollectionView, make Instagram Discover within minutes. * [buddybuild](https://www.buddybuild.com/) - A mobile iteration platform - build, deploy, and collaborate. * [Bitrise](https://www.bitrise.io) Mobile Continuous Integration & Delivery with dozens of integrations to build, test, deploy and collaborate. * [watchbuild](https://github.com/fastlane/watchbuild) - Get a notification once your iTunes Connect build is finished processing. -* [Crashlytics](https://try.crashlytics.com/) - A crash reporting and beta testing service. +* [Crashlytics](https://firebase.google.com/products/crashlytics/) - A crash reporting and beta testing service. * [TestFlight Beta Testing](https://developer.apple.com/testflight/) - The beta testing service hosted on iTunes Connect (requires iOS 8 or later). * [HockeyApp](https://www.hockeyapp.net) - With HockeyApp, you can distribute beta versions of your app, collect live crash reports, get feedback from users, and analyze test coverage. * [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. @@ -3214,7 +3213,7 @@ CollectionView, make Instagram Discover within minutes. * [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) * [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. * [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) -* [Code Facebook](https://code.fb.com/category/ios/) +* [Code Facebook](https://engineering.fb.com/category/ios/) * [iOS Cookies](https://ioscookies.com/) - A hand curated collection of iOS libraries written in Swift * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. * [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index/) @@ -3235,7 +3234,7 @@ CollectionView, make Instagram Discover within minutes. * [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. * [raywenderlich.com](https://www.raywenderlich.com/ios) - Tutorials for developers and gamers * [Mike Ash](https://www.mikeash.com/pyblog/) -* [Big Nerd Ranch](https://www.bignerdranch.com/blog/categories/ios/) +* [Big Nerd Ranch](https://www.bignerdranch.com/wp-content/uploads/2019/05/ios.jpg) * [Tuts+](https://code.tutsplus.com/categories/ios-sdk) * [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) * [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. @@ -3252,7 +3251,7 @@ CollectionView, make Instagram Discover within minutes. * [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. * [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. * [Conferences.digital](https://github.com/zagahr/Conferences.digital) - 👨‍💻 Watch conference videos in a native macOS app. -* [DaddyCoding](https://www.daddycoding.com) - iOS Tutorials ranging from beginners to advance +* [DaddyCoding](https://daddycoding.com/) - iOS Tutorials ranging from beginners to advance ### iOS UI Template * [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) @@ -3319,7 +3318,7 @@ CollectionView, make Instagram Discover within minutes. ## Books * [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) -* [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming/) +* [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-sixth-edition/) * [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) * [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) * [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) From f668f5536766ee2c8ec06e5a243ba0c0cb218e85 Mon Sep 17 00:00:00 2001 From: Victor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Tue, 27 Aug 2019 23:58:08 +0300 Subject: [PATCH 2287/2606] Once more --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1feaa7b7b..08efa0eb5 100644 --- a/README.md +++ b/README.md @@ -261,7 +261,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. * [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. * [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. -* [RouteComposer](https://github.com/saksdirect/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. +* [RouteComposer](https://github.com/ekazaev/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. * [LightRoute](https://github.com/SpectralDragon/LightRoute) - Easy transition between VIPER modules, implemented on pure Swift. ## Apple TV @@ -2012,7 +2012,7 @@ Most of these are paid services, some have free tiers. * [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. 🔶 * [STAControls](https://github.com/Stunner/STAControls) - Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C. * [ApplyStyleKit](https://github.com/shindyu/ApplyStyleKit) - Elegant apply style, using Swift Method Chain. -* [OverlayContainer](https://github.com/applidium/ADOverlayContainer) - A library to develop overlay based interfaces, such as the one presented in the iOS 12 Apple Maps or Stocks apps. +* [OverlayContainer](https://github.com/applidium/OverlayContainer) - A library to develop overlay based interfaces, such as the one presented in the iOS 12 Apple Maps or Stocks apps. * [ClassicKit](https://github.com/Baddaboo/ClassicKit) - A collection of classic-style UI components for iOS. * [Sejima](https://github.com/MoveUpwards/Sejima) - A collection of User Interface components for iOS. * [UI Fabric by Microsoft](https://github.com/OfficeDev/ui-fabric-ios) - UI framework based on [Fluent Design System](https://www.microsoft.com/design/fluent/#/ios) by Microsoft. @@ -2404,7 +2404,7 @@ Most of these are paid services, some have free tiers. ### Login * [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. * [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. -* [Cely](https://github.com/initFabian/Cely) - Plug-n-Play login framework written in Swift. +* [Cely](https://github.com/cely-tools/Cely) - Plug-n-Play login framework written in Swift. ### Menu * [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. From c930c634c395a56fc037066509b3ad20c8230df6 Mon Sep 17 00:00:00 2001 From: Victor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Wed, 28 Aug 2019 00:01:08 +0300 Subject: [PATCH 2288/2606] Add goprimer to whitelist --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index bf2ecafee..ec6211fab 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ before_script: - gem install awesome_bot - gem install danger script: - - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,PerfectlySoft,gitter,instabug,weekly.awesomeios.com + - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,PerfectlySoft,gitter,instabug,weekly.awesomeios.com,goprimer - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix,amazon,facebook.com/groups,goo.gl,https://www.udemy.com - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger From ab193597b8a926b8199bb2cf931bdaaf8b2c6b63 Mon Sep 17 00:00:00 2001 From: Alex Gotev Date: Mon, 2 Sep 2019 09:17:55 +0300 Subject: [PATCH 2289/2606] Added ReactiveAPI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 13ec3be26..eb42cb0a4 100644 --- a/README.md +++ b/README.md @@ -1339,6 +1339,7 @@ Also see [push notifications](#push-notifications) * [AlamoRecord](https://github.com/tunespeak/AlamoRecord) - An elegant yet powerful iOS networking layer inspired by ActiveRecord. * [MHNetwork](https://github.com/emadhegab/MHNetwork) - Protocol Oriented Network Layer Aim to avoid having bloated singleton NetworkManager * [ThunderRequest](https://github.com/3sidedcube/ThunderRequest) - A simple URLSession wrapper with a generic protocol based request body approach and easy deserialisation of responses. +* [ReactiveAPI](https://github.com/sky-uk/ReactiveAPI) - Write clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit. ### Email From b0583423f8e05aa92b1bc359828be8b5fe65d53d Mon Sep 17 00:00:00 2001 From: Victor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Mon, 2 Sep 2019 23:11:49 +0300 Subject: [PATCH 2290/2606] Update the Big Nerd Ranch link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 08efa0eb5..5be0ef388 100644 --- a/README.md +++ b/README.md @@ -3234,7 +3234,7 @@ CollectionView, make Instagram Discover within minutes. * [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. * [raywenderlich.com](https://www.raywenderlich.com/ios) - Tutorials for developers and gamers * [Mike Ash](https://www.mikeash.com/pyblog/) -* [Big Nerd Ranch](https://www.bignerdranch.com/wp-content/uploads/2019/05/ios.jpg) +* [Big Nerd Ranch](https://www.bignerdranch.com/blog/category/ios/) * [Tuts+](https://code.tutsplus.com/categories/ios-sdk) * [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) * [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. From 0d80bc938f660988de8c1d77ef92e027ccf2ce5e Mon Sep 17 00:00:00 2001 From: Diego Trevisan Lara <34442011+diegotl@users.noreply.github.com> Date: Mon, 2 Sep 2019 23:14:42 -0300 Subject: [PATCH 2291/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eb42cb0a4..1506031d4 100644 --- a/README.md +++ b/README.md @@ -1002,6 +1002,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. * [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support * [TraceLog](https://github.com/tonystone/tracelog) - Dead Simple: logging the way it's meant to be! Runs on ios, osx, and Linux. +* [OkLog](https://github.com/diegotl/OkLog-Swift) - A network logger for iOS and macOS projects. ## Machine Learning From 6da2b25cd5bd9f96d635b1f7834687d4126bbbc8 Mon Sep 17 00:00:00 2001 From: Suryakant Sharma Date: Sat, 7 Sep 2019 14:13:47 +0530 Subject: [PATCH 2292/2606] Add SKCountrypicker library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eb42cb0a4..f57732953 100644 --- a/README.md +++ b/README.md @@ -2493,6 +2493,7 @@ Most of these are paid services, some have free tiers. * [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps * [planet](https://github.com/kwallet/planet) - A country picker * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. +* [SKCountryPicker](https://github.com/SURYAKANTSHARMA/CountryPicker) A simple, customizable Country picker for picking country or dialing code. * [ADDatePicker](https://github.com/abhiperry/ADDatePicker) - A fully customizable iOS Horizontal PickerView library, written in pure swift. ### Popup From 9a8218538b89b53ca4a679b3e1ea4c02de5d33f6 Mon Sep 17 00:00:00 2001 From: Suryakant Sharma Date: Sat, 7 Sep 2019 14:21:13 +0530 Subject: [PATCH 2293/2606] Add hyphen --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f57732953..a852eb334 100644 --- a/README.md +++ b/README.md @@ -2493,7 +2493,7 @@ Most of these are paid services, some have free tiers. * [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps * [planet](https://github.com/kwallet/planet) - A country picker * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. -* [SKCountryPicker](https://github.com/SURYAKANTSHARMA/CountryPicker) A simple, customizable Country picker for picking country or dialing code. +* [SKCountryPicker](https://github.com/SURYAKANTSHARMA/CountryPicker) - A simple, customizable Country picker for picking country or dialing code. * [ADDatePicker](https://github.com/abhiperry/ADDatePicker) - A fully customizable iOS Horizontal PickerView library, written in pure swift. ### Popup From 581f936e47dac66c3b86b61792a011c1a1d84697 Mon Sep 17 00:00:00 2001 From: Victor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Tue, 10 Sep 2019 16:59:09 +0300 Subject: [PATCH 2294/2606] Remove Mobile Couch --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5be0ef388..7dbdf7b87 100644 --- a/README.md +++ b/README.md @@ -3303,7 +3303,6 @@ CollectionView, make Instagram Discover within minutes. * [The Ray Wenderlich Podcast](https://www.raywenderlich.com/podcast) * [Debug](https://www.imore.com/debug) * [App Story](http://www.appstorypodcast.com) -* [Mobile Couch](https://mobilecouch.co/) * [iPhreaks](https://devchat.tv/iphreaks/) * [Under the Radar](https://www.relay.fm/radar) * [Core Intuition](http://coreint.org/) From 3e7a807e81419ef2f318d1a965e35a2a15c45e10 Mon Sep 17 00:00:00 2001 From: Suryakant Sharma Date: Tue, 10 Sep 2019 21:30:33 +0530 Subject: [PATCH 2295/2606] Move to bottom of list --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a852eb334..339436e82 100644 --- a/README.md +++ b/README.md @@ -2493,8 +2493,8 @@ Most of these are paid services, some have free tiers. * [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps * [planet](https://github.com/kwallet/planet) - A country picker * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. -* [SKCountryPicker](https://github.com/SURYAKANTSHARMA/CountryPicker) - A simple, customizable Country picker for picking country or dialing code. * [ADDatePicker](https://github.com/abhiperry/ADDatePicker) - A fully customizable iOS Horizontal PickerView library, written in pure swift. +* [SKCountryPicker](https://github.com/SURYAKANTSHARMA/CountryPicker) - A simple, customizable Country picker for picking country or dialing code. ### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). From 34d7f3f0f5f434def42ea18fa7cad725024df38f Mon Sep 17 00:00:00 2001 From: Victor Peschenkov <3672477+vpeschenkov@users.noreply.github.com> Date: Tue, 10 Sep 2019 19:42:21 +0300 Subject: [PATCH 2296/2606] Fix links --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 7dbdf7b87..a31d17a35 100644 --- a/README.md +++ b/README.md @@ -545,7 +545,7 @@ Awesome-iOS is an amazing list for people who need a certain feature on their ap * [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly synchronize NSUserDefaults over iCloud. * [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. * [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). -* [SwiftyUserDefaults](https://github.com/radex/SwiftyUserDefaults) - Statically-typed NSUserDefaults. +* [SwiftyUserDefaults](https://github.com/sunshinejr/SwiftyUserDefaults) - Statically-typed NSUserDefaults. * [SugarRecord](https://github.com/modo-studio/SugarRecord) - Data persistence management library. * [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. * [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support @@ -2085,7 +2085,6 @@ Most of these are paid services, some have free tiers. * [RZTransitions](https://github.com/Rightpoint/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. * [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. * [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. -* [Canvas](https://github.com/CanvasPod/Canvas) - Animate in Xcode without code http://canvaspod.io * [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy * [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS with Swift2. * [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). @@ -3024,7 +3023,7 @@ CollectionView, make Instagram Discover within minutes. * [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your macOS file system with their metadata to your iOS simulator (Swift 2.0) * [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a macOS utility to open and modify realm database files. * [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. -* [fastlane-plugin-appicon](https://github.com/KrauseFx/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. +* [fastlane-plugin-appicon](https://github.com/fastlane-community/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. * [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. * [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. * [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance @@ -3216,7 +3215,6 @@ CollectionView, make Instagram Discover within minutes. * [Code Facebook](https://engineering.fb.com/category/ios/) * [iOS Cookies](https://ioscookies.com/) - A hand curated collection of iOS libraries written in Swift * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. -* [iOS10 day-by-day](https://www.shinobicontrols.com/blog/ios-10-day-by-day-index/) * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. ### UIKit references From 1e1db41dfc566ff8afafabaec2940e477d35be61 Mon Sep 17 00:00:00 2001 From: shipinev Date: Mon, 16 Sep 2019 11:08:30 +0700 Subject: [PATCH 2297/2606] Add ConcentricOnboarding --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 77fef166b..dcd5f73c0 100644 --- a/README.md +++ b/README.md @@ -2954,6 +2954,7 @@ CollectionView, make Instagram Discover within minutes. * [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. * [WhatsNewKit](https://github.com/SvenTiigi/WhatsNewKit) - Showcase your awesome new app features 📱 * [OnboardKit](https://github.com/NikolaKirev/OnboardKit) - Customisable user onboarding for your iOS app +* [ConcentricOnboarding](https://github.com/exyte/ConcentricOnboarding) - SwiftUI library for a walkthrough or onboarding flow with tap actions. ## WebSocket * [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. From bcfa72613c2fa0a723664716e44349b624d993e8 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 23 Sep 2019 11:33:20 -0300 Subject: [PATCH 2298/2606] new instabug logo --- awesome_ios_instabug.png | Bin 0 -> 81825 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 awesome_ios_instabug.png diff --git a/awesome_ios_instabug.png b/awesome_ios_instabug.png new file mode 100644 index 0000000000000000000000000000000000000000..78ee7c44f71d73184b10d99892fe3e55b90d7f33 GIT binary patch literal 81825 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 literal 0 HcmV?d00001 From 189caf1e2d0d0bab85d8a64a29d9e9ca0f82c998 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 23 Sep 2019 12:43:52 -0300 Subject: [PATCH 2299/2606] update sponsorship branding and description. --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index dcd5f73c0..823e0c5ca 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,11 @@ The list is divided into categories such as Frameworks, Components, Testing and ko-fi -## Recommended SDK for bug and crash reporting [Instabug](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=header) -[![instabug-github](https://user-images.githubusercontent.com/9888943/35385975-e6829fc0-01d2-11e8-963f-2166c4a67763.gif)](https://try.instabug.com/awesomeios/?utm_source=awesomeios&utm_medium=spon&utm_content=banner) -> We highly recommend integrating Instabug’s framework as they compiled a lot of great features in their SDK that provide useful and rich data with each bug/crash report. -They removed the hassle of debugging as the SDK automatically attach screenshots, screen recordings, device details, network logs and repro-steps with each bug report which speeds up the development process. Instabug is offering awesome-ios community an exclusive **15% discount** on all paid plans. [**Go to 5-minute installation guide.**](https://try.instabug.com/awesomeios?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more)🚀 -[![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) +## Meet the New Instabug: Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users +[![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/awesome_ios_instabug.png)](https://try.instabug.com/awesomeios?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more) +> Instabug helps development and product teams easily collect bugs and feedback from beta testers and customers to iterate faster and ship quality apps .Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. +Mobile teams accelerate their workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk and much more. [Instabug offering awesome-ios community an exclusive 15% discount on all paid plans.](https://try.instabug.com/awesomeios?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more) +[![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com)Get Started! ## How to Use Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use it are: From 1c487adb1324bb888f94ec1e1e8aa3751f5ec773 Mon Sep 17 00:00:00 2001 From: Abdelrahman ElZamzamy Date: Tue, 24 Sep 2019 12:57:49 +0200 Subject: [PATCH 2300/2606] Update Instabug liisting --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 823e0c5ca..39446906c 100644 --- a/README.md +++ b/README.md @@ -16,10 +16,10 @@ The list is divided into categories such as Frameworks, Components, Testing and ko-fi ## Meet the New Instabug: Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users -[![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/awesome_ios_instabug.png)](https://try.instabug.com/awesomeios?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more) -> Instabug helps development and product teams easily collect bugs and feedback from beta testers and customers to iterate faster and ship quality apps .Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. -Mobile teams accelerate their workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk and much more. [Instabug offering awesome-ios community an exclusive 15% discount on all paid plans.](https://try.instabug.com/awesomeios?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more) -[![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com)Get Started! +[![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/awesome_ios_instabug.png)](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=photo) +> Instabug helps development and product teams easily collect bugs and feedback from beta testers and customers to iterate faster and ship quality apps. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. +Mobile teams accelerate their workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk and much more. [Instabug is offering awesome-ios community an exclusive 15% discount on all paid plans. Get Started!](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more) +[![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) ## How to Use Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use it are: From ab1771a3d0889b8050ca1fb2c41859deca995d58 Mon Sep 17 00:00:00 2001 From: Abdelrahman ElZamzamy Date: Tue, 24 Sep 2019 14:37:24 +0200 Subject: [PATCH 2301/2606] Update picture --- awesome_ios_instabug.png | Bin 81825 -> 29020 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/awesome_ios_instabug.png b/awesome_ios_instabug.png index 78ee7c44f71d73184b10d99892fe3e55b90d7f33..a9c82e2108e78dd63fdef61a06e769298d3f2db4 100644 GIT binary patch literal 29020 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≧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 From 5478456784a48a8c8a63c083cec232d3c4436c39 Mon Sep 17 00:00:00 2001 From: metasmile Date: Thu, 26 Sep 2019 10:47:24 +0200 Subject: [PATCH 2302/2606] Add SwiftKafka --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 823e0c5ca..5c71bfce8 100644 --- a/README.md +++ b/README.md @@ -1264,6 +1264,7 @@ Also see [push notifications](#push-notifications) * [MessageViewController](https://github.com/GitHawkApp/MessageViewController) - A SlackTextViewController replacement written in Swift for the iPhone X. * [SwiftyMessenger](https://github.com/abdullahselek/SwiftyMessenger) - Swift toolkit for passing messages between iOS apps and extensions. * [Messenger Chat with Firebase](https://github.com/instamobile/messenger-iOS-chat-swift-firestore) - Swift messaging chat app with Firebase Firestore integration. +* [SwiftKafka](https://github.com/IBM-Swift/SwiftKafka) - Swift SDK for Apache Kafka by IBM ## Networking * [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. From 591792e13d35f830264847a6e6c18e97086a4535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81s=20Cecilia=20Luque?= Date: Wed, 2 Oct 2019 12:16:05 +0200 Subject: [PATCH 2303/2606] Updated siesta URL to the github one, so https://awesome-repos.ecp.plus/ios.html can infer the star count and index it properly --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 823e0c5ca..cd6c92026 100644 --- a/README.md +++ b/README.md @@ -1278,7 +1278,7 @@ Also see [push notifications](#push-notifications) * [NSRails](https://github.com/dingbat/nsrails) - iOS/Mac OS framework for Rails. * [NKMultipeer](https://github.com/nathankot/NKMultipeer) - A testable abstraction over multipeer connectivity. * [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket) - Asynchronous socket networking library for Mac and iOS. -* [Siesta](https://bustoutsolutions.github.io/siesta/) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. +* [Siesta](https://github.com/bustoutsolutions/siesta) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. * [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures * [OctopusKit](https://github.com/icoco/OctopusKit) - A simplicity but graceful solution for invoke RESTful web service APIs. * [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. From d6efc8e1d66fa54f4ef6333c6029017e54222660 Mon Sep 17 00:00:00 2001 From: Zonily Jame Pesquera Date: Fri, 4 Oct 2019 08:27:44 +0800 Subject: [PATCH 2304/2606] Layer has officially shutdown last October 30, 2019. I removed their library --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 823e0c5ca..553300e8f 100644 --- a/README.md +++ b/README.md @@ -1256,7 +1256,6 @@ Also see [push notifications](#push-notifications) * [XMPPFramework](https://github.com/robbiehanson/XMPPFramework) - An XMPP Framework in Objective-C for Mac and iOS. * [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift * [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController -* [Atlas](https://github.com/layerhq/Atlas-iOS) - A library of native iOS messaging user interface components for Layer. * [Messenger](https://github.com/relatedcode/Messenger) - This is a native iOS Messenger app, making realtime chat conversations and audio calls with full offline support. * [OTTextChatAccelerator](https://github.com/opentok/accelerator-textchat-ios) - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices. * [chat-sdk-ios](https://github.com/chat-sdk/chat-sdk-ios) - Chat SDK iOS - Open Source Mobile Messenger. From d0998ad15262849db743fc6015ca79e10de6ecbe Mon Sep 17 00:00:00 2001 From: Swati Garg Date: Thu, 10 Oct 2019 14:58:52 +0530 Subject: [PATCH 2305/2606] fixing travis build --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e85e7961d..972dc1bc7 100644 --- a/README.md +++ b/README.md @@ -1607,7 +1607,7 @@ Most of these are paid services, some have free tiers. * [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. * [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. -* [Facebook](https://github.com/facebook/facebook-objc-sdk) Facebook iOS SDK. +* [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. * [Facebook Swift](https://github.com/facebook/facebook-swift-sdk) Integrate your iOS apps in Swift with Facebook Platform. * [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS * [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. @@ -1887,7 +1887,7 @@ Most of these are paid services, some have free tiers. * [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java * [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps * [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 -* [trainer](https://github.com/xcpretty/trainer) - Convert xcodebuild plist files to JUnit reports +* [trainer](https://github.com/fastlane-community/trainer) - Convert xcodebuild plist files to JUnit reports * [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur * [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift * [AcceptanceMark](https://github.com/bizz84/AcceptanceMark) Tool to auto-generate Xcode tests classes from Markdown tables @@ -3210,14 +3210,13 @@ CollectionView, make Instagram Discover within minutes. * [Natasha The Robot](https://www.natashatherobot.com/) * [Apple's Swift Blog](https://developer.apple.com/swift/blog/) * [iOS Programming Subreddit](https://www.reddit.com/r/iOSProgramming/) -* [iOS8-day-by-day](https://github.com/shinobicontrols/iOS8-day-by-day) +* [iOS8-day-by-day](https://github.com/ScottLogic/iOS8-day-by-day) * [iOScreator](https://www.ioscreator.com/) * [Mathew Sanders](http://mathewsanders.com/) * [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) * [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. -* [iOS9-day-by-day](https://github.com/shinobicontrols/iOS9-day-by-day) +* [iOS9-day-by-day](https://github.com/ScottLogic/iOS9-day-by-day) * [Code Facebook](https://engineering.fb.com/category/ios/) -* [iOS Cookies](https://ioscookies.com/) - A hand curated collection of iOS libraries written in Swift * [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. * [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. From f30be009fdb78acbf43d24fc312a2b685c207647 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 11 Oct 2019 12:09:49 -0300 Subject: [PATCH 2306/2606] Remove iRate. Deprecated. Closes #2863 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 972dc1bc7..1605c4e67 100644 --- a/README.md +++ b/README.md @@ -3128,7 +3128,6 @@ CollectionView, make Instagram Discover within minutes. * [Free App Store Optimization Tool](https://www.mobileaction.co) Lets you track your App Store visibility in terms of keywords and competitors. * [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. * [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. -* [iRate](https://github.com/nicklockwood/iRate) - A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while. Similar to Appirater, but with a simpler, cleaner interface and automatic support for iOS fast application switching. * [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. * [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. * [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. From 68e12eff7e3e40ce9aa6ccb9201670d91d87572d Mon Sep 17 00:00:00 2001 From: Oliver Borchert Date: Tue, 15 Oct 2019 01:13:44 +0200 Subject: [PATCH 2307/2606] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1605c4e67..6a7dc3ed3 100644 --- a/README.md +++ b/README.md @@ -1341,6 +1341,7 @@ Also see [push notifications](#push-notifications) * [MHNetwork](https://github.com/emadhegab/MHNetwork) - Protocol Oriented Network Layer Aim to avoid having bloated singleton NetworkManager * [ThunderRequest](https://github.com/3sidedcube/ThunderRequest) - A simple URLSession wrapper with a generic protocol based request body approach and easy deserialisation of responses. * [ReactiveAPI](https://github.com/sky-uk/ReactiveAPI) - Write clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit. +* [Squid](https://github.com/borchero/Squid) - Declarative and reactive networking framework based on Combine and providing means for HTTP requests, transparent pagination, and WebSocket communication. ### Email @@ -2966,6 +2967,7 @@ CollectionView, make Instagram Discover within minutes. * [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS * [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. * [DNWebSocket](https://github.com/GlebRadchenko/DNWebSocket) - Object-Oriented, Swift-style WebSocket Library (RFC 6455) for Swift-compatible Platforms. +* [Squid](https://github.com/borchero/Squid) - WebSocket library based on Combine where requests are handled very similarly to usual HTTP requests. ## Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. From 398673dc42f63e483f73e63129768be6fa6b621d Mon Sep 17 00:00:00 2001 From: Oliver Borchert Date: Tue, 15 Oct 2019 17:15:29 +0200 Subject: [PATCH 2308/2606] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6a7dc3ed3..cfc839e53 100644 --- a/README.md +++ b/README.md @@ -2967,7 +2967,6 @@ CollectionView, make Instagram Discover within minutes. * [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS * [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. * [DNWebSocket](https://github.com/GlebRadchenko/DNWebSocket) - Object-Oriented, Swift-style WebSocket Library (RFC 6455) for Swift-compatible Platforms. -* [Squid](https://github.com/borchero/Squid) - WebSocket library based on Combine where requests are handled very similarly to usual HTTP requests. ## Project setup * [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. From 887fd441b025921bf182e18e2dc873d86a1e6c72 Mon Sep 17 00:00:00 2001 From: Andriy Slyusar Date: Sat, 19 Oct 2019 18:20:14 +0200 Subject: [PATCH 2309/2606] SwiftyKeychainKit description --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1605c4e67..2d9b13d70 100644 --- a/README.md +++ b/README.md @@ -1722,6 +1722,7 @@ Most of these are paid services, some have free tiers. * [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. * [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. * [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. +* [SwiftyKeychainKit](https://github.com/andriyslyusar/SwiftyKeychainKit) - Keychain wrapper with the benefits of static typing and convenient syntax, support for primitive types, Codable, NSCoding. ## Server From 7764940ecdb74cc68e0a62158fdc328446d840db Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 21 Oct 2019 11:30:26 -0300 Subject: [PATCH 2310/2606] remove 'how to use' section --- README.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/README.md b/README.md index 7df607a04..a74548eaa 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,6 @@ The list is divided into categories such as Frameworks, Components, Testing and Mobile teams accelerate their workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk and much more. [Instabug is offering awesome-ios community an exclusive 15% discount on all paid plans. Get Started!](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more) [![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) -## How to Use -Awesome-iOS is an amazing list for people who need a certain feature on their app, so the best ways to use it are: -- Ask for help on our [Twitter](https://twitter.com/awesome_ios) or [Gitter Channel](https://gitter.im/vsouza/awesome-ios) -- Simply press command + F to search for a keyword -- Go through our *Content Menu* - ### Content - [About](#about) - [How to Use](#how-to-use) @@ -2495,7 +2489,7 @@ Most of these are paid services, some have free tiers. * [planet](https://github.com/kwallet/planet) - A country picker * [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. * [ADDatePicker](https://github.com/abhiperry/ADDatePicker) - A fully customizable iOS Horizontal PickerView library, written in pure swift. -* [SKCountryPicker](https://github.com/SURYAKANTSHARMA/CountryPicker) - A simple, customizable Country picker for picking country or dialing code. +* [SKCountryPicker](https://github.com/SURYAKANTSHARMA/CountryPicker) - A simple, customizable Country picker for picking country or dialing code. ### Popup * [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). From 5daa9b650916e43a2a42dcc49b9a031c6d9d58ef Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 21 Oct 2019 11:38:32 -0300 Subject: [PATCH 2311/2606] reorganize header layout --- README.md | 9 +-------- buy_me_a_coffee.png | Bin 0 -> 38354 bytes 2 files changed, 1 insertion(+), 8 deletions(-) create mode 100644 buy_me_a_coffee.png diff --git a/README.md b/README.md index a74548eaa..d02eed147 100644 --- a/README.md +++ b/README.md @@ -4,17 +4,10 @@ awesome Join the chat at gitter Build Status + Buy Me a Coffee PRs Welcome

- - -## About -A curated list of awesome iOS frameworks, libraries, tutorials, Xcode extensions and plugins, components and much more. -The list is divided into categories such as Frameworks, Components, Testing and others, open source projects, free and paid services. There is no pre-established order of items in each category, the order is for contribution. If you want to contribute, please read the [guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md). - -ko-fi - ## Meet the New Instabug: Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users [![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/awesome_ios_instabug.png)](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=photo) > Instabug helps development and product teams easily collect bugs and feedback from beta testers and customers to iterate faster and ship quality apps. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. diff --git a/buy_me_a_coffee.png b/buy_me_a_coffee.png new file mode 100644 index 0000000000000000000000000000000000000000..22c54b57301681a4f5d5d77628d7f32142e63eda GIT binary patch literal 38354 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 GKKVZZan>jR literal 0 HcmV?d00001 From a21c4184705e1f1999fd02aa9f3a23f924110a55 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 21 Oct 2019 11:40:24 -0300 Subject: [PATCH 2312/2606] fix header image --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index d02eed147..2682078a2 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,8 @@

awesome - Join the chat at gitter Build Status - Buy Me a Coffee - PRs Welcome + Buy Me a Coffee

## Meet the New Instabug: Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users From 7a200c45a032f4a25e815e1f7de546fe6712b7d8 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 21 Oct 2019 11:42:10 -0300 Subject: [PATCH 2313/2606] add partner logo --- triplebyte_logo.png | Bin 0 -> 22125 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 triplebyte_logo.png diff --git a/triplebyte_logo.png b/triplebyte_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1185b145ec4c428e1be161b17f7c74f5aa1d21c3 GIT binary patch literal 22125 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 PFv#Pcu6{1-oD!M<+%)Xb literal 0 HcmV?d00001 From f503f41db180ec6ad2eaa26c8d79fa656d670ad1 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 21 Oct 2019 11:56:32 -0300 Subject: [PATCH 2314/2606] reorganize header components --- README.md | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2682078a2..aadc0755d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,20 @@ - +

awesome @@ -6,6 +22,8 @@ Buy Me a Coffee

+ + ## Meet the New Instabug: Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users [![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/awesome_ios_instabug.png)](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=photo) > Instabug helps development and product teams easily collect bugs and feedback from beta testers and customers to iterate faster and ship quality apps. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. @@ -13,8 +31,6 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par [![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) ### Content -- [About](#about) -- [How to Use](#how-to-use) - [Courses](#courses) - [Accessibility](#accessibility) - [Alexa](#alexa) From 8cf097505d1e7025e5d664d005d8118a8a43d3fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel=20D=C3=ADaz?= Date: Wed, 23 Oct 2019 15:20:37 +0200 Subject: [PATCH 2315/2606] Update README.md revert changes done in SwiftyKeychainKit remove extra links - appstore remove extra links --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aadc0755d..8146a96d6 100644 --- a/README.md +++ b/README.md @@ -3154,6 +3154,7 @@ CollectionView, make Instagram Discover within minutes. * [Snowonder](https://github.com/Karetski/Snowonder) - 🔮 Magical import declarations formatter for Xcode. * [XVim2](https://github.com/XVimProject/XVim2) - Vim key-bindings for Xcode 9. * [Comment Spell Checker](https://github.com/velyan/Comment-Spell-Checker) - Xcode extension for spell checking and auto correcting code comments. +* [nef](https://github.com/bow-swift/nef-plugin) - This Xcode extension enables you to make a code selection and export it to a snippets. Available on Mac AppStore. ### Themes From fcd112ab08d2c2d1d5e1b70652e2a89bfc525728 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 23 Oct 2019 11:53:52 -0300 Subject: [PATCH 2316/2606] fix #2838 - Move 'DGRunkeeperSwitch' to segmented control --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index aadc0755d..397af1065 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@


- +

awesome @@ -2578,6 +2578,7 @@ Most of these are paid services, some have free tiers. * [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect * [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. * [Rotary](https://github.com/BowdusBrown/Rotary) - A customisable rotary wheel composed of selectable segments. +* [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) ### Slider * [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. @@ -2624,7 +2625,6 @@ Most of these are paid services, some have free tiers. * [JTMaterialSwitch](https://github.com/JunichiT/JTMaterialSwitch) - A customizable switch UI with ripple effect and bounce animations, inspired from Google's Material Design. * [TKSwitcherCollection](https://github.com/TBXark/TKSwitcherCollection) - An animate switch collection * [SevenSwitch](https://github.com/bvogelzang/SevenSwitch) - iOS7 style drop in replacement for UISwitch. -* [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) * [PMZSwitch](https://github.com/kovpas/PMZSwitch) - Yet another animated toggle * [Switcher](https://github.com/knn90/Switcher) - Swift - Custom UISwitcher with animation when change status * [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. From 82b1774fbec81e9a3e840a3c3d8d1b6c8298b534 Mon Sep 17 00:00:00 2001 From: Arasuvel Date: Fri, 25 Oct 2019 08:01:06 +0530 Subject: [PATCH 2317/2606] Add DuctTape. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 397af1065..458f1377a 100644 --- a/README.md +++ b/README.md @@ -2918,6 +2918,7 @@ CollectionView, make Instagram Discover within minutes. * [SwiftProvisioningProfile](https://github.com/Sherlouk/SwiftProvisioningProfile) - Parse provisioning profiles into Swift models. * [Once](https://github.com/luoxiu/Once) - Minimalist library to manage one-off operations. * [ZamzamKit](https://github.com/ZamzamInc/ZamzamKit) - A collection of micro utilities and extensions for Standard Library, Foundation and UIKit. + * [DuctTape](https://github.com/marty-suzuki/DuctTape) - 📦 KeyPath dynamicMemberLookup based syntax sugar for swift. ## User Consent * [SmartlookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. From b7d71154f5381cc3a1c6ca22dbd7e6fe2fc10def Mon Sep 17 00:00:00 2001 From: Arasuvel Date: Sat, 26 Oct 2019 14:24:33 +0530 Subject: [PATCH 2318/2606] Add Ribbon. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9cbef191e..7dfdeb3bd 100644 --- a/README.md +++ b/README.md @@ -2381,6 +2381,7 @@ Most of these are paid services, some have free tiers. * [Toolbar](https://github.com/1amageek/Toolbar) - Awesome autolayout Toolbar. * [IHKeyboardAvoiding](https://github.com/IdleHandsApps/IHKeyboardAvoiding) - A drop-in universal solution for keeping any UIView visible when the keyboard is being shown - no more UIScrollViews! * [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). +* [Ribbon](https://github.com/chriszielinski/Ribbon) - A simple cross-platform toolbar/custom input accessory view library for iOS & macOS. ### Label * [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. From be7127a2df1bd06d1756f57e2e168d19a0bd6a15 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 28 Oct 2019 12:07:26 -0300 Subject: [PATCH 2319/2606] merge --- README.md | 5171 ++++++++++++++++++++++++++--------------------------- 1 file changed, 2585 insertions(+), 2586 deletions(-) diff --git a/README.md b/README.md index 7dfdeb3bd..48a30825b 100644 --- a/README.md +++ b/README.md @@ -196,603 +196,603 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par *Courses, tutorials and guides* -* [Apple- Start Developing with iOS](https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. -* [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) -* [Apple - Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) -* [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. -* [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? -* [Ray Wenderlich](https://www.raywenderlich.com/2690-learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. -* [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) -* [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. -* [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. -* [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) -* [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) -* [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/) -* [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners. +- [Apple- Start Developing with iOS](https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. +- [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) +- [Apple - Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) +- [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. +- [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? +- [Ray Wenderlich](https://www.raywenderlich.com/2690-learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. +- [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) +- [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. +- [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. +- [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) +- [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) +- [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/) +- [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners. ## Accessibility *Frameworks that help to support accessibility features and enable people with disabilities to use your app* -* [Capable](https://github.com/chrs1885/Capable) - Track accessibility features to improve your app for people with certain disabilities. +- [Capable](https://github.com/chrs1885/Capable) - Track accessibility features to improve your app for people with certain disabilities. ## Alexa *Frameworks that help to support writing custom alexa skills in swift* -* [AlexaSkillsKit](https://github.com/choefele/AlexaSkillsKit) - Swift library to develop custom Alexa Skills. +- [AlexaSkillsKit](https://github.com/choefele/AlexaSkillsKit) - Swift library to develop custom Alexa Skills. ## Analytics *Analytics platforms, SDK's, error tracking and real-time answers about your app* -* [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. -* [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. -* [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. -* [Answers by Fabric](https://get.fabric.io) - Answers gives you real-time insight into people’s experience in your app. -* [GTrack](https://github.com/gemr/GTrack) - Lightweight Objective-C wrapper around the Google Analytics for iOS SDK with some extra goodies. -* [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. -* [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. -* [MOCA Analytics](http://www.mocaplatform.com/features) - Paid cross-platform analytics backend. -* [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. -* [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. -* [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. -* [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. -* [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. -* [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. +- [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. +- [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. +- [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. +- [Answers by Fabric](https://get.fabric.io) - Answers gives you real-time insight into people’s experience in your app. +- [GTrack](https://github.com/gemr/GTrack) - Lightweight Objective-C wrapper around the Google Analytics for iOS SDK with some extra goodies. +- [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. +- [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. +- [MOCA Analytics](http://www.mocaplatform.com/features) - Paid cross-platform analytics backend. +- [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. +- [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. +- [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. +- [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. +- [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. +- [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. ## App Routing *Elegant URL routing, navigation frameworks, deep links and more* -* [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! -* [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. -* [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. -* [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. -* [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks -* [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. -* [URLNavigator](https://github.com/devxoul/URLNavigator) - ⛵️ Elegant URL Routing for Swift -* [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. -* [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS. -* [Router](https://github.com/freshOS/Router) - 🛣 Simple Navigation for iOS. -* [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. -* [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. -* [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS. -* [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - 📱📲 Navigate between view controllers with ease. -* [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. -* [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. -* [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. -* [RouteComposer](https://github.com/ekazaev/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. -* [LightRoute](https://github.com/SpectralDragon/LightRoute) - Easy transition between VIPER modules, implemented on pure Swift. +- [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! +- [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. +- [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. +- [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. +- [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks +- [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. +- [URLNavigator](https://github.com/devxoul/URLNavigator) - Elegant URL Routing for Swift +- [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. +- [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS. +- [Router](https://github.com/freshOS/Router) - Simple Navigation for iOS. +- [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. +- [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. +- [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS. +- [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - Navigate between view controllers with ease. +- [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. +- [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. +- [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. +- [RouteComposer](https://github.com/ekazaev/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. +- [LightRoute](https://github.com/SpectralDragon/LightRoute) - Easy transition between VIPER modules, implemented on pure Swift. ## Apple TV *tvOS view controllers, wrappers, template managers and video players.* -* [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. -* [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS -* [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager with or without client-server -* [BrowserTV](https://github.com/zats/BrowserTV) - Turn your TV into a dashboard displaying any webpage! -* [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. -* [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. -* [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text -* [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS -* [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. -* [TvOSPinKeyboard](https://github.com/zattoo/TvOSPinKeyboard) - PIN keyboard for tvOS -* [TvOSScribble](https://github.com/dcordero/TvOSScribble) - Handwriting numbers recognizer for Siri Remote -* [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS -* [TvOSSlider](https://github.com/zattoo/TvOSSlider) - TvOSSlider is an implementation of UISlider for tvOS +- [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. +- [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS. +- [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager with or without client-server. +- [BrowserTV](https://github.com/zats/BrowserTV) - Turn your Apple TV into a dashboard displaying any webpage! +- [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. +- [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. +- [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text +- [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS +- [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. +- [TvOSPinKeyboard](https://github.com/zattoo/TvOSPinKeyboard) - PIN keyboard for tvOS. +- [TvOSScribble](https://github.com/dcordero/TvOSScribble) - Handwriting numbers recognizer for Siri Remote. +- [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS. +- [TvOSSlider](https://github.com/zattoo/TvOSSlider) - TvOSSlider is an implementation of UISlider for tvOS. ## Architecture Patterns *Clean architecture, Viper, MVVM, Reactive... choose your weapon.* -* [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. -* [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. -* [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. -* [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS -* [YARCH](https://github.com/alfa-laboratory/YARCH) - More clean alternative to VIPER with unidirectional data flow (flux-like). -* [iOS-Viper-Architecture](https://github.com/MindorksOpenSource/iOS-Viper-Architecture) - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc. -* [Tempura](https://github.com/BendingSpoons/tempura-swift) - A holistic approach to iOS development, inspired by Redux and MVVM. -* [VIPER Module Generator](https://github.com/Kaakati/VIPER-Module-Generator) - A Clean VIPER Modules Generator with comments and predfined functions. -* [MMVMi](https://github.com/Maryom/MMVMi) - A Validation Model for MVC and MVVM Design Patterns in iOS Applications. -* [ios-architecture](https://github.com/tailec/ios-architecture) - A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others +- [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. +- [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. +- [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. +- [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS. +- [YARCH](https://github.com/alfa-laboratory/YARCH) - More clean alternative to VIPER with unidirectional data flow (flux-like). +- [iOS-Viper-Architecture](https://github.com/MindorksOpenSource/iOS-Viper-Architecture) - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc. +- [Tempura](https://github.com/BendingSpoons/tempura-swift) - A holistic approach to iOS development, inspired by Redux and MVVM. +- [VIPER Module Generator](https://github.com/Kaakati/VIPER-Module-Generator) - A Clean VIPER Modules Generator with comments and predfined functions. +- [MMVMi](https://github.com/Maryom/MMVMi) - A Validation Model for MVC and MVVM Design Patterns in iOS Applications. +- [ios-architecture](https://github.com/tailec/ios-architecture) - A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others. ## ARKit *Library and tools to help you build unparalleled augmented reality experiences* -* [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) -Combines the high accuracy of AR with the scale of GPS data. -* [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. -* [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆. -* [ARKitEnvironmentMapper](https://github.com/svhawks/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. -* [SmileToUnlock](https://github.com/rsrbk/SmileToUnlock) - This library uses ARKit Face Tracking in order to catch a user's smile. -* [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision -* [Poly](https://github.com/piemonte/Poly) - Unofficial Google Poly SDK – search and display 3D models -* [ARKit Emperor](https://github.com/kboy-silvergym/ARKit-Emperor) - The Emperor give you the most practical ARKit samples ever. +- [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) - Combines the high accuracy of AR with the scale of GPS data. +- [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. +- [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos, photos, Live Photos, and GIFs. +- [ARKitEnvironmentMapper](https://github.com/svhawks/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. +- [SmileToUnlock](https://github.com/rsrbk/SmileToUnlock) - This library uses ARKit Face Tracking in order to catch a user's smile. +- [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision. +- [Poly](https://github.com/piemonte/Poly) - Unofficial Google Poly SDK – search and display 3D models. +- [ARKit Emperor](https://github.com/kboy-silvergym/ARKit-Emperor) - The Emperor give you the most practical ARKit samples ever. ## Authentication *Oauth and Oauth2 libraries, social logins and captcha tools.* -* [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. -* [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. -* [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. -* [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for macOS and iOS, written in Swift. -* [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS -* [SimpleAuth](https://github.com/calebd/SimpleAuth) - Simple social authentication for iOS. -* [AlamofireOauth2](https://github.com/evermeer/AlamofireOauth2) - A swift implementation of OAuth2 -* [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers -* [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and macOS apps. -* [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. -* [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. -* [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. -* [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. -* [InstagramLogin](https://github.com/AnderGoig/InstagramLogin) - A simple way to authenticate Instagram accounts on iOS. -* [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - [In]visible ReCaptcha for iOS. -* [LinkedInSignIn](https://github.com/serhii-londar/LinkedInSignIn) - Simple view controller to login and retrieve access token from LinkedIn. +- [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. +- [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. +- [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. +- [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for macOS and iOS, written in Swift. +- [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS +- [SimpleAuth](https://github.com/calebd/SimpleAuth) - Simple social authentication for iOS. +- [AlamofireOauth2](https://github.com/evermeer/AlamofireOauth2) - A swift implementation of OAuth2. +- [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers. +- [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and macOS apps. +- [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. +- [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. +- [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. +- [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. +- [InstagramLogin](https://github.com/AnderGoig/InstagramLogin) - A simple way to authenticate Instagram accounts on iOS. +- [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - (In)visible ReCaptcha for iOS. +- [LinkedInSignIn](https://github.com/serhii-londar/LinkedInSignIn) - Simple view controller to login and retrieve access token from LinkedIn. ## Blockchain *Tool for smart contract interactions. Bitcoin protocol implementations and Frameworks for interacting with cryptocurrencies.* -* [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. -* [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. -* [EthereumKit](https://github.com/D-Technologies/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. -* [BitcoinKit](https://github.com/yenom/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. -* [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. -* [CoinpaprikaAPI](https://github.com/coinpaprika/coinpaprika-api-swift-client) - Coinpaprika API client with free & frequently updated market data from the world of crypto: coin prices, volumes, market caps, ATHs, return rates and more. -* [Bitcoin-Swift-Kit](https://github.com/horizontalsystems/bitcoin-kit-ios) - Full Bitcoin library written on Swift. Complete SPV wallet implementation for Bitcoin, Bitcoin Cash and Dash blockchains. +- [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. +- [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. +- [EthereumKit](https://github.com/D-Technologies/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. +- [BitcoinKit](https://github.com/yenom/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. +- [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. +- [CoinpaprikaAPI](https://github.com/coinpaprika/coinpaprika-api-swift-client) - Coinpaprika API client with free & frequently updated market data from the world of crypto: coin prices, volumes, market caps, ATHs, return rates and more. +- [Bitcoin-Swift-Kit](https://github.com/horizontalsystems/bitcoin-kit-ios) - Full Bitcoin library written on Swift. Complete SPV wallet implementation for Bitcoin, Bitcoin Cash and Dash blockchains. ## Bridging *Sharing code between Objective-C and Swift, iOS and macOS, Javascript and Objective-C.* -* [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. -* [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. -* [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews. -* [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS. +- [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. +- [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. +- [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews. +- [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS. ## Cache *Thread safe, offline and high performance cache libs and frameworks.* -* [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift) -* [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content -* [Carlos](https://github.com/spring-media/Carlos) - A simple but flexible cache -* [HanekeSwift](https://github.com/Haneke/HanekeSwift) - A lightweight generic cache for iOS written in Swift with extra love for images. -* [YYCache](https://github.com/ibireme/YYCache) - High performance cache framework for iOS. -* [Cache](https://github.com/hyperoslo/Cache) - Nothing but Cache. -* [MGCacheManager](https://github.com/Mortgy/MGCacheManager) - A delightful iOS Networking Cache Managing Class. -* [SPTPersistentCache](https://github.com/spotify/SPTPersistentCache) - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify -* [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. -* [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cell cache that cures scroll-lags on a cell instantiating. -* [RocketData](https://github.com/plivesey/RocketData) - A caching and consistency solution for immutable models. -* [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS -* [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift -* [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. -* [Cachyr](https://github.com/nrkno/yr-cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift -* [Cache](https://github.com/soffes/Cache) - Swift caching library. -* [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. +- [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift). +- [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content. +- [Carlos](https://github.com/spring-media/Carlos) - A simple but flexible cache. +- [HanekeSwift](https://github.com/Haneke/HanekeSwift) - A lightweight generic cache for iOS written in Swift with extra love for images. +- [YYCache](https://github.com/ibireme/YYCache) - High performance cache framework for iOS. +- [Cache](https://github.com/hyperoslo/Cache) - Nothing but Cache. +- [MGCacheManager](https://github.com/Mortgy/MGCacheManager) - A delightful iOS Networking Cache Managing Class. +- [SPTPersistentCache](https://github.com/spotify/SPTPersistentCache) - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify. +- [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. +- [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cell cache that cures scroll-lags on a cell instantiating. +- [RocketData](https://github.com/plivesey/RocketData) - A caching and consistency solution for immutable models. +- [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS. +- [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift. +- [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. +- [Cachyr](https://github.com/nrkno/yr-cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift. +- [Cache](https://github.com/soffes/Cache) - Swift caching library. +- [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. ## Charts *Beautiful, Easy and Fully customized charts* -* [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). -* [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS -* [XJYChart](https://github.com/JunyiXie/XJYChart) - A Beautiful chart for iOS. Support animation, click, slide, area highlight. -* [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Elegant Line Graphs for iOS (charting library). -* [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. -* [XYPieChart](https://github.com/xyfeng/XYPieChart) - A simple and animated Pie Chart for your iOS app. -* [TEAChart](https://github.com/xhacker/TEAChart) - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart. -* [EChart](https://github.com/zhuhuihuihui/EChart) - iOS/iPhone/iPad Chart, Graph. Event handling and animation supported. -* [FSLineChart](https://github.com/ArthurGuibert/FSLineChart) - A line chart library for iOS. -* [chartee](https://github.com/zhiyu/chartee) - a charting library for mobile platforms. -* [ANDLineChartView](https://github.com/anaglik/ANDLineChartView) - ANDLineChartView is easy to use view-based class for displaying animated line chart. -* [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. -* [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. -* [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. -* [Scrollable-GraphView](https://github.com/philackm/ScrollableGraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. -* [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. -* [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generator for iOS. -* [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS! -* [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. -* [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift -* [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantastically fast and fully customizable. Amazing animations available with MagicPie!!1 🎉 ✨✨✨✨✨ -* [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. -* [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. -* [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. -* [core-plot](https://github.com/core-plot/core-plot) - a 2D plotting lib which is highly customizable and capable of drawing many types of plots. -* [ChartProgressBar](https://github.com/hadiidbouk/ChartProgressBar-iOS) - Draw a chart with progress bar style. -* [SMDiagramViewSwift](https://github.com/VRGsoftUA/SMDiagramView) - Meet cute and very flexibility library for iOS application for different data view in one circle diagram. -* [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. -* [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. -* [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit. -* [CoreCharts](https://github.com/cagricolak/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products. +- [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). +- [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS. +- [XJYChart](https://github.com/JunyiXie/XJYChart) - A Beautiful chart for iOS. Support animation, click, slide, area highlight. +- [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Elegant Line Graphs for iOS (charting library). +- [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. +- [XYPieChart](https://github.com/xyfeng/XYPieChart) - A simple and animated Pie Chart for your iOS app. +- [TEAChart](https://github.com/xhacker/TEAChart) - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart. +- [EChart](https://github.com/zhuhuihuihui/EChart) - iOS/iPhone/iPad Chart, Graph. Event handling and animation supported. +- [FSLineChart](https://github.com/ArthurGuibert/FSLineChart) - A line chart library for iOS. +- [chartee](https://github.com/zhiyu/chartee) - A charting library for mobile platforms. +- [ANDLineChartView](https://github.com/anaglik/ANDLineChartView) - ANDLineChartView is easy to use view-based class for displaying animated line chart. +- [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. +- [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. +- [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. +- [Scrollable-GraphView](https://github.com/philackm/ScrollableGraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. +- [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. +- [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generator for iOS. +- [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS. +- [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. +- [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift. +- [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantastically fast and fully customizable. Amazing animations available with MagicPie. +- [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. +- [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. +- [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. +- [core-plot](https://github.com/core-plot/core-plot) - a 2D plotting lib which is highly customizable and capable of drawing many types of plots. +- [ChartProgressBar](https://github.com/hadiidbouk/ChartProgressBar-iOS) - Draw a chart with progress bar style. +- [SMDiagramViewSwift](https://github.com/VRGsoftUA/SMDiagramView) - Meet cute and very flexibility library for iOS application for different data view in one circle diagram. +- [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. +- [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. +- [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit. +- [CoreCharts](https://github.com/cagricolak/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products. ## Code Quality *Quality always matters. Code checkers, memory vigilants, syntastic sugars and more.* -* [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. -* [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL. -* [PSPDFUIKitMainThreadGuard](https://gist.github.com/steipete/5664345) - Simple snippet generating assertions when UIKit is used on background threads. -* [ocstyle](https://github.com/Cue/ocstyle) - Objective-C style checker. -* [spacecommander](https://github.com/square/spacecommander) - Commit fully-formatted Objective-C code as a team without even trying. -* [DWURecyclingAlert](https://github.com/diwu/DWURecyclingAlert) - Optimizing UITableViewCell For Fast Scrolling. -* [Tailor](https://github.com/sleekbyte/tailor) - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs. -* [SwiftCop](https://github.com/andresinaka/SwiftCop) - SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations. -* [Trackable](https://github.com/VojtaStavik/Trackable) - Trackable is a simple analytics integration helper library. It’s especially designed for easy and comfortable integration with existing projects. -* [MLeaksFinder](https://github.com/Tencent/MLeaksFinder) - Find memory leaks in your iOS app at develop time. -* [HeapInspector-for-iOS](https://github.com/tapwork/HeapInspector-for-iOS) - Find memory issues & leaks in your iOS app without instruments -* [FBMemoryProfiler](https://github.com/facebook/FBMemoryProfiler) - iOS tool that helps with profiling iOS Memory usage. -* [FBRetainCycleDetector](https://github.com/facebook/FBRetainCycleDetector) - iOS library to help detecting retain cycles in runtime. -* [Buglife](https://github.com/Buglife/Buglife-iOS) - Awesome bug reporting for iOS apps -* [Warnings-xcconfig](https://github.com/boredzo/Warnings-xcconfig) - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets. -* [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. -* [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. -* [GlueKit](https://github.com/attaswift/GlueKit) - A type-safe observer framework for Swift. -* [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. -* [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. -* [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. -* [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. -* [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. -* [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. -* [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. -* [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. -* [WeakableSelf](https://github.com/vincent-pradeilles/weakable-self) - A Swift micro-framework to encapsulate `[weak self]` and `guard` statements within closures. +- [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. +- [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL. +- [PSPDFUIKitMainThreadGuard](https://gist.github.com/steipete/5664345) - Simple snippet generating assertions when UIKit is used on background threads. +- [ocstyle](https://github.com/Cue/ocstyle) - Objective-C style checker. +- [spacecommander](https://github.com/square/spacecommander) - Commit fully-formatted Objective-C code as a team without even trying. +- [DWURecyclingAlert](https://github.com/diwu/DWURecyclingAlert) - Optimizing UITableViewCell For Fast Scrolling. +- [Tailor](https://github.com/sleekbyte/tailor) - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs. +- [SwiftCop](https://github.com/andresinaka/SwiftCop) - SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations. +- [Trackable](https://github.com/VojtaStavik/Trackable) - Trackable is a simple analytics integration helper library. It’s especially designed for easy and comfortable integration with existing projects. +- [MLeaksFinder](https://github.com/Tencent/MLeaksFinder) - Find memory leaks in your iOS app at develop time. +- [HeapInspector-for-iOS](https://github.com/tapwork/HeapInspector-for-iOS) - Find memory issues & leaks in your iOS app without instruments. +- [FBMemoryProfiler](https://github.com/facebook/FBMemoryProfiler) - iOS tool that helps with profiling iOS Memory usage. +- [FBRetainCycleDetector](https://github.com/facebook/FBRetainCycleDetector) - iOS library to help detecting retain cycles in runtime. +- [Buglife](https://github.com/Buglife/Buglife-iOS) - Awesome bug reporting for iOS apps. +- [Warnings-xcconfig](https://github.com/boredzo/Warnings-xcconfig) - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets. +- [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. +- [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. +- [GlueKit](https://github.com/attaswift/GlueKit) - A type-safe observer framework for Swift. +- [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. +- [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. +- [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. +- [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. +- [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. +- [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. +- [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. +- [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. +- [WeakableSelf](https://github.com/vincent-pradeilles/weakable-self) - A Swift micro-framework to encapsulate `[weak self]` and `guard` statements within closures. ### Linter *Static code analyzers to enforce style and conventions.* -* [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. -* [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. -* [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. -* [IBLinter](https://github.com/IBDecodable/IBLinter) - A linter tool for Interface Builder. -* [SwiftLinter](https://github.com/muyexi/SwiftLinter) - Share lint rules between projects and lint changed files with SwiftLint. +- [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. +- [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. +- [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. +- [IBLinter](https://github.com/IBDecodable/IBLinter) - A linter tool for Interface Builder. +- [SwiftLinter](https://github.com/muyexi/SwiftLinter) - Share lint rules between projects and lint changed files with SwiftLint. ## Color *Hex color extensions, theming, color pickers and other awesome color tools.* -* [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. [e] -* [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. [e] -* [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier. -* [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. -* [Hue](https://github.com/zenangst/Hue) - Hue is the all-in-one coloring utility that you'll ever need. -* [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. -* [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from randomColor.js. -* [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. -* [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift) -* [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes -* [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to ECMA Standard 48. -* [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). -* [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. -* [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. -* [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. -* [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. -* [Lorikeet](https://github.com/valdirunars/Lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation. -* [Gestalt](https://github.com/regexident/Gestalt) - An unintrusive & light-weight iOS app-theming library with support for animated theme switching. +- [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. +- [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. +- [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier. +- [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. +- [Hue](https://github.com/zenangst/Hue) - Hue is the all-in-one coloring utility that you'll ever need. +- [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. +- [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from `randomColor.js`. +- [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. +- [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift). +- [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes. +- [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to ECMA Standard 48. +- [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). +- [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. +- [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. +- [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. +- [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. +- [Lorikeet](https://github.com/valdirunars/Lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation. +- [Gestalt](https://github.com/regexident/Gestalt) - An unintrusive & light-weight iOS app-theming library with support for animated theme switching. ## Command Line *Smart, beauftil and elegant tools to help you create command line applications.* -* [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. -* [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift -* [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. -* [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift -* [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts -* [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. -* [Crayon](https://github.com/luoxiu/Crayon) - Terminal string styling with expressive api and 256/TrueColor support. -* [SwiftShell](https://github.com/kareman/SwiftShell) - A Swift framework for shell scripting and running shell commands. -* [SourceDocs](https://github.com/eneko/SourceDocs) - Command Line Tool that generates Markdown documentation from inline source code comments. +- [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. +- [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift. +- [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. +- [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift. +- [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts. +- [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. +- [Crayon](https://github.com/luoxiu/Crayon) - Terminal string styling with expressive api and 256/TrueColor support. +- [SwiftShell](https://github.com/kareman/SwiftShell) - A Swift framework for shell scripting and running shell commands. +- [SourceDocs](https://github.com/eneko/SourceDocs) - Command Line Tool that generates Markdown documentation from inline source code comments. ## Concurrency *Job schedulers, Coroutines, Asynchronous and Type safe threads libs and frameworks written in Swift* -* [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift. -* [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives. -* [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift. -* [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. -* [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. -* [Overdrive](https://github.com/saidsikira/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. -* [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. -* [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. -* [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift -* [Flow-iOS](https://github.com/roytornado/Flow-iOS) - Make your logic flow and data flow clean and human readable -* [Queuer](https://github.com/FabrizioBrancati/Queuer) - A queue manager, built on top of OperationQueue and Dispatch (aka GCD). -* [SwiftQueue](https://github.com/lucas34/SwiftQueue) - Job Scheduler with Concurrent run, failure/retry, persistence, repeat, delay and more. -* [GroupWork](https://github.com/quanvo87/GroupWork) - Easy concurrent, asynchronous tasks in Swift. -* [StickyLocking](https://github.com/stickytools/sticky-locking) - A general purpose embedded hierarchical lock manager used to build highly concurrent applications of all types. Built with Swift and runs on iOS, OSX, and Linux. +- [Venice](https://github.com/Zewo/Venice) - CSP (Coroutines, Channels, Select) for Swift. +- [Concurrent](https://github.com/typelift/Concurrent) - Functional Concurrency Primitives. +- [Flow](https://github.com/JohnSundell/Flow) - Operation Oriented Programming in Swift. +- [Brisk](https://github.com/jmfieldman/Brisk) - A Swift DSL that allows concise and effective concurrency manipulation. +- [Aojet](https://github.com/aojet/Aojet) - An actor model library for swift. +- [Overdrive](https://github.com/saidsikira/Overdrive) - Fast async task based Swift framework with focus on type safety, concurrency and multi threading. +- [AsyncNinja](https://github.com/AsyncNinja/AsyncNinja) - A complete set of concurrency and reactive programming primitives. +- [Kommander](https://github.com/intelygenz/Kommander-iOS) - Kommander is a Swift library to manage the task execution in different threads. Through the definition a simple but powerful concept, Kommand. +- [Threadly](https://github.com/nvzqz/Threadly) - Type-safe thread-local storage in Swift. +- [Flow-iOS](https://github.com/roytornado/Flow-iOS) - Make your logic flow and data flow clean and human readable. +- [Queuer](https://github.com/FabrizioBrancati/Queuer) - A queue manager, built on top of OperationQueue and Dispatch (aka GCD). +- [SwiftQueue](https://github.com/lucas34/SwiftQueue) - Job Scheduler with Concurrent run, failure/retry, persistence, repeat, delay and more. +- [GroupWork](https://github.com/quanvo87/GroupWork) - Easy concurrent, asynchronous tasks in Swift. +- [StickyLocking](https://github.com/stickytools/sticky-locking) - A general purpose embedded hierarchical lock manager used to build highly concurrent applications of all types. ## Core Data *Core data Frameworks, wrappers, generators and boilerplates.* -* [Ensembles](https://github.com/drewmccormack/ensembles) - A synchronization framework for Core Data. -* [Mogenerator](https://github.com/rentzsch/mogenerator) - Automatic Core Data code generation. -* [MagicalRecord](https://github.com/magicalpanda/MagicalRecord) - Super Awesome Easy Fetching for Core Data. -* [CoreStore](https://github.com/JohnEstropia/CoreStore) - Powerful Core Data framework for Incremental Migrations, Fetching, Observering, etc. -* [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. -* [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. -* [CoreDataDandy](https://github.com/fuzz-productions/CoreDataDandy) - A feature-light wrapper around Core Data that simplifies common database operations. -* [Sync](https://github.com/3lvis/Sync) - :arrows_counterclockwise: Modern Swift JSON synchronization to Core Data -* [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. -* [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. -* [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack -* [JSQCoreDataKit](https://github.com/jessesquires/JSQCoreDataKit) - A swifter Core Data stack -* [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. -* [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. -* [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. -* [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. -* [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. -* [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. -* [Records](https://github.com/BowdusBrown/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. -* [PredicateFlow](https://github.com/andreadelfante/PredicateFlow) - Write amazing, strong-typed and easy-to-read NSPredicate, allowing you to write flowable NSPredicate, without guessing attribution names, predicate operation or writing wrong arguments type. +- [Ensembles](https://github.com/drewmccormack/ensembles) - A synchronization framework for Core Data. +- [Mogenerator](https://github.com/rentzsch/mogenerator) - Automatic Core Data code generation. +- [MagicalRecord](https://github.com/magicalpanda/MagicalRecord) - Super Awesome Easy Fetching for Core Data. +- [CoreStore](https://github.com/JohnEstropia/CoreStore) - Powerful Core Data framework for Incremental Migrations, Fetching, Observering, etc. +- [Core Data Query Interface](https://github.com/prosumma/CoreDataQueryInterface) A type-safe, fluent query framework for Core Data. +- [Graph](https://github.com/CosmicMind/Graph) - An elegant data-driven framework for CoreData in Swift. +- [CoreDataDandy](https://github.com/fuzz-productions/CoreDataDandy) - A feature-light wrapper around Core Data that simplifies common database operations. +- [Sync](https://github.com/3lvis/Sync) - Modern Swift JSON synchronization to Core Data. +- [AlecrimCoreData](https://github.com/Alecrim/AlecrimCoreData) - A powerful and simple Core Data wrapper framework written in Swift. +- [AERecord](https://github.com/tadija/AERecord) - Super awesome Core Data wrapper in Swift. +- [CoreDataStack](https://github.com/bignerdranch/CoreDataStack) - The Big Nerd Ranch Core Data Stack. +- [JSQCoreDataKit](https://github.com/jessesquires/JSQCoreDataKit) - A swifter Core Data stack. +- [Skopelos](https://github.com/albertodebortoli/Skopelos) - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. +- [Cadmium](https://github.com/jmfieldman/cadmium) - A complete swift framework that wraps CoreData and helps facilitate best practices. +- [DataKernel](https://github.com/mrdekk/DataKernel) - Simple CoreData wrapper to ease operations. +- [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. +- [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. +- [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. +- [Records](https://github.com/BowdusBrown/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. +- [PredicateFlow](https://github.com/andreadelfante/PredicateFlow) - Write amazing, strong-typed and easy-to-read NSPredicate, allowing you to write flowable NSPredicate, without guessing attribution names, predicate operation or writing wrong arguments type. ## Database *Wrappers, clients, Parse alternatives and safe tools to deal with ephemeral and persistent data.* -* [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. -* [YapDatabase](https://github.com/yapstudios/YapDatabase) - YapDatabase is an extensible database for iOS & Mac. -* [Couchbase Mobile](https://www.couchbase.com/products/mobile/) - Couchbase document store for mobile with cloud sync. -* [FMDB](https://github.com/ccgus/fmdb) - A Cocoa / Objective-C wrapper around SQLite. -* [FCModel](https://github.com/marcoarment/FCModel) - An alternative to Core Data for people who like having direct SQL access. -* [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly synchronize NSUserDefaults over iCloud. -* [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. -* [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). -* [SwiftyUserDefaults](https://github.com/sunshinejr/SwiftyUserDefaults) - Statically-typed NSUserDefaults. -* [SugarRecord](https://github.com/modo-studio/SugarRecord) - Data persistence management library. -* [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. -* [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support -* [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. -* [ParseAlternatives](https://github.com/relatedcode/ParseAlternatives) - A collaborative list of Parse alternative backend service providers. -* [TypedDefaults](https://github.com/tasanobu/TypedDefaults) - TypedDefaults is a utility library to type-safely use NSUserDefaults. -* [realm-cocoa-converter](https://github.com/realm/realm-cocoa-converter) - A library that provides the ability to import/export Realm files from a variety of data container formats. -* [YapDatabaseExtensions](https://github.com/danthorpe/YapDatabaseExtensions) - YapDatabase extensions for use with Swift -* [RealmGeoQueries](https://github.com/mhergon/RealmGeoQueries) - RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do proximity search. [e] -* [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift -* [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. -* [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. -* [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB -* [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. -* [MongoDB](https://github.com/PerfectlySoft/Perfect-MongoDB) - A Swift wrapper around the mongo-c client library, enabling access to MongoDB servers. -* [MySQL](https://github.com/PerfectlySoft/Perfect-MySQL) - A Swift wrapper around the MySQL client library, enabling access to MySQL servers. -* [Redis](https://github.com/PerfectlySoft/Perfect-Redis) - A Swift wrapper around the Redis client library, enabling access to Redis. -* [PostgreSQL](https://github.com/PerfectlySoft/Perfect-PostgreSQL) - A Swift wrapper around the libpq client library, enabling access to PostgreSQL servers. -* [FileMaker](https://github.com/PerfectlySoft/Perfect-FileMaker) - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers. -* [Nora](https://github.com/SD10/Nora) - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage. -* [PersistentStorageSerializable](https://github.com/IvanRublev/PersistentStorageSerializable) - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. -* [WCDB](https://github.com/Tencent/wcdb) - WCDB is an efficient, complete, easy-to-use mobile database framework for iOS, macOS. -* [StorageKit](https://github.com/StorageKit/StorageKit) - Your Data Storage Troubleshooter 🛠 -* [UserDefaults](https://github.com/nmdias/DefaultsKit) - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS -* [Default](https://github.com/Nirma/Default) - Modern interface to UserDefaults + Codable support -* [IceCream](https://github.com/caiyue1993/IceCream) - Sync Realm Database with CloudKit -* [FirebaseHelper](https://github.com/quanvo87/FirebaseHelper) - Safe and easy wrappers for common Firebase Realtime Database functions. -* [Shallows](https://github.com/dreymonde/Shallows) - Your lightweight persistence toolbox. -* [StorageManager](https://github.com/iAmrSalman/StorageManager) - Safe and easy way to use FileManager as Database. -* [RealmWrapper](https://github.com/k-lpmg/RealmWrapper) - Safe and easy wrappers for RealmSwift. -* [UserDefaultsStore](https://github.com/omaralbeik/UserDefaultsStore) - An easy and very light way to store and retrieve -reasonable amount- of Codable objects, in a couple lines of code! -* [PropertyKit](https://github.com/metasmile/PropertyKit) - Protocol-First, Type and Key-Safe Swift Property for iOS, macOS and tvOS -* [PersistenceKit](https://github.com/Teknasyon-Teknoloji/PersistenceKit) - Store and retrieve Codable objects to various persistence layers, in a couple lines of code! -* [ModelAssistant](https://github.com/ssamadgh/ModelAssistant) - Elegant library to manage the interactions between view and model in Swift. -* [MMKV](https://github.com/Tencent/MMKV) - An efficient, small mobile key-value storage framework developed by WeChat. Works on iOS, Android, macOS and Windows. -* [Defaults](https://github.com/sindresorhus/Defaults) - Swifty and modern UserDefaults. -* [MongoKitten](https://github.com/OpenKitten/MongoKitten) - A pure Swift MongoDB client implementation with support for embedded databases. -* [SecureDefaults](https://github.com/vpeschenkov/SecureDefaults) - A lightweight wrapper over UserDefaults/NSUserDefaults with an extra AES-256 encryption layer. -* [Unrealm](https://github.com/arturdev/Unrealm) - Unrealm enables you to easily store Swift native Classes, Structs and Enums into Realm +- [Realm](https://github.com/realm/realm-cocoa) - The alternative to CoreData and SQLite: Simple, modern and fast. +- [YapDatabase](https://github.com/yapstudios/YapDatabase) - YapDatabase is an extensible database for iOS & Mac. +- [Couchbase Mobile](https://www.couchbase.com/products/mobile/) - Couchbase document store for mobile with cloud sync. +- [FMDB](https://github.com/ccgus/fmdb) - A Cocoa / Objective-C wrapper around SQLite. +- [FCModel](https://github.com/marcoarment/FCModel) - An alternative to Core Data for people who like having direct SQL access. +- [Zephyr](https://github.com/ArtSabintsev/Zephyr) - Effortlessly synchronize NSUserDefaults over iCloud. +- [Prephirences](https://github.com/phimage/Prephirences) - Prephirences is a Swift library that provides useful protocols and convenience methods to manage application preferences, configurations and app-state. +- [Storez](https://github.com/SwiftKitz/Storez) - Safe, statically-typed, store-agnostic key-value storage (with namespace support). +- [SwiftyUserDefaults](https://github.com/sunshinejr/SwiftyUserDefaults) - Statically-typed NSUserDefaults. +- [SugarRecord](https://github.com/modo-studio/SugarRecord) - Data persistence management library. +- [SQLite.swift](https://github.com/stephencelis/SQLite.swift) - A type-safe, Swift-language layer over SQLite3. +- [GRDB.swift](https://github.com/groue/GRDB.swift) - A versatile SQLite toolkit for Swift, with WAL mode support. +- [Fluent](https://github.com/vapor/fluent) - Simple ActiveRecord implementation for working with your database in Swift. +- [ParseAlternatives](https://github.com/relatedcode/ParseAlternatives) - A collaborative list of Parse alternative backend service providers. +- [TypedDefaults](https://github.com/tasanobu/TypedDefaults) - TypedDefaults is a utility library to type-safely use NSUserDefaults. +- [realm-cocoa-converter](https://github.com/realm/realm-cocoa-converter) - A library that provides the ability to import/export Realm files from a variety of data container formats. +- [YapDatabaseExtensions](https://github.com/danthorpe/YapDatabaseExtensions) - YapDatabase extensions for use with Swift. +- [RealmGeoQueries](https://github.com/mhergon/RealmGeoQueries) - RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do proximity search. +- [SwiftMongoDB](https://github.com/Danappelxx/SwiftMongoDB) - A MongoDB interface for Swift. +- [ObjectiveRocks](https://github.com/iabudiab/ObjectiveRocks) - An Objective-C wrapper of Facebook's RocksDB - A Persistent Key-Value Store for Flash and RAM Storage. +- [OHMySQL](https://github.com/oleghnidets/OHMySQL) - An Objective-C wrapper of MySQL C API. +- [SwiftStore](https://github.com/hemantasapkota/SwiftStore) - Key-Value store for Swift backed by LevelDB. +- [OneStore](https://github.com/muukii/OneStore) - A single value proxy for NSUserDefaults, with clean API. +- [MongoDB](https://github.com/PerfectlySoft/Perfect-MongoDB) - A Swift wrapper around the mongo-c client library, enabling access to MongoDB servers. +- [MySQL](https://github.com/PerfectlySoft/Perfect-MySQL) - A Swift wrapper around the MySQL client library, enabling access to MySQL servers. +- [Redis](https://github.com/PerfectlySoft/Perfect-Redis) - A Swift wrapper around the Redis client library, enabling access to Redis. +- [PostgreSQL](https://github.com/PerfectlySoft/Perfect-PostgreSQL) - A Swift wrapper around the libpq client library, enabling access to PostgreSQL servers. +- [FileMaker](https://github.com/PerfectlySoft/Perfect-FileMaker) - A Swift wrapper around the FileMaker XML Web publishing interface, enabling access to FileMaker servers. +- [Nora](https://github.com/SD10/Nora) - Nora is a Firebase abstraction layer for working with FirebaseDatabase and FirebaseStorage. +- [PersistentStorageSerializable](https://github.com/IvanRublev/PersistentStorageSerializable) - Swift library that makes easier to serialize the user's preferences (app's settings) with system User Defaults or Property List file on disk. +- [WCDB](https://github.com/Tencent/wcdb) - WCDB is an efficient, complete, easy-to-use mobile database framework for iOS, macOS. +- [StorageKit](https://github.com/StorageKit/StorageKit) - Your Data Storage Troubleshooter. +- [UserDefaults](https://github.com/nmdias/DefaultsKit) - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS. +- [Default](https://github.com/Nirma/Default) - Modern interface to UserDefaults + Codable support. +- [IceCream](https://github.com/caiyue1993/IceCream) - Sync Realm Database with CloudKit. +- [FirebaseHelper](https://github.com/quanvo87/FirebaseHelper) - Safe and easy wrappers for common Firebase Realtime Database functions. +- [Shallows](https://github.com/dreymonde/Shallows) - Your lightweight persistence toolbox. +- [StorageManager](https://github.com/iAmrSalman/StorageManager) - Safe and easy way to use FileManager as Database. +- [RealmWrapper](https://github.com/k-lpmg/RealmWrapper) - Safe and easy wrappers for RealmSwift. +- [UserDefaultsStore](https://github.com/omaralbeik/UserDefaultsStore) - An easy and very light way to store and retrieve -reasonable amount- of Codable objects, in a couple lines of code. +- [PropertyKit](https://github.com/metasmile/PropertyKit) - Protocol-First, Type and Key-Safe Swift Property for iOS, macOS and tvOS. +- [PersistenceKit](https://github.com/Teknasyon-Teknoloji/PersistenceKit) - Store and retrieve Codable objects to various persistence layers, in a couple lines of code. +- [ModelAssistant](https://github.com/ssamadgh/ModelAssistant) - Elegant library to manage the interactions between view and model in Swift. +- [MMKV](https://github.com/Tencent/MMKV) - An efficient, small mobile key-value storage framework developed by WeChat. Works on iOS, Android, macOS and Windows. +- [Defaults](https://github.com/sindresorhus/Defaults) - Swifty and modern UserDefaults. +- [MongoKitten](https://github.com/OpenKitten/MongoKitten) - A pure Swift MongoDB client implementation with support for embedded databases. +- [SecureDefaults](https://github.com/vpeschenkov/SecureDefaults) - A lightweight wrapper over UserDefaults/NSUserDefaults with an extra AES-256 encryption layer. +- [Unrealm](https://github.com/arturdev/Unrealm) - Unrealm enables you to easily store Swift native Classes, Structs and Enums into Realm. ## Data Structures / Algorithms *Diffs, keypaths, sorted lists and other amazing data structures wrappers and libraries.* -* [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another -* [BTree](https://github.com/attaswift/BTree) - Fast ordered collections for Swift using in-memory B-trees -* [SwiftStructures](https://github.com/waynewbishop/SwiftStructures) - Examples of commonly used data structures and algorithms in Swift. -* [diff](https://github.com/soffes/diff) - Simple diff library in pure Swift -* [Brick](https://github.com/hyperoslo/Brick) - :droplet: A generic view model for both basic and complex scenarios -* [Algorithm](https://github.com/CosmicMind/Algorithm) - Algorithm is a collection of data structures that are empowered by a probability toolset. -* [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. -* [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript https://www.dollarswift.org/. -* [Result](https://github.com/antitypical/Result) - Swift type modeling the success/failure of arbitrary operations. -* [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. -* [Monaka](https://github.com/naru-jpn/Monaka) - Convert custom struct and fundamental values to NSData. -* [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. -* [SwiftGraph](https://github.com/davecom/SwiftGraph) - Graph data structure and utility functions in pure Swift. -* [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. -* [Pencil](https://github.com/naru-jpn/pencil) - Write values to file and read it more easily. -* [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. -* [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. -* [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! -* [Impeller](https://github.com/david-coyle-sjc/impeller) - A Distributed Value Store in Swift -* [Dispatch](https://github.com/alexdrone/Store) - Multi-store Flux implementation in Swift -* [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift -* [Differ](https://github.com/tonyarnold/Differ) - Swift library to generate differences and patches between collections. -* [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. -* [RandMyMod](https://github.com/jamesdouble/RandMyMod) - RandMyMod base on your own struct or class create one or a set of randomized instance. -* [KeyPathKit](https://github.com/vincent-pradeilles/KeyPathKit) - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths. -* [Differific](https://github.com/zenangst/Differific) - A fast and convenient diffing framework. -* [OneWaySynchronizer](https://github.com/ladeiko/OneWaySynchronizer) - The simplest abstraction to synchronize local data with remote source. -* [DifferenceKit](https://github.com/ra1028/DifferenceKit) - 💻 A fast and flexible O(n) difference algorithm framework for Swift collection. +- [Changeset](https://github.com/osteslag/Changeset) - Minimal edits from one collection to another. +- [BTree](https://github.com/attaswift/BTree) - Fast ordered collections for Swift using in-memory B-trees. +- [SwiftStructures](https://github.com/waynewbishop/SwiftStructures) - Examples of commonly used data structures and algorithms in Swift. +- [diff](https://github.com/soffes/diff) - Simple diff library in pure Swift. +- [Brick](https://github.com/hyperoslo/Brick) - A generic view model for both basic and complex scenarios. +- [Algorithm](https://github.com/CosmicMind/Algorithm) - Algorithm is a collection of data structures that are empowered by a probability toolset. +- [AnyObjectConvertible](https://github.com/tarunon/AnyObjectConvertible) - Convert your own struct/enum to AnyObject easily. +- [Dollar](https://github.com/ankurp/Dollar) - A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript https://www.dollarswift.org/. +- [Result](https://github.com/antitypical/Result) - Swift type modeling the success/failure of arbitrary operations. +- [EKAlgorithms](https://github.com/EvgenyKarkan/EKAlgorithms) - Some well known CS algorithms & data structures in Objective-C. +- [Monaka](https://github.com/naru-jpn/Monaka) - Convert custom struct and fundamental values to NSData. +- [Buffer](https://github.com/alexdrone/Buffer) - Swift μ-framework for efficient array diffs, collection observation and cell configuration. +- [SwiftGraph](https://github.com/davecom/SwiftGraph) - Graph data structure and utility functions in pure Swift. +- [SwiftPriorityQueue](https://github.com/davecom/SwiftPriorityQueue) - A priority queue with a classic binary heap implementation in pure Swift. +- [Pencil](https://github.com/naru-jpn/pencil) - Write values to file and read it more easily. +- [HeckelDiff](https://github.com/mcudich/HeckelDiff) - A fast Swift diffing library. +- [Dekoter](https://github.com/artemstepanenko/Dekoter) - `NSCoding`'s counterpart for Swift structs. +- [swift-algorithm-club](https://github.com/raywenderlich/swift-algorithm-club) - Algorithms and data structures in Swift, with explanations! +- [Impeller](https://github.com/david-coyle-sjc/impeller) - A Distributed Value Store in Swift. +- [Dispatch](https://github.com/alexdrone/Store) - Multi-store Flux implementation in Swift. +- [DeepDiff](https://github.com/onmyway133/DeepDiff) - Diff in Swift. +- [Differ](https://github.com/tonyarnold/Differ) - Swift library to generate differences and patches between collections. +- [Probably](https://github.com/harlanhaskins/Probably) - A Swift probability and statistics library. +- [RandMyMod](https://github.com/jamesdouble/RandMyMod) - RandMyMod base on your own struct or class create one or a set of randomized instance. +- [KeyPathKit](https://github.com/vincent-pradeilles/KeyPathKit) - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths. +- [Differific](https://github.com/zenangst/Differific) - A fast and convenient diffing framework. +- [OneWaySynchronizer](https://github.com/ladeiko/OneWaySynchronizer) - The simplest abstraction to synchronize local data with remote source. +- [DifferenceKit](https://github.com/ra1028/DifferenceKit) - A fast and flexible O(n) difference algorithm framework for Swift collection. ## Date & Time *Time and NSCalendar libraries. Also contains Sunrise and Sunset time generators, time pickers and NSTimer interfaces.* -* [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions in Swift -* [SwiftDate](https://github.com/malcommac/SwiftDate) - The best way to manage Dates and Timezones in Swift. -* [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library. -* [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C -* [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer -* [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift -* [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. -* [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. -* [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift -* [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. (NTP library for Swift) . -* [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. -* [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. -* [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. -* [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. -* [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. [e] -* [Chronology](https://github.com/davedelong/Chronology) - Building a better date/time library -* [Solar](https://github.com/ceeK/Solar) - A Swift micro library for generating Sunrise and Sunset times. -* [TimePicker](https://github.com/Endore8/TimePicker) - Configurable time picker component based on a pan gesture and its velocity. -* [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift -* [NVDate](https://github.com/novalagung/nvdate) - Swift4 Date extension library -* [Schedule](https://github.com/luoxiu/Schedule) - ⏳ A missing lightweight task scheduler for Swift with an incredibly human-friendly syntax. +- [Timepiece](https://github.com/naoty/Timepiece) - Intuitive NSDate extensions in Swift. +- [SwiftDate](https://github.com/malcommac/SwiftDate) - The best way to manage Dates and Timezones in Swift. +- [SwiftMoment](https://github.com/akosma/SwiftMoment) - A time and calendar manipulation library. +- [DateTools](https://github.com/MatthewYork/DateTools) - Dates and times made easy in Objective-C. +- [SwiftyTimer](https://github.com/radex/SwiftyTimer) - Swifty API for NSTimer. +- [DateHelper](https://github.com/melvitax/DateHelper) - Convenience extension for NSDate in Swift. +- [iso-8601-date-formatter](https://github.com/boredzo/iso-8601-date-formatter) - A Cocoa NSFormatter subclass to convert dates to and from ISO-8601-formatted strings. Supports calendar, week, and ordinal formats. +- [EmojiTimeFormatter](https://github.com/thomaspaulmann/EmojiTimeFormatter) - Format your dates/times as emojis. +- [Kronos](https://github.com/lyft/Kronos) - Elegant NTP date library in Swift. +- [TrueTime](https://github.com/instacart/TrueTime.swift) - Get the true current time impervious to device clock time changes. +- [10Clock](https://github.com/joedaniels29/10Clock) - This Control is a beautiful time-of-day picker heavily inspired by the iOS 10 "Bedtime" timer. +- [NSDate-TimeAgo](https://github.com/kevinlawler/NSDate-TimeAgo) - A "time ago", "time since", "relative date", or "fuzzy date" category for NSDate and iOS, Objective-C, Cocoa Touch, iPhone, iPad. +- [AnyDate](https://github.com/Kawoou/AnyDate) - Swifty Date & Time API inspired from Java 8 DateTime API. +- [TimeZonePicker](https://github.com/gligorkot/TimeZonePicker) - A TimeZonePicker UIViewController similar to the iOS Settings app. +- [Time](https://github.com/dreymonde/Time) - Type-safe time calculations in Swift, powered by generics. +- [Chronology](https://github.com/davedelong/Chronology) - Building a better date/time library. +- [Solar](https://github.com/ceeK/Solar) - A Swift micro library for generating Sunrise and Sunset times. +- [TimePicker](https://github.com/Endore8/TimePicker) - Configurable time picker component based on a pan gesture and its velocity. +- [LFTimePicker](https://github.com/awesome-labs/LFTimePicker) - Custom Time Picker ViewController with Selection of start and end times in Swift. +- [NVDate](https://github.com/novalagung/nvdate) - Swift4 Date extension library. +- [Schedule](https://github.com/luoxiu/Schedule) - ⏳ A missing lightweight task scheduler for Swift with an incredibly human-friendly syntax. ## Debugging *Debugging tools, crash reports, logs and console UI's.* -* [Xniffer](https://github.com/xmartlabs/Xniffer) - A swift network profiler built on top of URLSession. -* [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! -* [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. -* [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. -* [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. -* [chisel](https://github.com/facebook/chisel) - Collection of LLDB commands to assist debugging iOS apps. -* [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. -* [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. -* [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. -* [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. -* [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. -* [Hyperion](https://github.com/willowtreeapps/Hyperion-iOS) - In-app design review tool to inspect measurements, attributes, and animations. -* [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. -* [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window -* [Wormholy](https://github.com/pmusolino/Wormholy) - iOS network debugging, like a wizard -* [AppSpector](https://appspector.com) - Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotificationCenter and mock device's geo location. -* [Woodpecker](http://www.woodpeck.cn) - View sandbox files, UserDefaults, network request from Mac. -* [LayoutInspector](https://github.com/isavynskyi/LayoutInspector) - Debug app layouts directly on iOS device: inspect layers in 3D and debug each visible view attributes -* [MTHawkeye](https://github.com/meitu/MTHawkeye) - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc. +- [Xniffer](https://github.com/xmartlabs/Xniffer) - A swift network profiler built on top of URLSession. +- [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! +- [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. +- [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. +- [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. +- [chisel](https://github.com/facebook/chisel) - Collection of LLDB commands to assist debugging iOS apps. +- [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. +- [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. +- [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. +- [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. +- [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. +- [Hyperion](https://github.com/willowtreeapps/Hyperion-iOS) - In-app design review tool to inspect measurements, attributes, and animations. +- [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. +- [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window. +- [Wormholy](https://github.com/pmusolino/Wormholy) - iOS network debugging, like a wizard. +- [AppSpector](https://appspector.com) - Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotificationCenter and mock device's geo location. +- [Woodpecker](http://www.woodpeck.cn) - View sandbox files, UserDefaults, network request from Mac. +- [LayoutInspector](https://github.com/isavynskyi/LayoutInspector) - Debug app layouts directly on iOS device: inspect layers in 3D and debug each visible view attributes. +- [MTHawkeye](https://github.com/meitu/MTHawkeye) - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc. ## EventBus *Promises and Futures libraries to help you write better async code in Swift.* -* [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS. -* [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and macOS. -* [Bolts](https://github.com/BoltsFramework/Bolts-ObjC) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links). -* [SwiftTask](https://github.com/ReactKit/SwiftTask) - Promise + progress + pause + cancel + retry for Swift. -* [When](https://github.com/vadymmarkov/When) - A lightweight implementation of Promises in Swift. -* [then🎬](https://github.com/freshOS/then) - Elegant Async code in Swift. -* [Bolts-Swift](https://github.com/BoltsFramework/Bolts-Swift) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier. -* [RWPromiseKit](https://github.com/deput/RWPromiseKit) - A light-weighted Promise library for Objective-C -* [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. -* [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety -* [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for iOS and macOS. -* [signals-ios](https://github.com/uber/signals-ios) - Typeful eventing -* [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. -* [NoticeObserveKit](https://github.com/marty-suzuki/NoticeObserveKit) - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. -* [Hydra](https://github.com/malcommac/Hydra) - Promises & Await - Write better async code in Swift -* [Promis](https://github.com/albertodebortoli/Promis) - The easiest Future and Promises framework in Swift. No magic. No boilerplate. -* [Bluebird.swift](https://github.com/AndrewBarba/Bluebird.swift) - Promise/A+, Bluebird inspired, implementation in Swift 4. -* [Promise](https://github.com/khanlou/Promise) - A Promise library for Swift, based partially on Javascript's A+ spec. -* [promises](https://github.com/google/promises) - Google provides a synchronization construct for Objective-C and Swift to facilitate writing asynchronous code. -* [Continuum](https://github.com/marty-suzuki/Continuum) - NotificationCenter based Lightweight UI / AnyObject binder. -* [Futures](https://github.com/formbound/Futures) - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side Swift. -* [EasyFutures](https://github.com/DimaMishchenko/EasyFutures) - 🔗 Swift Futures & Promises. Easy to use. Highly combinable. -* [TopicEventBus](https://github.com/mcmatan/topicEventBus) - Publish–subscribe design pattern implementation framework, with ability to publish events by topic. (NotificationCenter extended alternative) +- [SwiftEventBus](https://github.com/cesarferreira/SwiftEventBus) - A publish/subscribe event bus optimized for iOS. +- [PromiseKit](https://github.com/mxcl/PromiseKit) - Promises for iOS and macOS. +- [Bolts](https://github.com/BoltsFramework/Bolts-ObjC) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier, including tasks (promises) and app links (deep links). +- [SwiftTask](https://github.com/ReactKit/SwiftTask) - Promise + progress + pause + cancel + retry for Swift. +- [When](https://github.com/vadymmarkov/When) - A lightweight implementation of Promises in Swift. +- [then🎬](https://github.com/freshOS/then) - Elegant Async code in Swift. +- [Bolts-Swift](https://github.com/BoltsFramework/Bolts-Swift) - Bolts is a collection of low-level libraries designed to make developing mobile apps easier. +- [RWPromiseKit](https://github.com/deput/RWPromiseKit) - A light-weighted Promise library for Objective-C. +- [FutureLib](https://github.com/couchdeveloper/FutureLib) - FutureLib is a pure Swift 2 library implementing Futures & Promises inspired by Scala. +- [SwiftNotificationCenter](https://github.com/100mango/SwiftNotificationCenter) - A Protocol-Oriented NotificationCenter which is type safe, thread safe and with memory safety. +- [FutureKit](https://github.com/FutureKit/FutureKit) - A Swift based Future/Promises Library for iOS and macOS. +- [signals-ios](https://github.com/uber/signals-ios) - Typeful eventing. +- [BrightFutures](https://github.com/Thomvis/BrightFutures) - Write great asynchronous code in Swift using futures and promises. +- [NoticeObserveKit](https://github.com/marty-suzuki/NoticeObserveKit) - NoticeObserveKit is type-safe NotificationCenter wrapper that associates notice type with info type. +- [Hydra](https://github.com/malcommac/Hydra) - Promises & Await - Write better async code in Swift. +- [Promis](https://github.com/albertodebortoli/Promis) - The easiest Future and Promises framework in Swift. No magic. No boilerplate. +- [Bluebird.swift](https://github.com/AndrewBarba/Bluebird.swift) - Promise/A+, Bluebird inspired, implementation in Swift 4. +- [Promise](https://github.com/khanlou/Promise) - A Promise library for Swift, based partially on Javascript's A+ spec. +- [promises](https://github.com/google/promises) - Google provides a synchronization construct for Objective-C and Swift to facilitate writing asynchronous code. +- [Continuum](https://github.com/marty-suzuki/Continuum) - NotificationCenter based Lightweight UI / AnyObject binder. +- [Futures](https://github.com/formbound/Futures) - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side Swift. +- [EasyFutures](https://github.com/DimaMishchenko/EasyFutures) - 🔗 Swift Futures & Promises. Easy to use. Highly combinable. +- [TopicEventBus](https://github.com/mcmatan/topicEventBus) - Publish–subscribe design pattern implementation framework, with ability to publish events by topic. (NotificationCenter extended alternative). ## Files *File management, file browser, zip handling and file observers.* -* [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. -* [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. -* [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. -* [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices -* [FileProvider](https://github.com/amosavian/FileProvider) - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS. -* [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. -* [ZipArchive](https://github.com/ZipArchive/ZipArchive) - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac. -* [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. -* [ZIPFoundation](https://github.com/weichsel/ZIPFoundation) - Effortless ZIP Handling in Swift -* [AppFolder](https://github.com/dreymonde/AppFolder) - AppFolder is a lightweight framework that lets you design a friendly, strongly-typed representation of a directories inside your app's container. -* [ZipZap](https://github.com/pixelglow/ZipZap) - zip file I/O library for iOS, macOS and tvOS. -* [AMSMB2](https://github.com/amosavian/AMSMB2) - Swift framework to connect SMB 2/3 shares for iOS. +- [FileKit](https://github.com/nvzqz/FileKit) - Simple and expressive file management in Swift. +- [Zip](https://github.com/marmelroy/Zip) - Swift framework for zipping and unzipping files. +- [FileBrowser](https://github.com/marmelroy/FileBrowser) - Powerful Swift file browser for iOS. +- [Ares](https://github.com/indragiek/Ares) - Zero-setup P2P file transfer between Macs and iOS devices. +- [FileProvider](https://github.com/amosavian/FileProvider) - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files on iOS/tvOS and macOS. +- [KZFileWatchers](https://github.com/krzysztofzablocki/KZFileWatchers) - A micro-framework for observing file changes, both local and remote. Helpful in building developer tools. +- [ZipArchive](https://github.com/ZipArchive/ZipArchive) - ZipArchive is a simple utility class for zipping and unzipping files on iOS and Mac. +- [FileExplorer](https://github.com/Augustyniak/FileExplorer) - Powerful file browser for iOS that allows its users to choose and remove files and/or directories. +- [ZIPFoundation](https://github.com/weichsel/ZIPFoundation) - Effortless ZIP Handling in Swift. +- [AppFolder](https://github.com/dreymonde/AppFolder) - AppFolder is a lightweight framework that lets you design a friendly, strongly-typed representation of a directories inside your app's container. +- [ZipZap](https://github.com/pixelglow/ZipZap) - zip file I/O library for iOS, macOS and tvOS. +- [AMSMB2](https://github.com/amosavian/AMSMB2) - Swift framework to connect SMB 2/3 shares for iOS. ## Functional Programming *Collection of Swift functional programming tools.* -* [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. -* [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. -* [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. -* [Oriole](https://github.com/tptee/Oriole) - A functional utility belt implemented as Swift protocol extensions. [e] -* [Prelude](https://github.com/robrix/Prelude) - Swift µframework of simple functional programming tools. -* [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. -* [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. -* [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. [e] -* [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift -* [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. -* [Bow](https://github.com/bow-swift/bow) - Typed Functional Programming companion library for Swift. +- [Forbind](https://github.com/ulrikdamm/Forbind) - Functional chaining and promises in Swift. +- [Funky](https://github.com/brynbellomy/Funky) - Functional programming tools and experiments in Swift. +- [LlamaKit](https://github.com/LlamaKit/LlamaKit) - Collection of must-have functional Swift tools. +- [Oriole](https://github.com/tptee/Oriole) - A functional utility belt implemented as Swift protocol extensions. +- [Prelude](https://github.com/robrix/Prelude) - Swift µframework of simple functional programming tools. +- [Swiftx](https://github.com/typelift/Swiftx) - Functional data types and functions for any project. +- [Swiftz](https://github.com/typelift/Swiftz) - Functional programming in Swift. +- [OptionalExtensions](https://github.com/RuiAAPeres/OptionalExtensions) - Swift µframework with extensions for the Optional Type. +- [Argo](https://github.com/thoughtbot/Argo) - Functional JSON parsing library for Swift. +- [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. +- [Bow](https://github.com/bow-swift/bow) - Typed Functional Programming companion library for Swift. ## Games -* [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. -* [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. -* [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit -* [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit -* [AssetImportKit](https://github.com/eugenebokhan/AssetImportKit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. -* [glide engine](https://github.com/cocoatoucher/Glide) - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials. +- [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. +- [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. +- [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit. +- [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit. +- [AssetImportKit](https://github.com/eugenebokhan/AssetImportKit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. +- [glide engine](https://github.com/cocoatoucher/Glide) - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials. ## GCD *Grand Central Dispatch syntax sugars, tools and timers.* - * [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. - * [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch - * [SwiftSafe](https://github.com/nodes-ios/SwiftSafe) - Thread synchronization made easy - * [YYDispatchQueuePool](https://github.com/ibireme/YYDispatchQueuePool) - iOS utility class to manage global dispatch queue. - * [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. - * [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD) - * [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. - * [Dispatch](https://github.com/JARMourato/Dispatch) - Just a tiny library to make using GCD easier and intuitive - * [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. - * [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - :hourglass: Grand Central Dispatch Utilities - * [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. - * [SwiftyTask](https://github.com/Albinzr/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. +- [GCDKit](https://github.com/JohnEstropia/GCDKit) - Grand Central Dispatch simplified with Swift. +- [Async](https://github.com/duemunk/Async) - Syntactic sugar in Swift for asynchronous dispatches in Grand Central Dispatch. +- [SwiftSafe](https://github.com/nodes-ios/SwiftSafe) - Thread synchronization made easy. +- [YYDispatchQueuePool](https://github.com/ibireme/YYDispatchQueuePool) - iOS utility class to manage global dispatch queue. +- [AlecrimAsyncKit](https://github.com/Alecrim/AlecrimAsyncKit) - Bringing async and await to Swift world with some flavouring. +- [GrandSugarDispatch](https://github.com/jessesquires/GrandSugarDispatch) - Syntactic sugar for Grand Central Dispatch (GCD). +- [Threader](https://github.com/mitchtreece/Threader) - Pretty GCD calls and easier code execution. +- [Dispatch](https://github.com/JARMourato/Dispatch) - Just a tiny library to make using GCD easier and intuitive. +- [GCDTimer](https://github.com/hemantasapkota/GCDTimer) - Well tested Grand Central Dispatch (GCD) Timer in Swift. +- [Chronos-Swift](https://github.com/comyar/Chronos-Swift) - Grand Central Dispatch Utilities. +- [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. +- [SwiftyTask](https://github.com/Albinzr/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. ## Gesture *Libraries and tools to handle gestures.* -* [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS -* [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds -* [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool [Swift / iOS] -* [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. -* [SplitViewDragAndDrop](https://github.com/MarioIannotta/SplitViewDragAndDrop) - Easily add drag and drop to pass data between your apps in split view mode. -* [FDFullscreenPopGesture](https://github.com/forkingdog/FDFullscreenPopGesture) - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP. +- [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS. +- [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds. +- [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool. +- [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. +- [SplitViewDragAndDrop](https://github.com/MarioIannotta/SplitViewDragAndDrop) - Easily add drag and drop to pass data between your apps in split view mode. +- [FDFullscreenPopGesture](https://github.com/forkingdog/FDFullscreenPopGesture) - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP. ## Graphics *CoreGraphics, CoreAnimation, SVG, CGContext libraries, helpers and tools.* -* [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! -* [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. -* [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext -* [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! -* [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). -* [InkKit](https://github.com/shaps80/InkKit) - Write-Once, Draw-Everywhere for iOS and macOS -- Now in Swift! -* [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. -* [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone -* [jot](https://github.com/IFTTT/jot) - An iOS framework for easily adding drawings and text to images. -* [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / macOS, using native rendering (CoreAnimation) (currently only supported for iOS - macOS code needs updating). -* [Snowflake](https://github.com/onmyway133/Snowflake) - ❄️ SVG in Swift. -* [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit -* [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX -* [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code -* [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. -* [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. -* [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. -* [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. -* [BlockiesSwift](https://github.com/Boilertalk/BlockiesSwift) - Unique blocky identicons/profile picture generator. -* [Rough](https://github.com/bakhtiyork/Rough) - lets you draw in a sketchy, hand-drawn-like, style. -* [GraphLayout](https://github.com/bakhtiyork/GraphLayout) - UI controls for graph visualization. It is powered by Graphviz. -* [Drawsana](https://github.com/Asana/Drawsana) - iOS framework for building raster drawing and image markup views, written in Swift and maintained by Asana +- [Graphicz](https://github.com/SwiftKitz/Graphicz) - Light-weight, operator-overloading-free complements to CoreGraphics! +- [PKCoreTechniques](https://github.com/pkluz/PKCoreTechniques) - The code for my CoreGraphics+CoreAnimation talk, held during the 2012 iOS Game Design Seminar at the Technical University Munich. +- [MPWDrawingContext](https://github.com/mpw/MPWDrawingContext) - An Objective-C wrapper for CoreGraphics CGContext. +- [DePict](https://github.com/davidcairns/DePict) - A simple, declarative, functional drawing framework, in Swift! +- [SwiftSVG](https://github.com/mchoe/SwiftSVG) - A single pass SVG parser with multiple interface options (String, NS/UIBezierPath, CAShapeLayer, and NS/UIView). +- [InkKit](https://github.com/shaps80/InkKit) - Write-Once, Draw-Everywhere for iOS and macOS. +- [YYAsyncLayer](https://github.com/ibireme/YYAsyncLayer) - iOS utility classes for asynchronous rendering and display. +- [NXDrawKit](https://github.com/Nicejinux/NXDrawKit) - NXDrawKit is a simple and easy but useful drawing kit for iPhone. +- [jot](https://github.com/IFTTT/jot) - An iOS framework for easily adding drawings and text to images. +- [SVGKit](https://github.com/SVGKit/SVGKit) - Display and interact with SVG Images on iOS / macOS, using native rendering (CoreAnimation) (currently only supported for iOS - macOS code needs updating). +- [Snowflake](https://github.com/onmyway133/Snowflake) - SVG in Swift. +- [HxSTLParser](https://github.com/victorgama/HxSTLParser) - Basic STL loader for SceneKit. +- [ProcessingKit](https://github.com/natmark/ProcessingKit) - Visual designing library for iOS & OSX. +- [EZYGradientView](https://github.com/shashankpali/EZYGradientView) - Create gradients and blur gradients without a single line of code. +- [AEConicalGradient](https://github.com/tadija/AEConicalGradient) - Conical (angular) gradient layer written in Swift. +- [MKGradientView](https://github.com/maxkonovalov/MKGradientView) - Core Graphics based gradient view capable of producing Linear (Axial), Radial (Circular), Conical (Angular), Bilinear (Four Point) gradients, written in Swift. +- [EPShapes](https://github.com/ipraba/EPShapes) - Design shapes in Interface Builder. +- [Macaw](https://github.com/exyte/macaw) - Powerful and easy-to-use vector graphics library with SVG support written in Swift. +- [BlockiesSwift](https://github.com/Boilertalk/BlockiesSwift) - Unique blocky identicons/profile picture generator. +- [Rough](https://github.com/bakhtiyork/Rough) - lets you draw in a sketchy, hand-drawn-like, style. +- [GraphLayout](https://github.com/bakhtiyork/GraphLayout) - UI controls for graph visualization. It is powered by Graphviz. +- [Drawsana](https://github.com/Asana/Drawsana) - iOS framework for building raster drawing and image markup views. ## Hardware @@ -800,1570 +800,1569 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par *Libraries to deal with nearby devices, BLE tools and MultipeerConnectivity wrappers.* -* [Discovery](https://github.com/omergul/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). -* [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. -* [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. -* [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/macOS devices using BLE. -* [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift -* [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework -* [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. -* [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U -* [Bluejay](https://github.com/steamclock/bluejay) - A simple Swift framework for building reliable Bluetooth LE apps. -* [BabyBluetooth](https://github.com/coolnameismy/BabyBluetooth) - The easiest way to use Bluetooth (BLE) in iOS/MacOS. -* [ExtendaBLE](https://github.com/AntonTheDev/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](https://github.com/rchatham/PeerConnectivity) - Functional wrapper for Apple's MultipeerConnectivity framework. -* [AZPeerToPeerConnection](https://github.com/AfrozZaheer/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](https://github.com/dingwilson/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. +- [Discovery](https://github.com/omergul/Discovery) - A very simple library to discover and retrieve data from nearby devices (even if the peer app works at background). +- [LGBluetooth](https://github.com/LGBluetooth/LGBluetooth) - Simple, block-based, lightweight library over CoreBluetooth. Will clean up your Core Bluetooth related code. +- [PeerKit](https://github.com/jpsim/PeerKit) An open-source Swift framework for building event-driven, zero-config Multipeer Connectivity apps. +- [BluetoothKit](https://github.com/rhummelmose/BluetoothKit) - Easily communicate between iOS/macOS devices using BLE. +- [Bluetonium](https://github.com/e-sites/Bluetonium) - Bluetooth mapping in Swift. +- [BlueCap](https://github.com/troystribling/BlueCap) - iOS Bluetooth LE framework. +- [Apple Family](https://github.com/kirankunigiri/Apple-Family) - Quickly connect Apple devices together with Bluetooth, wifi, and USB. +- [Bleu](https://github.com/1amageek/Bleu) - BLE (Bluetooth LE) for U. +- [Bluejay](https://github.com/steamclock/bluejay) - A simple Swift framework for building reliable Bluetooth LE apps. +- [BabyBluetooth](https://github.com/coolnameismy/BabyBluetooth) - The easiest way to use Bluetooth (BLE) in iOS/MacOS. +- [ExtendaBLE](https://github.com/AntonTheDev/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](https://github.com/rchatham/PeerConnectivity) - Functional wrapper for Apple's MultipeerConnectivity framework. +- [AZPeerToPeerConnection](https://github.com/AfrozZaheer/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](https://github.com/dingwilson/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. ### Camera *Mocks, ImagePickers, and multiple options of customizable camera implementation* -* [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. -* [PBJVision](https://github.com/piemonte/PBJVision) - iOS camera engine, features touch-to-record video, slow motion video, and photo capture. -* [Cool-iOS-Camera](https://github.com/GabrielAlva/Cool-iOS-Camera) - A fully customisable and modern camera implementation for iOS made with AVFoundation. -* [SCRecorder](https://github.com/rFlex/SCRecorder) - Camera engine with Vine-like tap to record, animatable filters, slow motion, segments editing. -* [ALCameraViewController](https://github.com/AlexLittlejohn/ALCameraViewController) - A camera view controller with custom image picker and image cropping. Written in Swift. -* [CameraManager](https://github.com/imaginary-cloud/CameraManager) - Simple Swift class to provide all the configurations you need to create custom camera view in your app. -* [RSBarcodes_Swift](https://github.com/yeahdongcn/RSBarcodes_Swift) - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. -* [LLSimpleCamera](https://github.com/omergul/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. -* [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. -* [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - 🔎 Simple and beautiful barcode scanner. -* [HorizonSDK-iOS](https://github.com/HorizonCamera/HorizonSDK-iOS) - State of the art real-time video recording / photo shooting iOS library. -* [FastttCamera](https://github.com/IFTTT/FastttCamera) - Fasttt and easy camera framework for iOS with customizable filters -* [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. -* [NextLevel](https://github.com/NextLevel/NextLevel) - Next Level is a media capture camera library for iOS. -* [CameraEngine](https://github.com/remirobert/CameraEngine) - 🐒📷 Camera engine for iOS, written in Swift, above AVFoundation. 🐒 -* [SwiftyCam](https://github.com/Awalz/SwiftyCam) - A Snapchat Inspired iOS Camera Framework written in Swift. -* [CameraBackground](https://github.com/yonat/CameraBackground) - Show camera layer as a background to any UIView. -* [Lumina](https://github.com/dokun1/Lumina) - Full service camera that takes photos, videos, streams frames, detects metadata, and streams CoreML predictions :largeorangediamond: -* [RAImagePicker](https://github.com/rallahaseh/RAImagePicker) - RAImagePicker is a protocol-oriented framework that provides custom features from the built-in Image Picker Edit. -* [FDTake](https://github.com/fulldecent/FDTake) - Easily take a photo or video or choose from library. -* [YPImagePicker](https://github.com/Yummypets/YPImagePicker) - Instagram-like image picker & filters for iOS -* [MockImagePicker](https://github.com/yonat/MockImagePicker) - Mock UIImagePickerController for testing camera based UI in simulator. -* [iOS-Depth-Sampler](https://github.com/shu223/iOS-Depth-Sampler) - A collection of code examples for Depth APIs. -* [TakeASelfie](https://github.com/abdullahselek/TakeASelfie) - An iOS framework that uses the front camera, detects your face and takes a selfie. -* [HybridCamera](https://github.com/eonist/HybridCamera) - Video and photo camera for iOS, similar to the SnapChat camera. -* [CameraKit-iOS](https://github.com/CameraKit/camerakit-ios) - Massively increase camera performance and ease of use in your next iOS project. +- [TGCameraViewController](https://github.com/tdginternet/TGCameraViewController) - Custom camera with AVFoundation. Beautiful, light and easy to integrate with iOS projects. +- [PBJVision](https://github.com/piemonte/PBJVision) - iOS camera engine, features touch-to-record video, slow motion video, and photo capture. +- [Cool-iOS-Camera](https://github.com/GabrielAlva/Cool-iOS-Camera) - A fully customisable and modern camera implementation for iOS made with AVFoundation. +- [SCRecorder](https://github.com/rFlex/SCRecorder) - Camera engine with Vine-like tap to record, animatable filters, slow motion, segments editing. +- [ALCameraViewController](https://github.com/AlexLittlejohn/ALCameraViewController) - A camera view controller with custom image picker and image cropping. Written in Swift. +- [CameraManager](https://github.com/imaginary-cloud/CameraManager) - Simple Swift class to provide all the configurations you need to create custom camera view in your app. +- [RSBarcodes_Swift](https://github.com/yeahdongcn/RSBarcodes_Swift) - 1D and 2D barcodes reader and generators for iOS 8 with delightful controls. Now Swift. +- [LLSimpleCamera](https://github.com/omergul/LLSimpleCamera) - A simple, customizable camera control - video recorder for iOS. +- [Fusuma](https://github.com/ytakzk/Fusuma) - Instagram-like photo browser and a camera feature with a few line of code in Swift. +- [BarcodeScanner](https://github.com/hyperoslo/BarcodeScanner) - Simple and beautiful barcode scanner. +- [HorizonSDK-iOS](https://github.com/HorizonCamera/HorizonSDK-iOS) - State of the art real-time video recording / photo shooting iOS library. +- [FastttCamera](https://github.com/IFTTT/FastttCamera) - Fasttt and easy camera framework for iOS with customizable filters. +- [DKCamera](https://github.com/zhangao0086/DKCamera) - A lightweight & simple camera framework for iOS. Written in Swift. +- [NextLevel](https://github.com/NextLevel/NextLevel) - Next Level is a media capture camera library for iOS. +- [CameraEngine](https://github.com/remirobert/CameraEngine) - Camera engine for iOS, written in Swift, above AVFoundation. +- [SwiftyCam](https://github.com/Awalz/SwiftyCam) - A Snapchat Inspired iOS Camera Framework written in Swift. +- [CameraBackground](https://github.com/yonat/CameraBackground) - Show camera layer as a background to any UIView. +- [Lumina](https://github.com/dokun1/Lumina) - Full service camera that takes photos, videos, streams frames, detects metadata, and streams CoreML predictions. +- [RAImagePicker](https://github.com/rallahaseh/RAImagePicker) - RAImagePicker is a protocol-oriented framework that provides custom features from the built-in Image Picker Edit. +- [FDTake](https://github.com/fulldecent/FDTake) - Easily take a photo or video or choose from library. +- [YPImagePicker](https://github.com/Yummypets/YPImagePicker) - Instagram-like image picker & filters for iOS. +- [MockImagePicker](https://github.com/yonat/MockImagePicker) - Mock UIImagePickerController for testing camera based UI in simulator. +- [iOS-Depth-Sampler](https://github.com/shu223/iOS-Depth-Sampler) - A collection of code examples for Depth APIs. +- [TakeASelfie](https://github.com/abdullahselek/TakeASelfie) - An iOS framework that uses the front camera, detects your face and takes a selfie. +- [HybridCamera](https://github.com/eonist/HybridCamera) - Video and photo camera for iOS, similar to the SnapChat camera. +- [CameraKit-iOS](https://github.com/CameraKit/camerakit-ios) - Massively increase camera performance and ease of use in your next iOS project. ### Force Touch *Quick actions and peek and pop interactions* -* [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts) -* [JustPeek](https://github.com/justeat/JustPeek) - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. -* [PeekView](https://github.com/itsmeichigo/PeekView) - PeekView supports peek, pop and preview actions for iOS devices without 3D Touch capibility. +- [QuickActions](https://github.com/ricardopereira/QuickActions) - Swift wrapper for iOS Home Screen Quick Actions (App Icon Shortcuts). +- [JustPeek](https://github.com/justeat/JustPeek) - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. +- [PeekView](https://github.com/itsmeichigo/PeekView) - PeekView supports peek, pop and preview actions for iOS devices without 3D Touch capibility. ### iBeacon *Device detect libraries and iBeacon helpers* -* [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. -* [OWUProximityManager](https://github.com/ohayon/OWUProximityManager) - iBeacons + CoreBluetooth. -* [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy Bluetooth devices in the background. -* [BeaconEmitter](https://github.com/lgaches/BeaconEmitter) - Turn your Mac as an iBeacon. -* [MOCA Proximity](https://mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. -* [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. +- [Proxitee](https://github.com/Proxitee/iOS-SDK) - Allows developers to create proximity aware applications utilizing iBeacons & geo fences. +- [OWUProximityManager](https://github.com/ohayon/OWUProximityManager) - iBeacons + CoreBluetooth. +- [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy Bluetooth devices in the background. +- [BeaconEmitter](https://github.com/lgaches/BeaconEmitter) - Turn your Mac as an iBeacon. +- [MOCA Proximity](https://mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. +- [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. ### Location *Location monitoring, detect motion and geofencing libraries* -* [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. -* [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. -* [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift -* [SOMotionDetector](https://github.com/arturdev/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. -* [LocationPicker](https://github.com/ZhuoranTan/LocationPicker) - A ready for use and fully customizable location picker for your app -* [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. -* [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. -* [NominatimKit](https://github.com/caloon/NominatimKit) - A Swift wrapper for (reverse) geocoding of OpenStreetMap data. +- [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. +- [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. +- [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift. +- [SOMotionDetector](https://github.com/arturdev/SOMotionDetector) - Simple library to detect motion. Based on location updates and acceleration. +- [LocationPicker](https://github.com/ZhuoranTan/LocationPicker) - A ready for use and fully customizable location picker for your app. +- [BBLocationManager](https://github.com/benzamin/BBLocationManager) - A Location Manager for easily implementing location services & geofencing in iOS. +- [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. +- [NominatimKit](https://github.com/caloon/NominatimKit) - A Swift wrapper for (reverse) geocoding of OpenStreetMap data. ### Other Hardware -* [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. -* [DarkLightning](https://github.com/jensmeder/DarkLightning) - Simply the fastest way to transmit data between iOS/tvOS and macOS. -* [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties) -* [DeviceKit](https://github.com/devicekit/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. -* [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. -* [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. -* [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your ⌚️ shake movement written in swift. -* [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. ⌚️ -* [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. -* [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. -* [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. -* [Device.swift](https://github.com/schickling/Device.swift) - Super-lightweight library to detect used device. -* [SDVersion](https://github.com/sebyddd/SDVersion) - :iphone: Lightweight Cocoa library for detecting the running device's model and screen size. -* [Haptico](https://github.com/iSapozhnik/Haptico) - 📳 Easy to use haptic feedback generator with pattern-play support. +- [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. +- [DarkLightning](https://github.com/jensmeder/DarkLightning) - Simply the fastest way to transmit data between iOS/tvOS and macOS. +- [Deviice](https://github.com/andrealufino/Deviice) - Simply library to detect the device on which the app is running (and some properties). +- [DeviceKit](https://github.com/devicekit/DeviceKit) - DeviceKit is a value-type replacement of UIDevice. +- [Luminous](https://github.com/andrealufino/Luminous) - Luminous is a big framework which can give you a lot of information (more than 50) about the current system. +- [Device](https://github.com/Ekhoo/Device) - Light weight tool for detecting the current device and screen size written in swift. +- [WatchShaker](https://github.com/ezefranca/WatchShaker) - WatchShaker is a watchOS helper to get your shake movement written in swift. +- [WatchCon](https://github.com/abdullahselek/WatchCon) - WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS. +- [TapticEngine](https://github.com/WorldDownTown/TapticEngine) - TapticEngine generates iOS Device vibrations. +- [UIDeviceComplete](https://github.com/Nirma/UIDeviceComplete) - UIDevice extensions that fill in the missing pieces. +- [NFCNDEFParse](https://github.com/jvk75/NFCNDEFParse) - NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. +- [Device.swift](https://github.com/schickling/Device.swift) - Super-lightweight library to detect used device. +- [SDVersion](https://github.com/sebyddd/SDVersion) - Lightweight Cocoa library for detecting the running device's model and screen size. +- [Haptico](https://github.com/iSapozhnik/Haptico) - Easy to use haptic feedback generator with pattern-play support. ## Layout *Auto Layout, UI frameworks and a gorgeous list of tools to simplify layout constructions* -* [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. -* [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. -* [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. -* [PureLayout](https://github.com/PureLayout/PureLayout) - The ultimate API for iOS & macOS Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible. -* [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & macOS. -* [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift :iphone::triangular_ruler: -* [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout, powered by Swift. -* [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. -* [MisterFusion](https://github.com/marty-suzuki/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. -* [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. -* [ManualLayout](https://github.com/isair/ManualLayout) - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit. [e] -* [Stevia](https://github.com/freshOS/Stevia) - Elegant view layout for iOS. -* [Manuscript](https://github.com/floriankrueger/Manuscript) - AutoLayoutKit in pure Swift. -* [FDTemplateLayoutCell](https://github.com/forkingdog/UITableView-FDTemplateLayoutCell) - Template auto layout cell for automatically UITableViewCell height calculating -* [SwiftAutoLayout](https://github.com/indragiek/SwiftAutoLayout) - Tiny Swift DSL for Autolayout -* [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. -* [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift -* [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy -* [SwiftBond](https://github.com/DeclarativeHub/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. -* [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift -* [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - Auto Layout made easy -* [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! -* [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. -* [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS. -* [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally -* [Anchorage](https://github.com/Rightpoint/Anchorage) - A collection of operators and utilities that simplify iOS layout code. -* [Compose](https://github.com/grupozap/Compose) - Compose is a library that helps you compose complex and dynamic views. -* [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. -* [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. -* [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. -* [MyLinearLayout](https://github.com/youngsoft/MyLinearLayout) - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. -* [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. -* [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout for iOS 8+ and macOS 10.10+ -* [PinLayout](https://github.com/layoutBox/PinLayout) - Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. [iOS/macOS/tvOS] 🔶 -* [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. [e] -* [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. -* [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. -* [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. -* [FlexLayout](https://github.com/layoutBox/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. -* [Layout](https://github.com/nicklockwood/layout) - A declarative UI framework for iOS -* [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. -* [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. Developed and maintained by Facebook. -* [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. -* [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. -* [Layoutless](https://github.com/DeclarativeHub/Layoutless) - Minimalistic declarative layout and styling framework built on top of Auto Layout. -* [Yalta](https://github.com/kean/Align) - An intuitive and powerful Auto Layout library. -* [SuperLayout](https://github.com/lionheart/SuperLayout) - Simplify Auto Layout with super syntactic sugar. -* [QuickLayout](https://github.com/huri000/QuickLayout) - QuickLayout offers a simple way, to easily manage Auto Layout in code. -* [EEStackLayout](https://github.com/efekanegeli/EEStackLayout) - A structured vertical stack layout. -* [RKAutoLayout](https://github.com/daskioff/RKAutoLayout) - Simple wrapper over AutoLayout. [iOS] 🔶 +- [Masonry](https://github.com/SnapKit/Masonry) - Harness the power of AutoLayout NSLayoutConstraints with a simplified, chainable and expressive syntax. +- [FLKAutoLayout](https://github.com/floriankugler/FLKAutoLayout) - UIView category which makes it easy to create layout constraints in code. +- [Façade](https://github.com/mamaral/Facade) - Programmatic view layout for the rest of us - an autolayout alternative. +- [PureLayout](https://github.com/PureLayout/PureLayout) - The ultimate API for iOS & macOS Auto Layout — impressively simple, immensely powerful. Objective-C and Swift compatible. +- [SnapKit](https://github.com/SnapKit/SnapKit) - A Swift Autolayout DSL for iOS & macOS. +- [Cartography](https://github.com/robb/Cartography) - A declarative Auto Layout DSL for Swift. +- [AutoLayoutPlus](https://github.com/ruipfcosta/AutoLayoutPlus) - A bit of steroids for AutoLayout. +- [Neon](https://github.com/mamaral/Neon) - A powerful Swift programmatic UI layout framework. +- [MisterFusion](https://github.com/marty-suzuki/MisterFusion) - A Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. +- [SwiftBox](https://github.com/joshaber/SwiftBox) - Flexbox in Swift, using Facebook's css-layout. +- [ManualLayout](https://github.com/isair/ManualLayout) - Easy to use and flexible library for manually laying out views and layers for iOS and tvOS. Supports AsyncDisplayKit. +- [Stevia](https://github.com/freshOS/Stevia) - Elegant view layout for iOS. +- [Manuscript](https://github.com/floriankrueger/Manuscript) - AutoLayoutKit in pure Swift. +- [FDTemplateLayoutCell](https://github.com/forkingdog/UITableView-FDTemplateLayoutCell) - Template auto layout cell for automatically UITableViewCell height calculating. +- [SwiftAutoLayout](https://github.com/indragiek/SwiftAutoLayout) - Tiny Swift DSL for Autolayout. +- [FormationLayout](https://github.com/evan-liu/FormationLayout) - Work with auto layout and size classes easily. +- [SwiftyLayout](https://github.com/fhisa/SwiftyLayout) - Lightweight declarative auto-layout framework for Swift. +- [Swiftstraints](https://github.com/Skyvive/Swiftstraints) - Auto Layout In Swift Made Easy. +- [SwiftBond](https://github.com/DeclarativeHub/Bond) - Bond is a Swift binding framework that takes binding concepts to a whole new level. It's simple, powerful, type-safe and multi-paradigm. +- [Restraint](https://github.com/puffinsupply/Restraint) - Minimal Auto Layout in Swift. +- [EasyPeasy](https://github.com/nakiostudio/EasyPeasy) - Auto Layout made easy. +- [Auto Layout Magic](http://akordadev.github.io/AutoLayoutMagic/) - Build 1 scene, let Auto Layout Magic generate the constraints for you! Scenes look great across all devices! +- [Anchorman](https://github.com/mergesort/Anchorman) - An autolayout library for the damn fine citizens of San Diego. +- [LayoutKit](https://github.com/linkedin/LayoutKit) - LayoutKit is a fast view layout library for iOS. +- [Relayout](https://github.com/stevestreza/Relayout) - Swift microframework for declaring Auto Layout constraints functionally. +- [Anchorage](https://github.com/Rightpoint/Anchorage) - A collection of operators and utilities that simplify iOS layout code. +- [Compose](https://github.com/grupozap/Compose) - Compose is a library that helps you compose complex and dynamic views. +- [BrickKit](https://github.com/wayfair/brickkit-ios) - With BrickKit, you can create complex and responsive layouts in a simple way. It's easy to use and easy to extend. Create your own reusable bricks and behaviors. +- [Framezilla](https://github.com/Otbivnoe/Framezilla) - Elegant library which wraps working with frames with a nice chaining syntax. +- [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. +- [MyLinearLayout](https://github.com/youngsoft/MyLinearLayout) - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. +- [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. +- [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout. +- [PinLayout](https://github.com/layoutBox/PinLayout) - Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. +- [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. +- [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. +- [MiniLayout](https://github.com/yonat/MiniLayout) - Minimal AutoLayout convenience layer. Program constraints succinctly. +- [Bamboo](https://github.com/wordlessj/Bamboo) - Bamboo makes Auto Layout (and manual layout) elegant and concise. +- [FlexLayout](https://github.com/layoutBox/FlexLayout) - FlexLayout gently wraps the highly optimized [facebook/yoga](https://github.com/facebook/yoga) flexbox implementation in a concise, intuitive & chainable syntax. +- [Layout](https://github.com/nicklockwood/layout) - A declarative UI framework for iOS. +- [CGLayout](https://github.com/k-o-d-e-n/CGLayout) - Powerful autolayout framework based on constraints, that can manage UIView(NSView), CALayer and not rendered views. Not Apple Autolayout wrapper. +- [YogaKit](https://github.com/facebook/yoga/tree/master/YogaKit) - Powerful layout engine which implements Flexbox. +- [FlightLayout](https://github.com/AntonTheDev/FlightLayout) - Balanced medium between manual layout and auto-layout. Great for calculating frames for complex animations. +- [QLayout](https://github.com/josejuanqm/QLayout) - AutoLayout Utility for iOS. +- [Layoutless](https://github.com/DeclarativeHub/Layoutless) - Minimalistic declarative layout and styling framework built on top of Auto Layout. +- [Yalta](https://github.com/kean/Align) - An intuitive and powerful Auto Layout library. +- [SuperLayout](https://github.com/lionheart/SuperLayout) - Simplify Auto Layout with super syntactic sugar. +- [QuickLayout](https://github.com/huri000/QuickLayout) - QuickLayout offers a simple way, to easily manage Auto Layout in code. +- [EEStackLayout](https://github.com/efekanegeli/EEStackLayout) - A structured vertical stack layout. +- [RKAutoLayout](https://github.com/daskioff/RKAutoLayout) - Simple wrapper over AutoLayout. ## Localization *Tools to manage strings files, translate and enable localization in your apps.* -* [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. -* [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. -* [Rubustrings](https://github.com/dcordero/Rubustrings) - Check the format and consistency of Localizable.strings files -* [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) - Incrementally update/translate your Strings files from Code and Storyboards/XIBs. -* [LocalizationKit](https://github.com/willpowell8/LocalizationKit_iOS) - Localization management in realtime from a web portal. Easily manage your texts and translations without redeploy and resubmission. -* [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching -* [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. -* [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. -* [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. -* [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable -* [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings -* [L10n-swift](https://github.com/Decybel07/L10n-swift) - Localization of an application with ability to change language "on the fly" and support for plural forms in any language. -* [Localize](https://github.com/andresilvagomez/Localize) - Easy tool to localize apps using JSON or Strings and of course IBDesignables with extensions for UI components. +- [Hodor](https://github.com/Aufree/Hodor) - Simple solution to localize your iOS App. +- [Swifternalization](https://github.com/tomkowz/Swifternalization) - Localize iOS apps in a smarter way using JSON files. Swift framework. +- [Rubustrings](https://github.com/dcordero/Rubustrings) - Check the format and consistency of Localizable.strings files. +- [BartyCrouch](https://github.com/Flinesoft/BartyCrouch) - Incrementally update/translate your Strings files from Code and Storyboards/XIBs. +- [LocalizationKit](https://github.com/willpowell8/LocalizationKit_iOS) - Localization management in realtime from a web portal. Easily manage your texts and translations without redeploy and resubmission. +- [Localize-Swift](https://github.com/marmelroy/Localize-Swift) - Swift 2.0 friendly localization and i18n with in-app language switching. +- [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. +- [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. +- [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. +- [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable. +- [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings. +- [L10n-swift](https://github.com/Decybel07/L10n-swift) - Localization of an application with ability to change language "on the fly" and support for plural forms in any language. +- [Localize](https://github.com/andresilvagomez/Localize) - Easy tool to localize apps using JSON or Strings and of course IBDesignables with extensions for UI components. ## Logging *Debugging lives here. Logging tools, frameworks, integrations and more.* -* [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. -* [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. -* [NSLogger](https://github.com/fpillet/NSLogger) - a high performance logging utility which displays traces emitted by client applications running on macOS, iOS and Android. -* [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. -* [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. -* [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. -* [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development & release in Swift 2 & 3 -* [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. -* [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread -* [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. -* [puree](https://github.com/cookpad/puree-ios) - A log collector for iOS -* [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! [e] -* [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. -* [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. -* [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. -* [Evergreen](https://github.com/nilsleiffischer/Evergreen) - Most natural Swift logging -* [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations -* [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. -* [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. -* [LxDBAnything](https://github.com/DeveloperLx/LxDBAnything) - Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! -* [XLTestLog](https://github.com/xareelee/XLTestLog) - Styling and coloring your XCTest logs on Xcode Console -* [XLFacility](https://github.com/swisspol/XLFacility) - Elegant and extensive logging facility for macOS & iOS (includes database, Telnet and HTTP servers) -* [Atlantis](https://github.com/DrewKiino/Atlantis) - A powerful input-agnostic swift logging framework made to speed up development with maximum readability. -* [StoryTeller](https://github.com/drekka/StoryTeller) - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important. -* [LumberMill](https://github.com/ubclaunchpad/LumberMill) - Stupidly simple logging for iOS 10 and Swift 3.0 -* [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. Written in Swift 3. -* [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger for iOS, macOS, tvOS, watchOS and Linux with Swift 3. -* [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. -* [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. -* [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support -* [TraceLog](https://github.com/tonystone/tracelog) - Dead Simple: logging the way it's meant to be! Runs on ios, osx, and Linux. -* [OkLog](https://github.com/diegotl/OkLog-Swift) - A network logger for iOS and macOS projects. +- [CleanroomLogger](https://github.com/emaloney/CleanroomLogger) - A configurable and extensible Swift-based logging API that is simple, lightweight and performant. +- [CocoaLumberjack](https://github.com/CocoaLumberjack/CocoaLumberjack) - A fast & simple, yet powerful & flexible logging framework for Mac and iOS. +- [NSLogger](https://github.com/fpillet/NSLogger) - a high performance logging utility which displays traces emitted by client applications running on macOS, iOS and Android. +- [QorumLogs](https://github.com/goktugyil/QorumLogs) — Swift Logging Utility for Xcode & Google Docs. +- [Log](https://github.com/delba/Log) - A logging tool with built-in themes, formatters, and a nice API to define your owns. +- [Rainbow](https://github.com/onevcat/Rainbow) - Delightful console output for Swift developers. +- [SwiftyBeaver](https://github.com/SwiftyBeaver/SwiftyBeaver) - Convenient logging during development and release. +- [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. +- [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread. +- [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. +- [puree](https://github.com/cookpad/puree-ios) - A log collector for iOS. +- [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! +- [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. +- [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. +- [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. +- [Evergreen](https://github.com/nilsleiffischer/Evergreen) - Most natural Swift logging. +- [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations. +- [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. +- [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. +- [LxDBAnything](https://github.com/DeveloperLx/LxDBAnything) - Automate box any value! Print log without any format control symbol! Change debug habit thoroughly! +- [XLTestLog](https://github.com/xareelee/XLTestLog) - Styling and coloring your XCTest logs on Xcode Console. +- [XLFacility](https://github.com/swisspol/XLFacility) - Elegant and extensive logging facility for macOS & iOS (includes database, Telnet and HTTP servers). +- [Atlantis](https://github.com/DrewKiino/Atlantis) - A powerful input-agnostic swift logging framework made to speed up development with maximum readability. +- [StoryTeller](https://github.com/drekka/StoryTeller) - Taking a completely different approach to logging, Story Teller replacing fixed logging levels in It then uses dynamic expressions to control the logging so you only see what is important. +- [LumberMill](https://github.com/ubclaunchpad/LumberMill) - Stupidly simple logging. +- [TinyConsole](https://github.com/Cosmo/TinyConsole) - A tiny log console to display information while using your iOS app. +- [Lighty](https://github.com/abdullahselek/Lighty) - Easy to use and lightweight logger for iOS, macOS, tvOS, watchOS and Linux. +- [JustLog](https://github.com/justeat/JustLog) - Console, file and remote Logstash logging via TCP socket. +- [Twitter Logging Service](https://github.com/twitter/ios-twitter-logging-service) - Twitter Logging Service is a robust and performant logging framework for iOS clients. +- [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support. +- [TraceLog](https://github.com/tonystone/tracelog) - Dead Simple: logging the way it's meant to be! Runs on ios, osx, and Linux. +- [OkLog](https://github.com/diegotl/OkLog-Swift) - A network logger for iOS and macOS projects. ## Machine Learning *A collection of ML Models, deep learning and neural networking libraries* -* [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. -* [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. -* [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios) - The official Google-built powerful neural network library port for iOS. -* [Bender](https://github.com/xmartlabs/Bender) - Easily craft fast Neural Networks. Use TensorFlow models. Metal under the hood. -* [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. -* [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. -* [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of unique Core ML Models. -* [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. -* [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. -* [TensorSwift](https://github.com/qoncept/TensorSwift) - A lightweight library to calculate tensors in Swift, which has similar APIs to TensorFlow's. +- [Swift-Brain](https://github.com/vlall/Swift-Brain) - Artificial Intelligence/Machine Learning data structures and Swift algorithms for future iOS development. Bayes theorem, Neural Networks, and more AI. +- [AIToolbox](https://github.com/KevinCoble/AIToolbox) - A toolbox of AI modules written in Swift: Graphs/Trees, Linear Regression, Support Vector Machines, Neural Networks, PCA, KMeans, Genetic Algorithms, MDP, Mixture of Gaussians. +- [Tensorflow-iOS](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/ios) - The official Google-built powerful neural network library port for iOS. +- [Bender](https://github.com/xmartlabs/Bender) - Easily craft fast Neural Networks. Use TensorFlow models. Metal under the hood. +- [CoreML-samples](https://github.com/ytakzk/CoreML-samples) - Sample code for Core ML using ResNet50 provided by Apple and a custom model generated by coremltools. +- [Revolver](https://github.com/petrmanek/Revolver) - A framework for building fast genetic algorithms in Swift. Comes with modular architecture, pre-implemented operators and loads of examples. +- [CoreML-Models](https://github.com/likedan/Awesome-CoreML-Models) - A collection of unique Core ML Models. +- [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. +- [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. +- [TensorSwift](https://github.com/qoncept/TensorSwift) - A lightweight library to calculate tensors in Swift, which has similar APIs to TensorFlow's. ## Maps -* [Mapbox GL](https://github.com/mapbox/mapbox-gl-native) - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS. -* [GEOSwift](https://github.com/GEOSwift/GEOSwift) - The Swift Geographic Engine. -* [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift -* [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. -* [JDSwiftHeatMap](https://github.com/jamesdouble/JDSwiftHeatMap) - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. -* [ClusterKit](https://github.com/hulab/ClusterKit) - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. -* [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities. -* [MapViewPlus](https://github.com/okhanokbay/MapViewPlus) - Use any custom view as custom callout view of your MKMapView with cool animations. Also, easily use any image as annotation view. -* [MSFlightMapView](https://github.com/mabdulsubhan/MSFlightMapView) - Add and animate geodesic flights on Google map. +- [Mapbox GL](https://github.com/mapbox/mapbox-gl-native) - An OpenGL renderer for Mapbox Vector Tiles with SDK bindings for iOS. +- [GEOSwift](https://github.com/GEOSwift/GEOSwift) - The Swift Geographic Engine. +- [PXGoogleDirections](https://github.com/poulpix/PXGoogleDirections) - Google Directions API helper for iOS, written in Swift. +- [Cluster](https://github.com/efremidze/Cluster) - Easy Map Annotation Clustering. +- [JDSwiftHeatMap](https://github.com/jamesdouble/JDSwiftHeatMap) - JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. +- [ClusterKit](https://github.com/hulab/ClusterKit) - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. +- [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities. +- [MapViewPlus](https://github.com/okhanokbay/MapViewPlus) - Use any custom view as custom callout view of your MKMapView with cool animations. Also, easily use any image as annotation view. +- [MSFlightMapView](https://github.com/mabdulsubhan/MSFlightMapView) - Add and animate geodesic flights on Google map. ## Math *Math frameworks, functions and libraries to custom operations, statistical calculations and more.* -* [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation -* [SwiftMath](https://github.com/madbat/SwiftMath) - :triangular_ruler: A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. -* [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations -* [Surge](https://github.com/mattt/Surge) - A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation. -* [Upsurge](https://github.com/alejandro-isaza/Upsurge) - Swift math -* [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. -* [iosMath](https://github.com/kostub/iosMath) - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS. -* [BigInt](https://github.com/attaswift/BigInt) - Arbitrary-precision arithmetic in pure Swift -* [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. -* [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics -* [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime -* [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. -* [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library. +- [Euler](https://github.com/mattt/Euler) - Swift Custom Operators for Mathematical Notation. +- [SwiftMath](https://github.com/madbat/SwiftMath) - A math framework for Swift. Includes: vectors, matrices, complex numbers, quaternions and polynomials. +- [Arithmosophi](https://github.com/phimage/Arithmosophi) - A set of protocols for Arithmetic and Logical operations. +- [Surge](https://github.com/mattt/Surge) - A Swift library that uses the Accelerate framework to provide high-performance functions for matrix math, digital signal processing, and image manipulation. +- [Upsurge](https://github.com/alejandro-isaza/Upsurge) - Swift math. +- [Swift-MathEagle](https://github.com/rugheid/Swift-MathEagle) - A general math framework to make using math easy. Currently supports function solving and optimisation, matrix and vector algebra, complex numbers, big int and big frac and general handy extensions and functions. +- [iosMath](https://github.com/kostub/iosMath) - A library for displaying beautifully rendered math equations. Enables typesetting LaTeX math formulae in iOS. +- [BigInt](https://github.com/attaswift/BigInt) - Arbitrary-precision arithmetic in pure Swift. +- [SigmaSwiftStatistics](https://github.com/evgenyneu/SigmaSwiftStatistics) - A collection of functions for statistical calculation. +- [VectorMath](https://github.com/nicklockwood/VectorMath) - A Swift library for Mac and iOS that implements common 2D and 3D vector and matrix functions, useful for games or vector-based graphics. +- [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime. +- [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. +- [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library. ## Media ### Audio -* [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing. -* [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. -* [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/macOS audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. -* [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and macOS. -* [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). -* [Cephalopod](https://github.com/evgenyneu/Cephalopod) - A sound fader for AVAudioPlayer written in Swift. -* [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! -* [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. -* [AudioPlayerSwift]( https://github.com/tbaranes/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps. -* [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). -* [TuningFork](https://github.com/comyar/TuningFork) - :musical_keyboard: Simple Tuner for iOS -* [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift -* [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. -* [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/macOS DSP for audio (with Novocaine) -* [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. -* [IQAudioRecorderController](https://github.com/hackiftekhar/IQAudioRecorderController) - A drop-in universal library allows to record audio within the app with a nice User Interface. -* [TheAmazingAudioEngine2](https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine2) - The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to. -* [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view -* [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift -* [QuietModemKit](https://github.com/quiet/QuietModemKit) - iOS framework for the Quiet Modem (data over sound) -* [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. CocoaPods and Carthage compatible. -* [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. -* [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit and completely written in Swift -* [SonogramView](https://github.com/Luccifer/SonogramView) - Audio visualisation of song -* [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. -* [Porcupine](https://github.com/Picovoice/Porcupine) - On-device wake word detection engine for macOS, iOS, and watchOS, powered by deep learning. -* [Voice Overlay](https://github.com/algolia/voice-overlay-ios) - An overlay that gets your user’s voice permission and input as text in a customizable UI. -* [ModernAVPlayer](https://github.com/noreasonprojects/ModernAVPlayer) - Persistence player to resume playback after bad network connection even in background mode, manage headphone interactions, system interruptions, now playing informations and remote commands. +- [AudioBus](https://developer.audiob.us/) - Add Next Generation Live App-to-App Audio Routing. +- [AudioKit](https://github.com/audiokit/AudioKit) - A powerful toolkit for synthesizing, processing, and analyzing sounds. +- [EZAudio](https://github.com/syedhali/EZAudio) - An iOS/macOS audio visualization framework built upon Core Audio useful for anyone doing real-time, low-latency audio processing and visualizations. +- [novocaine](https://github.com/alexbw/novocaine) - Painless high-performance audio on iOS and macOS. +- [QHSpeechSynthesizerQueue](https://github.com/quentinhayot/QHSpeechSynthesizerQueue) - Queue management system for AVSpeechSynthesizer (iOS Text to Speech). +- [Cephalopod](https://github.com/evgenyneu/Cephalopod) - A sound fader for AVAudioPlayer written in Swift. +- [Chirp](https://github.com/trifl/Chirp) - The easiest way to prepare, play, and remove sounds in your Swift app! +- [Beethoven](https://github.com/vadymmarkov/Beethoven) - An audio processing Swift library for pitch detection of musical signals. +- [AudioPlayerSwift]( https://github.com/tbaranes/AudioPlayerSwift) - AudioPlayer is a simple class for playing audio in iOS, macOS and tvOS apps. +- [AudioPlayer](https://github.com/delannoyk/AudioPlayer) - AudioPlayer is syntax and feature sugar over AVPlayer. It plays your audio files (local & remote). +- [TuningFork](https://github.com/comyar/TuningFork) - Simple Tuner for iOS. +- [MusicKit](https://github.com/benzguo/MusicKit) - A framework for composing and transforming music in Swift. +- [SubtleVolume](https://github.com/andreamazz/SubtleVolume) - Replace the system volume popup with a more subtle indicator. +- [NVDSP](https://github.com/bartolsthoorn/NVDSP) - iOS/macOS DSP for audio (with Novocaine). +- [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. +- [IQAudioRecorderController](https://github.com/hackiftekhar/IQAudioRecorderController) - A drop-in universal library allows to record audio within the app with a nice User Interface. +- [TheAmazingAudioEngine2](https://github.com/TheAmazingAudioEngine/TheAmazingAudioEngine2) - The Amazing Audio Engine is a sophisticated framework for iOS audio applications, built so you don't have to. +- [InteractivePlayerView](https://github.com/AhmettKeskin/InteractivePlayerView) - Custom iOS music player view. +- [ESTMusicIndicator](https://github.com/Aufree/ESTMusicIndicator) - Cool Animated music indicator view written in Swift. +- [QuietModemKit](https://github.com/quiet/QuietModemKit) - iOS framework for the Quiet Modem (data over sound). +- [SwiftySound](https://github.com/adamcichy/SwiftySound) - Super simple library that lets you play sounds with a single line of code (and much more). Written in Swift 3, supports iOS, macOS and tvOS. CocoaPods and Carthage compatible. +- [BPMAnalyser](https://github.com/Luccifer/BPM-Analyser) - Fast and simple instrument to get the BPM rate from your audio-files. +- [PandoraPlayer](https://github.com/AppliKeySolutions/PandoraPlayer) - A lightweight music player for iOS, based on AudioKit. +- [SonogramView](https://github.com/Luccifer/SonogramView) - Audio visualisation of song. +- [AudioIndicatorBars](https://github.com/LeonardoCardoso/AudioIndicatorBars) - AIB indicates for your app users which audio is playing. Just like the Podcasts app. +- [Porcupine](https://github.com/Picovoice/Porcupine) - On-device wake word detection engine for macOS, iOS, and watchOS, powered by deep learning. +- [Voice Overlay](https://github.com/algolia/voice-overlay-ios) - An overlay that gets your user’s voice permission and input as text in a customizable UI. +- [ModernAVPlayer](https://github.com/noreasonprojects/ModernAVPlayer) - Persistence player to resume playback after bad network connection even in background mode, manage headphone interactions, system interruptions, now playing informations and remote commands. ### GIF -* [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. -* [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage) - Performant animated GIF engine for iOS -* [gifu](https://github.com/kaishin/gifu) - Highly performant animated GIF support for iOS in Swift -* [AnimatedGIFImageSerialization](https://github.com/mattt/AnimatedGIFImageSerialization) - Complete Animated GIF Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling -* [XAnimatedImage](https://github.com/khaledmtaha/XAnimatedImage) - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage -* [SwiftGif](https://github.com/swiftgif/SwiftGif) - :sparkles: A small UIImage extension with gif support -* [APNGKit](https://github.com/onevcat/APNGKit) - High performance and delightful way to play with APNG format in iOS. -* [YYImage](https://github.com/ibireme/YYImage) - Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more. -* [AImage](https://github.com/wangjwchn/AImage) - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case. -* [NSGIF2](https://github.com/metasmile/NSGIF2) - Simplify creation of a GIF from the provided video file url. -* [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine +- [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. +- [FLAnimatedImage](https://github.com/Flipboard/FLAnimatedImage) - Performant animated GIF engine for iOS. +- [gifu](https://github.com/kaishin/gifu) - Highly performant animated GIF support for iOS in Swift. +- [AnimatedGIFImageSerialization](https://github.com/mattt/AnimatedGIFImageSerialization) - Complete Animated GIF Support for iOS, with Functions, NSJSONSerialization-style Class, and (Optional) UIImage Swizzling +- [XAnimatedImage](https://github.com/khaledmtaha/XAnimatedImage) - XAnimatedImage is a performant animated GIF engine for iOS written in Swift based on FLAnimatedImage +- [SwiftGif](https://github.com/swiftgif/SwiftGif) - A small UIImage extension with gif support. +- [APNGKit](https://github.com/onevcat/APNGKit) - High performance and delightful way to play with APNG format in iOS. +- [YYImage](https://github.com/ibireme/YYImage) - Image framework for iOS to display/encode/decode animated WebP, APNG, GIF, and more. +- [AImage](https://github.com/wangjwchn/AImage) - A animated GIF&APNG engine for iOS in Swift with low memory & cpu usage.Optimized for Multi-Image case. +- [NSGIF2](https://github.com/metasmile/NSGIF2) - Simplify creation of a GIF from the provided video file url. +- [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine. ### Image -* [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. -* [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - iOS UIImage processing functions using the vDSP/Accelerate framework for speed. -* [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. -* [SDWebImage](https://github.com/SDWebImage/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. -* [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. -* [MapleBacon](https://github.com/JanGorman/MapleBacon) - An image download and caching library for iOS written in Swift. -* [NYTPhotoViewer](https://github.com/NYTimes/NYTPhotoViewer) - Slideshow and image viewer. -* [IDMPhotoBrowser](https://github.com/thiagoperes/IDMPhotoBrowser) - Photo Browser / Viewer. -* [Concorde](https://github.com/contentful-labs/Concorde/) - Download and decode progressive JPEGs. -* [TOCropViewController](https://github.com/TimOliver/TOCropViewController) - A view controller that allows users to crop UIImage objects. -* [YXTMotionView](https://github.com/hanton/YXTMotionView) - A custom image view that implements device motion scrolling. -* [PINRemoteImage](https://github.com/pinterest/PINRemoteImage) - A thread safe, performant, feature rich image fetcher. -* [SABlurImageView](https://github.com/marty-suzuki/SABlurImageView) - Easily Adding Animated Blur/Unblur Effects To An Image. -* [FastImageCache](https://github.com/path/FastImageCache) - iOS library for quickly displaying images while scrolling. -* [BKAsciiImage](https://github.com/bkoc/BKAsciiImage) - Convert UIImage to ASCII art -* [AlamofireImage](https://github.com/Alamofire/AlamofireImage) - An image component library for Alamofire. -* [Nuke](https://github.com/kean/Nuke) - Image loading, processing, caching and preheating -* [FlagKit](https://github.com/madebybowtie/FlagKit) - Beautiful flag icons for usage in apps and on the web. -* [YYWebImage](https://github.com/ibireme/YYWebImage) - Asynchronous image loading framework (supports WebP, APNG, GIF). -* [RSKImageCropper](https://github.com/ruslanskorb/RSKImageCropper) - An image cropper for iOS like in the Contacts app with support for landscape orientation. -* [Silo](https://github.com/josejuanqm/Silo) - Image loading framework with loaders. -* [Ody](https://github.com/josejuanqm/Ody) - Ody is an easy to use random image generator built with Swift, Perfect for placeholders. -* [Banana](https://github.com/gauravkatoch007/banana) - Image slider with very simple interface. -* [JDSwiftAvatarProgress](https://github.com/JellyDevelopment/JDSwiftAvatarProgress) - Easy customizable avatar image asynchronously with progress bar animated -* [Kingfisher](https://github.com/onevcat/Kingfisher) - A lightweight and pure Swift implemented library for downloading and caching image from the web. -* [EBPhotoPages](https://github.com/EddyBorja/EBPhotoPages) - A photo gallery for iOS with a modern feature set. Similar features as the Facebook photo browser. -* [UIImageView-BetterFace-Swift](https://github.com/croath/UIImageView-BetterFace-Swift) - The Swift version of https://github.com/croath/UIImageView-BetterFace -* [KFSwiftImageLoader](https://github.com/kiavashfaisali/KFSwiftImageLoader) - An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and  Watch. -* [Toucan](https://github.com/gavinbunney/Toucan) - Fabulous Image Processing in Swift -* [ImageLoaderSwift](https://github.com/hirohisa/ImageLoaderSwift) - A lightweight and fast image loader for iOS written in Swift. -* [ImageScout](https://github.com/kaishin/ImageScout) - A Swift implementation of fastimage. Supports PNG, GIF, and JPEG. -* [JLStickerTextView](https://github.com/Textcat/JLStickerTextView) - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image. -* [Agrume](https://github.com/JanGorman/Agrume) - A lemony fresh iOS image viewer written in Swift. -* [PASImageView](https://github.com/abiaad/PASImageView) - Rounded async imageview downloader lightly cached and written in Swift -* [Navi](https://github.com/nixzhu/Navi) - Focus on avatar caching. -* [SwiftPhotoGallery](https://github.com/justinvallely/SwiftPhotoGallery) - Simple, fullscreen image gallery with tap, swipe, and pinch gestures. -* [MetalAcc](https://github.com/wangjwchn/MetalAcc) - GPU-based Media processing library using Metal written in Swift. -* [MWPhotoBrowser](https://github.com/mwaterfall/MWPhotoBrowser) - A simple iOS photo and video browser with grid view, captions and selections. -* [UIImageColors](https://github.com/jathu/UIImageColors) - iTunes style color fetcher for UIImage. [e] -* [CDFlipView](https://github.com/jibeex/CDFlipView) - A view that takes a set of images, make transition from one to another by using flipping effects. -* [GPUImage2](https://github.com/BradLarson/GPUImage2) - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. -* [TGLParallaxCarousel](https://github.com/taglia3/TGLParallaxCarousel) - A lightweight 3D Linear Carousel with parallax effect -* [ImageButter](https://github.com/dollarshaveclub/ImageButter) - Makes dealing with images buttery smooth -* [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by Facebook, Twitter photo browsers written by swift -* [YUCIHighPassSkinSmoothing](https://github.com/YuAo/YUCIHighPassSkinSmoothing) - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework -* [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up -* [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition! -* [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. [e] -* [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. -* [ImageViewer](https://github.com/Krisiacik/ImageViewer) - An image viewer à la Twitter -* [FaceAware](https://github.com/BeauNouvelle/FaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. -* [SwiftyAvatar](https://github.com/dkalaitzidis/SwiftyAvatar) - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard -* [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters -* [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. -* [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. -* [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. -* [Imaginary](https://github.com/hyperoslo/Imaginary) - 🦄 Remote images, as easy as one, two, three. -* [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. -* [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. -* [FacebookImagePicker](https://github.com/floriangbh/FacebookImagePicker) - Facebook album photo picker written in Swift. -* [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. -* [Ebblink](https://github.com/ebbapp/ebblinkSDK) - An iOS SDK for sharing photos that automatically expire and can be deleted at any time. -* [Sharaku](https://github.com/makomori/Sharaku) - Instagram-like image filter ViewController. -* [CTPanoramaView](https://github.com/scihant/CTPanoramaView) - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options. -* [Twitter Image Pipline](https://github.com/twitter/ios-twitter-image-pipeline) - streamlined framework for fetching and storing images in an application. -* [TinyCrayon](https://github.com/TinyCrayon/TinyCrayon-iOS-SDK) - A smart and easy-to-use image masking and cutout SDK for mobile apps. -* [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! -* [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. -* [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. -* [PhotoEditorSDK](https://photoeditorsdk.com/) - A fully customizable photo editor for your app. -* [SimpleImageViewer](https://github.com/aFrogleap/SimpleImageViewer) - A snappy image viewer with zoom and interactive dismissal transition. -* [AZImagePreview](https://github.com/Minitour/AZImagePreview) - A framework that makes image viewing easy. -* [FaceCropper](https://github.com/KimDarren/FaceCropper) - Crop faces, inside of your image, with iOS 11 Vision api -* [Paparazzo](https://github.com/avito-tech/Paparazzo) - Custom iOS camera and photo picker with editing capabilities -* [ZImageCropper](https://github.com/ZaidPathan/ZImageCropper) - A Swift project to crop image in any shape. -* [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. -* [DTPhotoViewerController](https://github.com/tungvoduc/DTPhotoViewerController) - A fully customizable photo viewer ViewController, inspired by Facebook photo viewer. -* [LetterAvatarKit](https://github.com/vpeschenkov/LetterAvatarKit) - A UIImage extension that generates letter-based avatars written in Swift. -* [AXPhotoViewer](https://github.com/alexhillc/AXPhotoViewer) - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos -* [TJProfileImage](https://github.com/tejas-ardeshna/TJProfileImage) - Live rendering of componet’s properties in Interface Builder. -* [Viewer](https://github.com/3lvis/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images -* [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. -* [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below -* [MetalPetal](https://github.com/MetalPetal/MetalPetal) - A GPU-accelerated image/video processing framework based on [Metal](https://developer.apple.com/metal/). -* [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. -* [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. -* [Serrata](https://github.com/horitaku46/Serrata) - Slide image viewer library similar to Twitter and LINE. -* [StyleArt](https://github.com/ileafsolutions/StyleArt) - Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style. -* [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS -* [ImageDetect](https://github.com/Feghal/ImageDetect) - Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api. -* [THTiledImageView](https://github.com/TileImageTeamiOS/THTiledImageView) - Provide ultra-high-quality images through tiling techniques -* [GPUImage3](https://github.com/BradLarson/GPUImage3) - GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal. -* [Gallery](https://github.com/hyperoslo/Gallery) - Your next favorite image and video picker. -* [ATGMediaBrowser](https://github.com/altayer-digital/ATGMediaBrowser) - Image slide-show viewer with multiple predefined transition styles, and ability to create new transitions with ease. -* [Pixel](https://github.com/muukii/Pixel) - An image editor and engine using CoreImage. -* [OnlyPictures](https://github.com/KiranJasvanee/OnlyPictures) - A simple and flexible way to add source of overlapping circular pictures. -* [SFSafeSymbols](https://github.com/piknotech/SFSafeSymbols) - Safely access Apple's SF Symbols using static typing. +- [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. +- [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - iOS UIImage processing functions using the vDSP/Accelerate framework for speed. +- [AsyncImageView](https://github.com/nicklockwood/AsyncImageView) - Simple extension of UIImageView for loading and displaying images asynchronously without lock up the UI. +- [SDWebImage](https://github.com/SDWebImage/SDWebImage) - Asynchronous image downloader with cache support with an UIImageView category. +- [DFImageManager](https://github.com/kean/DFImageManager) - Modern framework for fetching images from various sources. Zero config yet immense customization and extensibility. Uses NSURLSession. +- [MapleBacon](https://github.com/JanGorman/MapleBacon) - An image download and caching library for iOS written in Swift. +- [NYTPhotoViewer](https://github.com/NYTimes/NYTPhotoViewer) - Slideshow and image viewer. +- [IDMPhotoBrowser](https://github.com/thiagoperes/IDMPhotoBrowser) - Photo Browser / Viewer. +- [Concorde](https://github.com/contentful-labs/Concorde/) - Download and decode progressive JPEGs. +- [TOCropViewController](https://github.com/TimOliver/TOCropViewController) - A view controller that allows users to crop UIImage objects. +- [YXTMotionView](https://github.com/hanton/YXTMotionView) - A custom image view that implements device motion scrolling. +- [PINRemoteImage](https://github.com/pinterest/PINRemoteImage) - A thread safe, performant, feature rich image fetcher. +- [SABlurImageView](https://github.com/marty-suzuki/SABlurImageView) - Easily Adding Animated Blur/Unblur Effects To An Image. +- [FastImageCache](https://github.com/path/FastImageCache) - iOS library for quickly displaying images while scrolling. +- [BKAsciiImage](https://github.com/bkoc/BKAsciiImage) - Convert UIImage to ASCII art. +- [AlamofireImage](https://github.com/Alamofire/AlamofireImage) - An image component library for Alamofire. +- [Nuke](https://github.com/kean/Nuke) - Image loading, processing, caching and preheating. +- [FlagKit](https://github.com/madebybowtie/FlagKit) - Beautiful flag icons for usage in apps and on the web. +- [YYWebImage](https://github.com/ibireme/YYWebImage) - Asynchronous image loading framework (supports WebP, APNG, GIF). +- [RSKImageCropper](https://github.com/ruslanskorb/RSKImageCropper) - An image cropper for iOS like in the Contacts app with support for landscape orientation. +- [Silo](https://github.com/josejuanqm/Silo) - Image loading framework with loaders. +- [Ody](https://github.com/josejuanqm/Ody) - Ody is an easy to use random image generator built with Swift, Perfect for placeholders. +- [Banana](https://github.com/gauravkatoch007/banana) - Image slider with very simple interface. +- [JDSwiftAvatarProgress](https://github.com/JellyDevelopment/JDSwiftAvatarProgress) - Easy customizable avatar image asynchronously with progress bar animated. +- [Kingfisher](https://github.com/onevcat/Kingfisher) - A lightweight and pure Swift implemented library for downloading and caching image from the web. +- [EBPhotoPages](https://github.com/EddyBorja/EBPhotoPages) - A photo gallery for iOS with a modern feature set. Similar features as the Facebook photo browser. +- [UIImageView-BetterFace-Swift](https://github.com/croath/UIImageView-BetterFace-Swift) - The Swift version of https://github.com/croath/UIImageView-BetterFace +- [KFSwiftImageLoader](https://github.com/kiavashfaisali/KFSwiftImageLoader) - An extremely high-performance, lightweight, and energy-efficient pure Swift async web image loader with memory and disk caching for iOS and Apple Watch. +- [Toucan](https://github.com/gavinbunney/Toucan) - Fabulous Image Processing in Swift. +- [ImageLoaderSwift](https://github.com/hirohisa/ImageLoaderSwift) - A lightweight and fast image loader for iOS written in Swift. +- [ImageScout](https://github.com/kaishin/ImageScout) - A Swift implementation of fastimage. Supports PNG, GIF, and JPEG. +- [JLStickerTextView](https://github.com/Textcat/JLStickerTextView) - A UIImageView allow you to add multiple Label (multiple line text support) on it, you can edit, rotate, resize the Label as you want with one finger ,then render the text on Image. +- [Agrume](https://github.com/JanGorman/Agrume) - A lemony fresh iOS image viewer written in Swift. +- [PASImageView](https://github.com/abiaad/PASImageView) - Rounded async imageview downloader lightly cached and written in Swift. +- [Navi](https://github.com/nixzhu/Navi) - Focus on avatar caching. +- [SwiftPhotoGallery](https://github.com/justinvallely/SwiftPhotoGallery) - Simple, fullscreen image gallery with tap, swipe, and pinch gestures. +- [MetalAcc](https://github.com/wangjwchn/MetalAcc) - GPU-based Media processing library using Metal written in Swift. +- [MWPhotoBrowser](https://github.com/mwaterfall/MWPhotoBrowser) - A simple iOS photo and video browser with grid view, captions and selections. +- [UIImageColors](https://github.com/jathu/UIImageColors) - iTunes style color fetcher for UIImage. +- [CDFlipView](https://github.com/jibeex/CDFlipView) - A view that takes a set of images, make transition from one to another by using flipping effects. +- [GPUImage2](https://github.com/BradLarson/GPUImage2) - GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing. +- [TGLParallaxCarousel](https://github.com/taglia3/TGLParallaxCarousel) - A lightweight 3D Linear Carousel with parallax effect. +- [ImageButter](https://github.com/dollarshaveclub/ImageButter) - Makes dealing with images buttery smooth. +- [SKPhotoBrowser](https://github.com/suzuki-0000/SKPhotoBrowser) - Simple PhotoBrowser/Viewer inspired by Facebook, Twitter photo browsers written by swift. +- [YUCIHighPassSkinSmoothing](https://github.com/YuAo/YUCIHighPassSkinSmoothing) - An implementation of High Pass Skin Smoothing using Apple's Core Image Framework. +- [CLImageViewPopup](https://github.com/vinbhai4u/CLImageViewPopup/) - A simple Image full screen pop up. +- [APKenBurnsView](https://github.com/Alterplay/APKenBurnsView) - Ken Burns effect with face recognition! +- [Moa](https://github.com/evgenyneu/moa) - An image download extension of the image view for iOS, tvOS and macOS. +- [JMCMarchingAnts](https://github.com/izotx/JMCMarchingAnts) - Library that lets you add marching ants (animated) selection to the edges of the images. +- [ImageViewer](https://github.com/Krisiacik/ImageViewer) - An image viewer à la Twitter. +- [FaceAware](https://github.com/BeauNouvelle/FaceAware) - An extension that gives UIImageView the ability to focus on faces within an image when using AspectFill. +- [SwiftyAvatar](https://github.com/dkalaitzidis/SwiftyAvatar) - A UiimageView class for creating circular avatar images, IBDesignable to make all changes via storyboard. +- [ShinpuruImage](https://github.com/FlexMonkey/ShinpuruImage) - Syntactic Sugar for Accelerate/vImage and Core Image Filters. +- [ImagePickerSheetController](https://github.com/lbrndnr/ImagePickerSheetController) - ImagePickerSheetController is like the custom photo action sheet in iMessage just without the glitches. +- [ComplimentaryGradientView](https://github.com/gkye/ComplimentaryGradientView) - Create complementary gradients generated from dominant and prominent colors in supplied image. Inspired by Grade.js. +- [ImageSlideshow](https://github.com/zvonicek/ImageSlideshow) - Swift image slideshow with circular scrolling, timer and full screen viewer. +- [Imaginary](https://github.com/hyperoslo/Imaginary) - Remote images, as easy as one, two, three. +- [PPAssetsActionController](https://github.com/pantuspavel/PPAssetsActionController) - Highly customizable Action Sheet Controller with Assets Preview. +- [Vulcan](https://github.com/jinSasaki/Vulcan) - Multi image downloader with priority in Swift. +- [FacebookImagePicker](https://github.com/floriangbh/FacebookImagePicker) - Facebook album photo picker written in Swift. +- [Lightbox](https://github.com/hyperoslo/Lightbox) - A convenient and easy to use image viewer for your iOS app. +- [Ebblink](https://github.com/ebbapp/ebblinkSDK) - An iOS SDK for sharing photos that automatically expire and can be deleted at any time. +- [Sharaku](https://github.com/makomori/Sharaku) - Instagram-like image filter ViewController. +- [CTPanoramaView](https://github.com/scihant/CTPanoramaView) - Displays spherical or cylindrical panoramas or 360-photos with touch or motion based control options. +- [Twitter Image Pipline](https://github.com/twitter/ios-twitter-image-pipeline) - streamlined framework for fetching and storing images in an application. +- [TinyCrayon](https://github.com/TinyCrayon/TinyCrayon-iOS-SDK) - A smart and easy-to-use image masking and cutout SDK for mobile apps. +- [FlexibleImage](https://github.com/kawoou/FlexibleImage) - A simple way to play with image! +- [TLPhotoPicker](https://github.com/tilltue/TLPhotoPicker) - Multiple phassets picker for iOS lib. like a facebook. +- [YapImageManager](https://github.com/yapstudios/YapImageManager) - A high-performance image downloader written in Swift, powered by YapDatabase. +- [PhotoEditorSDK](https://photoeditorsdk.com/) - A fully customizable photo editor for your app. +- [SimpleImageViewer](https://github.com/aFrogleap/SimpleImageViewer) - A snappy image viewer with zoom and interactive dismissal transition. +- [AZImagePreview](https://github.com/Minitour/AZImagePreview) - A framework that makes image viewing easy. +- [FaceCropper](https://github.com/KimDarren/FaceCropper) - Crop faces, inside of your image, with iOS 11 Vision api. +- [Paparazzo](https://github.com/avito-tech/Paparazzo) - Custom iOS camera and photo picker with editing capabilities. +- [ZImageCropper](https://github.com/ZaidPathan/ZImageCropper) - A Swift project to crop image in any shape. +- [InitialsImageView](https://github.com/bachonk/InitialsImageView) - An UIImageView extension that generates letter initials as a placeholder for user profile images, with a randomized background color. +- [DTPhotoViewerController](https://github.com/tungvoduc/DTPhotoViewerController) - A fully customizable photo viewer ViewController, inspired by Facebook photo viewer. +- [LetterAvatarKit](https://github.com/vpeschenkov/LetterAvatarKit) - A UIImage extension that generates letter-based avatars written in Swift. +- [AXPhotoViewer](https://github.com/alexhillc/AXPhotoViewer) - An iPhone/iPad photo gallery viewer, useful for viewing a large (or small!) number of photos +- [TJProfileImage](https://github.com/tejas-ardeshna/TJProfileImage) - Live rendering of componet’s properties in Interface Builder. +- [Viewer](https://github.com/3lvis/Viewer) - Image viewer (or Lightbox) with support for local and remote videos and images. +- [OverlayComposite](https://github.com/aaronjsutton/OverlayComposite) - An asynchronous, multithreaded, image compositing framework written in Swift. +- [MCScratchImageView](https://github.com/Minecodecraft/MCScratchImageView) - A custom ImageView that is used to cover the surface of other view like a scratch card, user can swipe the mulch to see the view below. +- [MetalPetal](https://github.com/MetalPetal/MetalPetal) - A GPU-accelerated image/video processing framework based on [Metal](https://developer.apple.com/metal/). +- [ShadowImageView](https://github.com/olddonkey/ShadowImageView) - ShadowImageView is a iOS 10 Apple Music style image view, help you create elegent image with shadow. +- [Avatar](https://github.com/wvabrinskas/Avatar) - Generate random user Avatar images using CoreGraphics and QuartzCore. +- [Serrata](https://github.com/horitaku46/Serrata) - Slide image viewer library similar to Twitter and LINE. +- [StyleArt](https://github.com/ileafsolutions/StyleArt) - Style Art library process images using COREML with a set of pre trained machine learning models and convert them to Art style. +- [greedo-layout-for-ios](https://github.com/500px/greedo-layout-for-ios) - Full aspect ratio grid layout for iOS. +- [ImageDetect](https://github.com/Feghal/ImageDetect) - Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api. +- [THTiledImageView](https://github.com/TileImageTeamiOS/THTiledImageView) - Provide ultra-high-quality images through tiling techniques. +- [GPUImage3](https://github.com/BradLarson/GPUImage3) - GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal. +- [Gallery](https://github.com/hyperoslo/Gallery) - Your next favorite image and video picker. +- [ATGMediaBrowser](https://github.com/altayer-digital/ATGMediaBrowser) - Image slide-show viewer with multiple predefined transition styles, and ability to create new transitions with ease. +- [Pixel](https://github.com/muukii/Pixel) - An image editor and engine using CoreImage. +- [OnlyPictures](https://github.com/KiranJasvanee/OnlyPictures) - A simple and flexible way to add source of overlapping circular pictures. +- [SFSafeSymbols](https://github.com/piknotech/SFSafeSymbols) - Safely access Apple's SF Symbols using static typing. ### Media Processing -* [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift -* [QR Code Scanner](https://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. -* [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. -* [EFQRCode](https://github.com/EFPrefix/EFQRCode) - A better way to operate two-dimensional code in Swift. -* [NSFWDetector](https://github.com/lovoo/NSFWDetector) - A NSFW (aka porn) detector with CoreML +- [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift. +- [QR Code Scanner](https://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. +- [QRCode](https://github.com/aschuch/QRCode) - A QRCode generator written in Swift. +- [EFQRCode](https://github.com/EFPrefix/EFQRCode) - A better way to operate two-dimensional code in Swift. +- [NSFWDetector](https://github.com/lovoo/NSFWDetector) - A NSFW (aka porn) detector with CoreML. ### PDF -* [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. -* [UIView 2 PDF](https://github.com/RobertAPhillips/UIView_2_PDF) - PDF generator using UIViews or UIViews with an associated XIB -* [FolioReaderKit](https://github.com/FolioReader/FolioReaderKit) - A Swift ePub reader and parser framework for iOS. -* [PDFGenerator](https://github.com/sgr-ksmt/PDFGenerator) - A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s). -* [SimplePDF](https://github.com/nRewik/SimplePDF) - Create a simple PDF effortlessly. -* [SwiftPDFGenerator](https://github.com/kayoslab/SwiftPDFGenerator) - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'. -* [PSPDFKit](https://pspdfkit.com/) - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. -* [TPPDF](https://github.com/Techprimate/TPPDF) - Generate PDF using commands and automatic layout. -* [FastPdfKit](https://github.com/mobfarm/FastPdfKit) - A Static Library to be embedded on iOS applications to display pdf documents derived from Fast PDF. -* [UIImagePlusPDF](https://github.com/DimaMishchenko/UIImagePlusPDF) - UIImage extensions to simply use PDF files. +- [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. +- [UIView 2 PDF](https://github.com/RobertAPhillips/UIView_2_PDF) - PDF generator using UIViews or UIViews with an associated XIB. +- [FolioReaderKit](https://github.com/FolioReader/FolioReaderKit) - A Swift ePub reader and parser framework for iOS. +- [PDFGenerator](https://github.com/sgr-ksmt/PDFGenerator) - A simple Generator of PDF in Swift. Generate PDF from view(s) or image(s). +- [SimplePDF](https://github.com/nRewik/SimplePDF) - Create a simple PDF effortlessly. +- [SwiftPDFGenerator](https://github.com/kayoslab/SwiftPDFGenerator) - PDF generator using UIViews; Swift Version of 'UIView 2 PDF'. +- [PSPDFKit](https://pspdfkit.com/) - Render PDF, add/edit annotations, fill forms, add/edit pages, view/create digital signatures. +- [TPPDF](https://github.com/Techprimate/TPPDF) - Generate PDF using commands and automatic layout. +- [FastPdfKit](https://github.com/mobfarm/FastPdfKit) - A Static Library to be embedded on iOS applications to display pdf documents derived from Fast PDF. +- [UIImagePlusPDF](https://github.com/DimaMishchenko/UIImagePlusPDF) - UIImage extensions to simply use PDF files. ### Streaming -* [HaishinKit.swift](https://github.com/shogo4405/HaishinKit.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. -* [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for macOS and iOS. -* [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. -* [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate -* [Airstream](https://github.com/qasim/Airstream) - A framework for streaming audio between Apple devices using AirPlay. -* [OTAcceleratorCore](https://github.com/opentok/accelerator-core-ios) - A painless way to integrate audio/video(screen sharing) to any iOS applications via Tokbox. -* [webrtc](https://webrtc.org/native-code/ios/) - Provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. +- [HaishinKit.swift](https://github.com/shogo4405/HaishinKit.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. +- [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for macOS and iOS. +- [Jukebox](https://github.com/teodorpatras/Jukebox) - Player for streaming local and remote audio files. Written in Swift. +- [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate. +- [Airstream](https://github.com/qasim/Airstream) - A framework for streaming audio between Apple devices using AirPlay. +- [OTAcceleratorCore](https://github.com/opentok/accelerator-core-ios) - A painless way to integrate audio/video(screen sharing) to any iOS applications via Tokbox. +- [webrtc](https://webrtc.org/native-code/ios/) - Provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. ### Video -* [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. -* [MobilePlayer](https://github.com/mobileplayer/mobileplayer-ios) - A powerful and completely customizable media player for iOS. -* [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS -* [AVAnimator](http://www.modejong.com/AVAnimator/) - An open source iOS native library that makes it easy to implement non-trivial video/audio enabled apps. -* [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control -* [MHVideoPhotoGallery](https://github.com/mariohahn/MHVideoPhotoGallery) - A Photo and Video Gallery -* [PlayerView](https://github.com/davidlondono/PlayerView) - Player View is a delegated view using AVPlayer of Swift -* [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. -* [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. [e] -* [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. [e] -* [ZFPlayer](https://github.com/renzifeng/ZFPlayer) - Based on AVPlayer, support for the horizontal screen, vertical screen (full screen playback can also lock the screen direction), the upper and lower slide to adjust the volume, the screen brightness, or so slide to adjust the playback progress. -* [Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media in your iOS or tvOS app -* [BMPlayer](https://github.com/BrikerMan/BMPlayer) - video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. -* [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. -* [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. -* [swift-360-videos](https://github.com/gsabran/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. -* [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. -* [PryntTrimmerView](https://github.com/HHK1/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. -* [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. -* [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. -* [Swift-YouTube-Player](https://github.com/gilesvangruisen/Swift-YouTube-Player) - Swift library for embedding and controlling YouTube videos in your iOS applications! -* [JDVideoKit](https://github.com/jamesdouble/JDVideoKit) - You can easily transfer your video into Three common video type via this framework. -* [VersaPlayer](https://github.com/josejuanqm/VersaPlayer) - Versatile AVPlayer implementation for iOS, macOS, and tvOS +- [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. +- [MobilePlayer](https://github.com/mobileplayer/mobileplayer-ios) - A powerful and completely customizable media player for iOS. +- [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS. +- [AVAnimator](http://www.modejong.com/AVAnimator/) - An open source iOS native library that makes it easy to implement non-trivial video/audio enabled apps. +- [Periscope VideoViewController](https://github.com/gontovnik/Periscope-VideoViewController) - Video view controller with Periscope fast rewind control. +- [MHVideoPhotoGallery](https://github.com/mariohahn/MHVideoPhotoGallery) - A Photo and Video Gallery. +- [PlayerView](https://github.com/davidlondono/PlayerView) - Player View is a delegated view using AVPlayer of Swift. +- [SRGMediaPlayer-iOS](https://github.com/SRGSSR/SRGMediaPlayer-iOS) - The SRG Media Player library for iOS provides a simple way to add a universal audio / video player to any iOS application. +- [AVPlayerViewController-Subtitles](https://github.com/mhergon/AVPlayerViewController-Subtitles) - AVPlayerViewController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. +- [MPMoviePlayerController-Subtitles](https://github.com/mhergon/MPMoviePlayerController-Subtitles) - MPMoviePlayerController-Subtitles is a library to display subtitles on iOS. It's built as a Swift extension and it's very easy to integrate. +- [ZFPlayer](https://github.com/renzifeng/ZFPlayer) - Based on AVPlayer, support for the horizontal screen, vertical screen (full screen playback can also lock the screen direction), the upper and lower slide to adjust the volume, the screen brightness, or so slide to adjust the playback progress. +- [Player](https://github.com/piemonte/Player) - video player in Swift, simple way to play and stream media in your iOS or tvOS app. +- [BMPlayer](https://github.com/BrikerMan/BMPlayer) - Video player in swift3 and swift2 for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brigtness and seek by slide. +- [VideoPager](https://github.com/entotsu/VideoPager) - Paging Video UI, and some control components is available. +- [ios-360-videos](https://github.com/NYTimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer. +- [swift-360-videos](https://github.com/gsabran/DDDKit) - Pure swift (no SceneKit) 3D library with focus on video and 360. +- [ABMediaView](https://github.com/andrewboryk/ABMediaView) - UIImageView subclass for drop-in image, video, GIF, and audio display, with functionality for fullscreen and minimization to the bottom-right corner. +- [PryntTrimmerView](https://github.com/HHK1/PryntTrimmerView) - A set of UI elements to trim, crop and select frames inside a video. +- [VGPlayer](https://github.com/VeinGuo/VGPlayer) - A simple iOS video player in Swift,Support play local and network,Background playback mode. +- [YoutubeKit](https://github.com/rinov/YoutubeKit) - A video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app. +- [Swift-YouTube-Player](https://github.com/gilesvangruisen/Swift-YouTube-Player) - Swift library for embedding and controlling YouTube videos in your iOS applications! +- [JDVideoKit](https://github.com/jamesdouble/JDVideoKit) - You can easily transfer your video into Three common video type via this framework. +- [VersaPlayer](https://github.com/josejuanqm/VersaPlayer) - Versatile AVPlayer implementation for iOS, macOS, and tvOS. ## Messaging Also see [push notifications](#push-notifications) -* [LayerKit](https://github.com/layerhq/releases-ios) - iOS SDK for Layer, the easiest way to add in-app messaging (text, photos, videos, data) to any mobile or web application. -* [XMPPFramework](https://github.com/robbiehanson/XMPPFramework) - An XMPP Framework in Objective-C for Mac and iOS. -* [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift -* [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController -* [Messenger](https://github.com/relatedcode/Messenger) - This is a native iOS Messenger app, making realtime chat conversations and audio calls with full offline support. -* [OTTextChatAccelerator](https://github.com/opentok/accelerator-textchat-ios) - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices. -* [chat-sdk-ios](https://github.com/chat-sdk/chat-sdk-ios) - Chat SDK iOS - Open Source Mobile Messenger. -* [AsyncMessagesViewController](https://github.com/nguyenhuy/AsyncMessagesViewController) - A smooth, responsive and flexible messages UI library for iOS. -* [MessageViewController](https://github.com/GitHawkApp/MessageViewController) - A SlackTextViewController replacement written in Swift for the iPhone X. -* [SwiftyMessenger](https://github.com/abdullahselek/SwiftyMessenger) - Swift toolkit for passing messages between iOS apps and extensions. -* [Messenger Chat with Firebase](https://github.com/instamobile/messenger-iOS-chat-swift-firestore) - Swift messaging chat app with Firebase Firestore integration. -* [SwiftKafka](https://github.com/IBM-Swift/SwiftKafka) - Swift SDK for Apache Kafka by IBM +- [LayerKit](https://github.com/layerhq/releases-ios) - iOS SDK for Layer, the easiest way to add in-app messaging (text, photos, videos, data) to any mobile or web application. +- [XMPPFramework](https://github.com/robbiehanson/XMPPFramework) - An XMPP Framework in Objective-C for Mac and iOS. +- [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift. +- [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController. +- [Messenger](https://github.com/relatedcode/Messenger) - This is a native iOS Messenger app, making realtime chat conversations and audio calls with full offline support. +- [OTTextChatAccelerator](https://github.com/opentok/accelerator-textchat-ios) - OpenTok Text Chat Accelerator Pack enables text messages between mobile or browser-based devices. +- [chat-sdk-ios](https://github.com/chat-sdk/chat-sdk-ios) - Chat SDK iOS - Open Source Mobile Messenger. +- [AsyncMessagesViewController](https://github.com/nguyenhuy/AsyncMessagesViewController) - A smooth, responsive and flexible messages UI library for iOS. +- [MessageViewController](https://github.com/GitHawkApp/MessageViewController) - A SlackTextViewController replacement written in Swift for the iPhone X. +- [SwiftyMessenger](https://github.com/abdullahselek/SwiftyMessenger) - Swift toolkit for passing messages between iOS apps and extensions. +- [Messenger Chat with Firebase](https://github.com/instamobile/messenger-iOS-chat-swift-firestore) - Swift messaging chat app with Firebase Firestore integration. +- [SwiftKafka](https://github.com/IBM-Swift/SwiftKafka) - Swift SDK for Apache Kafka by IBM. ## Networking -* [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. -* [RestKit](https://github.com/RestKit/RestKit) - RestKit is an Objective-C framework for iOS that aims to make interacting with RESTful web services simple, fast and fun. -* [FSNetworking](https://github.com/foursquare/FSNetworking) - Foursquare iOS networking library. -* [ASIHTTPRequest](https://github.com/pokeb/asi-http-request) - Easy to use CFNetwork wrapper for HTTP requests, Objective-C, macOS and iPhone. -* [Overcoat](https://github.com/Overcoat/Overcoat) - Small but powerful library that makes creating REST clients simple and fun. -* [ROADFramework](https://github.com/epam/road-ios-framework) - Attributed-oriented approach for interacting with web services. The framework has built-in json and xml serialization for requests and responses and can be easily extensible. -* [Alamofire](https://github.com/Alamofire/Alamofire) - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking. -* [Transporter](https://github.com/nghialv/Transporter) - A tiny library makes uploading and downloading easier. -* [CDZPinger](https://github.com/cdzombak/CDZPinger) - Easy-to-use ICMP Ping. -* [NSRails](https://github.com/dingbat/nsrails) - iOS/Mac OS framework for Rails. -* [NKMultipeer](https://github.com/nathankot/NKMultipeer) - A testable abstraction over multipeer connectivity. -* [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket) - Asynchronous socket networking library for Mac and iOS. -* [Siesta](https://github.com/bustoutsolutions/siesta) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. -* [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures -* [OctopusKit](https://github.com/icoco/OctopusKit) - A simplicity but graceful solution for invoke RESTful web service APIs. -* [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. -* [TWRDownloadManager](https://github.com/chasseurmic/TWRDownloadManager) - A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. -* [HappyDns](https://github.com/qiniu/happy-dns-objc) - A Dns library, support custom dns server, dnspod httpdns. Only support A record. -* [Bridge](https://github.com/BridgeNetworking/Bridge) - A simple extensible typed networking library. Intercept and process/alter requests and responses easily. -* [TRON](https://github.com/MLSDev/TRON) - Lightweight network abstraction layer, written on top of Alamofire -* [EVCloudKitDao](https://github.com/evermeer/EVCloudKitDao) - Simplified access to Apple's CloudKit -* [EVURLCache](https://github.com/evermeer/EVURLCache) - a NSURLCache subclass for handling all web requests that use NSURLRequest -* [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer. -* [Pitaya](https://github.com/johnlui/Pitaya) - A Swift HTTP / HTTPS networking library just incidentally execute on machines -* [Just](https://github.com/dduan/Just) - Swift HTTP for Humans -* [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and macOS -* [Reach](https://github.com/Isuru-Nanayakkara/Reach) - A simple class to check for internet connection availability in Swift. -* [SwiftHTTP](https://github.com/daltoniam/SwiftHTTP) - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. -* [Netdiag](https://github.com/qiniu/iOS-netdiag) - A network diagnosis library. Support Ping/TcpPing/Rtmp/TraceRoute/DNS/external IP/external DNS. -* [AFNetworkingHelper](https://github.com/betacraft/AFNetworkingHelper) - A custom wrapper over AFNetworking library that we use inside RC extensively -* [NetKit](https://github.com/azizuysal/NetKit) - A Concise HTTP Framework in Swift. -* [RealReachability](https://github.com/dustturtle/RealReachability) - We need to observe the REAL reachability of network. That's what RealReachability do. -* [MonkeyKing](https://github.com/nixzhu/MonkeyKing) - MonkeyKing helps you post messages to Chinese Social Networks. -* [NetworkKit](https://github.com/imex94/NetworkKit) - Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS. -* [APIKit](https://github.com/ishkawa/APIKit) - A networking library for building type safe web API client in Swift. -* [ws ☁️](https://github.com/freshOS/ws) - Elegant JSON WebService in Swift. -* [SPTDataLoader](https://github.com/spotify/SPTDataLoader) - The HTTP library used by the Spotify iOS client. -* [SWNetworking](https://github.com/skywite/SWNetworking) - Powerful high-level iOS, macOS and tvOS networking library. -* [Networking](https://github.com/3lvis/Networking) - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support -* [SOAPEngine](https://github.com/priore/SOAPEngine) - This generic SOAP client allows you to access web services using a your iOS app, macOS app and AppleTV app. -* [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working) -* [Malibu](https://github.com/hyperoslo/Malibu) - :surfer: Malibu is a networking library built on promises -* [YTKNetwork](https://github.com/yuantiku/YTKNetwork) - YTKNetwork is a high level request util based on AFNetworking. -* [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. -* [MMLanScan](https://github.com/mavris/MMLanScan) - An iOS LAN Network Scanner library -* [Domainer](https://github.com/FelixLinBH/Domainer) - Manage multi-domain url auto mapping ip address table -* [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way -* [AFNetworking+RetryPolicy](https://github.com/kubatruhlar/AFNetworking-RetryPolicy) - An objective-c category that adds the ability to set the retry logic for requests made with AFNetworking. -* [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. -* [Nikka](https://github.com/stremsdoerfer/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx -* [XMNetworking](https://github.com/kangzubin/XMNetworking) - A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. -* [Merhaba](https://github.com/abdullahselek/Merhaba) - Bonjour networking for discovery and connection between iOS, macOS and tvOS devices. -* [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. -* [EFInternetIndicator](https://github.com/ezefranca/EFInternetIndicator) - A little swift Internet error status indicator using ReachabilitySwift. -* [AFNetworking-Synchronous](https://github.com/paulmelnikow/AFNetworking-Synchronous) - Synchronous requests for AFNetworking 1.x, 2.x, and 3.x. -* [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. -* [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. -* [WANetworkRouting](https://github.com/Wasappli/WANetworkRouting) - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers -* [Reactor](https://github.com/RuiAAPeres/Reactor) - Powering your RAC architecture -* [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking -* [Digger](https://github.com/cornerAnt/Digger) - Digger is a lightweight download framework that requires only one line of code to complete the file download task. -* [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). -* [PerfectAPIClient](https://github.com/jorik041/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework -* [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development -* [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. -* [FGRoute](https://github.com/Feghal/FGRoute) - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses. -* [RxRestClient](https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. -* [TermiNetwork](https://github.com/billp/TermiNetwork) - A networking library written with Swift 4.0 that supports multi-environment configuration, routing and automatic deserialization -* [Dots](https://github.com/iAmrSalman/Dots) - Lightweight Concurrent Networking Framework. -* [Gem](https://github.com/Albinzr/Gem) - An extreme light weight system with high performance for managing all http request with automated parser with modal. -* [RMHttp](https://github.com/rogermolas/RMHttp) - Lightweight REST library for iOS and watchOS. -* [AlamoRecord](https://github.com/tunespeak/AlamoRecord) - An elegant yet powerful iOS networking layer inspired by ActiveRecord. -* [MHNetwork](https://github.com/emadhegab/MHNetwork) - Protocol Oriented Network Layer Aim to avoid having bloated singleton NetworkManager -* [ThunderRequest](https://github.com/3sidedcube/ThunderRequest) - A simple URLSession wrapper with a generic protocol based request body approach and easy deserialisation of responses. -* [ReactiveAPI](https://github.com/sky-uk/ReactiveAPI) - Write clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit. -* [Squid](https://github.com/borchero/Squid) - Declarative and reactive networking framework based on Combine and providing means for HTTP requests, transparent pagination, and WebSocket communication. +- [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. +- [RestKit](https://github.com/RestKit/RestKit) - RestKit is an Objective-C framework for iOS that aims to make interacting with RESTful web services simple, fast and fun. +- [FSNetworking](https://github.com/foursquare/FSNetworking) - Foursquare iOS networking library. +- [ASIHTTPRequest](https://github.com/pokeb/asi-http-request) - Easy to use CFNetwork wrapper for HTTP requests, Objective-C, macOS and iPhone. +- [Overcoat](https://github.com/Overcoat/Overcoat) - Small but powerful library that makes creating REST clients simple and fun. +- [ROADFramework](https://github.com/epam/road-ios-framework) - Attributed-oriented approach for interacting with web services. The framework has built-in json and xml serialization for requests and responses and can be easily extensible. +- [Alamofire](https://github.com/Alamofire/Alamofire) - Alamofire is an HTTP networking library written in Swift, from the creator of AFNetworking. +- [Transporter](https://github.com/nghialv/Transporter) - A tiny library makes uploading and downloading easier. +- [CDZPinger](https://github.com/cdzombak/CDZPinger) - Easy-to-use ICMP Ping. +- [NSRails](https://github.com/dingbat/nsrails) - iOS/Mac OS framework for Rails. +- [NKMultipeer](https://github.com/nathankot/NKMultipeer) - A testable abstraction over multipeer connectivity. +- [CocoaAsyncSocket](https://github.com/robbiehanson/CocoaAsyncSocket) - Asynchronous socket networking library for Mac and iOS. +- [Siesta](https://github.com/bustoutsolutions/siesta) - Elegant abstraction for RESTful resources that untangles stateful messes. An alternative to callback- and delegate-based networking. +- [Reachability.swift](https://github.com/ashleymills/Reachability.swift) - Replacement for Apple's Reachability re-written in Swift with closures. +- [OctopusKit](https://github.com/icoco/OctopusKit) - A simplicity but graceful solution for invoke RESTful web service APIs. +- [Moya](https://github.com/Moya/Moya) - Network abstraction layer written in Swift. +- [TWRDownloadManager](https://github.com/chasseurmic/TWRDownloadManager) - A modern download manager based on NSURLSession to deal with asynchronous downloading, management and persistence of multiple files. +- [HappyDns](https://github.com/qiniu/happy-dns-objc) - A Dns library, support custom dns server, dnspod httpdns. Only support A record. +- [Bridge](https://github.com/BridgeNetworking/Bridge) - A simple extensible typed networking library. Intercept and process/alter requests and responses easily. +- [TRON](https://github.com/MLSDev/TRON) - Lightweight network abstraction layer, written on top of Alamofire. +- [EVCloudKitDao](https://github.com/evermeer/EVCloudKitDao) - Simplified access to Apple's CloudKit. +- [EVURLCache](https://github.com/evermeer/EVURLCache) - a NSURLCache subclass for handling all web requests that use NSURLRequest. +- [ResponseDetective](https://github.com/netguru/ResponseDetective) - Sherlock Holmes of the networking layer. +- [Pitaya](https://github.com/johnlui/Pitaya) - A Swift HTTP / HTTPS networking library just incidentally execute on machines. +- [Just](https://github.com/dduan/Just) - Swift HTTP for Humans. +- [agent](https://github.com/hallas/agent) - Minimalistic Swift HTTP request agent for iOS and macOS. +- [Reach](https://github.com/Isuru-Nanayakkara/Reach) - A simple class to check for internet connection availability in Swift. +- [SwiftHTTP](https://github.com/daltoniam/SwiftHTTP) - Thin wrapper around NSURLSession in swift. Simplifies HTTP requests. +- [Netdiag](https://github.com/qiniu/iOS-netdiag) - A network diagnosis library. Support Ping/TcpPing/Rtmp/TraceRoute/DNS/external IP/external DNS. +- [AFNetworkingHelper](https://github.com/betacraft/AFNetworkingHelper) - A custom wrapper over AFNetworking library that we use inside RC extensively. +- [NetKit](https://github.com/azizuysal/NetKit) - A Concise HTTP Framework in Swift. +- [RealReachability](https://github.com/dustturtle/RealReachability) - We need to observe the REAL reachability of network. That's what RealReachability do. +- [MonkeyKing](https://github.com/nixzhu/MonkeyKing) - MonkeyKing helps you post messages to Chinese Social Networks. +- [NetworkKit](https://github.com/imex94/NetworkKit) - Lightweight Networking and Parsing framework made for iOS, Mac, WatchOS and tvOS. +- [APIKit](https://github.com/ishkawa/APIKit) - A networking library for building type safe web API client in Swift. +- [ws ☁️](https://github.com/freshOS/ws) - Elegant JSON WebService in Swift. +- [SPTDataLoader](https://github.com/spotify/SPTDataLoader) - The HTTP library used by the Spotify iOS client. +- [SWNetworking](https://github.com/skywite/SWNetworking) - Powerful high-level iOS, macOS and tvOS networking library. +- [Networking](https://github.com/3lvis/Networking) - Simple HTTP Networking in Swift a NSURLSession wrapper with image caching support. +- [SOAPEngine](https://github.com/priore/SOAPEngine) - This generic SOAP client allows you to access web services using a your iOS app, macOS app and AppleTV app. +- [Swish](https://github.com/thoughtbot/Swish) - Nothing but Net(working). +- [Malibu](https://github.com/hyperoslo/Malibu) - Malibu is a networking library built on promises. +- [YTKNetwork](https://github.com/yuantiku/YTKNetwork) - YTKNetwork is a high level request util based on AFNetworking. +- [UnboxedAlamofire](https://github.com/serejahh/UnboxedAlamofire) - Alamofire + Unbox: the easiest way to download and decode JSON into swift objects. +- [MMLanScan](https://github.com/mavris/MMLanScan) - An iOS LAN Network Scanner library. +- [Domainer](https://github.com/FelixLinBH/Domainer) - Manage multi-domain url auto mapping ip address table. +- [Restofire](https://github.com/Restofire/Restofire) - Restofire is a protocol oriented network abstraction layer in swift that is built on top of Alamofire to use services in a declartive way. +- [AFNetworking+RetryPolicy](https://github.com/kubatruhlar/AFNetworking-RetryPolicy) - An objective-c category that adds the ability to set the retry logic for requests made with AFNetworking. +- [SwiftyZeroMQ](https://github.com/azawawi/SwiftyZeroMQ) - ZeroMQ Swift Bindings for iOS, macOS, tvOS and watchOS. +- [Nikka](https://github.com/stremsdoerfer/Nikka) - A super simple Networking wrapper that supports many JSON libraries, Futures and Rx. +- [XMNetworking](https://github.com/kangzubin/XMNetworking) - A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking. +- [Merhaba](https://github.com/abdullahselek/Merhaba) - Bonjour networking for discovery and connection between iOS, macOS and tvOS devices. +- [DBNetworkStack](https://github.com/dbsystel/DBNetworkStack) - Resource-oritented networking which is typesafe, extendable, composeable and makes testing a lot easier. +- [EFInternetIndicator](https://github.com/ezefranca/EFInternetIndicator) - A little swift Internet error status indicator using ReachabilitySwift. +- [AFNetworking-Synchronous](https://github.com/paulmelnikow/AFNetworking-Synchronous) - Synchronous requests for AFNetworking 1.x, 2.x, and 3.x. +- [QwikHttp](https://github.com/logansease/QwikHttp) - a robust, yet lightweight and simple to use HTTP networking library designed for RESTful APIs. +- [NetClient](https://github.com/intelygenz/NetClient-iOS) - Versatile HTTP networking library written in Swift 3. +- [WANetworkRouting](https://github.com/Wasappli/WANetworkRouting) - An iOS library to route API paths to objects on client side with request, mapping, routing and auth layers. +- [Reactor](https://github.com/RuiAAPeres/Reactor) - Powering your RAC architecture. +- [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking. +- [Digger](https://github.com/cornerAnt/Digger) - Digger is a lightweight download framework that requires only one line of code to complete the file download task. +- [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). +- [PerfectAPIClient](https://github.com/jorik041/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework. +- [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development. +- [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. +- [FGRoute](https://github.com/Feghal/FGRoute) - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses. +- [RxRestClient](https://github.com/stdevteam/RxRestClient) - Simple REST Client based on RxSwift and Alamofire. +- [TermiNetwork](https://github.com/billp/TermiNetwork) - A networking library written with Swift 4.0 that supports multi-environment configuration, routing and automatic deserialization. +- [Dots](https://github.com/iAmrSalman/Dots) - Lightweight Concurrent Networking Framework. +- [Gem](https://github.com/Albinzr/Gem) - An extreme light weight system with high performance for managing all http request with automated parser with modal. +- [RMHttp](https://github.com/rogermolas/RMHttp) - Lightweight REST library for iOS and watchOS. +- [AlamoRecord](https://github.com/tunespeak/AlamoRecord) - An elegant yet powerful iOS networking layer inspired by ActiveRecord. +- [MHNetwork](https://github.com/emadhegab/MHNetwork) - Protocol Oriented Network Layer Aim to avoid having bloated singleton NetworkManager. +- [ThunderRequest](https://github.com/3sidedcube/ThunderRequest) - A simple URLSession wrapper with a generic protocol based request body approach and easy deserialisation of responses. +- [ReactiveAPI](https://github.com/sky-uk/ReactiveAPI) - Write clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit. +- [Squid](https://github.com/borchero/Squid) - Declarative and reactive networking framework based on Combine and providing means for HTTP requests, transparent pagination, and WebSocket communication. ### Email -* [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. -* [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. +- [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. +- [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. ## Representations -* [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS, written in Swift -* [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library purely written in Swift -* [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift -* [swift-protobuf](https://github.com/apple/swift-protobuf) - Plugin and runtime library for using protobuf with Swift. +- [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS. +- [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library. +- [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift +- [swift-protobuf](https://github.com/apple/swift-protobuf) - Plugin and runtime library for using protobuf with Swift. ## Notifications ### Push Notifications -* [Orbiter](https://github.com/mattt/Orbiter) - Push Notification Registration for iOS. -* [PEM](https://github.com/fastlane/fastlane/tree/master/pem) - Automatically generate and renew your push notification profiles. -* [Knuff](https://github.com/KnuffApp/Knuff) - The debug application for Apple Push Notification Service (APNS). -* [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework. -* [NWPusher](https://github.com/noodlewerk/NWPusher) - macOS and iOS application and framework to play with the Apple Push Notification service (APNs) -* [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator -* [APNSUtil](https://github.com/pisces/APNSUtil) - Library makes code simple settings and landing for apple push notification service +- [Orbiter](https://github.com/mattt/Orbiter) - Push Notification Registration for iOS. +- [PEM](https://github.com/fastlane/fastlane/tree/master/pem) - Automatically generate and renew your push notification profiles. +- [Knuff](https://github.com/KnuffApp/Knuff) - The debug application for Apple Push Notification Service (APNS). +- [FBNotifications](https://github.com/facebook/FBNotifications) - Facebook Analytics In-App Notifications Framework. +- [NWPusher](https://github.com/noodlewerk/NWPusher) - macOS and iOS application and framework to play with the Apple Push Notification service (APNs). +- [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator. +- [APNSUtil](https://github.com/pisces/APNSUtil) - Library makes code simple settings and landing for apple push notification service. ### Push Notification Providers Most of these are paid services, some have free tiers. -* [Urban Airship](https://www.airship.com/platform/channels/mobile-app/) -* [Growth Push](https://growthpush.com) - Popular in Japan. -* [Braze](https://www.braze.com/) -* [Batch](https://batch.com) -* [Boxcar](https://boxcar.io) -* [Carnival](https://www.sailthru.com) -* [Catapush](http://www.catapush.com/) -* [Netmera](https://www.netmera.com/) -* [OneSignal](https://onesignal.com) - Free. -* [PushBots](https://pushbots.com/) -* [Pushwoosh](https://www.pushwoosh.com) -* [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. -* [Pusher](https://pusher.com/beams) - Free and unlimited. -* [Swrve](https://www.swrve.com) +- [Urban Airship](https://www.airship.com/platform/channels/mobile-app/) +- [Growth Push](https://growthpush.com) - Popular in Japan. +- [Braze](https://www.braze.com/) +- [Batch](https://batch.com) +- [Boxcar](https://boxcar.io) +- [Carnival](https://www.sailthru.com) +- [Catapush](http://www.catapush.com/) +- [Netmera](https://www.netmera.com/) +- [OneSignal](https://onesignal.com) - Free. +- [PushBots](https://pushbots.com/) +- [Pushwoosh](https://www.pushwoosh.com) +- [Pushkin](https://github.com/Nordeus/pushkin) - Free and open-source. +- [Pusher](https://pusher.com/beams) - Free and unlimited. +- [Swrve](https://www.swrve.com) ### Local Notifications -* [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. +- [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. ## Objective-C Runtime *Objective-C Runtime wrappers, libraries and tools.* -* [Lumos](https://github.com/sushinoya/lumos) - A light Swift wrapper around Objective-C Runtime. -* [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class. +- [Lumos](https://github.com/sushinoya/lumos) - A light Swift wrapper around Objective-C Runtime. +- [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class. ## Optimization -* [Unreachable](https://github.com/nvzqz/Unreachable) - Unreachable code path optimization hint for Swift. +- [Unreachable](https://github.com/nvzqz/Unreachable) - Unreachable code path optimization hint for Swift. ## Parsing ### CSV -* [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180 -* [CSV.swift](https://github.com/yaslab/CSV.swift) - CSV reading and writing library written in Swift. +- [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180. +- [CSV.swift](https://github.com/yaslab/CSV.swift) - CSV reading and writing library written in Swift. ### JSON -* [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. -* [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. -* [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. -* [PropertyMapper](https://github.com/krzysztofzablocki/PropertyMapper) - Data mapping and validation with minimal amount of code. -* [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modeling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. -* [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. -* [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. -* [ObjectMapper](https://github.com/tristanhimmelman/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. -* [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. -* [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. -* [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization -* [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift 5 model files from JSON with Codeable support. -* [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift -* [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. -* [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. -* [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. -* [mapper](https://github.com/lyft/mapper) - A JSON deserialization library for Swift -* [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection -* [Jay](https://github.com/endocrimes/Jay) - Pure-Swift JSON parser & formatter. Linux & macOS ready. -* [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/macOS. -* [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON -* [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder -* [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. -* [Decodable](https://github.com/Anviking/Decodable) - Swift 2/3 JSON parsing done (more) right -* [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux) -* [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder -* [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. -* [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects -* [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for macOS which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. -* [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. -* [MJExtension](https://github.com/CoderMJLee/MJExtension) - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file. -* [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper -* [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initializers for data models. -* [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. -* [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for swift 2.x/3.x. -* [Marshal](https://github.com/utahiosmac/Marshal) - Marshaling the typeless wild west of [String: Any] (Protocol based). -* [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). -* [NSTEasyJSON](https://github.com/bernikovich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). -* [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. -* [MagicMapper](https://github.com/adrianmateoaea24/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. -* [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. -* [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). -* [WAMapping](https://github.com/Wasappli/WAMapping) - A library to turn dictionary into object and vice versa for iOS. Designed for speed! -* [json-swift](https://github.com/owensd/json-swift) - A basic library for working with JSON in Swift. -* [Himotoki](https://github.com/ikesyo/Himotoki) - A type-safe JSON decoding library purely written in Swift. -* [PMHTTP](https://github.com/postmates/PMHTTP) - Swift/Obj-C HTTP framework with a focus on REST and JSON. -* [NativeJSONMapper](https://github.com/DimaMishchenko/NativeJSONMapper) - Simple Swift 4 encoding & decoding. -* [PMJSON](https://github.com/postmates/PMJSON) - Pure Swift JSON encoding/decoding library. -* [jsoncafe.com](http://www.jsoncafe.com/) - Online Template driven Model Class Generator from JSON. -* [Mappable](https://github.com/leavez/Mappable) - lightweight and powerful JSON object mapping library, specially optimized for immutable properties. +- [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. +- [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. +- [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. +- [PropertyMapper](https://github.com/krzysztofzablocki/PropertyMapper) - Data mapping and validation with minimal amount of code. +- [JSONModel](https://github.com/JSONModel/JSONModel) - Magical Data Modeling Framework for JSON. Create rapidly powerful, atomic and smart data model classes. +- [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON) - The better way to deal with JSON data in Swift. +- [FastEasyMapping](https://github.com/Yalantis/FastEasyMapping) - Serialize & deserialize JSON fast. +- [ObjectMapper](https://github.com/tristanhimmelman/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. +- [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. +- [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. +- [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization. +- [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift 5 model files from JSON with Codeable support. +- [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift. +- [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. +- [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. +- [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. +- [mapper](https://github.com/lyft/mapper) - A JSON deserialization library for Swift. +- [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection. +- [Jay](https://github.com/endocrimes/Jay) - Pure-Swift JSON parser & formatter. Linux & macOS ready. +- [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/macOS. +- [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON. +- [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder. +- [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. +- [Decodable](https://github.com/Anviking/Decodable) - Swift 2/3 JSON parsing done (more) right. +- [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux). +- [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder. +- [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. +- [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects. +- [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for macOS which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. +- [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. +- [MJExtension](https://github.com/CoderMJLee/MJExtension) - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file. +- [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper. +- [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initializers for data models. +- [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. +- [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for Swift. +- [Marshal](https://github.com/utahiosmac/Marshal) - Marshaling the typeless wild west of [String: Any] (Protocol based). +- [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). +- [NSTEasyJSON](https://github.com/bernikovich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). +- [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. +- [MagicMapper](https://github.com/adrianmateoaea24/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. +- [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. +- [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). +- [WAMapping](https://github.com/Wasappli/WAMapping) - A library to turn dictionary into object and vice versa for iOS. Designed for speed! +- [json-swift](https://github.com/owensd/json-swift) - A basic library for working with JSON in Swift. +- [Himotoki](https://github.com/ikesyo/Himotoki) - A type-safe JSON decoding library purely written in Swift. +- [PMHTTP](https://github.com/postmates/PMHTTP) - Swift/Obj-C HTTP framework with a focus on REST and JSON. +- [NativeJSONMapper](https://github.com/DimaMishchenko/NativeJSONMapper) - Simple Swift 4 encoding & decoding. +- [PMJSON](https://github.com/postmates/PMJSON) - Pure Swift JSON encoding/decoding library. +- [jsoncafe.com](http://www.jsoncafe.com/) - Online Template driven Model Class Generator from JSON. +- [Mappable](https://github.com/leavez/Mappable) - lightweight and powerful JSON object mapping library, specially optimized for immutable properties. ### XML & HTML -* [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. -* [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. -* [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & macOS -* [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects -* [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support -* [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for macOS/iOS. -* [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift -* [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. -* [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift -* [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 4 -* [XMLCoder](https://github.com/MaxDesiatov/XMLCoder) - Encoder & Decoder for XML using Swift's `Codable` protocols. +- [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. +- [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. +- [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & macOS. +- [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects. +- [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support. +- [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for macOS/iOS. +- [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift. +- [HTMLKit](https://github.com/iabudiab/HTMLKit) - An Objective-C framework for your everyday HTML needs. +- [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift. +- [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 4. +- [XMLCoder](https://github.com/MaxDesiatov/XMLCoder) - Encoder & Decoder for XML using Swift's `Codable` protocols. ### Other Parsing -* [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. -* [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages -* [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift -* [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. -* [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. -* [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. -* [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. -* [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. -* [RLPSwift](https://github.com/bitfwdcommunity/RLPSwift) - Recursive Length Prefix encoding written in Swift. -* [AcknowledgementsPlist](https://github.com/cats-oss/AcknowledgementsPlist) - AcknowledgementsPlist manages the licenses of libraries that depend on your iOS app. -* [CoreXLSX](https://github.com/MaxDesiatov/CoreXLSX) - Excel spreadsheet (XLSX) format support in pure Swift. +- [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. +- [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages. +- [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift. +- [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. +- [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. +- [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. +- [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. +- [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. +- [RLPSwift](https://github.com/bitfwdcommunity/RLPSwift) - Recursive Length Prefix encoding written in Swift. +- [AcknowledgementsPlist](https://github.com/cats-oss/AcknowledgementsPlist) - AcknowledgementsPlist manages the licenses of libraries that depend on your iOS app. +- [CoreXLSX](https://github.com/MaxDesiatov/CoreXLSX) - Excel spreadsheet (XLSX) format support in pure Swift. ## Passbook -* [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. -* [Dubai](https://github.com/nomad/dubai) - Generate and Preview Passbook Passes. -* [Passkit](https://passkit.com) - Design, Create and validate Passbook Passes. +- [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. +- [Dubai](https://github.com/nomad/dubai) - Generate and Preview Passbook Passes. +- [Passkit](https://passkit.com) - Design, Create and validate Passbook Passes. ## Payments -* [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. -* [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend. -* [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. -* [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. -* [Moltin](https://www.moltin.com/developer/swift-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. -* [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. -* [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ -* [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS -* [SwiftInAppPurchase](https://github.com/suraphanL/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework -* [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions -* [PayPal](https://github.com/paypal/PayPal-iOS-SDK) - Accept payments in your iOS app via PayPal. -* [card.io-iOS-SDK](https://github.com/card-io/card.io-iOS-SDK) - card.io provides fast, easy credit card scanning in mobile apps -* [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift -* [ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn) - Luhn Credit Card Validation Algorithm -* [RMStore](https://github.com/robotmedia/RMStore) - A lightweight iOS library for In-App Purchases -* [MFCard](https://github.com/MobileFirstInc/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI -* [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt -* [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL -* [CreditCardForm-iOS](https://github.com/orazz/CreditCardForm-iOS) - CreditCardForm is iOS framework that allows developers to create the UI which replicates an actual Credit Card. -* [merchantkit](https://github.com/benjaminmayo/merchantkit) - A modern In-App Purchases management framework for iOS. -* [TipJarViewController](https://github.com/lionheart/TipJarViewController) - Easy, drop-in tip jar for iOS apps. -* [FramesIos](https://github.com/checkout/frames-ios) - Payment Form UI and Utilities in Swift. -* [YRPayment](https://github.com/yassram/YRPayment) - Better payment user experience library with cool animation in Swift. +- [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. +- [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend. +- [Braintree](https://www.braintreepayments.com) - Free payment processing on your first $50k. Requires Backend. +- [Venmo](https://github.com/venmo/venmo-ios-sdk) Make and accept payments in your iOS app via Venmo. +- [Moltin](https://www.moltin.com/developer/swift-ecommerce-sdk/) - Add eCommerce to your app with a simple SDK, so you can create a store and sell physical products, no backend required. +- [PatronKit](https://github.com/MosheBerman/PatronKit) - A framework to add patronage to your apps. +- [SwiftyStoreKit](https://github.com/bizz84/SwiftyStoreKit) - Lightweight In App Purchases Swift framework for iOS 8.0+ and macOS 9.0+ +- [InAppFramework](https://github.com/sandorgyulai/InAppFramework) - In App Purchase Manager framework for iOS. +- [SwiftInAppPurchase](https://github.com/suraphanL/SwiftInAppPurchase) - Simply code In App Purchases with this Swift Framework. +- [monza](https://github.com/gabrielgarza/monza) - Ruby Gem for Rails - Easy iTunes In-App Purchase Receipt validation, including auto-renewable subscriptions. +- [PayPal](https://github.com/paypal/PayPal-iOS-SDK) - Accept payments in your iOS app via PayPal. +- [card.io-iOS-SDK](https://github.com/card-io/card.io-iOS-SDK) - card.io provides fast, easy credit card scanning in mobile apps. +- [SwiftLuhn](https://github.com/MaxKramer/SwiftLuhn) - Debit/Credit card validation port of the Luhn Algorithm in Swift. +- [ObjectiveLuhn](https://github.com/MaxKramer/ObjectiveLuhn) - Luhn Credit Card Validation Algorithm. +- [RMStore](https://github.com/robotmedia/RMStore) - A lightweight iOS library for In-App Purchases. +- [MFCard](https://github.com/MobileFirstInc/MFCard) - Easily integrate Credit Card payments in iOS App / Customisable Card UI. +- [TPInAppReceipt](https://github.com/tikhop/TPInAppReceipt) - Reading and Validating In App Store Receipt. +- [iCard](https://github.com/eliakorkmaz/iCard) - Bank Card Generator with Swift using SnapKit DSL. +- [CreditCardForm-iOS](https://github.com/orazz/CreditCardForm-iOS) - CreditCardForm is iOS framework that allows developers to create the UI which replicates an actual Credit Card. +- [merchantkit](https://github.com/benjaminmayo/merchantkit) - A modern In-App Purchases management framework for iOS. +- [TipJarViewController](https://github.com/lionheart/TipJarViewController) - Easy, drop-in tip jar for iOS apps. +- [FramesIos](https://github.com/checkout/frames-ios) - Payment Form UI and Utilities in Swift. +- [YRPayment](https://github.com/yassram/YRPayment) - Better payment user experience library with cool animation in Swift. ## Permissions -* [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). -* [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). -* [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. -* [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. -* [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. -* [ClusterPrePermissions](https://github.com/rsattar/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. -* [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS -* [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. -* [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS -* [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. -* [SPPermission](https://github.com/IvanVorobei/SPPermission) - Request permissions with dialog. Check state any permissions. +- [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). +- [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). +- [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. +- [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. +- [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. +- [ClusterPrePermissions](https://github.com/rsattar/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. +- [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS. +- [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. +- [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS. +- [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. +- [SPPermission](https://github.com/IvanVorobei/SPPermission) - Request permissions with dialog. Check state any permissions. ## Products -* [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. -* [Tapglue](https://www.tapglue.com/) - Build social products and a activity feed with a few lines of code. -* [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. +- [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. +- [Tapglue](https://www.tapglue.com/) - Build social products and a activity feed with a few lines of code. +- [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. ## Reactive Programming -* [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift -* [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extensions for Swift optionals and "Occupiable" types -* [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes -* [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) - Streams of values over time. -* [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. -* [ReactiveCoreData](https://github.com/apparentsoft/ReactiveCoreData) - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world. -* [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux -* [ReactiveKit](https://github.com/DeclarativeHub/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. -* [RxPermission](https://github.com/sunshinejr/RxPermission) - RxSwift bindings for Permissions API in iOS. -* [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire -* [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types -* [RxMultipeer](https://github.com/RxSwiftCommunity/RxMultipeer) - A testable RxSwift wrapper around MultipeerConnectivity -* [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & macOS Bluetooth library for RxSwift -* [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures -* [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. -* [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data -* [RxAutomaton](https://github.com/inamiy/RxAutomaton) - RxSwift + State Machine, inspired by Redux and Elm. -* [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. -* [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. -* [ReduxSwift](https://github.com/lsunsi/ReduxSwift) - Predictable state container for Swift apps too. -* [Aftermath](https://github.com/hyperoslo/Aftermath) - Stateless message-driven micro-framework in Swift. -* [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. -* [JASONETTE-iOS](https://github.com/Jasonette/JASONETTE-iOS) - Native App over HTTP. Create your own native iOS app with nothing but JSON. -* [ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) - Streams of values over time by ReactiveCocoa group -* [Listenable](https://github.com/msaps/Listenable) - Swift object that provides an observable platform. -* [Reactor](https://github.com/ReactorSwift/Reactor) - :arrows_counterclockwise: Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux . -* [Snail](https://github.com/UrbanCompass/Snail) - An observables framework for Swift -* [RxWebSocket](https://github.com/fjcaetano/RxWebSocket) - Reactive extension over Starscream for websockets -* [ACKReactiveExtensions](https://github.com/AckeeCZ/ACKReactiveExtensions) - Useful extensions for ReactiveCocoa -* [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive -* [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. -* [Observable](https://github.com/roberthein/Observable) - The easiest way to observe values in Swift. -* [SimpleApiClient](https://github.com/jaychang0917/SimpleApiClient-ios) - A configurable api client based on Alamofire4 and RxSwift4 for iOS. -* [VueFlux](https://github.com/ra1028/VueFlux) - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux -* [RxAnimated](https://github.com/RxSwiftCommunity/RxAnimated) - Animated RxCocoa bindings -* [BindKit](https://github.com/electricbolt/bindkit) - Two-way data binding framework for iOS. Only one API to learn. -* [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. -* [RxReduce](https://github.com/RxSwiftCommunity/RxReduce) - Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way. -* [RxCoordinator](https://github.com/quickbirdstudios/XCoordinator) - Powerful navigation library for iOS based on the coordinator pattern. -* [RxAlamoRecord](https://github.com/Daltron/RxAlamoRecord) Combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively. -* [CwlSignal](https://github.com/mattgallagher/CwlSignal) A Swift framework for reactive programming. -* [LightweightObservable](https://github.com/fxm90/LightweightObservable) - A lightweight implementation of an observable sequence that you can subscribe to. -* [Bindy](https://github.com/MaximKotliar/Bindy) - Simple, lightweight swift bindings with KVO support and easy to read syntax. +- [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift. +- [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extensions for Swift optionals and "Occupiable" types. +- [ReactiveTask](https://github.com/Carthage/ReactiveTask) - Flexible, stream-based abstraction for launching processes. +- [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) - Streams of values over time. +- [RxMediaPicker](https://github.com/RxSwiftCommunity/RxMediaPicker) - A reactive wrapper built around UIImagePickerController. +- [ReactiveCoreData](https://github.com/apparentsoft/ReactiveCoreData) - ReactiveCoreData (RCD) is an attempt to bring Core Data into the ReactiveCocoa (RAC) world. +- [ReSwift](https://github.com/ReSwift/ReSwift) - Unidirectional Data Flow in Swift - Inspired by Redux. +- [ReactiveKit](https://github.com/DeclarativeHub/ReactiveKit) - ReactiveKit is a collection of Swift frameworks for reactive and functional reactive programming. +- [RxPermission](https://github.com/sunshinejr/RxPermission) - RxSwift bindings for Permissions API in iOS. +- [RxAlamofire](https://github.com/RxSwiftCommunity/RxAlamofire) - RxSwift wrapper around the elegant HTTP networking in Swift Alamofire. +- [RxRealm](https://github.com/RxSwiftCommunity/RxRealm) - Rx wrapper for Realm's collection types. +- [RxMultipeer](https://github.com/RxSwiftCommunity/RxMultipeer) - A testable RxSwift wrapper around MultipeerConnectivity. +- [RxBluetoothKit](https://github.com/Polidea/RxBluetoothKit) - iOS & macOS Bluetooth library for RxSwift. +- [RxGesture](https://github.com/RxSwiftCommunity/RxGesture) - RxSwift reactive wrapper for view gestures. +- [NSObject-Rx](https://github.com/RxSwiftCommunity/NSObject-Rx) - Handy RxSwift extensions on NSObject, including rx_disposeBag. +- [RxCoreData](https://github.com/RxSwiftCommunity/RxCoreData) - RxSwift extensions for Core Data. +- [RxAutomaton](https://github.com/inamiy/RxAutomaton) - RxSwift + State Machine, inspired by Redux and Elm. +- [ReactiveArray](https://github.com/Wolox/ReactiveArray) - An array class implemented in Swift that can be observed using ReactiveCocoa's Signals. +- [Interstellar](https://github.com/JensRavens/Interstellar) - Simple and lightweight Functional Reactive Coding in Swift for the rest of us. +- [ReduxSwift](https://github.com/lsunsi/ReduxSwift) - Predictable state container for Swift apps too. +- [Aftermath](https://github.com/hyperoslo/Aftermath) - Stateless message-driven micro-framework in Swift. +- [RxKeyboard](https://github.com/RxSwiftCommunity/RxKeyboard) - Reactive Keyboard in iOS. +- [JASONETTE-iOS](https://github.com/Jasonette/JASONETTE-iOS) - Native App over HTTP. Create your own native iOS app with nothing but JSON. +- [ReactiveSwift](https://github.com/ReactiveCocoa/ReactiveSwift) - Streams of values over time by ReactiveCocoa group. +- [Listenable](https://github.com/msaps/Listenable) - Swift object that provides an observable platform. +- [Reactor](https://github.com/ReactorSwift/Reactor) - Unidirectional Data Flow using idiomatic Swift—inspired by Elm and Redux. +- [Snail](https://github.com/UrbanCompass/Snail) - An observables framework for Swift. +- [RxWebSocket](https://github.com/fjcaetano/RxWebSocket) - Reactive extension over Starscream for websockets. +- [ACKReactiveExtensions](https://github.com/AckeeCZ/ACKReactiveExtensions) - Useful extensions for ReactiveCocoa +- [ReactiveLocation](https://github.com/AckeeCZ/ReactiveLocation) - CoreLocation made reactive +- [Hanson](https://github.com/blendle/Hanson) - Lightweight observations and bindings in Swift, with support for KVO and NotificationCenter. +- [Observable](https://github.com/roberthein/Observable) - The easiest way to observe values in Swift. +- [SimpleApiClient](https://github.com/jaychang0917/SimpleApiClient-ios) - A configurable api client based on Alamofire4 and RxSwift4 for iOS. +- [VueFlux](https://github.com/ra1028/VueFlux) - Unidirectional Data Flow State Management Architecture for Swift - Inspired by Vuex and Flux. +- [RxAnimated](https://github.com/RxSwiftCommunity/RxAnimated) - Animated RxCocoa bindings. +- [BindKit](https://github.com/electricbolt/bindkit) - Two-way data binding framework for iOS. Only one API to learn. +- [STDevRxExt](https://github.com/stdevteam/STDevRxExt) - STDevRxExt contains some extension functions for RxSwift and RxCocoa which makes our live easy. +- [RxReduce](https://github.com/RxSwiftCommunity/RxReduce) - Lightweight framework that ease the implementation of a state container pattern in a Reactive Programming compliant way. +- [RxCoordinator](https://github.com/quickbirdstudios/XCoordinator) - Powerful navigation library for iOS based on the coordinator pattern. +- [RxAlamoRecord](https://github.com/Daltron/RxAlamoRecord) Combines the power of the AlamoRecord and RxSwift libraries to create a networking layer that makes interacting with API's easier than ever reactively. +- [CwlSignal](https://github.com/mattgallagher/CwlSignal) A Swift framework for reactive programming. +- [LightweightObservable](https://github.com/fxm90/LightweightObservable) - A lightweight implementation of an observable sequence that you can subscribe to. +- [Bindy](https://github.com/MaximKotliar/Bindy) - Simple, lightweight swift bindings with KVO support and easy to read syntax. ### React-Like -* [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. -* [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. -* [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. -* [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. -* [CoreEvents](https://github.com/surfstudio/CoreEvents) - Simple library with C#-like events. -* [Tokamak](https://github.com/MaxDesiatov/Tokamak) - React-like framework providing a declarative API for building native UI components with easy to use one-way data binding. +- [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. +- [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. +- [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. +- [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. +- [CoreEvents](https://github.com/surfstudio/CoreEvents) - Simple library with C#-like events. +- [Tokamak](https://github.com/MaxDesiatov/Tokamak) - React-like framework providing a declarative API for building native UI components with easy to use one-way data binding. ## Reflection -* [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. -* [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive -* [EVReflection](https://github.com/evermeer/EVReflection) - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable -* [JSONNeverDie](https://github.com/johnlui/JSONNeverDie) - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die -* [SwiftKVC](https://github.com/bradhilton/SwiftKVC) - Key-Value Coding (KVC) for native Swift classes and structs -* [Runtime](https://github.com/wickwirew/Runtime) - A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties. +- [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. +- [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive. +- [EVReflection](https://github.com/evermeer/EVReflection) - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable. +- [JSONNeverDie](https://github.com/johnlui/JSONNeverDie) - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die. +- [SwiftKVC](https://github.com/bradhilton/SwiftKVC) - Key-Value Coding (KVC) for native Swift classes and structs. +- [Runtime](https://github.com/wickwirew/Runtime) - A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties. ## Regex -* [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type -* [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like Regex =~ operator for Swift -* [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way -* [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift -* [Regex](https://github.com/brynbellomy/Regex) - Regex class for Swift. Wraps NSRegularExpression. +- [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type. +- [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like Regex =~ operator for Swift. +- [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way. +- [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift. +- [Regex](https://github.com/brynbellomy/Regex) - Regex class for Swift. Wraps NSRegularExpression. ## SDK ### Official -* [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. -* [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. -* [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. -* [Facebook Swift](https://github.com/facebook/facebook-swift-sdk) Integrate your iOS apps in Swift with Facebook Platform. -* [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS -* [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. -* [Pocket](https://github.com/Pocket/Pocket-ObjC-SDK) SDK for saving stuff to Pocket. -* [Tumblr](https://github.com/tumblr/TMTumblrSDK) Library for easily integrating Tumblr data into your iOS or macOS application. -* [Evernote](https://github.com/evernote/evernote-cloud-sdk-ios) Evernote SDK for iOS. -* [Box](https://github.com/box/box-ios-sdk) iOS + macOS SDK for the Box API. -* [OneDrive](https://github.com/OneDrive/onedrive-sdk-ios) Live SDK for iOS. -* [Stripe](https://github.com/stripe/stripe-ios) Stripe bindings for iOS and macOS. -* [Venmo](#payments) -* [AWS](https://github.com/aws-amplify/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. -* [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. -* [Dropbox](https://www.dropbox.com/lp/developers) SDKs for Drop-ins and Dropbox Core API. -* [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. -* [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. -* [Primer](https://www.goprimer.com/) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. -* [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device -* [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps -* [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple -* [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. -* [Pinterest](https://github.com/pinterest/ios-pdk) - Pinterest iOS SDK -* [playkit-ios](https://github.com/kaltura/playkit-ios) - PlayKit: Kaltura Player SDK for iOS. -* [algoliasearch-client-swift](https://github.com/algolia/algoliasearch-client-swift) - Algolia Search API Client for Swift -* [twitter-kit-ios](https://github.com/twitter-archive/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps. -* [rides-ios-sdk](https://github.com/uber/rides-ios-sdk) - Uber Rides iOS SDK (beta). +- [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. +- [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. +- [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. +- [Facebook Swift](https://github.com/facebook/facebook-swift-sdk) Integrate your iOS apps in Swift with Facebook Platform. +- [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS. +- [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. +- [Pocket](https://github.com/Pocket/Pocket-ObjC-SDK) SDK for saving stuff to Pocket. +- [Tumblr](https://github.com/tumblr/TMTumblrSDK) Library for easily integrating Tumblr data into your iOS or macOS application. +- [Evernote](https://github.com/evernote/evernote-cloud-sdk-ios) Evernote SDK for iOS. +- [Box](https://github.com/box/box-ios-sdk) iOS + macOS SDK for the Box API. +- [OneDrive](https://github.com/OneDrive/onedrive-sdk-ios) Live SDK for iOS. +- [Stripe](https://github.com/stripe/stripe-ios) Stripe bindings for iOS and macOS. +- [Venmo](#payments) +- [AWS](https://github.com/aws-amplify/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. +- [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. +- [Dropbox](https://www.dropbox.com/lp/developers) SDKs for Drop-ins and Dropbox Core API. +- [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. +- [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. +- [Primer](https://www.goprimer.com/) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. +- [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device. +- [1Password](https://github.com/AgileBits/onepassword-app-extension) - 1Password Extension for iOS Apps. +- [CareKit](https://github.com/carekit-apple/CareKit) - CareKit is an open source software framework for creating apps that help people better understand and manage their health. By Apple. +- [Shopify](https://github.com/Shopify/mobile-buy-sdk-ios) - Shopify’s Mobile Buy SDK makes it simple to sell physical products inside your mobile app. +- [Pinterest](https://github.com/pinterest/ios-pdk) - Pinterest iOS SDK. +- [playkit-ios](https://github.com/kaltura/playkit-ios) - PlayKit: Kaltura Player SDK for iOS. +- [algoliasearch-client-swift](https://github.com/algolia/algoliasearch-client-swift) - Algolia Search API Client for Swift. +- [twitter-kit-ios](https://github.com/twitter-archive/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps. +- [rides-ios-sdk](https://github.com/uber/rides-ios-sdk) - Uber Rides iOS SDK (beta). ### Unofficial -* [STTwitter](https://github.com/nst/STTwitter) A stable, mature and comprehensive Objective-C library for Twitter REST API 1.1 -* [FHSTwitterEngine](https://github.com/natesymer/FHSTwitterEngine) Twitter API for Cocoa developers. -* [Giphy](https://github.com/heyalexchoi/Giphy-iOS) Giphy API client for iOS in Objective-C. -* [UberKit](https://github.com/sachinkesiraju/UberKit) - A simple, easy-to-use Objective-C wrapper for the Uber API. -* [InstagramKit](https://github.com/shyambhat/InstagramKit) - Instagram iOS SDK. -* [DribbbleSDK](https://github.com/agilie/dribbble-ios-sdk) - Dribbble iOS SDK. -* [objectiveflickr](https://github.com/lukhnos/objectiveflickr) - ObjectiveFlickr, a Flickr API framework for Objective-C. -* [Easy Social](https://github.com/pjebs/EasySocial) - Twitter & Facebook Integration. -* [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and macOS. -* [SocialLib](https://github.com/darkcl/SocialLib) - SocialLib handles sharing message to multiple social media. -* [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift -* [TJDropbox](https://github.com/timonus/TJDropbox) - A Dropbox v2 client library written in Objective-C -* [GitHub.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift -* [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. -* [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project. -* [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & macOS written in Swift. -* [SlackKit](https://github.com/pvzig/SlackKit) - a Slack client library for iOS and macOS written in Swift. -* [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift Framework to Generate Random Users - An Unofficial SDK for randomuser.me. -* [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). -* [UnsplashKit](https://github.com/modo-studio/UnsplashKit) - Swift client for Unsplash. -* [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. -* [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. -* [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. -* [BittrexApiKit](https://github.com/saeid/BittrexApiKit) - Simple and complete Swift wrapper for Bittrex Exchange API. -* [SwiftyVK](https://github.com/SwiftyVK/SwiftyVK) Library for easy interact with VK social network API written in Swift. -* [ARKKit](https://github.com/sleepdefic1t/ARKKit) - ARK Ecosystem Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. -* [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. -* [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. -* [PerfectSlackAPIClient](https://github.com/CaptainYukinoshitaHachiman/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework. -* [Mothership](https://github.com/thecb4/MotherShip) - Tunes Connect Library inspired by FastLane. -* [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API. -* [waterwheel.swift](https://github.com/kylebrowning/waterwheel.swift) - The Waterwheel Swift SDK provides classes to natively connect iOS, macOS, tvOS, and watchOS applications to Drupal 7 and 8. -* [ForecastIO](https://github.com/sxg/ForecastIO) - A Swift library for the Forecast.io Dark Sky API. -* [JamfKit](https://github.com/ethenyl/JamfKit) - A JSS communication framework written in Swift. +- [STTwitter](https://github.com/nst/STTwitter) A stable, mature and comprehensive Objective-C library for Twitter REST API 1.1. +- [FHSTwitterEngine](https://github.com/natesymer/FHSTwitterEngine) Twitter API for Cocoa developers. +- [Giphy](https://github.com/heyalexchoi/Giphy-iOS) Giphy API client for iOS in Objective-C. +- [UberKit](https://github.com/sachinkesiraju/UberKit) - A simple, easy-to-use Objective-C wrapper for the Uber API. +- [InstagramKit](https://github.com/shyambhat/InstagramKit) - Instagram iOS SDK. +- [DribbbleSDK](https://github.com/agilie/dribbble-ios-sdk) - Dribbble iOS SDK. +- [objectiveflickr](https://github.com/lukhnos/objectiveflickr) - ObjectiveFlickr, a Flickr API framework for Objective-C. +- [Easy Social](https://github.com/pjebs/EasySocial) - Twitter & Facebook Integration. +- [das-quadrat](https://github.com/Constantine-Fry/das-quadrat) - A Swift wrapper for Foursquare API. iOS and macOS. +- [SocialLib](https://github.com/darkcl/SocialLib) - SocialLib handles sharing message to multiple social media. +- [PokemonKit](https://github.com/ContinuousLearning/PokemonKit) - Pokeapi wrapper, written in Swift. +- [TJDropbox](https://github.com/timonus/TJDropbox) - A Dropbox v2 client library written in Objective-C +- [GitHub.swift](https://github.com/onmyway133/github.swift) - :octocat: Unofficial GitHub API client in Swift +- [CloudRail SI](https://github.com/CloudRail/cloudrail-si-ios-sdk) - Abstraction layer / unified API for multiple API providers. Interfaces eg for Cloud Storage (Dropbox, Google, ...), Social Networks (Facebook, Twitter, ...) and more. +- [Medium SDK - Swift](https://github.com/96-problems/medium-sdk-swift) - Unofficial Medium API SDK in Swift with sample project. +- [Swifter](https://github.com/mattdonnelly/Swifter) - :bird: A Twitter framework for iOS & macOS written in Swift. +- [SlackKit](https://github.com/pvzig/SlackKit) - a Slack client library for iOS and macOS written in Swift. +- [RandomUserSwift](https://github.com/dingwilson/RandomUserSwift) - Swift Framework to Generate Random Users - An Unofficial SDK for randomuser.me. +- [PPEventRegistryAPI](https://github.com/pantuspavel/PPEventRegistryAPI/) - Swift 3 Framework for Event Registry API (eventregistry.org). +- [UnsplashKit](https://github.com/modo-studio/UnsplashKit) - Swift client for Unsplash. +- [Swiftly Salesforce](https://github.com/mike4aday/SwiftlySalesforce) - An easy-to-use framework for building iOS apps that integrate with Salesforce, using Swift and promises. +- [Spartan](https://github.com/Daltron/Spartan) - An Elegant Spotify Web API Library Written in Swift for iOS and macOS. +- [BigBoard](https://github.com/Daltron/BigBoard) - An Elegant Financial Markets Library Written in Swift that makes requests to Yahoo Finance API's under the hood. +- [BittrexApiKit](https://github.com/saeid/BittrexApiKit) - Simple and complete Swift wrapper for Bittrex Exchange API. +- [SwiftyVK](https://github.com/SwiftyVK/SwiftyVK) Library for easy interact with VK social network API written in Swift. +- [ARKKit](https://github.com/sleepdefic1t/ARKKit) - ARK Ecosystem Cryptocurrency API Framework for iOS & macOS, written purely in Swift 4.0. +- [SwiftInstagram](https://github.com/AnderGoig/SwiftInstagram) - Swift Client for Instagram API. +- [SwiftyArk](https://github.com/Awalz/SwiftyArk) - A simple, lightweight, fully-asynchronous cryptocurrency framework for the ARK Ecosystem. +- [PerfectSlackAPIClient](https://github.com/CaptainYukinoshitaHachiman/PerfectSlackAPIClient) - A Slack API Client for the Perfect Server-Side Swift Framework. +- [Mothership](https://github.com/thecb4/MotherShip) - Tunes Connect Library inspired by FastLane. +- [SwiftFlyer](https://github.com/rinov/SwiftFlyer) - An API wrapper for bitFlyer that supports all providing API. +- [waterwheel.swift](https://github.com/kylebrowning/waterwheel.swift) - The Waterwheel Swift SDK provides classes to natively connect iOS, macOS, tvOS, and watchOS applications to Drupal 7 and 8. +- [ForecastIO](https://github.com/sxg/ForecastIO) - A Swift library for the Forecast.io Dark Sky API. +- [JamfKit](https://github.com/ethenyl/JamfKit) - A JSS communication framework written in Swift. ## Security -* [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. -* [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. -* [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. -* [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. -* [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. -* [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. -* [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. -* [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. -* [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application -* [SAPinViewController](https://github.com/siavashalipour/SAPinViewController) - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen. -* [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS -* [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication -* [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. -* [🗄 Vault](https://github.com/umbri/Vault) - Simple and Secure container for passwords and other sensitive data -* [Virgil SWIFT PFS SDK](https://github.com/VirgilSecurity/virgil-sdk-pfs-x) - An SDK that allows developers to add the Perfect Forward Secrecy (PFS) technologies to their digital solutions to protect previously intercepted traffic from being decrypted even if the main Private Key is compromised. -* [Virgil Security Objective-C/Swift SDK](https://github.com/VirgilSecurity/virgil-sdk-x) - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API. +- [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. +- [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. +- [SwiftPasscodeLock](https://github.com/yankodimitrov/SwiftPasscodeLock) - An iOS passcode lock with TouchID authentication written in Swift. +- [Smile-Lock](https://github.com/recruit-lifestyle/Smile-Lock) - A library for make a beautiful Passcode Lock View. +- [zxcvbn-ios](https://github.com/dropbox/zxcvbn-ios) - A realistic password strength estimator. +- [TPObfuscatedString](https://github.com/Techprimate/TPObfuscatedString) - Simple String obfuscation using core Swift. +- [LTHPasscodeViewController](https://github.com/rolandleth/LTHPasscodeViewController) - An iOS passcode lockscreen replica (from Settings), with TouchID and simple (variable length) / complex support. +- [iOS-App-Security-Class](https://github.com/karek314/iOS-App-Security-Class) - Simple class to check if iOS app has been cracked, being debugged or enriched with custom dylib and as well detect jailbroken environment. +- [BiometricAuth](https://github.com/vasilenkoigor/BiometricAuth) - Simple framework for biometric authentication (via TouchID) in your application. +- [SAPinViewController](https://github.com/siavashalipour/SAPinViewController) - Simple and easy to use default iOS PIN screen. This simple library allows you to draw a fully customisable PIN screen same as the iOS default PIN view. My inspiration to create this library was form THPinViewController, however SAPinViewController is completely implemented in Swift. Also the main purpose of creating this library was to have simple, easy to use and fully customisable PIN screen. +- [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS. +- [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication. +- [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. +- [🗄 Vault](https://github.com/umbri/Vault) - Simple and Secure container for passwords and other sensitive data. +- [Virgil SWIFT PFS SDK](https://github.com/VirgilSecurity/virgil-sdk-pfs-x) - An SDK that allows developers to add the Perfect Forward Secrecy (PFS) technologies to their digital solutions to protect previously intercepted traffic from being decrypted even if the main Private Key is compromised. +- [Virgil Security Objective-C/Swift SDK](https://github.com/VirgilSecurity/virgil-sdk-x) - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API. ### Encryption -* [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. -* [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. -* [Arcane](https://github.com/onmyway133/Arcane) - 🔱 Lightweight wrapper around CommonCrypto in Swift -* [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5 -* [SwiftHash](https://github.com/onmyway133/SwiftHash) - 🍕 Hash in Swift -* [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms. -* [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and macOS -* [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. -* [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift -* [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift -* [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/macOS, Android and different server side platforms. -* [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - Secure your app by obfuscating all the hard-coded security-sensitive strings. -* [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS -* [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language -* [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines -* [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. -* [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. -* [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. -* [SecureEnclaveCrypto](https://github.com/trailofbits/SecureEnclaveCrypto) - Demonstration library for using the Secure Enclave on iOS. -* [RSASwiftGenerator](https://github.com/4taras4/RSASwiftGenerator) - Util for generation RSA keys on your client and save to keychain or cover into Data 🔑 🔐 -* [Virgil Security Objective-C/Swift Crypto Library](https://github.com/VirgilSecurity/virgil-crypto-x) - A high-level cryptographic library that allows to perform all necessary operations for securely storing and transferring data. -* [JOSESwift](https://github.com/airsidemobile/JOSESwift) - A framework for the JOSE standards JWS, JWE, and JWK written in Swift. +- [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. +- [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. +- [Arcane](https://github.com/onmyway133/Arcane) - Lightweight wrapper around CommonCrypto in Swift. +- [SwiftMD5](https://github.com/mpurland/SwiftMD5) - A pure Swift implementation of MD5. +- [SwiftHash](https://github.com/onmyway133/SwiftHash) - Hash in Swift. +- [SweetHMAC](https://github.com/jancassio/SweetHMAC) - A tiny and easy to use Swift class to encrypt strings using HMAC algorithms. +- [SwCrypt](https://github.com/soyersoyer/SwCrypt) - RSA public/private key generation, RSA, AES encryption/decryption, RSA sign/verify in Swift with CommonCrypto in iOS and macOS. +- [SwiftSSL](https://github.com/SwiftP2P/SwiftSSL) - An Elegant crypto toolkit in Swift. +- [SwiftyRSA](https://github.com/TakeScoop/SwiftyRSA) - RSA public/private key encryption in Swift. +- [EnigmaKit](https://github.com/mikaoj/EnigmaKit) - Enigma encryption in Swift. +- [Themis](https://github.com/cossacklabs/themis) - High-level crypto library, providing basic asymmetric encryption, secure messaging with forward secrecy and secure data storage, supports iOS/macOS, Android and different server side platforms. +- [Obfuscator-iOS](https://github.com/pjebs/Obfuscator-iOS) - Secure your app by obfuscating all the hard-coded security-sensitive strings. +- [swift-sodium](https://github.com/jedisct1/swift-sodium) - Safe and easy to use crypto for iOS. +- [CryptoSwift](https://github.com/krzyzanowskim/CryptoSwift) - Crypto related functions and helpers for Swift implemented in Swift programming language. +- [SCrypto](https://github.com/sgl0v/SCrypto) - Elegant Swift interface to access the CommonCrypto routines. +- [SipHash](https://github.com/attaswift/SipHash) - Simple and secure hashing in Swift with the SipHash algorithm. +- [RNCryptor](https://github.com/RNCryptor/RNCryptor) - CCCryptor (AES encryption) wrappers for iOS and Mac in Swift. -- For ObjC, see RNCryptor/RNCryptor-objc. +- [CatCrypto](https://github.com/ImKcat/CatCrypto) - An easy way for hashing and encryption. +- [SecureEnclaveCrypto](https://github.com/trailofbits/SecureEnclaveCrypto) - Demonstration library for using the Secure Enclave on iOS. +- [RSASwiftGenerator](https://github.com/4taras4/RSASwiftGenerator) - Util for generation RSA keys on your client and save to keychain or cover into Data. +- [Virgil Security Objective-C/Swift Crypto Library](https://github.com/VirgilSecurity/virgil-crypto-x) - A high-level cryptographic library that allows to perform all necessary operations for securely storing and transferring data. +- [JOSESwift](https://github.com/airsidemobile/JOSESwift) - A framework for the JOSE standards JWS, JWE, and JWK written in Swift. ### Keychain -* [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. -* [Valet](https://github.com/square/Valet) - Securely store data in the iOS or macOS Keychain without knowing a thing about how the Keychain works. -* [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. -* [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and macOS -* [Keychains](https://github.com/hyperoslo/Keychains) - Because you should care... about the security... of your shit. -* [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. -* [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. -* [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. -* [SwiftyKeychainKit](https://github.com/andriyslyusar/SwiftyKeychainKit) - Keychain wrapper with the benefits of static typing and convenient syntax, support for primitive types, Codable, NSCoding. +- [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. +- [Valet](https://github.com/square/Valet) - Securely store data in the iOS or macOS Keychain without knowing a thing about how the Keychain works. +- [Locksmith](https://github.com/matthewpalmer/Locksmith) - A powerful, protocol-oriented library for working with the keychain in Swift. +- [KeychainAccess](https://github.com/kishikawakatsumi/KeychainAccess) - Simple Swift wrapper for Keychain that works on iOS and macOS. +- [Keychains](https://github.com/hyperoslo/Keychains) - Because you should care... about the security... of your shit. +- [Lockbox](https://github.com/granoff/Lockbox) - Objective-C utility class for storing data securely in the key chain. +- [SAMKeychain](https://github.com/soffes/SAMKeychain) - Simple Objective-C wrapper for the keychain that works on Mac and iOS. +- [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. +- [SwiftyKeychainKit](https://github.com/andriyslyusar/SwiftyKeychainKit) - Keychain wrapper with the benefits of static typing and convenient syntax, support for primitive types, Codable, NSCoding. ## Server *Server side projects supporting coroutines, Linux, MacOS, iOS, Apache Modules, Async calls, libuv and more.* -* [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. -* [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. -* [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for macOS or iOS applications. -* [Curassow](https://github.com/kylef-archive/Curassow) - Swift HTTP server using the pre-fork worker model. -* [Zewo](https://github.com/Zewo/Zewo) - Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines. -* [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, macOS, and Ubuntu. -* [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift -* [blackfire](https://github.com/elliottminns/blackfire) - A fast HTTP web server based on Node.js and Express written in Swift -* [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and macOS -* [Trevi](https://github.com/Yoseob/Trevi) - libuv base Swift web HTTP server framework -* [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift -* [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift -* [Frank](https://github.com/kylef-archive/Frank) - Frank is a DSL for quickly writing web applications in Swift -* [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server -* [Swifton](https://github.com/sauliusgrigaitis/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and macOS -* [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. -* [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. macOS + Linux compatible. -* [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux) -* [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. -* [Lightning](https://github.com/skylab-inc/Lightning) - A Swift Multiplatform Web and Networking Framework. -* [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. -* [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. -* [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! -* [GCDWebServer](https://github.com/swisspol/GCDWebServer) - Lightweight GCD based HTTP server for macOS & iOS (includes web based uploader & WebDAV server) -* [Embassy](https://github.com/envoy/Embassy) - Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux. -* [smoke-framework](https://github.com/amzn/smoke-framework) - A light-weight server-side service framework written in the Swift programming language. +- [Perfect](https://github.com/PerfectlySoft/Perfect) - Server-side Swift. The Perfect library, application server, connectors and example apps. +- [Swifter](https://github.com/httpswift/swifter) - Tiny http server engine written in Swift programming language. +- [CocoaHTTPServer](https://github.com/robbiehanson/CocoaHTTPServer) - A small, lightweight, embeddable HTTP server for macOS or iOS applications. +- [Curassow](https://github.com/kylef-archive/Curassow) - Swift HTTP server using the pre-fork worker model. +- [Zewo](https://github.com/Zewo/Zewo) - Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines. +- [Vapor](https://github.com/vapor/vapor) - Elegant web framework for Swift that works on iOS, macOS, and Ubuntu. +- [swiftra](https://github.com/takebayashi/swiftra) - Sinatra-like DSL for developing web apps in Swift. +- [blackfire](https://github.com/elliottminns/blackfire) - A fast HTTP web server based on Node.js and Express written in Swift. +- [swift-http](https://github.com/huytd/swift-http) - HTTP Implementation for Swift on Linux and macOS. +- [Trevi](https://github.com/Yoseob/Trevi) - libuv base Swift web HTTP server framework. +- [Express](https://github.com/crossroadlabs/Express) - Swift Express is a simple, yet unopinionated web application server written in Swift. +- [Taylor](https://github.com/izqui/Taylor) - A lightweight library for writing HTTP web servers with Swift. +- [Frank](https://github.com/kylef-archive/Frank) - Frank is a DSL for quickly writing web applications in Swift. +- [Kitura](https://github.com/IBM-Swift/Kitura) - A Swift Web Framework and HTTP Server. +- [Swifton](https://github.com/sauliusgrigaitis/Swifton) - A Ruby on Rails inspired Web Framework for Swift that runs on Linux and macOS. +- [Dynamo](https://github.com/johnno1962/Dynamo) - High Performance (nearly)100% Swift Web server supporting dynamic content. +- [Redis](https://github.com/vapor/redis) - Pure-Swift Redis client implemented from the original protocol spec. macOS + Linux compatible. +- [NetworkObjects](https://github.com/colemancda/NetworkObjects) - Swift backend / server framework (Pure Swift, Supports Linux). +- [Noze.io](http://noze.io) - Evented I/O streams a.k.a. Node.js for Swift. +- [Lightning](https://github.com/skylab-inc/Lightning) - A Swift Multiplatform Web and Networking Framework. +- [SwiftGD](https://github.com/twostraws/swiftgd) - A simple Swift wrapper for libgd. +- [Jobs](https://github.com/BrettRToomey/Jobs) - A job system for Swift backends. +- [ApacheExpress](https://github.com/ApacheExpress/ApacheExpress) - Write Apache Modules in Swift! +- [GCDWebServer](https://github.com/swisspol/GCDWebServer) - Lightweight GCD based HTTP server for macOS & iOS (includes web based uploader & WebDAV server). +- [Embassy](https://github.com/envoy/Embassy) - Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux. +- [smoke-framework](https://github.com/amzn/smoke-framework) - A light-weight server-side service framework written in the Swift programming language. ## Text -* [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. -* [Nimbus](https://github.com/jverkoey/nimbus) - Nimbus is a toolkit for experienced iOS software designers. -* [NSStringEmojize](https://github.com/diy/nsstringemojize) - A category on NSString to convert Emoji Cheat Sheet codes to their equivalent Unicode characters. -* [MMMarkdown](https://github.com/mdiep/MMMarkdown) - An Objective-C static library for converting Markdown to HTML. -* [DTCoreText](https://github.com/Cocoanetics/DTCoreText) - Methods to allow using HTML code with CoreText. -* [DTRichTextEditor](https://github.com/Cocoanetics/DTRichTextEditor) - A rich-text editor for iOS. -* [NBEmojiSearchView](https://github.com/neerajbaid/NBEmojiSearchView) - A searchable emoji dropdown view. -* [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension -* [RichEditorView](https://github.com/cjwirth/RichEditorView) - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. -* [Money](https://github.com/danthorpe/Money) - Swift value types for working with money & currency -* [PhoneNumberKit](https://github.com/marmelroy/PhoneNumberKit) - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. -* [YYText](https://github.com/ibireme/YYText) - Powerful text framework for iOS to display and edit rich text. -* [Format](https://github.com/marmelroy/Format) - A Swift Formatter Kit. -* [Tribute](https://github.com/zats/Tribute) - Programmatic creation of NSAttributedString doesn't have to be a pain -* [EmojiKit](https://github.com/dasmer/EmojiKit) - Effortless emoji-querying in Swift -* [Roman](https://github.com/nvzqz/Roman) - Seamless Roman numeral conversion in Swift. -* [ZSSRichTextEditor](https://github.com/nnhubbard/ZSSRichTextEditor) - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view. -* [pangu.Objective-C](https://github.com/Cee/pangu.objective-c) - Paranoid text spacing in Objective-C. -* [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift -* [Marklight](https://github.com/macteo/Marklight) - Markdown syntax highlighter for iOS -* [MarkdownTextView](https://github.com/indragiek/MarkdownTextView) - Rich Markdown editing control for iOS -* [TextAttributes](https://github.com/delba/TextAttributes) - An easier way to compose attributed strings. [e] -* [Reductio](https://github.com/fdzsergio/Reductio) - Automatic summarizer text in Swift -* [SmarkDown](https://github.com/SwiftStudies/SmarkDown) - A Pure Swift implementation of the markdown mark-up language -* [SwiftyMarkdown](https://github.com/SimonFairbairn/SwiftyMarkdown) - Converts Markdown files and strings into NSAttributedString -* [SZMentions](https://github.com/szweier/SZMentions) - Library to help handle mentions -* [SZMentionsSwift](https://github.com/szweier/SZMentionsSwift) - Library to help handle mentions. -* [Heimdall](https://github.com/henrinormak/Heimdall) - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. -* [NoOptionalInterpolation](https://github.com/T-Pham/NoOptionalInterpolation) - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.[e] -* [Smile](https://github.com/onmyway133/Smile) 😄 Emoji in Swift -* [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift [e] -* [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. Written in swift. -* [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set -* [BonMot](https://github.com/Rightpoint/BonMot) - Beautiful, easy attributed strings in Swift -* [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). -* [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. -* [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. -* [MarkdownKit](https://github.com/bmoliveira/MarkdownKit) - A simple and customizable Markdown Parser for Swift. -* [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and macOS. -* [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. -* [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for iOS. With UITextField extension. -* [ISO8859](https://github.com/Cosmo/ISO8859) - 📄⚙ Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. -* [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/joypixels/emojione). -* [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. -* [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). -* [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). -* [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts -* [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. -* [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. -* [Attributed](https://github.com/Nirma/Attributed) - Modern Swift µframework for attributed strings. -* [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. -* [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. -* [RealTimeCurrencyFormatter](https://github.com/kaiomedau/realtime-currency-formatter-objc) - An ObjC international currency formatting utility. -* [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. -* [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. -* [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. -* [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. -* [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS -* [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. -* [fuse-swift](https://github.com/krisk/fuse-swift) - A lightweight fuzzy-search library, with zero dependencies. -* [EFMarkdown](https://github.com/EFPrefix/EFMarkdown) - A lightweight Markdown library for iOS. -* [Croc](https://github.com/jkalash/croc) - A lightweight Swift library for Emoji parsing and querying. +- [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. +- [Nimbus](https://github.com/jverkoey/nimbus) - Nimbus is a toolkit for experienced iOS software designers. +- [NSStringEmojize](https://github.com/diy/nsstringemojize) - A category on NSString to convert Emoji Cheat Sheet codes to their equivalent Unicode characters. +- [MMMarkdown](https://github.com/mdiep/MMMarkdown) - An Objective-C static library for converting Markdown to HTML. +- [DTCoreText](https://github.com/Cocoanetics/DTCoreText) - Methods to allow using HTML code with CoreText. +- [DTRichTextEditor](https://github.com/Cocoanetics/DTRichTextEditor) - A rich-text editor for iOS. +- [NBEmojiSearchView](https://github.com/neerajbaid/NBEmojiSearchView) - A searchable emoji dropdown view. +- [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension. +- [RichEditorView](https://github.com/cjwirth/RichEditorView) - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. +- [Money](https://github.com/danthorpe/Money) - Swift value types for working with money & currency. +- [PhoneNumberKit](https://github.com/marmelroy/PhoneNumberKit) - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. +- [YYText](https://github.com/ibireme/YYText) - Powerful text framework for iOS to display and edit rich text. +- [Format](https://github.com/marmelroy/Format) - A Swift Formatter Kit. +- [Tribute](https://github.com/zats/Tribute) - Programmatic creation of NSAttributedString doesn't have to be a pain. +- [EmojiKit](https://github.com/dasmer/EmojiKit) - Effortless emoji-querying in Swift. +- [Roman](https://github.com/nvzqz/Roman) - Seamless Roman numeral conversion in Swift. +- [ZSSRichTextEditor](https://github.com/nnhubbard/ZSSRichTextEditor) - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view. +- [pangu.Objective-C](https://github.com/Cee/pangu.objective-c) - Paranoid text spacing in Objective-C. +- [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift. +- [Marklight](https://github.com/macteo/Marklight) - Markdown syntax highlighter for iOS. +- [MarkdownTextView](https://github.com/indragiek/MarkdownTextView) - Rich Markdown editing control for iOS. +- [TextAttributes](https://github.com/delba/TextAttributes) - An easier way to compose attributed strings. +- [Reductio](https://github.com/fdzsergio/Reductio) - Automatic summarizer text in Swift. +- [SmarkDown](https://github.com/SwiftStudies/SmarkDown) - A Pure Swift implementation of the markdown mark-up language. +- [SwiftyMarkdown](https://github.com/SimonFairbairn/SwiftyMarkdown) - Converts Markdown files and strings into NSAttributedString. +- [SZMentions](https://github.com/szweier/SZMentions) - Library to help handle mentions. +- [SZMentionsSwift](https://github.com/szweier/SZMentionsSwift) - Library to help handle mentions. +- [Heimdall](https://github.com/henrinormak/Heimdall) - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. +- [NoOptionalInterpolation](https://github.com/T-Pham/NoOptionalInterpolation) - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization. +- [Smile](https://github.com/onmyway133/Smile) Emoji in Swift. +- [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift. +- [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. +- [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set. +- [BonMot](https://github.com/Rightpoint/BonMot) - Beautiful, easy attributed strings in Swift. +- [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). +- [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. +- [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. +- [MarkdownKit](https://github.com/bmoliveira/MarkdownKit) - A simple and customizable Markdown Parser for Swift. +- [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and macOS. +- [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. +- [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for iOS. With UITextField extension. +- [ISO8859](https://github.com/Cosmo/ISO8859) - Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. +- [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/joypixels/emojione). +- [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. +- [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). +- [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). +- [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts. +- [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. +- [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. +- [Attributed](https://github.com/Nirma/Attributed) - Modern Swift µframework for attributed strings. +- [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. +- [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. +- [RealTimeCurrencyFormatter](https://github.com/kaiomedau/realtime-currency-formatter-objc) - An ObjC international currency formatting utility. +- [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. +- [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. +- [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. +- [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. +- [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS. +- [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. +- [fuse-swift](https://github.com/krisk/fuse-swift) - A lightweight fuzzy-search library, with zero dependencies. +- [EFMarkdown](https://github.com/EFPrefix/EFMarkdown) - A lightweight Markdown library for iOS. +- [Croc](https://github.com/jkalash/croc) - A lightweight Swift library for Emoji parsing and querying. ### Font -* [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. -* [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project -* [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. -* [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. -* [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported -* [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon) -* [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. -* [Iconic](https://github.com/home-assistant/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS -* [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. -* [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. -* [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. -* [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. -* [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Font management (System & Custom) for iOS and tvOS -* [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! -* [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. -* [Font-Awesome-Swift](https://github.com/Vaberer/Font-Awesome-Swift) - Font Awesome swift library for iOS. -* [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. -* [Money](https://github.com/Flight-School/Money) - A precise, type-safe representation of a monetary amount in a given currency. +- [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. +- [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project. +- [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. +- [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. +- [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported. +- [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon). +- [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. +- [Iconic](https://github.com/home-assistant/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS. +- [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. +- [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. +- [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. +- [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. +- [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Font management (System & Custom) for iOS and tvOS. +- [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! +- [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. +- [Font-Awesome-Swift](https://github.com/Vaberer/Font-Awesome-Swift) - Font Awesome swift library for iOS. +- [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. +- [Money](https://github.com/Flight-School/Money) - A precise, type-safe representation of a monetary amount in a given currency. ## Testing ### TDD / BDD -* [Kiwi](https://github.com/kiwi-bdd/Kiwi) - A behavior-driven development library for iOS development. -* [Specta](https://github.com/specta/specta) - A light-weight TDD / BDD framework for Objective-C & Cocoa. -* [Quick](https://github.com/Quick/Quick) - A behavior-driven development framework for Swift and Objective-C. -* [XcodeCoverage](https://github.com/jonreid/XcodeCoverage) - Code coverage for Xcode projects. -* [OHHTTPStubs](https://github.com/AliSoftware/OHHTTPStubs) - Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers! -* [Dixie](https://github.com/Skyscanner/Dixie) - Dixie is an open source Objective-C testing framework for altering object behaviours. -* [gh-unit](https://github.com/gh-unit/gh-unit) - Test Framework for Objective-C. -* [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C -* [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift -* [SwiftCheck](https://github.com/typelift/SwiftCheck) - QuickCheck for Swift -* [Spry](https://github.com/Quick/Spry) - A Mac and iOS Playgrounds Unit Testing library based on Nimble. -* [swift-corelibs-xctest](https://github.com/apple/swift-corelibs-xctest) - The XCTest Project, A Swift core library for providing unit test support. -* [PlaygroundTDD](https://github.com/WhiskerzAB/PlaygroundTDD) - Small library to easily run your tests directly within a Playground. +- [Kiwi](https://github.com/kiwi-bdd/Kiwi) - A behavior-driven development library for iOS development. +- [Specta](https://github.com/specta/specta) - A light-weight TDD / BDD framework for Objective-C & Cocoa. +- [Quick](https://github.com/Quick/Quick) - A behavior-driven development framework for Swift and Objective-C. +- [XcodeCoverage](https://github.com/jonreid/XcodeCoverage) - Code coverage for Xcode projects. +- [OHHTTPStubs](https://github.com/AliSoftware/OHHTTPStubs) - Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers! +- [Dixie](https://github.com/Skyscanner/Dixie) - Dixie is an open source Objective-C testing framework for altering object behaviours. +- [gh-unit](https://github.com/gh-unit/gh-unit) - Test Framework for Objective-C. +- [Nimble](https://github.com/Quick/Nimble) - A Matcher Framework for Swift and Objective-C +- [Sleipnir](https://github.com/railsware/Sleipnir) - BDD-style framework for Swift. +- [SwiftCheck](https://github.com/typelift/SwiftCheck) - QuickCheck for Swift. +- [Spry](https://github.com/Quick/Spry) - A Mac and iOS Playgrounds Unit Testing library based on Nimble. +- [swift-corelibs-xctest](https://github.com/apple/swift-corelibs-xctest) - The XCTest Project, A Swift core library for providing unit test support. +- [PlaygroundTDD](https://github.com/WhiskerzAB/PlaygroundTDD) - Small library to easily run your tests directly within a Playground. ### A/B Testing -* [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. -* [SkyLab](https://github.com/mattt/SkyLab) - Multivariate & A/B Testing for iOS and Mac -* [MSActiveConfig](https://github.com/mindsnacks/MSActiveConfig) - Remote configuration and A/B Testing framework for iOS -* [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS +- [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. +- [SkyLab](https://github.com/mattt/SkyLab) - Multivariate & A/B Testing for iOS and Mac. +- [MSActiveConfig](https://github.com/mindsnacks/MSActiveConfig) - Remote configuration and A/B Testing framework for iOS. +- [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS. ### UI Testing -* [appium](http://appium.io/) - Appium is an open source test automation framework for use with native and hybrid mobile apps. -* [robotframework-appiumlibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary) - AppiumLibrary is an appium testing library for RobotFramework. -* [Cucumber](https://cucumber.io/) - Behavior driver development for iOS. -* [Kif](https://github.com/kif-framework/KIF) - An iOS Functional Testing Framework. -* [Subliminal](https://github.com/inkling/Subliminal) - An understated approach to iOS integration testing. -* [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any iOS native, hybrid, or mobile web application using Selenium / WebDriver. -* [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. -* [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations. -* [EarlGrey](https://github.com/google/EarlGrey) - :tea: iOS UI Automation Test Framework. -* [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? -* [Floater_](https://github.com/Buglife/Floater_) - Add a floating fingertip to your app demo -* [Bluepill](https://github.com/linkedin/bluepill) - Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine -* [Flawless App](https://flawlessapp.io/) - tool for visual quality check of mobile app in a real-time. It compares initial design with the actual implementation right inside iOS simulator. -* [TouchVisualizer](https://github.com/morizotter/TouchVisualizer) - Lightweight touch visualization library in Swift. A single line of code and visualize your touches! -* [UITestHelper](https://github.com/evermeer/UITestHelper) - UITest helper library for creating readable and maintainable tests +- [appium](http://appium.io/) - Appium is an open source test automation framework for use with native and hybrid mobile apps. +- [robotframework-appiumlibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary) - AppiumLibrary is an appium testing library for RobotFramework. +- [Cucumber](https://cucumber.io/) - Behavior driver development for iOS. +- [Kif](https://github.com/kif-framework/KIF) - An iOS Functional Testing Framework. +- [Subliminal](https://github.com/inkling/Subliminal) - An understated approach to iOS integration testing. +- [ios-driver](http://ios-driver.github.io/ios-driver/index.html) - Test any iOS native, hybrid, or mobile web application using Selenium / WebDriver. +- [Remote](https://github.com/johnno1962/Remote) - Control your iPhone from inside Xcode for end-to-end testing. +- [LayoutTest-iOS](https://github.com/linkedin/LayoutTest-iOS) - Write unit tests which test the layout of a view in multiple configurations. +- [EarlGrey](https://github.com/google/EarlGrey) - :tea: iOS UI Automation Test Framework. +- [UI Testing Cheat Sheet](https://github.com/joemasilotti/UI-Testing-Cheat-Sheet) - How do I test this with UI Testing? +- [Bluepill](https://github.com/linkedin/bluepill) - Bluepill is a reliable iOS testing tool that runs UI tests using multiple simulators on a single machine. +- [Flawless App](https://flawlessapp.io/) - tool for visual quality check of mobile app in a real-time. It compares initial design with the actual implementation right inside iOS simulator. +- [TouchVisualizer](https://github.com/morizotter/TouchVisualizer) - Lightweight touch visualization library in Swift. A single line of code and visualize your touches! +- [UITestHelper](https://github.com/evermeer/UITestHelper) - UITest helper library for creating readable and maintainable tests. ### Other Testing -* [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. -* [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. -* [DVR](https://github.com/venmo/DVR) - Network testing for Swift -* [Cuckoo](https://github.com/Brightify/Cuckoo) - First boilerplate-free mocking framework for Swift -* [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift -* [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java -* [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps -* [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3 -* [trainer](https://github.com/fastlane-community/trainer) - Convert xcodebuild plist files to JUnit reports -* [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. @buildasaur -* [Kakapo](https://github.com/devlucky/Kakapo) - 🐤Dynamically Mock server behaviors and responses in Swift -* [AcceptanceMark](https://github.com/bizz84/AcceptanceMark) Tool to auto-generate Xcode tests classes from Markdown tables -* [MetovaTestKit](https://github.com/metova/MetovaTestKit) - A collection of testing utilities to turn crashing test suites into failing test suites. -* [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes -* [SnappyTestCase](https://github.com/tooploox/SnappyTestCase) - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. -* [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. -* [OCMock](http://ocmock.org) - Mock objects for Objective-C. -* [Mockingjay](https://github.com/kylef/Mockingjay) - An elegant library for stubbing HTTP requests with ease in Swift. -* [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. -* [iOS Snapshot Test Case](https://github.com/uber/ios-snapshot-test-case) — Snapshot test your UIViews and CALayers on iOS and tvOS. +- [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. +- [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. +- [DVR](https://github.com/venmo/DVR) - Network testing for Swift. +- [Cuckoo](https://github.com/Brightify/Cuckoo) - First boilerplate-free mocking framework for Swift. +- [Vinyl](https://github.com/Velhotes/Vinyl) - Network testing à la VCR in Swift. +- [Mockit](https://github.com/sabirvirtuoso/Mockit) - A simple mocking framework for Swift, inspired by the famous Mockito for Java. +- [Cribble](https://github.com/maxsokolov/Cribble) - Swifty tool for visual testing iPhone and iPad apps. +- [second_curtain](https://github.com/ashfurrow/second_curtain) - Upload failing iOS snapshot tests cases to S3. +- [trainer](https://github.com/fastlane-community/trainer) - Convert xcodebuild plist files to JUnit reports. +- [Buildasaur](https://github.com/buildasaurs/Buildasaur) - Automatic testing of your Pull Requests on GitHub and BitBucket using Xcode Server. Keep your team productive and safe. Get up and running in minutes. +- [Kakapo](https://github.com/devlucky/Kakapo) - Dynamically Mock server behaviors and responses in Swift. +- [AcceptanceMark](https://github.com/bizz84/AcceptanceMark) Tool to auto-generate Xcode tests classes from Markdown tables. +- [MetovaTestKit](https://github.com/metova/MetovaTestKit) - A collection of testing utilities to turn crashing test suites into failing test suites. +- [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes. +- [SnappyTestCase](https://github.com/tooploox/SnappyTestCase) - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. +- [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. +- [OCMock](http://ocmock.org) - Mock objects for Objective-C. +- [Mockingjay](https://github.com/kylef/Mockingjay) - An elegant library for stubbing HTTP requests with ease in Swift. +- [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. +- [iOS Snapshot Test Case](https://github.com/uber/ios-snapshot-test-case) — Snapshot test your UIViews and CALayers on iOS and tvOS. ## UI -* [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. -* [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. -* [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. -* [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. -* [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. -* [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. -* [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. -* [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. -* [ComponentKit](https://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. -* [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. -* [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift -* [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. -* [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. (Check box) -* [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. -* [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications -* [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - :point_up_2: UIPageViewController like Snapchat/Tinder/iOS Main Pages -* [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. -* [Pages](https://github.com/hyperoslo/Pages) - :page_facing_up: UIPageViewController made simple -* [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. -* [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. -* [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion -* [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - :hammer: Showing status for switching between viewControllers -* [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - :clipboard: An iOS native implementation of a Trello Animated Navagation. -* [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. -* [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book -* [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. -* [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library -* [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. -* [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities. -* [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. -* [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift -* [CoreDragon](https://github.com/nevyn/CoreDragon) - [iOS] Stop using context menus. Drag and drop instead, even between apps! -* [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face. -* [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. -* [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. -* [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. -* [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. -* [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app. -* [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. -* [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux) -* [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. -* [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. -* [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view written in Swift 2.2 -* [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller -* [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. -* [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views. -* [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects -* [SwiftTheme](https://github.com/wxxsw/SwiftTheme) - Powerful theme/skin manager for iOS 7+ -* [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS6+ -* [YangMingShan](https://github.com/YahooArchive/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. -* [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS -* [RedBeard](https://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. -* [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. -* [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. -* [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. -* [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. -* [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. -* [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views -* [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style -* [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. -* [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. -* [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background -* [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. -* [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app -* [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect -* [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. -* [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. -* [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control -* [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button -* [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards -* [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. -* [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. -* [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. -* [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. -* [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts -* [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. -* [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. -* [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. -* [Pageboy](https://github.com/uias/Pageboy) - A simple, highly informative page view controller. -* [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - 🎨 A customizable color picker for iOS in Swift -* [KPActionSheet](https://github.com/khuong291/KPActionSheet) - A replacement of default action sheet, but has very simple usage. -* [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator -* [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). -* [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. -* [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. -* [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. -* [HamsterUIKit](https://github.com/Howardw3/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. -* [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. -* [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view written in Swift3. -* [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. -* [ViewComposer](https://github.com/Sajjon/ViewComposer) - `let lbl: UILabel = [.text("Hello"), .textColor(.red)]` - Create views using array literal of enum expressing view attributes. -* [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. -* [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView -* [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI -* [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. -* [Panda](https://github.com/wordlessj/Panda) - Create view hierarchies declaratively. -* [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X -* [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. -* [SwiftyUI](https://github.com/haoking/SwiftyUI) - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more. -* [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. -* [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. -* [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. -* [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. -* [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. -* [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. -* [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). -* [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list -* [UberSignature](https://github.com/uber/UberSignature) - Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style. -* [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. -* [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable -* [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. 🔶 -* [STAControls](https://github.com/Stunner/STAControls) - Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C. -* [ApplyStyleKit](https://github.com/shindyu/ApplyStyleKit) - Elegant apply style, using Swift Method Chain. -* [OverlayContainer](https://github.com/applidium/OverlayContainer) - A library to develop overlay based interfaces, such as the one presented in the iOS 12 Apple Maps or Stocks apps. -* [ClassicKit](https://github.com/Baddaboo/ClassicKit) - A collection of classic-style UI components for iOS. -* [Sejima](https://github.com/MoveUpwards/Sejima) - A collection of User Interface components for iOS. -* [UI Fabric by Microsoft](https://github.com/OfficeDev/ui-fabric-ios) - UI framework based on [Fluent Design System](https://www.microsoft.com/design/fluent/#/ios) by Microsoft. +- [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. +- [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. +- [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. +- [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. +- [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. +- [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. +- [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. +- [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. +- [ComponentKit](https://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. +- [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. +- [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift. +- [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. +- [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. +- [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. +- [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications. +- [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - UIPageViewController like Snapchat/Tinder/iOS Main Pages. +- [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. +- [Pages](https://github.com/hyperoslo/Pages) - UIPageViewController made simple. +- [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. +- [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. +- [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion. +- [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - Showing status for switching between viewControllers. +- [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - An iOS native implementation of a Trello Animated Navagation. +- [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. +- [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book. +- [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. +- [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library. +- [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. +- [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities. +- [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. +- [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift. +- [CoreDragon](https://github.com/nevyn/CoreDragon) - Stop using context menus. Drag and drop instead, even between apps! +- [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face. +- [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. +- [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. +- [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. +- [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. +- [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app. +- [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. +- [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux). +- [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. +- [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. +- [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view. +- [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller. +- [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. +- [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views. +- [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects. +- [SwiftTheme](https://github.com/wxxsw/SwiftTheme) - Powerful theme/skin manager for iOS. +- [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS. +- [YangMingShan](https://github.com/YahooArchive/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. +- [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS. +- [RedBeard](https://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. +- [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. +- [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. +- [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. +- [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. +- [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. +- [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views. +- [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style. +- [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. +- [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. +- [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background. +- [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. +- [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app. +- [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect. +- [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. +- [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. +- [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control. +- [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button. +- [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards. +- [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. +- [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. +- [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. +- [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. +- [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts. +- [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. +- [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. +- [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. +- [Pageboy](https://github.com/uias/Pageboy) - A simple, highly informative page view controller. +- [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - A customizable color picker for iOS in Swift. +- [KPActionSheet](https://github.com/khuong291/KPActionSheet) - A replacement of default action sheet, but has very simple usage. +- [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator. +- [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). +- [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. +- [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. +- [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. +- [HamsterUIKit](https://github.com/Howardw3/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. +- [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. +- [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view. +- [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. +- [ViewComposer](https://github.com/Sajjon/ViewComposer) - `let lbl: UILabel = [.text("Hello"), .textColor(.red)]` - Create views using array literal of enum expressing view attributes. +- [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. +- [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView. +- [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI. +- [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. +- [Panda](https://github.com/wordlessj/Panda) - Create view hierarchies declaratively. +- [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X +- [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. +- [SwiftyUI](https://github.com/haoking/SwiftyUI) - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more. +- [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. +- [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. +- [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. +- [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. +- [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. +- [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. +- [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). +- [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list. +- [UberSignature](https://github.com/uber/UberSignature) - Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style. +- [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. +- [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable. +- [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. +- [STAControls](https://github.com/Stunner/STAControls) - Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C. +- [ApplyStyleKit](https://github.com/shindyu/ApplyStyleKit) - Elegant apply style, using Swift Method Chain. +- [OverlayContainer](https://github.com/applidium/OverlayContainer) - A library to develop overlay based interfaces, such as the one presented in the iOS 12 Apple Maps or Stocks apps. +- [ClassicKit](https://github.com/Baddaboo/ClassicKit) - A collection of classic-style UI components for iOS. +- [Sejima](https://github.com/MoveUpwards/Sejima) - A collection of User Interface components for iOS. +- [UI Fabric by Microsoft](https://github.com/OfficeDev/ui-fabric-ios) - UI framework based on [Fluent Design System](https://www.microsoft.com/design/fluent/#/ios) by Microsoft. ### Activity Indicator -* [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. -* [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift -* [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations :cyclone: by using Swift CALayer -* [LiquidLoader](https://github.com/yoavlt/LiquidLoader) - Spinner loader components with liquid animation -* [iOS-CircleProgressView](https://github.com/CardinalNow/iOS-CircleProgressView) - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view. -* [iOS Circle Progress Bar](https://github.com/Eclair/CircleProgressBar) - iOS Circle Progress Bar -* [LinearProgressBar](https://github.com/PhilippeBoisney/LinearProgressBar) - Linear Progress Bar (inspired by Google Material Design) for iOS written in Swift 2.0. -* [STLoadingGroup](https://github.com/saitjr/STLoadingGroup) - loading views -* [ALThreeCircleSpinner](https://github.com/AlexLittlejohn/ALThreeCircleSpinner) - A pulsing spinner view written in swift -* [MHRadialProgressView](https://github.com/mehfuzh/MHRadialProgressView) - iOS 7 radial animated progress view. -* [Loader](https://github.com/Ekhoo/Loader) - Amazing animated switch activity indicator written in swift -* [MBProgressHUD](https://github.com/jdg/MBProgressHUD) - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. -* [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD) - A clean and lightweight progress HUD for your iOS app. -* [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - ProgressHUD is a lightweight and easy-to-use HUD. -* [M13ProgressSuite](https://github.com/Marxon13/M13ProgressSuite) - A suite containing many tools to display progress information on iOS. -* [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. -* [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. -* [FFCircularProgressView](https://github.com/elbryan/FFCircularProgressView) - FFCircularProgressView - An iOS 7-inspired blue circular progress view -* [MRProgress](https://github.com/mrackwitz/MRProgress) - Collection of iOS drop-in components to visualize progress -* [BigBrother](https://github.com/marcelofabri/BigBrother) - Automatically sets the network activity indicator for any performed request. -* [AlamofireNetworkActivityIndicator](https://github.com/Alamofire/AlamofireNetworkActivityIndicator) - Controls the visibility of the network activity indicator on iOS using Alamofire. -* [KDCircularProgress](https://github.com/kaandedeoglu/KDCircularProgress) - A circular progress view with gradients written in Swift -* [DACircularProgress](https://github.com/danielamitay/DACircularProgress) - DACircularProgress is a UIView subclass with circular UIProgressView properties. -* [KYNavigationProgress](https://github.com/ykyouhei/KYNavigationProgress) - Simple extension of UINavigationController to display progress on the UINavigationBar. [e] -* [GearRefreshControl](https://github.com/andreamazz/GearRefreshControl) - A custom animation for the UIRefreshControl -* [NJKWebViewProgress](https://github.com/ninjinkun/NJKWebViewProgress) - A progress interface library for UIWebView. You can implement progress bar for your in-app browser using this module. -* [MKRingProgressView](https://github.com/maxkonovalov/MKRingProgressView) - A beautiful ring/circular progress view similar to Activity app on Apple Watch, written in Swift. -* [Hexacon](https://github.com/gautier-gdx/Hexacon) - A new way to display content in your app like the Apple Watch SpringBoard, written in Swift. -* [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. -* [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - (Swift) Circular progress UIView subclass with UIProgressView properties -* [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. -* [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beautiful hud view for iPhone & iPad -* [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. -* [FillableLoaders](https://github.com/polqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift -* [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. -* [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design -* [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. -* [LLSpinner](https://github.com/alephao/LLSpinner) - An easy way to create a full screen activity indicator. -* [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. -* [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. -* [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. -* [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. -* [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. -* [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). -* [BPCircleActivityIndicator](https://github.com/ppth0608/BPCircleActivityIndicator) - A lightweight and awesome Loading Activity Indicator for your iOS app. -* [DottedProgressBar](https://github.com/nikola9core/DottedProgressBar) - Simple and customizable animated progress bar with dots for iOS. -* [RSLoadingView](https://github.com/roytornado/RSLoadingView) - Awesome loading animations using 3D engine written with Swift. -* [SendIndicator](https://github.com/LeonardoCardoso/SendIndicator) - Yet another task indicator -* [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. -* [BPBlockActivityIndicator](https://github.com/ppth0608/BPBlockActivityIndicator) - A simple and awesome Loading Activity Indicator(with funny block animation) for your iOS app. -* [JDBreaksLoading](https://github.com/jamesdouble/JDBreaksLoading) - You can easily start up a little breaking game indicator by one line. -* [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. -* [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. -* [Skeleton](https://github.com/gonzalonunez/Skeleton) - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content. -* [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch" -* [RetroProgress](https://github.com/hyperoslo/RetroProgress) - Retro looking progress bar straight from the 90s. -* [LinearProgressBar](https://github.com/Recouse/LinearProgressBar) - Material Linear Progress Bar for your iOS apps. -* [MKProgress](https://github.com/kamirana4/MKProgress) - A lightweight ProgressHUD written in Swift. Looks similar to /MBProgressHUD/SVProgressHUD/KVNProgressHUD. -* [RHPlaceholder](https://github.com/robertherdzik/RHPlaceholder) - Simple library which give you possibility to add Facebook like loading state for your views. -* [IHProgressHUD](https://github.com/Swiftify-Corp/IHProgressHUD) - Simple HUD, thread safe, supports iOS, tvOS and App Extensions. +- [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. +- [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift. +- [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations by using Swift CALayer. +- [LiquidLoader](https://github.com/yoavlt/LiquidLoader) - Spinner loader components with liquid animation. +- [iOS-CircleProgressView](https://github.com/CardinalNow/iOS-CircleProgressView) - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view. +- [iOS Circle Progress Bar](https://github.com/Eclair/CircleProgressBar) - iOS Circle Progress Bar. +- [LinearProgressBar](https://github.com/PhilippeBoisney/LinearProgressBar) - Linear Progress Bar (inspired by Google Material Design) for iOS. +- [STLoadingGroup](https://github.com/saitjr/STLoadingGroup) - loading views. +- [ALThreeCircleSpinner](https://github.com/AlexLittlejohn/ALThreeCircleSpinner) - A pulsing spinner view written in swift. +- [MHRadialProgressView](https://github.com/mehfuzh/MHRadialProgressView) - iOS radial animated progress view. +- [Loader](https://github.com/Ekhoo/Loader) - Amazing animated switch activity indicator written in swift. +- [MBProgressHUD](https://github.com/jdg/MBProgressHUD) - Drop-in class for displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. +- [SVProgressHUD](https://github.com/SVProgressHUD/SVProgressHUD) - A clean and lightweight progress HUD for your iOS app. +- [ProgressHUD](https://github.com/relatedcode/ProgressHUD) - ProgressHUD is a lightweight and easy-to-use HUD. +- [M13ProgressSuite](https://github.com/Marxon13/M13ProgressSuite) - A suite containing many tools to display progress information on iOS. +- [PKHUD](https://github.com/pkluz/PKHUD) - A Swift based reimplementation of the Apple HUD (Volume, Ringer, Rotation,…) for iOS 8 and above. +- [EZLoadingActivity](https://github.com/goktugyil/EZLoadingActivity) - Lightweight loading activity HUD. +- [FFCircularProgressView](https://github.com/elbryan/FFCircularProgressView) - FFCircularProgressView - An iOS 7-inspired blue circular progress view. +- [MRProgress](https://github.com/mrackwitz/MRProgress) - Collection of iOS drop-in components to visualize progress. +- [BigBrother](https://github.com/marcelofabri/BigBrother) - Automatically sets the network activity indicator for any performed request. +- [AlamofireNetworkActivityIndicator](https://github.com/Alamofire/AlamofireNetworkActivityIndicator) - Controls the visibility of the network activity indicator on iOS using Alamofire. +- [KDCircularProgress](https://github.com/kaandedeoglu/KDCircularProgress) - A circular progress view with gradients written in Swift. +- [DACircularProgress](https://github.com/danielamitay/DACircularProgress) - DACircularProgress is a UIView subclass with circular UIProgressView properties. +- [KYNavigationProgress](https://github.com/ykyouhei/KYNavigationProgress) - Simple extension of UINavigationController to display progress on the UINavigationBar. +- [GearRefreshControl](https://github.com/andreamazz/GearRefreshControl) - A custom animation for the UIRefreshControl. +- [NJKWebViewProgress](https://github.com/ninjinkun/NJKWebViewProgress) - A progress interface library for UIWebView. You can implement progress bar for your in-app browser using this module. +- [MKRingProgressView](https://github.com/maxkonovalov/MKRingProgressView) - A beautiful ring/circular progress view similar to Activity app on Apple Watch, written in Swift. +- [Hexacon](https://github.com/gautier-gdx/Hexacon) - A new way to display content in your app like the Apple Watch SpringBoard, written in Swift. +- [ParticlesLoadingView](https://github.com/BalestraPatrick/ParticlesLoadingView) - A customizable SpriteKit particles animation on the border of a view. +- [RPCircularProgress](https://github.com/iwasrobbed/RPCircularProgress) - (Swift) Circular progress UIView subclass with UIProgressView properties. +- [MBCircularProgressBar](https://github.com/MatiBot/MBCircularProgressBar) - A circular, animatable & highly customizable progress bar, editable from the Interface Builder using IBDesignable. +- [WSProgressHUD](https://github.com/devSC/WSProgressHUD) - This is a beautiful hud view for iPhone & iPad. +- [DBMetaballLoading](https://github.com/dabing1022/DBMetaballLoading) - A metaball loading written in Swift. +- [FillableLoaders](https://github.com/polqf/FillableLoaders) - Completely customizable progress based loaders drawn using custom CGPaths written in Swift. +- [VHUD](https://github.com/xxxAIRINxxx/VHUD) Simple HUD. +- [SwiftSpinner](https://github.com/icanzilb/SwiftSpinner) - A beautiful activity indicator and modal alert written in Swift using blur effects, translucency, flat and bold design. +- [SnapTimer](https://github.com/andresinaka/SnapTimer) - Implementation of Snapchat's stories timer. +- [LLSpinner](https://github.com/alephao/LLSpinner) - An easy way to create a full screen activity indicator. +- [SVUploader](https://github.com/kirankunigiri/SVUploader) - A beautiful uploader progress view that makes things simple and easy. +- [YLProgressBar](https://github.com/yannickl/YLProgressBar) - UIProgressView replacement with an highly and fully customizable animated progress bar in pure Core Graphics. +- [FlexibleSteppedProgressBar](https://github.com/amratab/FlexibleSteppedProgressBar) - A beautiful easily customisable stepped progress bar. +- [GradientLoadingBar](https://github.com/fxm90/GradientLoadingBar) - An animated gradient loading bar. +- [DSGradientProgressView](https://github.com/DholStudio/DSGradientProgressView) - A simple and customizable animated progress bar written in Swift. +- [GradientProgressBar](https://github.com/fxm90/GradientProgressBar) - A gradient progress bar (UIProgressView). +- [BPCircleActivityIndicator](https://github.com/ppth0608/BPCircleActivityIndicator) - A lightweight and awesome Loading Activity Indicator for your iOS app. +- [DottedProgressBar](https://github.com/nikola9core/DottedProgressBar) - Simple and customizable animated progress bar with dots for iOS. +- [RSLoadingView](https://github.com/roytornado/RSLoadingView) - Awesome loading animations using 3D engine written with Swift. +- [SendIndicator](https://github.com/LeonardoCardoso/SendIndicator) - Yet another task indicator. +- [StepProgressView](https://github.com/yonat/StepProgressView) - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. +- [BPBlockActivityIndicator](https://github.com/ppth0608/BPBlockActivityIndicator) - A simple and awesome Loading Activity Indicator(with funny block animation) for your iOS app. +- [JDBreaksLoading](https://github.com/jamesdouble/JDBreaksLoading) - You can easily start up a little breaking game indicator by one line. +- [SkeletonView](https://github.com/Juanpe/SkeletonView) - An elegant way to show users that something is happening and also prepare them to which contents he is waiting. +- [Windless](https://github.com/Interactive-Studio/Windless) - Windless makes it easy to implement invisible layout loading view. +- [Skeleton](https://github.com/gonzalonunez/Skeleton) - An easy way to create sliding CAGradientLayer animations! Works great for creating skeleton screens for loading content. +- [StatusBarOverlay](https://github.com/IdleHandsApps/StatusBarOverlay) - Automatically show/hide a "No Internet Connection" bar when your app loses/gains connection. It supports apps which hide the status bar and "The Notch". +- [RetroProgress](https://github.com/hyperoslo/RetroProgress) - Retro looking progress bar straight from the 90s. +- [LinearProgressBar](https://github.com/Recouse/LinearProgressBar) - Material Linear Progress Bar for your iOS apps. +- [MKProgress](https://github.com/kamirana4/MKProgress) - A lightweight ProgressHUD written in Swift. Looks similar to /MBProgressHUD/SVProgressHUD/KVNProgressHUD. +- [RHPlaceholder](https://github.com/robertherdzik/RHPlaceholder) - Simple library which give you possibility to add Facebook like loading state for your views. +- [IHProgressHUD](https://github.com/Swiftify-Corp/IHProgressHUD) - Simple HUD, thread safe, supports iOS, tvOS and App Extensions. ### Animation -* [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. -* [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. -* [RZTransitions](https://github.com/Rightpoint/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. -* [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. -* [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. -* [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy -* [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS with Swift2. -* [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). -* [Pop By Example](https://github.com/hossamghareeb/Facebook-POP-Tutorial) - A project tutorial in how to use Pop animation framework by example. -* [AppAnimations](http://www.appanimations.com) - Collection of iOS animations to inspire your next project -* [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. -* [Animo](https://github.com/eure/Animo) - SpriteKit-like animation builders for CALayers. -* [CurryFire](https://github.com/devinross/curry-fire) - A framework for creating unique animations. -* [IBAnimatable](https://github.com/IBAnimatable/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. -* [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView -* [DaisyChain](https://github.com/alikaragoz/DaisyChain) - :link: Easy animation chaining -* [PulsingHalo](https://github.com/shu223/PulsingHalo) - iOS Component for creating a pulsing animation. -* [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - Chainable animations in Swift -* [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift -* [Advance](https://github.com/timdonnelly/Advance) - A powerful animation framework for iOS. -* [UIView-Shake](https://github.com/andreamazz/UIView-Shake) - UIView category that adds shake animation -* [Walker](https://github.com/RamonGilabert/Walker) - A new animation engine for your app. -* [Morgan](https://github.com/RamonGilabert/Morgan) - An animation set for your app. -* [MagicMove](https://github.com/patrickreynolds/MagicMove) - Keynote-style Magic Move transition animations -* [Shimmer](https://github.com/facebook/Shimmer) - An easy way to add a simple, shimmering effect to any view in an iOS app. -* [SAConfettiView](https://github.com/sudeepag/SAConfettiView) - Confetti! Who doesn't like confetti? -* [CCMRadarView](https://github.com/cacmartinez/CCMRadarView) - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation -* [Pulsator](https://github.com/shu223/Pulsator) - Pulse animation for iOS -* [Interpolate](https://github.com/marmelroy/Interpolate) - Swift interpolation for gesture-driven animations -* [ADPuzzleAnimation](https://github.com/Antondomashnev/ADPuzzleAnimation) - Custom animation for UIView inspired by Fabric - Answers animation. -* [Wave](https://github.com/onmyway133/Wave) - :ocean: Declarative chainable animations in Swift -* [Stellar](https://github.com/AugustRush/Stellar) - A fantastic Physical animation library for swift -* [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. -* [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. -* [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes. -* [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax -* [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. -* [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. -* [JHChainableAnimations](https://github.com/jhurray/JHChainableAnimations) - Easy to read and write chainable animations in Objective-C -* [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework -* [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. -* [Twinkle](https://github.com/piemonte/Twinkle) - :sparkles: Swift and easy way to make elements in your iOS and tvOS app twinkle -* [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. -* [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect -* [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. -* [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. -* [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. -* [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. -* [Overlap](https://github.com/ML-Works/Overlap) - Tiny iOS library to achieve overlap visual effect. -* [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. -* [AnimatedCollectionViewLayout](https://github.com/KelvinJin/AnimatedCollectionViewLayout) - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView. -* [Dance](https://github.com/saoudrizwan/Dance) - A radical & elegant animation library built for iOS. -* [AKVideoImageView](https://github.com/numen31337/AKVideoImageView) - UIImageView subclass which allows you to display a looped video as a background. -* [Spruce iOS Animation Library](https://github.com/willowtreeapps/spruce-ios) - Swift library for choreographing animations on the screen. -* [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. -* [TweenKit](https://github.com/SteveBarnegren/TweenKit) - Animation library for iOS in Swift. -* [Water](https://github.com/KrisYu/Water) - Simple calculation to render cheap water effects. -* [Pastel](https://github.com/cruisediary/Pastel) - Gradient animation effect like Instagram. -* [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. -* [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation -* [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift -* [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS in Swift -* [ViewAnimator](https://github.com/marcosgriselli/ViewAnimator) - ViewAnimator brings your UI to life with just one line. -* [Ease](https://github.com/roberthein/Ease) - Animate everything with Ease. -* [Kinieta](https://github.com/mmick66/kinieta) - An Animation Engine with Custom Bezier Easing, an Intuitive API and perfect Color Intepolation. -* [LSAnimator](https://github.com/Lision/LSAnimator) - Easy to Read and Write Multi-chain Animations Kit in Objective-C and Swift. -* [YetAnotherAnimationLibrary](https://github.com/lkzhao/YetAnotherAnimationLibrary) - Designed for gesture-driven animations. Fast, simple, & extensible!. -* [Anima](https://github.com/satoshin21/Anima) - Anima is chainable Layer-Based Animation library for Swift4. -* [MotionAnimation](https://github.com/lkzhao/MotionAnimation) - Lightweight animation library for UIKit. -* [AGInterfaceInteraction](https://github.com/agilie/AGInterfaceInteraction) - library performs interaction with UI interface. -* [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. -* [VariousViewsEffects](https://github.com/artrmz/VariousViewsEffects) - Animates views nicely with easy to use extensions. -* [TheAnimation](https://github.com/marty-suzuki/TheAnimation) - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values. -* [Poi](https://github.com/HideakiTouhara/Poi) - Poi makes you use card UI like tinder UI .You can use it like tableview method. -* [Sica](https://github.com/cats-oss/Sica) - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly. -* [fireworks](https://github.com/tomkowz/fireworks) - Fireworks effect for UIView -* [Disintegrate](https://github.com/dbukowski/Disintegrate) - Disintegration animation inspired by THAT thing Thanos did at the end of Avengers: Infinity War. -* [Wobbly](https://github.com/sagaya/wobbly) - Wobbly is a Library of predefined, easy to use iOS animations. -* [LoadingShimmer](https://github.com/jogendra/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. +- [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. +- [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. +- [RZTransitions](https://github.com/Rightpoint/RZTransitions) - A library of custom iOS View Controller Animations and Interactions. +- [DCAnimationKit](https://github.com/daltoniam/DCAnimationKit) - A collection of animations for iOS. Simple, just add water animations. +- [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. +- [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy. +- [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS. +- [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). +- [Pop By Example](https://github.com/hossamghareeb/Facebook-POP-Tutorial) - A project tutorial in how to use Pop animation framework by example. +- [AppAnimations](http://www.appanimations.com) - Collection of iOS animations to inspire your next project. +- [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. +- [Animo](https://github.com/eure/Animo) - SpriteKit-like animation builders for CALayers. +- [CurryFire](https://github.com/devinross/curry-fire) - A framework for creating unique animations. +- [IBAnimatable](https://github.com/IBAnimatable/IBAnimatable) - Design and prototype UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable. +- [CKWaveCollectionViewTransition](https://github.com/CezaryKopacz/CKWaveCollectionViewTransition) - Cool wave like transition between two or more UICollectionView. +- [DaisyChain](https://github.com/alikaragoz/DaisyChain) - Easy animation chaining. +- [PulsingHalo](https://github.com/shu223/PulsingHalo) - iOS Component for creating a pulsing animation. +- [DKChainableAnimationKit](https://github.com/Draveness/DKChainableAnimationKit) - Chainable animations in Swift. +- [JDAnimationKit](https://github.com/JellyDevelopment/JDAnimationKit) - Animate easy and with less code with Swift. +- [Advance](https://github.com/timdonnelly/Advance) - A powerful animation framework for iOS. +- [UIView-Shake](https://github.com/andreamazz/UIView-Shake) - UIView category that adds shake animation. +- [Walker](https://github.com/RamonGilabert/Walker) - A new animation engine for your app. +- [Morgan](https://github.com/RamonGilabert/Morgan) - An animation set for your app. +- [MagicMove](https://github.com/patrickreynolds/MagicMove) - Keynote-style Magic Move transition animations. +- [Shimmer](https://github.com/facebook/Shimmer) - An easy way to add a simple, shimmering effect to any view in an iOS app. +- [SAConfettiView](https://github.com/sudeepag/SAConfettiView) - Confetti! Who doesn't like confetti? +- [CCMRadarView](https://github.com/cacmartinez/CCMRadarView) - CCMRadarView uses the IBDesignable tools to make an easy customizable radar view with animation. +- [Pulsator](https://github.com/shu223/Pulsator) - Pulse animation for iOS. +- [Interpolate](https://github.com/marmelroy/Interpolate) - Swift interpolation for gesture-driven animations. +- [ADPuzzleAnimation](https://github.com/Antondomashnev/ADPuzzleAnimation) - Custom animation for UIView inspired by Fabric - Answers animation. +- [Wave](https://github.com/onmyway133/Wave) - :ocean: Declarative chainable animations in Swift. +- [Stellar](https://github.com/AugustRush/Stellar) - A fantastic Physical animation library for swift. +- [MotionMachine](https://github.com/poetmountain/MotionMachine) - A powerful, elegant, and modular animation library for Swift. +- [JRMFloatingAnimation](https://github.com/carleihar/JRMFloatingAnimation) - An Objective-C animation library used to create floating image views. +- [AHKBendableView](https://github.com/fastred/AHKBendableView) - UIView subclass that bends its edges when its position changes. +- [FlightAnimator](https://github.com/AntonTheDev/FlightAnimator) - Advanced Natural Motion Animations, Simple Blocks Based Syntax. +- [ZoomTransitioning](https://github.com/WorldDownTown/ZoomTransitioning) - A custom transition with image zooming animation. +- [Ubergang](https://github.com/RobinFalko/Ubergang) - A tweening engine for iOS written in Swift. +- [JHChainableAnimations](https://github.com/jhurray/JHChainableAnimations) - Easy to read and write chainable animations in Objective-C. +- [Popsicle](https://github.com/DavdRoman/Popsicle) - Delightful, extensible Swift value interpolation framework. +- [WXWaveView](https://github.com/WelkinXie/WXWaveView) - Add a pretty water wave to your view. +- [Twinkle](https://github.com/piemonte/Twinkle) - Swift and easy way to make elements in your iOS and tvOS app twinkle. +- [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. +- [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect. +- [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. +- [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. +- [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. +- [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. +- [Overlap](https://github.com/ML-Works/Overlap) - Tiny iOS library to achieve overlap visual effect. +- [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. +- [AnimatedCollectionViewLayout](https://github.com/KelvinJin/AnimatedCollectionViewLayout) - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView. +- [Dance](https://github.com/saoudrizwan/Dance) - A radical & elegant animation library built for iOS. +- [AKVideoImageView](https://github.com/numen31337/AKVideoImageView) - UIImageView subclass which allows you to display a looped video as a background. +- [Spruce iOS Animation Library](https://github.com/willowtreeapps/spruce-ios) - Swift library for choreographing animations on the screen. +- [CircularRevealKit](https://github.com/T-Pro/CircularRevealKit) - UI framework that implements the material design's reveal effect. +- [TweenKit](https://github.com/SteveBarnegren/TweenKit) - Animation library for iOS in Swift. +- [Water](https://github.com/KrisYu/Water) - Simple calculation to render cheap water effects. +- [Pastel](https://github.com/cruisediary/Pastel) - Gradient animation effect like Instagram. +- [YapAnimator](https://github.com/yapstudios/YapAnimator) - Your fast and friendly physics-based animation system. +- [Bubble](https://github.com/goldmoment/Bubble) - Fruit Animation. +- [Gemini](https://github.com/shoheiyokoyama/Gemini) - Gemini is rich scroll based animation framework for iOS, written in Swift. +- [WaterDrops](https://github.com/LeFal/WaterDrops) - Simple water drops animation for iOS in Swift. +- [ViewAnimator](https://github.com/marcosgriselli/ViewAnimator) - ViewAnimator brings your UI to life with just one line. +- [Ease](https://github.com/roberthein/Ease) - Animate everything with Ease. +- [Kinieta](https://github.com/mmick66/kinieta) - An Animation Engine with Custom Bezier Easing, an Intuitive API and perfect Color Intepolation. +- [LSAnimator](https://github.com/Lision/LSAnimator) - Easy to Read and Write Multi-chain Animations Kit in Objective-C and Swift. +- [YetAnotherAnimationLibrary](https://github.com/lkzhao/YetAnotherAnimationLibrary) - Designed for gesture-driven animations. Fast, simple, & extensible! +- [Anima](https://github.com/satoshin21/Anima) - Anima is chainable Layer-Based Animation library for Swift4. +- [MotionAnimation](https://github.com/lkzhao/MotionAnimation) - Lightweight animation library for UIKit. +- [AGInterfaceInteraction](https://github.com/agilie/AGInterfaceInteraction) - library performs interaction with UI interface. +- [PMTween](https://github.com/poetmountain/PMTween) - An elegant and flexible tweening library for iOS. +- [VariousViewsEffects](https://github.com/artrmz/VariousViewsEffects) - Animates views nicely with easy to use extensions. +- [TheAnimation](https://github.com/marty-suzuki/TheAnimation) - Type-safe CAAnimation wrapper. It makes preventing to set wrong type values. +- [Poi](https://github.com/HideakiTouhara/Poi) - Poi makes you use card UI like tinder UI .You can use it like tableview method. +- [Sica](https://github.com/cats-oss/Sica) - Simple Interface Core Animation. Run type-safe animation sequencially or parallelly. +- [fireworks](https://github.com/tomkowz/fireworks) - Fireworks effect for UIView +- [Disintegrate](https://github.com/dbukowski/Disintegrate) - Disintegration animation inspired by THAT thing Thanos did at the end of Avengers: Infinity War. +- [Wobbly](https://github.com/sagaya/wobbly) - Wobbly is a Library of predefined, easy to use iOS animations. +- [LoadingShimmer](https://github.com/jogendra/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. ### Transition -* [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. -* [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. -* [BubbleTransition](https://github.com/andreamazz/BubbleTransition) - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. -* [RPModalGestureTransition](https://github.com/naoyashiga/RPModalGestureTransition) - You can dismiss modal by using gesture :point_up_2: :iphone: -* [RMPZoomTransitionAnimator](https://github.com/recruit-mp/RMPZoomTransitionAnimator) - A custom zooming transition animation for UIViewController -* [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. -* [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao -* [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller -* [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view hierarchy. Used extensively in the Zola iOS application. -* [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. -* [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. -* [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. -* [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. -* [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like iOS task manager -* [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. -* [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. -* [Hero](https://github.com/HeroTransitions/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. -* [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. -* [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS -* [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. -* [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. -* [DeckTransition](https://github.com/HarshilShah/DeckTransition) - A library to recreate the iOS Apple Music now playing transition -* [TransitionableTab](https://github.com/Interactive-Studio/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab -* [AlertTransition](https://github.com/loopeer/AlertTransition) - AlertTransition is a extensible library for making view controller transitions, especially for alert transitions. -* [SemiModalViewController](https://github.com/muyexi/SemiModalViewController) - Present view / view controller as bottom-half modal. -* [ImageTransition](https://github.com/shtnkgm/ImageTransition) - ImageTransition is a library for smooth animation of images during transitions. -* [LiquidTransition](https://github.com/AlexandrGraschenkov/LiquidTransition) - removes boilerplate code to perform transition, allows backward animations, custom properties animation and much more! -* [SPStorkController](https://github.com/IvanVorobei/SPStorkController) - Very similar to the controllers displayed in Apple Music, Podcasts and Mail Apple's applications. -* [AppstoreTransition](https://github.com/appssemble/appstore-card-transition) - Simulates the appstore card animation transition. +- [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. +- [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. +- [BubbleTransition](https://github.com/andreamazz/BubbleTransition) - A custom modal transition that presents and dismiss a controller with an expanding bubble effect. +- [RPModalGestureTransition](https://github.com/naoyashiga/RPModalGestureTransition) - You can dismiss modal by using gesture. +- [RMPZoomTransitionAnimator](https://github.com/recruit-mp/RMPZoomTransitionAnimator) - A custom zooming transition animation for UIViewController. +- [ElasticTransition](https://github.com/lkzhao/ElasticTransition) - A UIKit custom transition that simulates an elastic drag. Written in Swift. +- [ElasticTransition-ObjC](https://github.com/taglia3/ElasticTransition-ObjC) - A UIKit custom transition that simulates an elastic drag.This is the Objective-C Version of Elastic Transition written in Swift by lkzhao. +- [ZFDragableModalTransition](https://github.com/zoonooz/ZFDragableModalTransition) - Custom animation transition for present modal view controller. +- [ZOZolaZoomTransition](https://github.com/NewAmsterdamLabs/ZOZolaZoomTransition) - Zoom transition that animates the entire view hierarchy. Used extensively in the Zola iOS application. +- [JTMaterialTransition](https://github.com/jonathantribouharet/JTMaterialTransition) - An iOS transition for controllers based on material design. +- [AnimatedTransitionGallery](https://github.com/shu223/AnimatedTransitionGallery) - Collection of iOS 7 custom animated transitions using UIViewControllerAnimatedTransitioning protocol. +- [TransitionTreasury](https://github.com/DianQK/TransitionTreasury) - Easier way to push your viewController. +- [Presenter](https://github.com/muukii/Presenter) - Screen transition with safe and clean code. +- [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like iOS task manager. +- [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. +- [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. +- [Hero](https://github.com/HeroTransitions/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. +- [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. +- [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS. +- [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. +- [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. +- [DeckTransition](https://github.com/HarshilShah/DeckTransition) - A library to recreate the iOS Apple Music now playing transition. +- [TransitionableTab](https://github.com/Interactive-Studio/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab. +- [AlertTransition](https://github.com/loopeer/AlertTransition) - AlertTransition is a extensible library for making view controller transitions, especially for alert transitions. +- [SemiModalViewController](https://github.com/muyexi/SemiModalViewController) - Present view / view controller as bottom-half modal. +- [ImageTransition](https://github.com/shtnkgm/ImageTransition) - ImageTransition is a library for smooth animation of images during transitions. +- [LiquidTransition](https://github.com/AlexandrGraschenkov/LiquidTransition) - removes boilerplate code to perform transition, allows backward animations, custom properties animation and much more! +- [SPStorkController](https://github.com/IvanVorobei/SPStorkController) - Very similar to the controllers displayed in Apple Music, Podcasts and Mail Apple's applications. +- [AppstoreTransition](https://github.com/appssemble/appstore-card-transition) - Simulates the appstore card animation transition. ### Alert & Action Sheet -* [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. -* [NYAlertViewController](https://github.com/nealyoung/NYAlertViewController) - Highly configurable iOS Alert Views with custom content views. -* [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. -* [TTGSnackbar](https://github.com/zekunyan/TTGSnackbar) - Show simple message and action button on the bottom of the screen with multi kinds of animation. -* [Swift-Prompts](https://github.com/GabrielAlva/Swift-Prompts) - A Swift library to design custom prompts with a great scope of options to choose from. -* [BRYXBanner](https://github.com/bryx-inc/BRYXBanner) - A lightweight dropdown notification for iOS 7+, in Swift. -* [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages -* [HDNotificationView](https://github.com/nhdang103/HDNotificationView) - Emulates the native Notification Banner UI for any alert. -* [JDStatusBarNotification](https://github.com/calimarkus/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. -* [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. -* [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController -* [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. -* [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. -* [RKDropdownAlert](https://github.com/cwRichardKim/RKDropdownAlert) - Extremely simple UIAlertView alternative. -* [TKSwarmAlert](https://github.com/entotsu/TKSwarmAlert) - Animated alert library like Swarm app. -* [SimpleAlert](https://github.com/KyoheiG3/SimpleAlert) - Customizable simple Alert and simple ActionSheet for Swift -* [Hokusai](https://github.com/ytakzk/Hokusai) - A Swift library to provide a bouncy action sheet -* [SwiftNotice](https://github.com/johnlui/SwiftNotice) - SwiftNotice is a GUI library for displaying various popups (HUD) written in pure Swift, fits any scrollview. -* [SwiftOverlays](https://github.com/peterprokop/SwiftOverlays) - SwiftOverlays is a Swift GUI library for displaying various popups and notifications -* [SwiftyDrop](https://github.com/morizotter/SwiftyDrop) - SwiftyDrop is a lightweight pure Swift simple and beautiful dropdown message. -* [LKAlertController](https://github.com/Lightningkite/LKAlertController) - An easy to use UIAlertController builder for swift. -* [DOAlertController](https://github.com/okmr-d/DOAlertController) - Simple Alert View written in Swift, which can be used as a UIAlertController. (AlertController/AlertView/ActionSheet) -* [CustomizableActionSheet](https://github.com/beryu/CustomizableActionSheet) - Action sheet allows including your custom views and buttons. -* [Toast-Swift](https://github.com/scalessec/Toast-Swift) - A Swift extension that adds toast notifications to the UIView object class. -* [PMAlertController](https://github.com/pmusolino/PMAlertController) - PMAlertController is a great and customizable substitute to UIAlertController. -* [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. -* [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. -* [CRToast](https://github.com/cruffenach/CRToast) - A modern iOS toast view that can fit your notification needs -* [JLToast](https://github.com/devxoul/Toaster) - Toast for iOS with very simple interface. -* [CuckooAlert](https://github.com/rollmind/CuckooAlert) - Multiple use of presentViewController for UIAlertController. -* [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. -* [Dodo](https://github.com/evgenyneu/Dodo) - A message bar for iOS written in Swift. -* [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. -* [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. -* [FCAlertView](https://github.com/krispenney/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift) -* [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. (Objective-C) -* [CDAlertView](https://github.com/candostdagdeviren/CDAlertView) - Highly customizable alert/notification/success/error/alarm popup -* [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. -* [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. -* [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. -* [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. -* [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift -* [RAlertView](https://github.com/roycms/AlertView) - AlertView, iOS popup window, A pop-up framework, Can be simple and convenient to join your project. -* [NoticeBar](https://github.com/qiuncheng/NoticeBar) - 😍A simple NoticeBar written by Swift 3, similar with QQ notice view. -* [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS -* [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook). -* [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone. -* [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. -* [Alertift](https://github.com/sgr-ksmt/Alertift) - Swifty, modern UIAlertController wrapper. -* [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. -* [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. -* [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS -* [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. -* [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. -* [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. -* [RMessage](https://github.com/donileo/RMessage) - A crisp in-app notification/message banner built in ObjC. -* [InAppNotify](https://github.com/lucabecchetti/InAppNotify) - Swift library to manage in-app notification in swift language, like WhatsApp, Telegram, Frind, etc. -* [FloatingActionSheetController](https://github.com/ra1028/FloatingActionSheetController) - FloatingActionSheetController is a cool design ActionSheetController library written in Swift. -* [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS -* [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. -* [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 -* [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. -* [Sheet](https://github.com/BowdusBrown/Sheet) - Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed. -* [Sheet](https://github.com/ParkGwangBeom/Sheet) - SHEET helps you easily create a wide variety of action sheets with navigation features used in the Flipboard App -* [ALRT](https://github.com/mshrwtnb/alrt) - An easier constructor for UIAlertController. Present an alert from anywhere. -* [CatAlertController](https://github.com/ImKcat/CatAlertController) - Use UIAlertController like a boss. -* [Loaf](https://github.com/schmidyy/Loaf) - A simple framework for easy iOS Toasts. -* [SPAlert](https://github.com/IvanVorobei/SPAlert) - Native popup from Apple Music & Feedback in AppStore. Contains Done & Heart presets. +- [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. +- [NYAlertViewController](https://github.com/nealyoung/NYAlertViewController) - Highly configurable iOS Alert Views with custom content views. +- [SCLAlertView-Swift](https://github.com/vikmeup/SCLAlertView-Swift) - Beautiful animated Alert View, written in Swift. +- [TTGSnackbar](https://github.com/zekunyan/TTGSnackbar) - Show simple message and action button on the bottom of the screen with multi kinds of animation. +- [Swift-Prompts](https://github.com/GabrielAlva/Swift-Prompts) - A Swift library to design custom prompts with a great scope of options to choose from. +- [BRYXBanner](https://github.com/bryx-inc/BRYXBanner) - A lightweight dropdown notification for iOS 7+, in Swift. +- [LNRSimpleNotifications](https://github.com/LISNR/LNRSimpleNotifications) - Simple Swift in-app notifications. LNRSimpleNotifications is a simplified Swift port of TSMessages. +- [HDNotificationView](https://github.com/nhdang103/HDNotificationView) - Emulates the native Notification Banner UI for any alert. +- [JDStatusBarNotification](https://github.com/calimarkus/JDStatusBarNotification) - Easy, customizable notifications displayed on top of the statusbar. +- [Notie](https://github.com/thii/Notie) - In-app notification in Swift, with customizable buttons and input text field. +- [EZAlertController](https://github.com/thellimist/EZAlertController) - Easy Swift UIAlertController. +- [GSMessages](https://github.com/wxxsw/GSMessages) - A simple style messages/notifications for iOS 7+. +- [OEANotification](https://github.com/OEA/OEANotification) - In-app customizable notification views on top of screen for iOS which is written in Swift 2.1. +- [RKDropdownAlert](https://github.com/cwRichardKim/RKDropdownAlert) - Extremely simple UIAlertView alternative. +- [TKSwarmAlert](https://github.com/entotsu/TKSwarmAlert) - Animated alert library like Swarm app. +- [SimpleAlert](https://github.com/KyoheiG3/SimpleAlert) - Customizable simple Alert and simple ActionSheet for Swift. +- [Hokusai](https://github.com/ytakzk/Hokusai) - A Swift library to provide a bouncy action sheet. +- [SwiftNotice](https://github.com/johnlui/SwiftNotice) - SwiftNotice is a GUI library for displaying various popups (HUD) written in pure Swift, fits any scrollview. +- [SwiftOverlays](https://github.com/peterprokop/SwiftOverlays) - SwiftOverlays is a Swift GUI library for displaying various popups and notifications. +- [SwiftyDrop](https://github.com/morizotter/SwiftyDrop) - SwiftyDrop is a lightweight pure Swift simple and beautiful dropdown message. +- [LKAlertController](https://github.com/Lightningkite/LKAlertController) - An easy to use UIAlertController builder for swift. +- [DOAlertController](https://github.com/okmr-d/DOAlertController) - Simple Alert View written in Swift, which can be used as a UIAlertController. (AlertController/AlertView/ActionSheet). +- [CustomizableActionSheet](https://github.com/beryu/CustomizableActionSheet) - Action sheet allows including your custom views and buttons. +- [Toast-Swift](https://github.com/scalessec/Toast-Swift) - A Swift extension that adds toast notifications to the UIView object class. +- [PMAlertController](https://github.com/pmusolino/PMAlertController) - PMAlertController is a great and customizable substitute to UIAlertController. +- [PopupViewController](https://github.com/dimillian/PopupViewController) - UIAlertController drop in replacement with much more customization. +- [AlertViewLoveNotification](https://github.com/PhilippeBoisney/AlertViewLoveNotification) - A simple and attractive AlertView to ask permission to your users for Push Notification. +- [CRToast](https://github.com/cruffenach/CRToast) - A modern iOS toast view that can fit your notification needs. +- [JLToast](https://github.com/devxoul/Toaster) - Toast for iOS with very simple interface. +- [CuckooAlert](https://github.com/rollmind/CuckooAlert) - Multiple use of presentViewController for UIAlertController. +- [KRAlertController](https://github.com/krimpedance/KRAlertController) - A colored alert view for your iOS. +- [Dodo](https://github.com/evgenyneu/Dodo) - A message bar for iOS written in Swift. +- [MaterialActionSheetController](https://github.com/ntnhon/MaterialActionSheetController) - A Google like action sheet for iOS written in Swift. +- [SwiftMessages](https://github.com/SwiftKickMobile/SwiftMessages) - A very flexible message bar for iOS written in Swift. +- [FCAlertView](https://github.com/krispenney/FCAlertView) - A Flat Customizable AlertView for iOS. (Swift). +- [FCAlertView](https://github.com/nimati/FCAlertView) - A Flat Customizable AlertView for iOS. (Objective-C). +- [CDAlertView](https://github.com/candostdagdeviren/CDAlertView) - Highly customizable alert/notification/success/error/alarm popup. +- [RMActionController](https://github.com/CooperRS/RMActionController) - Present any UIView in an UIAlertController like manner. +- [RMDateSelectionViewController](https://github.com/CooperRS/RMDateSelectionViewController) - Select a date using UIDatePicker in a UIAlertController like fashion. +- [RMPickerViewController](https://github.com/CooperRS/RMPickerViewController) - Select something using UIPickerView in a UIAlertController like fashion. +- [Jelly](https://github.com/SebastianBoldt/Jelly) - Jelly provides custom view controller transitions with just a few lines of code. +- [Malert](https://github.com/vitormesquita/Malert) - Malert is a simple, easy and custom iOS UIAlertView written in Swift. +- [RAlertView](https://github.com/roycms/AlertView) - AlertView, iOS popup window, A pop-up framework, Can be simple and convenient to join your project. +- [NoticeBar](https://github.com/qiuncheng/NoticeBar) - A simple NoticeBar written by Swift 3, similar with QQ notice view. +- [LIHAlert](https://github.com/Lasithih/LIHAlert) - Advance animated banner alerts for iOS. +- [BPStatusBarAlert](https://github.com/ppth0608/BPStatusBarAlert) - A simple alerts that appear on the status bar and below navigation bar(like Facebook). +- [CFAlertViewController](https://github.com/Codigami/CFAlertViewController) - A library that helps you display and customise alerts and action sheets on iPad and iPhone. +- [NotificationBanner](https://github.com/Daltron/NotificationBanner) - The easiest way to display highly customizable in app notification banners in iOS. +- [Alertift](https://github.com/sgr-ksmt/Alertift) - Swifty, modern UIAlertController wrapper. +- [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. +- [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. +- [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS +- [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. +- [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. +- [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. +- [RMessage](https://github.com/donileo/RMessage) - A crisp in-app notification/message banner built in ObjC. +- [InAppNotify](https://github.com/lucabecchetti/InAppNotify) - Swift library to manage in-app notification in swift language, like WhatsApp, Telegram, Frind, etc. +- [FloatingActionSheetController](https://github.com/ra1028/FloatingActionSheetController) - FloatingActionSheetController is a cool design ActionSheetController library written in Swift. +- [TOActionSheet](https://github.com/TimOliver/TOActionSheet) - A custom-designed reimplementation of the UIActionSheet control for iOS +- [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. +- [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 +- [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. +- [Sheet](https://github.com/BowdusBrown/Sheet) - Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed. +- [Sheet](https://github.com/ParkGwangBeom/Sheet) - SHEET helps you easily create a wide variety of action sheets with navigation features used in the Flipboard App +- [ALRT](https://github.com/mshrwtnb/alrt) - An easier constructor for UIAlertController. Present an alert from anywhere. +- [CatAlertController](https://github.com/ImKcat/CatAlertController) - Use UIAlertController like a boss. +- [Loaf](https://github.com/schmidyy/Loaf) - A simple framework for easy iOS Toasts. +- [SPAlert](https://github.com/IvanVorobei/SPAlert) - Native popup from Apple Music & Feedback in AppStore. Contains Done & Heart presets. ### Badge -* [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. -* [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. [e] -* [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. -* [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift -* [BadgeHub](https://github.com/jogendra/BadgeHub) - Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. +- [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. +- [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. [e] +- [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. +- [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift +- [BadgeHub](https://github.com/jogendra/BadgeHub) - Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. ### Button -* [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. -* [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. -* [VBFPopFlatButton](https://github.com/victorBaro/VBFPopFlatButton) - Flat button with 9 different states animated using Facebook POP. -* [HTPressableButton](https://github.com/Famolus/HTPressableButton) - Flat design pressable button. -* [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state -* [JTFadingInfoView](https://github.com/JunichiT/JTFadingInfoView) - An UIButton-based view with fade in/out animation features. -* [Floaty](https://github.com/kciter/Floaty) - :heart: Floating Action Button for iOS -* [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). -* [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift -* [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. -* [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - Inspired by Apple’s download progress buttons in the App Store. -* [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design -* [JOEmojiableBtn](https://github.com/lojals/JOEmojiableBtn) - Emoji selector like Facebook Reactions. -* [EMEmojiableBtn](https://github.com/Eke/EMEmojiableBtn) - Option selector that works similar to Reactions by fb. Objective-c version. -* [WYMaterialButton](https://github.com/Yu-w/WYMaterialButton) - Interactive and fully animated Material Design button for iOS developers. -* [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift -* [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash -* [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. -* [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. -* [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. -* [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. -* [MultiToggleButton](https://github.com/yonat/MultiToggleButton) - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons). -* [PMSuperButton](https://github.com/pmusolino/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! -* [JSButton](https://github.com/jogendra/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. -* [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation -* [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. -* [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class -* [DesignableButton](https://github.com/IdleHandsApps/DesignableButton) - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time! -* [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox) - Tasteful Checkbox for iOS. (Check box) -* [ExpandableButton](https://github.com/DimaMishchenko/ExpandableButton) - Customizable and easy to use expandable button in Swift. -* [TORoundedButton](https://github.com/TimOliver/TORoundedButton) - A high-performance button control with rounded corners. +- [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. +- [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. +- [VBFPopFlatButton](https://github.com/victorBaro/VBFPopFlatButton) - Flat button with 9 different states animated using Facebook POP. +- [HTPressableButton](https://github.com/Famolus/HTPressableButton) - Flat design pressable button. +- [LiquidFloatingActionButton](https://github.com/yoavlt/LiquidFloatingActionButton) - Material Design Floating Action Button in liquid state +- [JTFadingInfoView](https://github.com/JunichiT/JTFadingInfoView) - An UIButton-based view with fade in/out animation features. +- [Floaty](https://github.com/kciter/Floaty) - :heart: Floating Action Button for iOS +- [TVButton](https://github.com/marmelroy/TVButton) - Recreating the cool parallax icons from Apple TV as iOS UIButtons (in Swift). +- [SwiftyButton](https://github.com/TakeScoop/SwiftyButton) - Simple and customizable button in Swift +- [AnimatablePlayButton](https://github.com/suzuki-0000/AnimatablePlayButton) - Animated Play and Pause Button using CALayer, CAKeyframeAnimation. +- [gbkui-button-progress-view](https://github.com/Guidebook/gbkui-button-progress-view) - Inspired by Apple’s download progress buttons in the App Store. +- [ZFRippleButton](https://github.com/zoonooz/ZFRippleButton) - Custom UIButton effect inspired by Google Material Design +- [JOEmojiableBtn](https://github.com/lojals/JOEmojiableBtn) - Emoji selector like Facebook Reactions. +- [EMEmojiableBtn](https://github.com/Eke/EMEmojiableBtn) - Option selector that works similar to Reactions by fb. Objective-c version. +- [WYMaterialButton](https://github.com/Yu-w/WYMaterialButton) - Interactive and fully animated Material Design button for iOS developers. +- [DynamicButton](https://github.com/yannickl/DynamicButton) - Yet another animated flat buttons in Swift +- [OnOffButton](https://github.com/rakaramos/OnOffButton) - Custom On/Off Animated UIButton, written in Swift. By Creativedash +- [WCLShineButton](https://github.com/imwcl/WCLShineButton) - This is a UI lib for iOS. Effects like shining. +- [EasySocialButton](https://github.com/Minitour/EasySocialButton) - An easy way to create beautiful social authentication buttons. +- [NFDownloadButton](https://github.com/LeonardoCardoso/NFDownloadButton) - Revamped Download Button. +- [LGButton](https://github.com/loregr/LGButton) - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code. +- [MultiToggleButton](https://github.com/yonat/MultiToggleButton) - A UIButton subclass that implements tap-to-toggle button text (Like the camera flash and timer buttons). +- [PMSuperButton](https://github.com/pmusolino/PMSuperButton) - A powerful UIButton with super powers, customizable from Storyboard! +- [JSButton](https://github.com/jogendra/JSButton) - A fully customisable swift subclass on UIButton which allows you to create beautiful buttons without writing any line of code. +- [TransitionButton](https://github.com/AladinWay/TransitionButton) - UIButton sublass for loading and transition animation +- [ButtonProgressBar-iOS](https://github.com/thePsguy/ButtonProgressBar-iOS) - A small and flexible UIButton subclass with animated loading progress, and completion animation. +- [SpicyButton](https://github.com/lukecrum/SpicyButton) - Full-featured IBDesignable UIButton class +- [DesignableButton](https://github.com/IdleHandsApps/DesignableButton) - UIButton subclass with centralised and reusable styles. View styles and customise in InterfaceBuilder in real time! +- [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox) - Tasteful Checkbox for iOS. (Check box) +- [ExpandableButton](https://github.com/DimaMishchenko/ExpandableButton) - Customizable and easy to use expandable button in Swift. +- [TORoundedButton](https://github.com/TimOliver/TORoundedButton) - A high-performance button control with rounded corners. ### Calendar -* [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). -* [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. -* [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS -* [GLCalendarView](https://github.com/Glow-Inc/GLCalendarView) - A fully customizable calendar view acting as a date range picker -* [JTCalendar](https://github.com/jonathantribouharet/JTCalendar) - A customizable calendar view for iOS. -* [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The Unofficial Swift Apple Calendar Library. View. Control. for iOS & tvOS -* [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. -* [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern -* [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS -* [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift -* [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time -* [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. -* [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. -* [GDPersianCalendar](https://github.com/saeid/GDCalendar) - Customizable and easy to use Persian Calendar component. -* [MBCalendarKit](https://github.com/MosheBerman/MBCalendarKit) - A calendar framework for iOS built with customization, and localization in mind. -* [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. -* [KDCalendarView](https://github.com/mmick66/CalendarView) - A calendar component for iOS written in Swift 4.0. It features both vertical and horizontal layout (and scrolling) and the display of native calendar events. -* [CalendarPopUp](https://github.com/orazz/CalendarPopUp) - CalendarPopUp - JTAppleCalendar library. -* [ios_calendar](https://github.com/maximbilan/Calendar-iOS) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar -* [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A fully customizable iOS calendar library, compatible with Objective-C and Swift. +- [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). +- [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. +- [NWCalendarView](https://github.com/nbwar/NWCalendarView) - An availability calendar implementation for iOS +- [GLCalendarView](https://github.com/Glow-Inc/GLCalendarView) - A fully customizable calendar view acting as a date range picker +- [JTCalendar](https://github.com/jonathantribouharet/JTCalendar) - A customizable calendar view for iOS. +- [JTAppleCalendar](https://github.com/patchthecode/JTAppleCalendar) - The Unofficial Swift Apple Calendar Library. View. Control. for iOS & tvOS +- [Daysquare](https://github.com/unixzii/Daysquare) - An elegant calendar control for iOS. +- [ASCalendar](https://github.com/scamps88/ASCalendar) - A calendar control for iOS written in swift with mvvm pattern +- [Calendar](https://github.com/jumartin/Calendar) - A set of views and controllers for displaying and scheduling events on iOS +- [Koyomi](https://github.com/shoheiyokoyama/Koyomi) - Simple customizable calendar component in Swift +- [DateTimePicker](https://github.com/itsmeichigo/DateTimePicker) - A nicer iOS UI component for picking date and time +- [RCalendarPicker](https://github.com/roycms/RCalendarPicker) - RCalendarPicker A date picker control. +- [CalendarKit](https://github.com/richardtop/CalendarKit) - Fully customizable calendar day view. +- [GDPersianCalendar](https://github.com/saeid/GDCalendar) - Customizable and easy to use Persian Calendar component. +- [MBCalendarKit](https://github.com/MosheBerman/MBCalendarKit) - A calendar framework for iOS built with customization, and localization in mind. +- [PTEventView](https://github.com/amantaneja/PTEventView) - An Event View based on Apple's Event Detail View within Calender.Supports ARC, Autolayout and editing via StoryBoard. +- [KDCalendarView](https://github.com/mmick66/CalendarView) - A calendar component for iOS written in Swift 4.0. It features both vertical and horizontal layout (and scrolling) and the display of native calendar events. +- [CalendarPopUp](https://github.com/orazz/CalendarPopUp) - CalendarPopUp - JTAppleCalendar library. +- [ios_calendar](https://github.com/maximbilan/Calendar-iOS) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar +- [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A fully customizable iOS calendar library, compatible with Objective-C and Swift. ### Cards *Card based UI's, pan gestures, flip and swipe animations* -* [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! -* [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. -* [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. -* [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. -* [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. -* [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics -* [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. -* [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. -* [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App -* [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. -* [CardParts](https://github.com/intuit/CardParts) - A reactive, card-based UI framework built on UIKit. -* [VerticalCardSwiper](https://github.com/JoniVR/VerticalCardSwiper) - A marriage between the Shazam Discover UI and Tinder, built with UICollectionView in Swift. +- [MDCSwipeToChoose](https://github.com/modocache/MDCSwipeToChoose) - Swipe to "like" or "dislike" any view, just like Tinder.app. Build a flashcard app, a photo viewer, and more, in minutes, not hours! +- [TisprCardStack](https://github.com/tispr/tispr-card-stack) - Library that allows to have cards UI. +- [CardAnimation](https://github.com/seedante/CardAnimation) - Card flip animation by pan gesture. +- [Koloda](https://github.com/Yalantis/Koloda) - KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. +- [KVCardSelectionVC](https://github.com/kunalverma25/KVCardSelectionVC) - Awesome looking Dial like card selection ViewController. +- [DMSwipeCards](https://github.com/D-32/DMSwipeCards) - Tinder like card stack that supports lazy loading and generics +- [TimelineCards](https://github.com/vladaverin24/TimelineCards) - Presenting timelines as cards, single or bundled in scrollable feed!. +- [Cards](https://github.com/PaoloCuscela/Cards) - Awesome iOS 11 AppStore's Card Views. +- [MMCardView](https://github.com/MillmanY/MMCardView) - Custom CollectionView like Wallet App +- [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. +- [CardParts](https://github.com/intuit/CardParts) - A reactive, card-based UI framework built on UIKit. +- [VerticalCardSwiper](https://github.com/JoniVR/VerticalCardSwiper) - A marriage between the Shazam Discover UI and Tinder, built with UICollectionView in Swift. ### Form & Settings *Input validators, form helpers and form builders.* -* [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS -* [XLForm](https://github.com/xmartlabs/XLForm) - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C. -* [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. -* [YALField](https://github.com/Yalantis/YALField) - Custom Field component with validation for creating easier form-like UI from interface builder. -* [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. -* [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. -* [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS -* [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - SwiftyFORM is a form framework for iOS written in Swift -* [SwiftValidator](https://github.com/SwiftValidatorCommunity/SwiftValidator) - A rule-based validation library for Swift -* [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. -* [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. -* [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. -* [ATGValidator](https://github.com/altayer-digital/ATGValidator) - Rule based validation framework with form and card validation support for iOS. -* [ValidatedPropertyKit](https://github.com/SvenTiigi/ValidatedPropertyKit) - Easily validate your Properties with Property Wrappers. +- [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS +- [XLForm](https://github.com/xmartlabs/XLForm) - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C. +- [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. +- [YALField](https://github.com/Yalantis/YALField) - Custom Field component with validation for creating easier form-like UI from interface builder. +- [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. +- [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. +- [Formalist](https://github.com/seedco/Formalist) - Declarative form building framework for iOS +- [SwiftyFORM](https://github.com/neoneye/SwiftyFORM) - SwiftyFORM is a form framework for iOS written in Swift +- [SwiftValidator](https://github.com/SwiftValidatorCommunity/SwiftValidator) - A rule-based validation library for Swift +- [GenericPasswordRow](https://github.com/EurekaCommunity/GenericPasswordRow) - A row for Eureka to implement password validations. +- [formvalidator-swift](https://github.com/ustwo/formvalidator-swift) - A framework to validate inputs of text fields and text views in a convenient way. +- [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. +- [ATGValidator](https://github.com/altayer-digital/ATGValidator) - Rule based validation framework with form and card validation support for iOS. +- [ValidatedPropertyKit](https://github.com/SvenTiigi/ValidatedPropertyKit) - Easily validate your Properties with Property Wrappers. ### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. @@ -2384,472 +2383,472 @@ Most of these are paid services, some have free tiers. * [Ribbon](https://github.com/chriszielinski/Ribbon) - A simple cross-platform toolbar/custom input accessory view library for iOS & macOS. ### Label -* [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. -* [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift -* [MZTimerLabel](https://github.com/mineschan/MZTimerLabel) - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App. -* [CountdownLabel](https://github.com/suzuki-0000/CountdownLabel) - Simple countdown UILabel with morphing animation, and some useful function. -* [IncrementableLabel](https://github.com/tbaranes/IncrementableLabel) - Incrementable label for iOS, macOS, and tvOS. -* [TTTAttributedLabel](https://github.com/TTTAttributedLabel/TTTAttributedLabel) - A drop-in replacement for UILabel that supports attributes, data detectors, links, and more -* [NumberMorphView](https://github.com/me-abhinav/NumberMorphView) - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. -* [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. -* [TOMSMorphingLabel](https://github.com/tomknig/TOMSMorphingLabel) - Configurable morphing transitions between text values of a label. -* [THLabel](https://github.com/tobihagemann/THLabel) - UILabel subclass, which additionally allows shadow blur, inner shadow, stroke text and fill gradient. -* [RQShineLabel](https://github.com/zipme/RQShineLabel) - Secret app like text animation -* [ZCAnimatedLabel](https://github.com/overboming/ZCAnimatedLabel) - UILabel replacement with fine-grain appear/disappear animation -* [TriLabelView](https://github.com/mukeshthawani/TriLabelView) - A triangle shaped corner label view for iOS written in Swift. -* [Preloader.Ophiuchus](https://github.com/Yalantis/Preloader.Ophiuchus) - Custom Label to apply animations on whole text or letters. -* [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. -* [UICountingLabel](https://github.com/dataxpress/UICountingLabel/) - Adds animated counting support to UILabel. -* [SlidingText](https://github.com/dnKaratzas/SlidingText) - Swift UIView for sliding text with page indicator. -* [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. -* [JSLabel](https://github.com/jogendra/JSLabel) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. -* [AnimatedMaskLabel](https://github.com/jogendra/AnimatedMaskLabel) - Animated Mask Label is a nice gradient animated label. This is an easy way to add a shimmering effect to any view in your app. -* [STULabel](https://github.com/stephan-tolksdorf/STULabel) - A label view that's faster than UILabel and supports asynchronous rendering, links with UIDragInteraction, very flexible text truncation, Auto Layout, UIAccessibility and more. +- [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. +- [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift +- [MZTimerLabel](https://github.com/mineschan/MZTimerLabel) - A handy class for iOS to use UILabel as a countdown timer or stopwatch just like in Apple Clock App. +- [CountdownLabel](https://github.com/suzuki-0000/CountdownLabel) - Simple countdown UILabel with morphing animation, and some useful function. +- [IncrementableLabel](https://github.com/tbaranes/IncrementableLabel) - Incrementable label for iOS, macOS, and tvOS. +- [TTTAttributedLabel](https://github.com/TTTAttributedLabel/TTTAttributedLabel) - A drop-in replacement for UILabel that supports attributes, data detectors, links, and more +- [NumberMorphView](https://github.com/me-abhinav/NumberMorphView) - A label view for displaying numbers which can transition or animate using a technique called number tweening or number morphing. +- [GlitchLabel](https://github.com/kciter/GlitchLabel) - Glitching UILabel for iOS. +- [TOMSMorphingLabel](https://github.com/tomknig/TOMSMorphingLabel) - Configurable morphing transitions between text values of a label. +- [THLabel](https://github.com/tobihagemann/THLabel) - UILabel subclass, which additionally allows shadow blur, inner shadow, stroke text and fill gradient. +- [RQShineLabel](https://github.com/zipme/RQShineLabel) - Secret app like text animation +- [ZCAnimatedLabel](https://github.com/overboming/ZCAnimatedLabel) - UILabel replacement with fine-grain appear/disappear animation +- [TriLabelView](https://github.com/mukeshthawani/TriLabelView) - A triangle shaped corner label view for iOS written in Swift. +- [Preloader.Ophiuchus](https://github.com/Yalantis/Preloader.Ophiuchus) - Custom Label to apply animations on whole text or letters. +- [MTLLinkLabel](https://github.com/recruit-mtl/MTLLinkLabel) - MTLLinkLabel is linkable UILabel. Written in Swift. +- [UICountingLabel](https://github.com/dataxpress/UICountingLabel/) - Adds animated counting support to UILabel. +- [SlidingText](https://github.com/dnKaratzas/SlidingText) - Swift UIView for sliding text with page indicator. +- [NumericAnimatedLabel](https://github.com/javalnanda/NumericAnimatedLabel/) - Swift UIView for showing numeric label with incremental and decremental step animation while changing value. Useful for scenarios like displaying currency. +- [JSLabel](https://github.com/jogendra/JSLabel) - A simple designable subclass on UILabel with extra IBDesignable and Blinking features. +- [AnimatedMaskLabel](https://github.com/jogendra/AnimatedMaskLabel) - Animated Mask Label is a nice gradient animated label. This is an easy way to add a shimmering effect to any view in your app. +- [STULabel](https://github.com/stephan-tolksdorf/STULabel) - A label view that's faster than UILabel and supports asynchronous rendering, links with UIDragInteraction, very flexible text truncation, Auto Layout, UIAccessibility and more. ### Login -* [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. -* [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. -* [Cely](https://github.com/cely-tools/Cely) - Plug-n-Play login framework written in Swift. +- [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. +- [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. +- [Cely](https://github.com/cely-tools/Cely) - Plug-n-Play login framework written in Swift. ### Menu -* [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. -* [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. -* [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. -* [RadialMenu](https://github.com/bradjasper/radialmenu) - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP -* [cariocamenu](https://github.com/arn00s/cariocamenu) - The fastest zero-tap iOS menu. -* [VLDContextSheet](https://github.com/vangelov/VLDContextSheet) - Context menu similar to the one in the Pinterest iOS app -* [GuillotineMenu](https://github.com/Yalantis/GuillotineMenu) - Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine. -* [MediumMenu](https://github.com/pixyzehn/MediumMenu) - A menu based on Medium iOS app. -* [SwiftySideMenu](https://github.com/hossamghareeb/SwiftySideMenu) - SwiftySideMenu is a lightweight and easy to use side menu controller to add left menu and center view controllers with scale animation based on Pop framework. -* [LLSlideMenu](https://github.com/lilei644/LLSlideMenu) - This is a spring slide menu for iOS apps -* [Swift-Slide-Menu](https://github.com/PhilippeBoisney/Swift-Slide-Menu) - A Slide Menu, written in Swift, inspired by Slide Menu Material Design. -* [MenuItemKit](https://github.com/cxa/MenuItemKit) - UIMenuItem with image and block(closure) -* [BTNavigationDropdownMenu](https://github.com/PhamBaTho/BTNavigationDropdownMenu) - The elegant dropdown menu, written in Swift, appears underneath navigation bar to display a list of related items when a user click on the navigation title. -* [ALRadialMenu](https://github.com/AlexLittlejohn/ALRadialMenu) - A radial/circular menu featuring spring animations. Written in swift -* [AZDropdownMenu](https://github.com/Azuritul/AZDropdownMenu) - An easy to use dropdown menu that supports images. -* [CircleMenu](https://github.com/Ramotion/circle-menu) - An animated, multi-option menu button. -* [SlideMenuControllerSwift](https://github.com/dekatotoro/SlideMenuControllerSwift) - iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure Swift. -* [SideMenu](https://github.com/jonkykong/SideMenu) - Simple side menu control in Swift inspired by Facebook. Right and Left sides. Lots of customization and animation options. Can be implemented in Storyboard with no code. -* [CategorySliderView](https://github.com/cemolcay/CategorySliderView) - slider view for choosing categories. add any UIView type as category item view. Fully customisable -* [MKDropdownMenu](https://github.com/maxkonovalov/MKDropdownMenu) - A Dropdown Menu for iOS with many customizable parameters to suit any needs. -* [ExpandingMenu](https://github.com/monoqlo/ExpandingMenu) - ExpandingMenu is menu button for iOS written in Swift. -* [PageMenu](https://github.com/PageMenu/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) -* [XXXRoundMenuButton](https://github.com/zsy78191/XXXRoundMenuButton) - A simple circle style menu. -* [IGCMenu](https://github.com/sunilsharma08/IGCMenu) - Grid and Circular menu with animation.Easy to customise. -* [EEJSelectMenu](https://github.com/eejahromi/EEJSelectMenu) - Single selection menu with cool animations, responsive with all screen sizes. -* [IGLDropDownMenu](https://github.com/bestwnh/IGLDropDownMenu) - An iOS drop down menu with pretty animation and easy to customize. -* [Side-Menu.iOS](https://github.com/Yalantis/Side-Menu.iOS) - Animated side menu with customizable UI -* [PopMenu](https://github.com/xhzengAIB/PopMenu) - PopMenu is pop animation menu inspired by Sina weibo / NetEase app. -* [FlowingMenu](https://github.com/yannickl/FlowingMenu) - Interactive view transition to display menus with flowing and bouncing effects in Swift -* [Persei](https://github.com/Yalantis/Persei) - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift -* [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS -* [KYGooeyMenu](https://github.com/KittenYang/KYGooeyMenu) - A not bad gooey effects menu. -* [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift -* [Context-Menu.iOS](https://github.com/Yalantis/Context-Menu.iOS) - You can easily add awesome animated context menu to your app. -* [ViewDeck](https://github.com/ViewDeck/ViewDeck) - An implementation of the sliding functionality found in the Path 2.0 or Facebook iOS apps. -* [FrostedSidebar](https://github.com/edekhayser/FrostedSidebar) - Hamburger Menu using Swift and iOS 8 API's -* [VHBoomMenuButton](https://github.com/Nightonke/VHBoomMenuButton) - A menu which can ... BOOM! -* [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. -* [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. -* [RHSideButtons](https://github.com/robertherdzik/RHSideButtons) - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. -* [Swift-CircleMenu](https://github.com/hu55a1n1/Swift-CircleMenu) - Rotating circle menu written in Swift 3. -* [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. -* [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. -* [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. -* [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! -* [JNDropDownMenu](https://github.com/javalnanda/JNDropDownMenu) - Easy to use tableview style drop down menu with multi-column support written in Swift3. -* [FanMenu](https://github.com/exyte/fan-menu) - Menu with a circular layout based on Macaw. -* [AirBar](https://github.com/uptechteam/AirBar) - UIScrollView driven expandable menu written in Swift 3. -* [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition -* [SwipeMenuViewController](https://github.com/yysskk/SwipeMenuViewController) - Swipable tab and menu View and ViewController. -* [DTPagerController](https://github.com/tungvoduc/DTPagerController) - A fully customizable container view controller to display set of ViewControllers in horizontal scroller -* [PagingKit](https://github.com/kazuhiro4949/PagingKit) - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries. -* [Dropdowns](https://github.com/onmyway133/Dropdowns) - 💧 Dropdown in Swift -* [Parchment](https://github.com/rechsteiner/Parchment) - A paging view controller with a highly customizable menu. Built on UICollectionView, with support for custom layouts and infinite data sources. -* [ContextMenu](https://github.com/GitHawkApp/ContextMenu) - An iOS context menu UI inspired by Things 3. -* [Panels](https://github.com/antoniocasero/Panels) - Panels is a framework to easily add sliding panels to your application. -* [UIMenuScroll](https://github.com/AlekseyPleshkov/UIMenuScroll) - Creating the horizontal swiping navigation how on Facebook Messenger. -* [CircleBar](https://github.com/softhausHQ/CircleBar) - 🔶 A fun, easy-to-use tab bar navigation controller for iOS. -* [SPLarkController](https://github.com/IvanVorobei/SPLarkController) - Settings screen with buttons and switches. +- [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. +- [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. +- [SSASideMenu](https://github.com/SSA111/SSASideMenu) - A Swift implementation of RESideMenu. A iOS 7/8 style side menu with parallax effect. +- [RadialMenu](https://github.com/bradjasper/radialmenu) - RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP +- [cariocamenu](https://github.com/arn00s/cariocamenu) - The fastest zero-tap iOS menu. +- [VLDContextSheet](https://github.com/vangelov/VLDContextSheet) - Context menu similar to the one in the Pinterest iOS app +- [GuillotineMenu](https://github.com/Yalantis/GuillotineMenu) - Our Guillotine Menu Transitioning Animation implemented in Swift reminds a bit of a notorious killing machine. +- [MediumMenu](https://github.com/pixyzehn/MediumMenu) - A menu based on Medium iOS app. +- [SwiftySideMenu](https://github.com/hossamghareeb/SwiftySideMenu) - SwiftySideMenu is a lightweight and easy to use side menu controller to add left menu and center view controllers with scale animation based on Pop framework. +- [LLSlideMenu](https://github.com/lilei644/LLSlideMenu) - This is a spring slide menu for iOS apps +- [Swift-Slide-Menu](https://github.com/PhilippeBoisney/Swift-Slide-Menu) - A Slide Menu, written in Swift, inspired by Slide Menu Material Design. +- [MenuItemKit](https://github.com/cxa/MenuItemKit) - UIMenuItem with image and block(closure) +- [BTNavigationDropdownMenu](https://github.com/PhamBaTho/BTNavigationDropdownMenu) - The elegant dropdown menu, written in Swift, appears underneath navigation bar to display a list of related items when a user click on the navigation title. +- [ALRadialMenu](https://github.com/AlexLittlejohn/ALRadialMenu) - A radial/circular menu featuring spring animations. Written in swift +- [AZDropdownMenu](https://github.com/Azuritul/AZDropdownMenu) - An easy to use dropdown menu that supports images. +- [CircleMenu](https://github.com/Ramotion/circle-menu) - An animated, multi-option menu button. +- [SlideMenuControllerSwift](https://github.com/dekatotoro/SlideMenuControllerSwift) - iOS Slide Menu View based on Google+, iQON, Feedly, Ameba iOS app. It is written in pure Swift. +- [SideMenu](https://github.com/jonkykong/SideMenu) - Simple side menu control in Swift inspired by Facebook. Right and Left sides. Lots of customization and animation options. Can be implemented in Storyboard with no code. +- [CategorySliderView](https://github.com/cemolcay/CategorySliderView) - slider view for choosing categories. add any UIView type as category item view. Fully customisable +- [MKDropdownMenu](https://github.com/maxkonovalov/MKDropdownMenu) - A Dropdown Menu for iOS with many customizable parameters to suit any needs. +- [ExpandingMenu](https://github.com/monoqlo/ExpandingMenu) - ExpandingMenu is menu button for iOS written in Swift. +- [PageMenu](https://github.com/PageMenu/PageMenu) - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram) +- [XXXRoundMenuButton](https://github.com/zsy78191/XXXRoundMenuButton) - A simple circle style menu. +- [IGCMenu](https://github.com/sunilsharma08/IGCMenu) - Grid and Circular menu with animation.Easy to customise. +- [EEJSelectMenu](https://github.com/eejahromi/EEJSelectMenu) - Single selection menu with cool animations, responsive with all screen sizes. +- [IGLDropDownMenu](https://github.com/bestwnh/IGLDropDownMenu) - An iOS drop down menu with pretty animation and easy to customize. +- [Side-Menu.iOS](https://github.com/Yalantis/Side-Menu.iOS) - Animated side menu with customizable UI +- [PopMenu](https://github.com/xhzengAIB/PopMenu) - PopMenu is pop animation menu inspired by Sina weibo / NetEase app. +- [FlowingMenu](https://github.com/yannickl/FlowingMenu) - Interactive view transition to display menus with flowing and bouncing effects in Swift +- [Persei](https://github.com/Yalantis/Persei) - Animated top menu for UITableView / UICollectionView / UIScrollView written in Swift +- [DropDown](https://github.com/AssistoLab/DropDown) - A Material Design drop down for iOS +- [KYGooeyMenu](https://github.com/KittenYang/KYGooeyMenu) - A not bad gooey effects menu. +- [SideMenuController](https://github.com/teodorpatras/SideMenuController) - A side menu controller written in Swift +- [Context-Menu.iOS](https://github.com/Yalantis/Context-Menu.iOS) - You can easily add awesome animated context menu to your app. +- [ViewDeck](https://github.com/ViewDeck/ViewDeck) - An implementation of the sliding functionality found in the Path 2.0 or Facebook iOS apps. +- [FrostedSidebar](https://github.com/edekhayser/FrostedSidebar) - Hamburger Menu using Swift and iOS 8 API's +- [VHBoomMenuButton](https://github.com/Nightonke/VHBoomMenuButton) - A menu which can ... BOOM! +- [DropDownMenuKit](https://github.com/qmathe/DropDownMenuKit) - A simple, modular and highly customizable UIKit menu, that can be attached to the navigation bar or toolbar, written in Swift. +- [RevealMenuController](https://github.com/anatoliyv/RevealMenuController) - Expandable item groups, custom position and appearance animation. Similar to ActionSheet style. +- [RHSideButtons](https://github.com/robertherdzik/RHSideButtons) - Library provides easy to implement variation of Android (Material Design) Floating Action Button for iOS. You can use it as your app small side menu. +- [Swift-CircleMenu](https://github.com/hu55a1n1/Swift-CircleMenu) - Rotating circle menu written in Swift 3. +- [AKSideMenu](https://github.com/dogo/AKSideMenu) - Beautiful iOS side menu library with parallax effect. +- [InteractiveSideMenu](https://github.com/handsomecode/InteractiveSideMenu) - Customizable iOS Interactive Side Menu written in Swift 3. +- [YNDropDownMenu](https://github.com/younatics/YNDropDownMenu) - Adorable iOS drop down menu with Swift3. +- [KWDrawerController](https://github.com/Kawoou/KWDrawerController) - Drawer view controller that easy to use! +- [JNDropDownMenu](https://github.com/javalnanda/JNDropDownMenu) - Easy to use tableview style drop down menu with multi-column support written in Swift3. +- [FanMenu](https://github.com/exyte/fan-menu) - Menu with a circular layout based on Macaw. +- [AirBar](https://github.com/uptechteam/AirBar) - UIScrollView driven expandable menu written in Swift 3. +- [FAPanels](https://github.com/fahidattique55/FAPanels) - FAPanels for transition +- [SwipeMenuViewController](https://github.com/yysskk/SwipeMenuViewController) - Swipable tab and menu View and ViewController. +- [DTPagerController](https://github.com/tungvoduc/DTPagerController) - A fully customizable container view controller to display set of ViewControllers in horizontal scroller +- [PagingKit](https://github.com/kazuhiro4949/PagingKit) - PagingKit provides customizable menu UI It has more flexible layout and design than the other libraries. +- [Dropdowns](https://github.com/onmyway133/Dropdowns) - 💧 Dropdown in Swift +- [Parchment](https://github.com/rechsteiner/Parchment) - A paging view controller with a highly customizable menu. Built on UICollectionView, with support for custom layouts and infinite data sources. +- [ContextMenu](https://github.com/GitHawkApp/ContextMenu) - An iOS context menu UI inspired by Things 3. +- [Panels](https://github.com/antoniocasero/Panels) - Panels is a framework to easily add sliding panels to your application. +- [UIMenuScroll](https://github.com/AlekseyPleshkov/UIMenuScroll) - Creating the horizontal swiping navigation how on Facebook Messenger. +- [CircleBar](https://github.com/softhausHQ/CircleBar) - 🔶 A fun, easy-to-use tab bar navigation controller for iOS. +- [SPLarkController](https://github.com/IvanVorobei/SPLarkController) - Settings screen with buttons and switches. ### Navigation Bar -* [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls -* [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. -* [LTNavigationBar](https://github.com/ltebean/LTNavigationBar) - UINavigationBar Category which allows you to change its appearance dynamically -* [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects -* [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. -* [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView -* [NavKit](https://github.com/wilbertliu/NavKit) - Simple and integrated way to customize navigation bar experience on iOS app. -* [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop -* [TONavigationBar](https://github.com/TimOliver/TONavigationBar) - A simple subclass that adds the ability to set the navigation bar background to 'clear' and gradually transition it visibly back in, similar to the effect in the iOS Music app. +- [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls +- [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. +- [LTNavigationBar](https://github.com/ltebean/LTNavigationBar) - UINavigationBar Category which allows you to change its appearance dynamically +- [BusyNavigationBar](https://github.com/gmertk/BusyNavigationBar) - A UINavigationBar extension to show loading effects +- [KDInteractiveNavigationController](https://github.com/kingiol/KDInteractiveNavigationController) - A UINavigationController subclass that support pop interactive UINavigationbar with hidden or show. +- [AMScrollingNavbar](https://github.com/andreamazz/AMScrollingNavbar) - Scrollable UINavigationBar that follows the scrolling of a UIScrollView +- [NavKit](https://github.com/wilbertliu/NavKit) - Simple and integrated way to customize navigation bar experience on iOS app. +- [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop +- [TONavigationBar](https://github.com/TimOliver/TONavigationBar) - A simple subclass that adds the ability to set the navigation bar background to 'clear' and gradually transition it visibly back in, similar to the effect in the iOS Music app. ### PickerView -* [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. -* [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. -* [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - Date picker dialog for iOS -* [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. -* [AIDatePickerController](https://github.com/alikaragoz/AIDatePickerController) - :date: UIDatePicker modally presented with iOS 7 custom transitions. -* [CountryPicker](https://github.com/4taras4/CountryCode) - :date: UIPickerView with Country names flags and phoneCodes -* [McPicker](https://github.com/kmcgill88/McPicker-iOS) - A customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready. -* [Mandoline](https://github.com/blueapron/Mandoline) - An iOS picker view to serve all your "picking" needs -* [D2PDatePicker](https://github.com/di2pra/D2PDatePicker) - Elegant and Easy-to-Use iOS Swift Date Picker -* [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps -* [planet](https://github.com/kwallet/planet) - A country picker -* [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. -* [ADDatePicker](https://github.com/abhiperry/ADDatePicker) - A fully customizable iOS Horizontal PickerView library, written in pure swift. -* [SKCountryPicker](https://github.com/SURYAKANTSHARMA/CountryPicker) - A simple, customizable Country picker for picking country or dialing code. +- [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. +- [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. +- [DatePickerDialog](https://github.com/squimer/DatePickerDialog-iOS-Swift) - Date picker dialog for iOS +- [CZPicker](https://github.com/chenzeyu/CZPicker) - A picker view shown as a popup for iOS. +- [AIDatePickerController](https://github.com/alikaragoz/AIDatePickerController) - :date: UIDatePicker modally presented with iOS 7 custom transitions. +- [CountryPicker](https://github.com/4taras4/CountryCode) - :date: UIPickerView with Country names flags and phoneCodes +- [McPicker](https://github.com/kmcgill88/McPicker-iOS) - A customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready. +- [Mandoline](https://github.com/blueapron/Mandoline) - An iOS picker view to serve all your "picking" needs +- [D2PDatePicker](https://github.com/di2pra/D2PDatePicker) - Elegant and Easy-to-Use iOS Swift Date Picker +- [CountryPickerView](https://github.com/kizitonwose/CountryPickerView)- A simple, customizable view for efficiently collecting country information in iOS apps +- [planet](https://github.com/kwallet/planet) - A country picker +- [MICountryPicker](https://github.com/mustafaibrahim989/MICountryPicker) - Swift country picker with search option. +- [ADDatePicker](https://github.com/abhiperry/ADDatePicker) - A fully customizable iOS Horizontal PickerView library, written in pure swift. +- [SKCountryPicker](https://github.com/SURYAKANTSHARMA/CountryPicker) - A simple, customizable Country picker for picking country or dialing code. ### Popup -* [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). -* [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. -* [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. -* [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. -* [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. -* [SubscriptionPrompt](https://github.com/binchik/SubscriptionPrompt) - Subscription View Controller like the Tinder uses -* [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ -* [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. -* [SelectionDialog](https://github.com/kciter/SelectionDialog) - Simple selection dialog. -* [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. -* [MIBlurPopup](https://github.com/MarioIannotta/MIBlurPopup) - MIBlurPopup let you create amazing popups with a blurred background. -* [LNPopupController](https://github.com/LeoNatan/LNPopupController) - a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps. -* [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. -* [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. -* [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. -* [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - A highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. -* [FFPopup](https://github.com/JonyFang/FFPopup) - ⛩FFPopup is a lightweight library for presenting custom views as a popup. +- [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). +- [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. +- [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. +- [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. +- [PopupController](https://github.com/daisuke310vvv/PopupController) - A customizable controller for showing temporary popup view. +- [SubscriptionPrompt](https://github.com/binchik/SubscriptionPrompt) - Subscription View Controller like the Tinder uses +- [Presentr](https://github.com/IcaliaLabs/Presentr) - Wrapper for custom ViewController presentations in iOS 8+ +- [PopupDialog](https://github.com/Orderella/PopupDialog) - A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertControllers alert style. +- [SelectionDialog](https://github.com/kciter/SelectionDialog) - Simple selection dialog. +- [AZDialogViewController](https://github.com/Minitour/AZDialogViewController) - A highly customizable alert dialog controller that mimics Snapchat's alert dialog. +- [MIBlurPopup](https://github.com/MarioIannotta/MIBlurPopup) - MIBlurPopup let you create amazing popups with a blurred background. +- [LNPopupController](https://github.com/LeoNatan/LNPopupController) - a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps. +- [PopupWindow](https://github.com/shin8484/PopupWindow) - PopupWindow is a simple Popup using another UIWindow in Swift. +- [SHPopup](https://github.com/iamshezad/SHPopup) - SHPopup is a simple lightweight library for popup view. +- [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. +- [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - A highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. +- [FFPopup](https://github.com/JonyFang/FFPopup) - ⛩FFPopup is a lightweight library for presenting custom views as a popup. ### ProgressView -* [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift -* [GradientCircularProgress](https://github.com/keygx/GradientCircularProgress) - Customizable progress indicator library in Swift. +- [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift +- [GradientCircularProgress](https://github.com/keygx/GradientCircularProgress) - Customizable progress indicator library in Swift. ### Pull to Refresh -* [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift -* [PullToBounce](https://github.com/entotsu/PullToBounce) - Animated "Pull To Refresh" Library for UIScrollView. -* [SVPullToRefresh](https://github.com/samvermette/SVPullToRefresh) - Give pull-to-refresh & infinite scrolling to any UIScrollView with 1 line of code. http://samvermette.com/314 -* [UzysAnimatedGifPullToRefresh](https://github.com/uzysjung/UzysAnimatedGifPullToRefresh) - Add PullToRefresh using animated GIF to any scrollView with just simple code -* [PullToRefreshCoreText](https://github.com/cemolcay/PullToRefreshCoreText) - PullToRefresh extension for all UIScrollView type classes with animated text drawing style -* [BOZPongRefreshControl](https://github.com/boztalay/BOZPongRefreshControl) - A pull-down-to-refresh control for iOS that plays pong, originally created for the MHacks III iOS app -* [CBStoreHouseRefreshControl](https://github.com/coolbeet/CBStoreHouseRefreshControl) - Fully customizable pull-to-refresh control inspired by Storehouse iOS app -* [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift -* [mntpulltoreact](https://github.com/mentionapp/mntpulltoreact) - One gesture, many actions. An evolution of Pull to Refresh. -* [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. -* [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. -* [MJRefresh](https://github.com/CoderMJLee/MJRefresh) An easy way to use pull-to-refresh. -* [HTPullToRefresh](https://github.com/hoang-tran/HTPullToRefresh) - Easily add vertical and horizontal pull to refresh to any UIScrollView. Can also add multiple pull-to-refesh views at once. -* [PullToRefreshSwift](https://github.com/dekatotoro/PullToRefreshSwift) - iOS Simple Cool PullToRefresh Library. It is written in pure swift. -* [GIFRefreshControl](https://github.com/delannoyk/GIFRefreshControl) - GIFRefreshControl is a pull to refresh that supports GIF images as track animations. -* [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift -* [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView -* [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). -* [ESPullToRefresh](https://github.com/eggswift/pull-to-refresh) - Customisable pull-to-refresh, including nice animation on the top -* [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. -* [KafkaRefresh](https://github.com/OpenFeyn/KafkaRefresh) - Highly scalable, custom, multi-style refresh framework. +- [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift +- [PullToBounce](https://github.com/entotsu/PullToBounce) - Animated "Pull To Refresh" Library for UIScrollView. +- [SVPullToRefresh](https://github.com/samvermette/SVPullToRefresh) - Give pull-to-refresh & infinite scrolling to any UIScrollView with 1 line of code. http://samvermette.com/314 +- [UzysAnimatedGifPullToRefresh](https://github.com/uzysjung/UzysAnimatedGifPullToRefresh) - Add PullToRefresh using animated GIF to any scrollView with just simple code +- [PullToRefreshCoreText](https://github.com/cemolcay/PullToRefreshCoreText) - PullToRefresh extension for all UIScrollView type classes with animated text drawing style +- [BOZPongRefreshControl](https://github.com/boztalay/BOZPongRefreshControl) - A pull-down-to-refresh control for iOS that plays pong, originally created for the MHacks III iOS app +- [CBStoreHouseRefreshControl](https://github.com/coolbeet/CBStoreHouseRefreshControl) - Fully customizable pull-to-refresh control inspired by Storehouse iOS app +- [SurfingRefreshControl](https://github.com/peiweichen/SurfingRefreshControl) - Inspired by CBStoreHouseRefreshControl.Customizable pull-to-refresh control,written in pure Swift +- [mntpulltoreact](https://github.com/mentionapp/mntpulltoreact) - One gesture, many actions. An evolution of Pull to Refresh. +- [ADChromePullToRefresh](https://github.com/Antondomashnev/ADChromePullToRefresh) - Chrome iOS app style pull to refresh with multiple actions. +- [BreakOutToRefresh](https://github.com/dasdom/BreakOutToRefresh) - A playable pull to refresh view using SpriteKit. +- [MJRefresh](https://github.com/CoderMJLee/MJRefresh) An easy way to use pull-to-refresh. +- [HTPullToRefresh](https://github.com/hoang-tran/HTPullToRefresh) - Easily add vertical and horizontal pull to refresh to any UIScrollView. Can also add multiple pull-to-refesh views at once. +- [PullToRefreshSwift](https://github.com/dekatotoro/PullToRefreshSwift) - iOS Simple Cool PullToRefresh Library. It is written in pure swift. +- [GIFRefreshControl](https://github.com/delannoyk/GIFRefreshControl) - GIFRefreshControl is a pull to refresh that supports GIF images as track animations. +- [ReplaceAnimation](https://github.com/fruitcoder/ReplaceAnimation) - Pull-to-refresh animation in UICollectionView with a sticky header flow layout, written in Swift +- [PullToMakeSoup](https://github.com/Yalantis/PullToMakeSoup) - Custom animated pull-to-refresh that can be easily added to UIScrollView +- [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). +- [ESPullToRefresh](https://github.com/eggswift/pull-to-refresh) - Customisable pull-to-refresh, including nice animation on the top +- [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. +- [KafkaRefresh](https://github.com/OpenFeyn/KafkaRefresh) - Highly scalable, custom, multi-style refresh framework. ### Rating Stars -* [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift -* [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. -* [StarryStars](https://github.com/peterprokop/StarryStars) - StarryStars is iOS GUI library for displaying and editing ratings -* [Cosmos](https://github.com/evgenyneu/Cosmos) - A star rating control for iOS / Swift -* [HCSStarRatingView](https://github.com/hsousa/HCSStarRatingView) - Simple star rating view for iOS written in Objective-C -* [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift -* [RPInteraction](https://github.com/nbolatov/RPInteraction) - Review page interaction - handy and pretty way to ask for review. +- [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift +- [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. +- [StarryStars](https://github.com/peterprokop/StarryStars) - StarryStars is iOS GUI library for displaying and editing ratings +- [Cosmos](https://github.com/evgenyneu/Cosmos) - A star rating control for iOS / Swift +- [HCSStarRatingView](https://github.com/hsousa/HCSStarRatingView) - Simple star rating view for iOS written in Objective-C +- [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift +- [RPInteraction](https://github.com/nbolatov/RPInteraction) - Review page interaction - handy and pretty way to ask for review. ### ScrollView -* [ScrollingFollowView](https://github.com/ktanaka117/ScrollingFollowView) - ScrollingFollowView is a simple view which follows UIScrollView scrolling. -* [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category. -* [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. -* [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. -* [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. -* [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. -* [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 -* [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf -* [SlideController](https://github.com/touchlane/SlideController) - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types. -* [CrownControl](https://github.com/huri000/CrownControl) - Inspired by the Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content without lifting your thumb. -* [SegementSlide](https://github.com/Jiar/SegementSlide) - Multi-tier UIScrollView nested scrolling solution. +- [ScrollingFollowView](https://github.com/ktanaka117/ScrollingFollowView) - ScrollingFollowView is a simple view which follows UIScrollView scrolling. +- [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category. +- [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. +- [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. +- [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. +- [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. +- [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 +- [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf +- [SlideController](https://github.com/touchlane/SlideController) - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types. +- [CrownControl](https://github.com/huri000/CrownControl) - Inspired by the Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content without lifting your thumb. +- [SegementSlide](https://github.com/Jiar/SegementSlide) - Multi-tier UIScrollView nested scrolling solution. ### Segmented Control -* [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. -* [LUNSegmentedControl](https://github.com/Stormotion-Mobile/LUNSegmentedControl) - Customizable segmented control with interactive animation. -* [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS. -* [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. -* [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. -* [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) - A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products. -* [YUSegment](https://github.com/afishhhhh/YUSegment) - A customizable segmented control for iOS. Supports both text and image. -* [MultiSelectSegmentedControl](https://github.com/yonat/MultiSelectSegmentedControl) - adds Multiple-Selection to the standard `UISegmentedControl`. -* [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect -* [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. -* [Rotary](https://github.com/BowdusBrown/Rotary) - A customisable rotary wheel composed of selectable segments. -* [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) +- [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. +- [LUNSegmentedControl](https://github.com/Stormotion-Mobile/LUNSegmentedControl) - Customizable segmented control with interactive animation. +- [AKASegmentedControl](https://github.com/alikaragoz/AKASegmentedControl) - :chocolate_bar: Fully customizable Segmented Control for iOS. +- [TwicketSegmentedControl](https://github.com/twicketapp/TwicketSegmentedControl) - Custom UISegmentedControl replacement for iOS, written in Swift. +- [SJFluidSegmentedControl](https://github.com/sasojadrovski/SJFluidSegmentedControl) - A segmented control with custom appearance and interactive animations. Written in Swift 3.0. +- [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) - A drop-in replacement for UISegmentedControl mimicking the style of the segmented control used in Google Currents and various other Google products. +- [YUSegment](https://github.com/afishhhhh/YUSegment) - A customizable segmented control for iOS. Supports both text and image. +- [MultiSelectSegmentedControl](https://github.com/yonat/MultiSelectSegmentedControl) - adds Multiple-Selection to the standard `UISegmentedControl`. +- [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect +- [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. +- [Rotary](https://github.com/BowdusBrown/Rotary) - A customisable rotary wheel composed of selectable segments. +- [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) ### Slider -* [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. -* [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management -* [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. -* [RangeSlider](https://github.com/warchimede/RangeSlider) - A simple range slider made in Swift -* [CircleSlider](https://github.com/shushutochako/CircleSlider) - CircleSlider is a Circular slider library. written in pure Swift. -* [MARKRangeSlider](https://github.com/vadymmarkov/MARKRangeSlider) - A custom reusable slider control with 2 thumbs (range slider). -* [ASValueTrackingSlider](https://github.com/alskipp/ASValueTrackingSlider) - A UISlider subclass that displays the slider value in a popup view -* [TTRangeSlider](https://github.com/TomThorpe/TTRangeSlider) - A slider, similar in style to UISlider, but which allows you to pick a minimum and maximum range. -* [MMSegmentSlider](https://github.com/MedvedevMax/MMSegmentSlider) - Customizable animated slider for iOS. -* [StepSlider](https://github.com/spromicky/StepSlider) - StepSlider its custom implementation of slider such as UISlider for preset integer values. -* [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. -* [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift -* [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. -* [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. -* [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. -* [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. -* [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. -* [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. -* [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. -* [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. -* [Fluid Slider](https://github.com/Ramotion/fluid-slider) - A slider widget with a popup bubble displaying the precise value selected. +- [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. +- [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management +- [IntervalSlider](https://github.com/shushutochako/IntervalSlider) - IntervalSlider is a slider library like ReutersTV app. written in pure swift. +- [RangeSlider](https://github.com/warchimede/RangeSlider) - A simple range slider made in Swift +- [CircleSlider](https://github.com/shushutochako/CircleSlider) - CircleSlider is a Circular slider library. written in pure Swift. +- [MARKRangeSlider](https://github.com/vadymmarkov/MARKRangeSlider) - A custom reusable slider control with 2 thumbs (range slider). +- [ASValueTrackingSlider](https://github.com/alskipp/ASValueTrackingSlider) - A UISlider subclass that displays the slider value in a popup view +- [TTRangeSlider](https://github.com/TomThorpe/TTRangeSlider) - A slider, similar in style to UISlider, but which allows you to pick a minimum and maximum range. +- [MMSegmentSlider](https://github.com/MedvedevMax/MMSegmentSlider) - Customizable animated slider for iOS. +- [StepSlider](https://github.com/spromicky/StepSlider) - StepSlider its custom implementation of slider such as UISlider for preset integer values. +- [JDSlider](https://github.com/JellyDevelopment/JDSlider) - An iOS Slider written in Swift. +- [SnappingSlider](https://github.com/rehatkathuria/SnappingSlider) - A beautiful slider control for iOS built purely upon Swift +- [MTCircularSlider](https://github.com/EranBoudjnah/MTCircularSlider) - A feature-rich circular slider control. +- [VerticalSlider](https://github.com/jonkykong/VerticalSlider) - VerticalSlider is a vertical implementation of the UISlider slider control. +- [CircularSlider](https://github.com/taglia3/CircularSlider) - A powerful Circular Slider. It's written in Swift, it's 100% IBDesignable and all parameters are IBInspectable. +- [HGCircularSlider](https://github.com/HamzaGhazouani/HGCircularSlider) - A custom reusable circular slider control for iOS application. +- [RangeSeekSlider](https://github.com/WorldDownTown/RangeSeekSlider) - A customizable range slider for iOS. +- [SectionedSlider](https://github.com/LeonardoCardoso/SectionedSlider) - Control Center Slider. +- [MultiSlider](https://github.com/yonat/MultiSlider) - UISlider clone with multiple thumbs and values, optional snap intervals, optional value labels. +- [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. +- [Fluid Slider](https://github.com/Ramotion/fluid-slider) - A slider widget with a popup bubble displaying the precise value selected. ### Splash View -* [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. -* [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. -* [RevealingSplashView](https://github.com/PiXeL16/RevealingSplashView) - A Splash view that animates and reveals its content, inspired by Twitter splash +- [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. +- [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. +- [RevealingSplashView](https://github.com/PiXeL16/RevealingSplashView) - A Splash view that animates and reveals its content, inspired by Twitter splash ### Status Bar -* [Bartinter](https://github.com/MaximKotliar/Bartinter) - Status bar tint depending on content behind, updates dynamically. +- [Bartinter](https://github.com/MaximKotliar/Bartinter) - Status bar tint depending on content behind, updates dynamically. ### Stepper -* [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! -* [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. -* [GMStepper](https://github.com/gmertk/GMStepper) - A stepper with a sliding label in the middle. -* [barceloneta](https://github.com/arn00s/barceloneta) - The right way to increment/decrement values with a simple gesture on iOS. -* [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift -* [SMNumberWheel](https://github.com/SinaMoetakef/SMNumberWheel) - A custom control written in Swift, which is ideal for picking numbers very fast but yet very accurate using a rotating wheel +- [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! +- [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. +- [GMStepper](https://github.com/gmertk/GMStepper) - A stepper with a sliding label in the middle. +- [barceloneta](https://github.com/arn00s/barceloneta) - The right way to increment/decrement values with a simple gesture on iOS. +- [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift +- [SMNumberWheel](https://github.com/SinaMoetakef/SMNumberWheel) - A custom control written in Swift, which is ideal for picking numbers very fast but yet very accurate using a rotating wheel ### Switch -* [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. -* [ViralSwitch](https://github.com/andreamazz/ViralSwitch) - A UISwitch that infects its superview with its tint color. -* [JTMaterialSwitch](https://github.com/JunichiT/JTMaterialSwitch) - A customizable switch UI with ripple effect and bounce animations, inspired from Google's Material Design. -* [TKSwitcherCollection](https://github.com/TBXark/TKSwitcherCollection) - An animate switch collection -* [SevenSwitch](https://github.com/bvogelzang/SevenSwitch) - iOS7 style drop in replacement for UISwitch. -* [PMZSwitch](https://github.com/kovpas/PMZSwitch) - Yet another animated toggle -* [Switcher](https://github.com/knn90/Switcher) - Swift - Custom UISwitcher with animation when change status -* [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. -* [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS -* [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support. +- [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. +- [ViralSwitch](https://github.com/andreamazz/ViralSwitch) - A UISwitch that infects its superview with its tint color. +- [JTMaterialSwitch](https://github.com/JunichiT/JTMaterialSwitch) - A customizable switch UI with ripple effect and bounce animations, inspired from Google's Material Design. +- [TKSwitcherCollection](https://github.com/TBXark/TKSwitcherCollection) - An animate switch collection +- [SevenSwitch](https://github.com/bvogelzang/SevenSwitch) - iOS7 style drop in replacement for UISwitch. +- [PMZSwitch](https://github.com/kovpas/PMZSwitch) - Yet another animated toggle +- [Switcher](https://github.com/knn90/Switcher) - Swift - Custom UISwitcher with animation when change status +- [RAMPaperSwitch](https://github.com/Ramotion/paper-switch) - RAMPaperSwitch is a Swift module which paints over the parent view when the switch is turned on. +- [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS +- [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support. ### Tab Bar -* [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. -* [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) - A gooey effect tabbar -* [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. -* [FoldingTabBar.iOS](https://github.com/Yalantis/FoldingTabBar.iOS) - Folding Tab Bar and Tab Bar Controller -* [GGTabBar](https://github.com/Goles/GGTabBar) - Another UITabBar & UITabBarController (iOS Tab Bar) replacement, but uses Auto Layout for arranging it's views hierarchy. -* [adaptive-tab-bar](https://github.com/Ramotion/adaptive-tab-bar) - AdaptiveController is a 'Progressive Reduction' Swift module for adding custom states to Native or Custom iOS UI elements -* [Pager](https://github.com/lucoceano/Pager) - Easily create sliding tabs with Pager -* [XLPagerTabStrip](https://github.com/xmartlabs/XLPagerTabStrip) - Android PagerTabStrip for iOS. -* [TabPageViewController](https://github.com/EndouMari/TabPageViewController) - Paging view controller and scroll tab view. -* [TabDrawer](https://github.com/winslowdibona/TabDrawer) - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift -* [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers -* [ColorMatchTabs](https://github.com/Yalantis/ColorMatchTabs) - Interesting way to display tabs -* [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection -* [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager that displays a list of tabs (segments) and manages paging between given views -* [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. -* [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. -* [SuperBadges](https://github.com/odedharth/SuperBadges) - Add emojis and colored dots as badges for your Tab Bar buttons -* [AZTabBarController](https://github.com/Minitour/AZTabBarController) - A custom tab bar controller for iOS written in Swift 3.0 -* [MiniTabBar](https://github.com/D-32/MiniTabBar) - A clean simple alternative to the UITabBar -* [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) - UITabBarController with swipe interaction between its tabs. -* [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) -* [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. -* [WormTabStrip](https://github.com/EzimetYusup/WormTabStrip) Beatiful ViewPager For iOS written in Swift (inspired by Android [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout)) -* [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. -* [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. -* [ExpandedTabBar](https://github.com/yervandsar/ExpandedTabBar) - Very creative designed solution for "more" items in UITabBarController +- [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. +- [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) - A gooey effect tabbar +- [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. +- [FoldingTabBar.iOS](https://github.com/Yalantis/FoldingTabBar.iOS) - Folding Tab Bar and Tab Bar Controller +- [GGTabBar](https://github.com/Goles/GGTabBar) - Another UITabBar & UITabBarController (iOS Tab Bar) replacement, but uses Auto Layout for arranging it's views hierarchy. +- [adaptive-tab-bar](https://github.com/Ramotion/adaptive-tab-bar) - AdaptiveController is a 'Progressive Reduction' Swift module for adding custom states to Native or Custom iOS UI elements +- [Pager](https://github.com/lucoceano/Pager) - Easily create sliding tabs with Pager +- [XLPagerTabStrip](https://github.com/xmartlabs/XLPagerTabStrip) - Android PagerTabStrip for iOS. +- [TabPageViewController](https://github.com/EndouMari/TabPageViewController) - Paging view controller and scroll tab view. +- [TabDrawer](https://github.com/winslowdibona/TabDrawer) - Customizable TabBar UI element that allows you to run a block of code upon TabBarItem selection, written in Swift +- [SwipeViewController](https://github.com/fortmarek/SwipeViewController) - SwipeViewController is a Swift modification of RKSwipeBetweenViewControllers - navigate between pages / ViewControllers +- [ColorMatchTabs](https://github.com/Yalantis/ColorMatchTabs) - Interesting way to display tabs +- [BATabBarController](https://github.com/antiguab/BATabBarController) - A TabBarController with a unique animation for selection +- [ScrollPager](https://github.com/aryaxt/ScrollPager) - A scroll pager that displays a list of tabs (segments) and manages paging between given views +- [Segmentio](https://github.com/Yalantis/Segmentio) - Animated top/bottom segmented control written in Swift. +- [KYWheelTabController](https://github.com/ykyouhei/KYWheelTabController) - KYWheelTabController is a subclass of UITabBarController.It displays the circular menu instead of UITabBar. +- [SuperBadges](https://github.com/odedharth/SuperBadges) - Add emojis and colored dots as badges for your Tab Bar buttons +- [AZTabBarController](https://github.com/Minitour/AZTabBarController) - A custom tab bar controller for iOS written in Swift 3.0 +- [MiniTabBar](https://github.com/D-32/MiniTabBar) - A clean simple alternative to the UITabBar +- [SwipeableTabBarController](https://github.com/marcosgriselli/SwipeableTabBarController) - UITabBarController with swipe interaction between its tabs. +- [SMSwipeableTabView](https://github.com/smahajan28/SMSwipeableTabView) - Swipeable Views with Tabs (Like Android SwipeView With Tabs Layout) +- [Tabman](https://github.com/uias/Tabman) - A powerful paging view controller with indicator bar for iOS. +- [WormTabStrip](https://github.com/EzimetYusup/WormTabStrip) Beatiful ViewPager For iOS written in Swift (inspired by Android [SmartTabLayout](https://github.com/ogaclejapan/SmartTabLayout)) +- [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. +- [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. +- [ExpandedTabBar](https://github.com/yervandsar/ExpandedTabBar) - Very creative designed solution for "more" items in UITabBarController ### Table View / Collection View #### Table View -* [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. -* [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. -* [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller https://holko.pl/2016/01/05/typed-table-view-controller/ -* [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. -* [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. -* [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. -* [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) -* [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy -* [BWSwipeRevealCell](https://github.com/bitwit/BWSwipeRevealCell) - A Swift library for swipeable table cells -* [preview-transition](https://github.com/Ramotion/preview-transition) - PreviewTransition is a simple preview gallery controller -* [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A simple way to create a UITableView for settings in Swift. -* [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views with Swift -* [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu -* [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. -* [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). -* [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift -* [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. -* [Bohr](https://github.com/DavdRoman/Bohr) - Bohr allows you to set up a settings screen for your app with three principles in mind: ease, customization and extensibility. -* [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. [e] -* [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. -* [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. -* [FlexibleTableViewController](https://github.com/dimpiax/FlexibleTableViewController) - Swift library of generic table view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler -* [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift. -* [TimelineTableViewCell](https://github.com/kf99916/TimelineTableViewCell) - Simple timeline view implemented by UITableViewCell written in Swift 3.0. -* [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". -* [TORoundedTableView](https://github.com/TimOliver/TORoundedTableView) - A subclass of UITableView that styles it like Settings.app on iPad -* [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ -* [DTTableViewManager](https://github.com/DenTelezhkin/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. -* [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. -* [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. -* [SelectionList](https://github.com/yonat/SelectionList) - Simple single-selection or multiple-selection checklist, based on UITableView. -* [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. -* [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. -* [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. -* [OKTableViewLiaison](https://github.com/okcupid/OKTableViewLiaison) - Framework to help you better manage UITableView configuration. -* [ThunderTable](https://github.com/3sidedcube/ThunderTable) - A simple declarative approach to UITableViewController management using a protocol-based approach. +- [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. +- [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. +- [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller https://holko.pl/2016/01/05/typed-table-view-controller/ +- [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. +- [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. +- [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. +- [SWTableViewCell](https://github.com/CEWendel/SWTableViewCell) - An easy-to-use UITableViewCell subclass that implements a swippable content view which exposes utility buttons (similar to iOS 7 Mail Application) +- [ZYThumbnailTableView](https://github.com/liuzhiyi1992/ZYThumbnailTableView) - a TableView have thumbnail cell only, and you can use gesture let it expands other expansionView, all diy +- [BWSwipeRevealCell](https://github.com/bitwit/BWSwipeRevealCell) - A Swift library for swipeable table cells +- [preview-transition](https://github.com/Ramotion/preview-transition) - PreviewTransition is a simple preview gallery controller +- [QuickTableViewController](https://github.com/bcylin/QuickTableViewController) - A simple way to create a UITableView for settings in Swift. +- [TableKit](https://github.com/maxsokolov/TableKit) - Type-safe declarative table views with Swift +- [VBPiledView](https://github.com/v-braun/VBPiledView) - Simple and beautiful stacked UIView to use as a replacement for an UITableView, UIImageView or as a menu +- [VTMagic](https://github.com/tianzhuo112/VTMagic) - VTMagic is a page container library for iOS. +- [MCSwipeTableViewCell](https://github.com/alikaragoz/MCSwipeTableViewCell) - :point_up_2: Convenient UITableViewCell subclass that implements a swippable content to trigger actions (similar to the Mailbox app). +- [MYTableViewIndex](https://github.com/mindz-eye/MYTableViewIndex) - A pixel perfect replacement for UITableView section index, written in Swift +- [ios-dragable-table-cells](https://github.com/palmin/ios-dragable-table-cells) - Support for drag-n-drop of UITableViewCells in a navigation hierarchy of view controllers. You drag cells by tapping and holding them. +- [Bohr](https://github.com/DavdRoman/Bohr) - Bohr allows you to set up a settings screen for your app with three principles in mind: ease, customization and extensibility. +- [SwiftReorder](https://github.com/adamshin/SwiftReorder) - Add drag-and-drop reordering to any table view with just a few lines of code. Robust, lightweight, and completely customizable. [e] +- [HoverConversion](https://github.com/marty-suzuki/HoverConversion) - HoverConversion realized vertical paging with UITableView. UIViewController will be paging when reaching top or bottom of UITableView contentOffset. +- [TableViewDragger](https://github.com/KyoheiG3/TableViewDragger) - A cells of UITableView can be rearranged by drag and drop. +- [FlexibleTableViewController](https://github.com/dimpiax/FlexibleTableViewController) - Swift library of generic table view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler +- [CascadingTableDelegate](https://github.com/edopelawi/CascadingTableDelegate) - A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift. +- [TimelineTableViewCell](https://github.com/kf99916/TimelineTableViewCell) - Simple timeline view implemented by UITableViewCell written in Swift 3.0. +- [RHPreviewCell](https://github.com/robertherdzik/RHPreviewCell) - I envied so much Spotify iOS app this great playlist preview cell. Now you can give your users ability to quick check "what content is hidden under your UITableViewCell". +- [TORoundedTableView](https://github.com/TimOliver/TORoundedTableView) - A subclass of UITableView that styles it like Settings.app on iPad +- [TableFlip](https://github.com/mergesort/TableFlip) - A simpler way to do cool UITableView animations! (╯°□°)╯︵ ┻━┻ +- [DTTableViewManager](https://github.com/DenTelezhkin/DTTableViewManager) - Protocol-oriented UITableView management, powered by generics and associated types. +- [SwipeCellKit](https://github.com/SwipeCellKit/SwipeCellKit) - Swipeable UITableViewCell based on the stock Mail.app, implemented in Swift. +- [ReverseExtension](https://github.com/marty-suzuki/ReverseExtension) - A UITableView extension that enables cell insertion from the bottom of a table view. +- [SelectionList](https://github.com/yonat/SelectionList) - Simple single-selection or multiple-selection checklist, based on UITableView. +- [AZTableViewController](https://github.com/AfrozZaheer/AZTableViewController) - Elegant and easy way to integrate pagination with dummy views. +- [SAInboxViewController](https://github.com/marty-suzuki/SAInboxViewController) - UIViewController subclass inspired by "Inbox by google" animated transitioning. +- [StaticTableViewController](https://github.com/muyexi/StaticTableViewController) - Dynamically hide / show cells of static UITableViewController. +- [OKTableViewLiaison](https://github.com/okcupid/OKTableViewLiaison) - Framework to help you better manage UITableView configuration. +- [ThunderTable](https://github.com/3sidedcube/ThunderTable) - A simple declarative approach to UITableViewController management using a protocol-based approach. #### Collection View -* [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff -* [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. -* [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView -* [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts -* [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells -* [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager -* [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. -* [TLIndexPathTools](https://github.com/SwiftKickMobile/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. -* [IGListKit](https://github.com/Instagram/IGListKit) - A data-driven UICollectionView framework for building fast and flexible lists. -* [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc -* [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. -* [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView -* [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView -* [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. -* [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. -* [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. -* [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). -* [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) -* [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. -* [SectionScrubber](https://github.com/3lvis/SectionScrubber) - A component to quickly scroll between collection view sections -* [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. -* [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. -* [CampcotCollectionView](https://github.com/touchlane/CampcotCollectionView) - CampcotCollectionView is a custom UICollectionView written in Swift that allows to expand and collapse sections. It provides a simple API to manage collection view appearance. -* [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. -* [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. -* [MSPeekCollectionViewDelegateImplementation](https://github.com/MaherKSantina/MSPeekCollectionViewDelegateImplementation) - A custom paging behavior that peeks the previous and next items in a collection view. -* [SimpleSource](https://github.com/Squarespace/simple-source) - Easy and type-safe iOS table and collection views in Swift. -* [Conv](https://github.com/bannzai/conv) - Conv smart represent UICollectionView data structure more than UIKit. -* [Carbon](https://github.com/ra1028/Carbon) - 🚴 A declarative library for building component-based user interfaces in UITableView and UICollectionView. -* [ThunderCollection](https://github.com/3sidedcube/ThunderCollection) - A simple declarative approach to UICollectionViewController management using a protocol-based approach. -* [DiffableDataSources](https://github.com/ra1028/DiffableDataSources) - A library for backporting UITableView/UICollectionViewDiffableDataSource. +- [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff +- [MEVFloatingButton](https://github.com/manuelescrig/MEVFloatingButton) - An iOS drop-in UITableView, UICollectionView and UIScrollView superclass category for showing a customizable floating button on top of it. +- [Preheat](https://github.com/kean/Preheat) - Automates prefetching of content in UITableView and UICollectionView +- [DisplaySwitcher](https://github.com/Yalantis/DisplaySwitcher) - Custom transition between two collection view layouts +- [Reusable](https://github.com/AliSoftware/Reusable) - A Swift mixin for UITableViewCells and UICollectionViewCells +- [Sapporo](https://github.com/nghialv/Sapporo) - Cellmodel-driven collectionview manager +- [StickyCollectionView-Swift](https://github.com/matbeich/StickyCollectionView-Swift) - UICollectionView layout for presenting of the overlapping cells. +- [TLIndexPathTools](https://github.com/SwiftKickMobile/TLIndexPathTools) - TLIndexPathTools is a small set of classes that can greatly simplify your table and collection views. +- [IGListKit](https://github.com/Instagram/IGListKit) - A data-driven UICollectionView framework for building fast and flexible lists. +- [FlexibleCollectionViewController](https://github.com/dimpiax/FlexibleCollectionViewController) - Swift library of generic collection view controller with external data processing of functionality, like determine cell's reuseIdentifier related to indexPath, configuration of requested cell for display and cell selection handler etc +- [ASCollectionView](https://github.com/abdullahselek/ASCollectionView) - A Swift collection view inspired by Airbnb. +- [GLTableCollectionView](https://github.com/giulio92/GLTableCollectionView) - Netflix and App Store like UITableView with UICollectionView +- [EditDistance](https://github.com/kazuhiro4949/EditDistance) - Incremental update tool for UITableView and UICollectionView +- [SwiftSpreadSheet](https://github.com/stuffrabbit/SwiftSpreadsheet) - Spreadsheet CollectionViewLayout in Swift. Fully customizable. +- [GenericDataSource](https://github.com/GenericDataSource/GenericDataSource) - A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift. +- [PagingView](https://github.com/KyoheiG3/PagingView) - Infinite paging, Smart auto layout, Interface of similar to UIKit. +- [PJFDataSource](https://github.com/square/PJFDataSource) - PJFDataSource is a small library that provides a simple, clean architecture for your app to manage its data sources while providing a consistent user interface for common content states (i.e. loading, loaded, empty, and error). +- [DataSources](https://github.com/muukii/DataSources) - Type-safe data-driven List-UI Framework. (We can also use ASCollectionNode) +- [KDDragAndDropCollectionView](https://github.com/mmick66/KDDragAndDropCollectionView) - Dragging & Dropping data across multiple UICollectionViews. +- [SectionScrubber](https://github.com/3lvis/SectionScrubber) - A component to quickly scroll between collection view sections +- [CollectionKit](https://github.com/SoySauceLab/CollectionKit) - A modern Swift framework for building reusable data-driven collection components. +- [AZCollectionViewController](https://github.com/AfrozZaheer/AZCollectionViewController) - Easy way to integrate pagination with dummy views in CollectionView, make Instagram Discover within minutes. +- [CampcotCollectionView](https://github.com/touchlane/CampcotCollectionView) - CampcotCollectionView is a custom UICollectionView written in Swift that allows to expand and collapse sections. It provides a simple API to manage collection view appearance. +- [Stefan](https://github.com/appunite/Stefan) - A guy that helps you manage collections and placeholders in easy way. +- [Parade](https://github.com/HelloElephant/Parade) - Parallax Scroll-Jacking Effects Engine for iOS / tvOS. +- [MSPeekCollectionViewDelegateImplementation](https://github.com/MaherKSantina/MSPeekCollectionViewDelegateImplementation) - A custom paging behavior that peeks the previous and next items in a collection view. +- [SimpleSource](https://github.com/Squarespace/simple-source) - Easy and type-safe iOS table and collection views in Swift. +- [Conv](https://github.com/bannzai/conv) - Conv smart represent UICollectionView data structure more than UIKit. +- [Carbon](https://github.com/ra1028/Carbon) - 🚴 A declarative library for building component-based user interfaces in UITableView and UICollectionView. +- [ThunderCollection](https://github.com/3sidedcube/ThunderCollection) - A simple declarative approach to UICollectionViewController management using a protocol-based approach. +- [DiffableDataSources](https://github.com/ra1028/DiffableDataSources) - A library for backporting UITableView/UICollectionViewDiffableDataSource. #### Expandable Cell -* [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material -* [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). -* [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. -* [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS. -* [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. -* [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. -* [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. -* [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. -* [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS. -* [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller +- [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material +- [AEAccordion](https://github.com/tadija/AEAccordion) - UITableViewController with accordion effect (expand / collapse cells). +- [ThreeLevelAccordian](https://github.com/amratab/ThreeLevelAccordian) - This is a customisable three level accordian with options for adding images and accessories images. +- [YNExpandableCell](https://github.com/younatics/YNExpandableCell) - Awesome expandable, collapsible tableview cell for iOS. +- [Savory](https://github.com/Nandiin/Savory) - A swift accordion view implementation. +- [ExpyTableView](https://github.com/okhanokbay/ExpyTableView) - Make your table view expandable just by implementing one method. +- [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. +- [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. +- [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS. +- [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller #### Header -* [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. -* [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. -* [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. +- [ParallaxTableViewHeader](https://github.com/Vinodh-G/ParallaxTableViewHeader) - Parallax scrolling effect on UITableView header view when a tableView is scrolled. +- [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. +- [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. #### Placeholder -* [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. -* [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project -* [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views -* [WLEmptyState](https://github.com/wizeline/WLEmptyState) - A component that lets you customize the view when the dataset of UITableView is empty. +- [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. +- [HGPlaceholders](https://github.com/HamzaGhazouani/HGPlaceholders) - Nice library to show and create placeholders and Empty States for any UITableView/UICollectionView in your project +- [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views +- [WLEmptyState](https://github.com/wizeline/WLEmptyState) - A component that lets you customize the view when the dataset of UITableView is empty. #### Collection View Layout -* [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. -* [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. -* [mosaic-layout](https://github.com/vinnyoodles/mosaic-layout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift -* [TLLayoutTransitioning](https://github.com/SwiftKickMobile/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. -* [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. -* [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content -* [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations -* [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. -* [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. -CollectionView, make Instagram Discover within minutes. -* [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. -* [UICollectionViewSplitLayout](https://github.com/yahoojapan/UICollectionViewSplitLayout) - UICollectionViewSplitLayout makes collection view more responsive. -* [Swinflate](https://github.com/VladIacobIonut/Swinflate) - A bunch of layouts providing light and seamless experiences in your CollectionView. +- [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. +- [FMMosaicLayout](https://github.com/fmitech/FMMosaicLayout) - A drop-in mosaic collection view layout with a focus on simple customizations. +- [mosaic-layout](https://github.com/vinnyoodles/mosaic-layout) - A mosaic collection view layout inspired by Lightbox's Algorithm, written in Swift +- [TLLayoutTransitioning](https://github.com/SwiftKickMobile/TLLayoutTransitioning) - Enhanced transitioning between UICollectionView layouts in iOS. +- [CenteredCollectionView](https://github.com/BenEmdon/CenteredCollectionView) - A lightweight UICollectionViewLayout that _'pages'_ and centers it's cells 🎡 written in Swift. +- [CollectionViewSlantedLayout](https://github.com/yacir/CollectionViewSlantedLayout) - UICollectionViewLayout with slanted content +- [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations +- [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. +- [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. +-ollectionView, make Instagram Discover within minutes. +- [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. +- [UICollectionViewSplitLayout](https://github.com/yahoojapan/UICollectionViewSplitLayout) - UICollectionViewSplitLayout makes collection view more responsive. +- [Swinflate](https://github.com/VladIacobIonut/Swinflate) - A bunch of layouts providing light and seamless experiences in your CollectionView. ### Tag -* [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. -* [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. -* [TagCellLayout](https://github.com/riteshhgupta/TagCellLayout) - UICollectionView layout for Tags with Left, Center & Right alignments. -* [TTGTagCollectionView](https://github.com/zekunyan/TTGTagCollectionView) - Show simple text tags or custom tag views in a vertical scrollable view. -* [TagListView](https://github.com/ElaWorkshop/TagListView) - Simple and highly customizable iOS tag list view, in Swift. -* [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. -* [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags -* [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. -* [YNSearch](https://github.com/younatics/YNSearch) - Awesome fully customizable search view like Pinterest written in Swift 3 -* [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. +- [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. +- [AMTagListView](https://github.com/andreamazz/AMTagListView) - UIScrollView subclass that allows to add a list of highly customizable tags. +- [TagCellLayout](https://github.com/riteshhgupta/TagCellLayout) - UICollectionView layout for Tags with Left, Center & Right alignments. +- [TTGTagCollectionView](https://github.com/zekunyan/TTGTagCollectionView) - Show simple text tags or custom tag views in a vertical scrollable view. +- [TagListView](https://github.com/ElaWorkshop/TagListView) - Simple and highly customizable iOS tag list view, in Swift. +- [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. +- [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags +- [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. +- [YNSearch](https://github.com/younatics/YNSearch) - Awesome fully customizable search view like Pinterest written in Swift 3 +- [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. ### TextField & TextView -* [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. -* [ARAutocompleteTextView](https://github.com/alexruperez/ARAutocompleteTextView) - subclass of UITextView that automatically displays text suggestions in real-time. Perfect for email Textviews. -* [IQDropDownTextField](https://github.com/hackiftekhar/IQDropDownTextField) - TextField with DropDown support using UIPickerView -* [UITextField-Shake](https://github.com/andreamazz/UITextField-Shake) - UITextField category that adds shake animation. [Also with Swift version](https://github.com/King-Wizard/UITextField-Shake-Swift) -* [HTYTextField](https://github.com/hanton/HTYTextField) - A UITextField with bouncy placeholder. -* [MVAutocompletePlaceSearchTextField](https://github.com/TheMrugraj/MVAutocompletePlaceSearchTextField) - A drop-in Autocompletion control for Place Search like Google Places, Uber, etc. -* [AutocompleteField](https://github.com/filipstefansson/AutocompleteField) - Add word completion to your UITextFields. -* [RSKGrowingTextView](https://github.com/ruslanskorb/RSKGrowingTextView) - A light-weight UITextView subclass that automatically grows and shrinks. -* [RSKPlaceholderTextView](https://github.com/ruslanskorb/RSKPlaceholderTextView) - A light-weight UITextView subclass that adds support for placeholder. -* [StatefulViewController](https://github.com/aschuch/StatefulViewController) - Placeholder views based on content, loading, error or empty states -* [MBAutoGrowingTextView](https://github.com/MatejBalantic/MBAutoGrowingTextView) - An auto-layout base UITextView subclass which automatically grows with user input and can be constrained by maximal and minimal height - all without a single line of code -* [TextFieldEffects](https://github.com/raulriera/TextFieldEffects) - Custom UITextFields effects inspired by Codrops, built using Swift -* [Reel Search](https://github.com/Ramotion/reel-search) - RAMReel is a controller that allows you to choose options from a list. -* [MLPAutoCompleteTextField](https://github.com/EddyBorja/MLPAutoCompleteTextField) - a subclass of UITextField that behaves like a typical UITextField with one notable exception: it manages a drop down table of autocomplete suggestions that update as the user types. -* [SkyFloatingLabelTextField](https://github.com/Skyscanner/SkyFloatingLabelTextField) - A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift. -* [VMaskTextField](https://github.com/viniciusmo/VMaskTextField) - VMaskTextField is a library which create an input mask for iOS. -* [TJTextField](https://github.com/tejas-ardeshna/TJTextField) - UITextField with underline and left image -* [NextGrowingTextView](https://github.com/muukii/NextGrowingTextView) - The next in the generations of 'growing textviews' optimized for iOS 7 and above. -* [RPFloatingPlaceholders](https://github.com/iwasrobbed/RPFloatingPlaceholders) - UITextField and UITextView subclasses with placeholders that change into floating labels when the fields are populated with text. -* [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. -* [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.[e] -* [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield -* [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. -* [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies -* [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS -* [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. -* [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) -* [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple library for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. -* [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. -* [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion -* [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 4.2 for any pin, code or password entry. Supports one time codes in iOS 12. -* [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. -* [DTTextField](https://github.com/iDhaval/DTTextField) - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0. -* [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. -* [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. -* [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. -* [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. -* [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list -* [PYSearch](https://github.com/ko1o/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). -* [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. -* [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. -* [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. -* [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. -* [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. -* [Tagging](https://github.com/k-lpmg/Tagging) - ✍️ TextView that provides easy to use tagging feature for Mention or Hashtag. -* [InputBarAccessoryView](https://github.com/nathantannar4/InputBarAccessoryView) - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments. +- [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. +- [ARAutocompleteTextView](https://github.com/alexruperez/ARAutocompleteTextView) - subclass of UITextView that automatically displays text suggestions in real-time. Perfect for email Textviews. +- [IQDropDownTextField](https://github.com/hackiftekhar/IQDropDownTextField) - TextField with DropDown support using UIPickerView +- [UITextField-Shake](https://github.com/andreamazz/UITextField-Shake) - UITextField category that adds shake animation. [Also with Swift version](https://github.com/King-Wizard/UITextField-Shake-Swift) +- [HTYTextField](https://github.com/hanton/HTYTextField) - A UITextField with bouncy placeholder. +- [MVAutocompletePlaceSearchTextField](https://github.com/TheMrugraj/MVAutocompletePlaceSearchTextField) - A drop-in Autocompletion control for Place Search like Google Places, Uber, etc. +- [AutocompleteField](https://github.com/filipstefansson/AutocompleteField) - Add word completion to your UITextFields. +- [RSKGrowingTextView](https://github.com/ruslanskorb/RSKGrowingTextView) - A light-weight UITextView subclass that automatically grows and shrinks. +- [RSKPlaceholderTextView](https://github.com/ruslanskorb/RSKPlaceholderTextView) - A light-weight UITextView subclass that adds support for placeholder. +- [StatefulViewController](https://github.com/aschuch/StatefulViewController) - Placeholder views based on content, loading, error or empty states +- [MBAutoGrowingTextView](https://github.com/MatejBalantic/MBAutoGrowingTextView) - An auto-layout base UITextView subclass which automatically grows with user input and can be constrained by maximal and minimal height - all without a single line of code +- [TextFieldEffects](https://github.com/raulriera/TextFieldEffects) - Custom UITextFields effects inspired by Codrops, built using Swift +- [Reel Search](https://github.com/Ramotion/reel-search) - RAMReel is a controller that allows you to choose options from a list. +- [MLPAutoCompleteTextField](https://github.com/EddyBorja/MLPAutoCompleteTextField) - a subclass of UITextField that behaves like a typical UITextField with one notable exception: it manages a drop down table of autocomplete suggestions that update as the user types. +- [SkyFloatingLabelTextField](https://github.com/Skyscanner/SkyFloatingLabelTextField) - A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift. +- [VMaskTextField](https://github.com/viniciusmo/VMaskTextField) - VMaskTextField is a library which create an input mask for iOS. +- [TJTextField](https://github.com/tejas-ardeshna/TJTextField) - UITextField with underline and left image +- [NextGrowingTextView](https://github.com/muukii/NextGrowingTextView) - The next in the generations of 'growing textviews' optimized for iOS 7 and above. +- [RPFloatingPlaceholders](https://github.com/iwasrobbed/RPFloatingPlaceholders) - UITextField and UITextView subclasses with placeholders that change into floating labels when the fields are populated with text. +- [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. +- [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.[e] +- [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield +- [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. +- [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies +- [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS +- [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. +- [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) +- [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple library for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. +- [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. +- [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion +- [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 4.2 for any pin, code or password entry. Supports one time codes in iOS 12. +- [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. +- [DTTextField](https://github.com/iDhaval/DTTextField) - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0. +- [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. +- [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. +- [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. +- [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. +- [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list +- [PYSearch](https://github.com/ko1o/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). +- [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. +- [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. +- [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. +- [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. +- [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. +- [Tagging](https://github.com/k-lpmg/Tagging) - ✍️ TextView that provides easy to use tagging feature for Mention or Hashtag. +- [InputBarAccessoryView](https://github.com/nathantannar4/InputBarAccessoryView) - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments. ### UIPageControl -* [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. -* [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here -* [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. -* [Page-Control](https://github.com/sevruk-dev/page-control) - 💥 Beautiful, animated and highly customizable UIPageControl alternative. +- [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. +- [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here +- [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. +- [Page-Control](https://github.com/sevruk-dev/page-control) - 💥 Beautiful, animated and highly customizable UIPageControl alternative. ### Web View -* [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. -* [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. -* [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. -* [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. +- [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. +- [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. +- [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. +- [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. ## Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. @@ -2922,221 +2921,221 @@ CollectionView, make Instagram Discover within minutes. * [DuctTape](https://github.com/marty-suzuki/DuctTape) - 📦 KeyPath dynamicMemberLookup based syntax sugar for swift. ## User Consent -* [SmartlookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. +- [SmartlookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. ## VR -* [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS -* [360 VR Player](https://github.com/hanton/HTY360Player) - A open source, ad-free, native and universal 360 degree panorama video player for iOS. -* [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. -* [Swifty360Player](https://github.com/abdullahselek/Swifty360Player) - iOS 360-degree video player streaming from an AVPlayer with Swift. +- [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS +- [360 VR Player](https://github.com/hanton/HTY360Player) - A open source, ad-free, native and universal 360 degree panorama video player for iOS. +- [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. +- [Swifty360Player](https://github.com/abdullahselek/Swifty360Player) - iOS 360-degree video player streaming from an AVPlayer with Swift. ## Walkthrough / Intro / Tutorial -* [Onboard](https://github.com/mamaral/Onboard) - Easily create a beautiful and engaging onboarding experience with only a few lines of code. -* [EAIntroView](https://github.com/ealeksandrov/EAIntroView) - Highly customizable drop-in solution for introduction views. -* [MYBlurIntroductionView](https://github.com/MatthewYork/MYBlurIntroductionView) - A super-charged version of MYIntroductionView for building custom app introductions and tutorials. -* [BWWalkthrough](https://github.com/ariok/BWWalkthrough) - A class to build custom walkthroughs for your iOS App. -* [GHWalkThrough](https://github.com/GnosisHub/GHWalkThrough) - A UICollectionView backed drop-in component for introduction views. -* [ICETutorial](https://github.com/icepat/ICETutorial) - A nice tutorial like the one introduced in the Path 3.X App. -* [JazzHands](https://github.com/IFTTT/JazzHands) - Jazz Hands is a simple keyframe-based animation framework for UIKit. Animations can be controlled via gestures, scroll views, KVO, or ReactiveCocoa. -* [RazzleDazzle](https://github.com/IFTTT/RazzleDazzle) - A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros. -* [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. -* [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. -* [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. -* [VideoSplashKit](https://github.com/svhawks/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos -* [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. -* [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. -* [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. -* [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. -* [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider -* [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. -* [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. -* [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. -* [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. -* [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. -* [SwiftyOverlay](https://github.com/saeid/SwiftyOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. -* [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. -* [Minamo](https://github.com/yukiasai/Minamo) - Simple coach mark library written in Swift. -* [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. -* [WhatsNewKit](https://github.com/SvenTiigi/WhatsNewKit) - Showcase your awesome new app features 📱 -* [OnboardKit](https://github.com/NikolaKirev/OnboardKit) - Customisable user onboarding for your iOS app -* [ConcentricOnboarding](https://github.com/exyte/ConcentricOnboarding) - SwiftUI library for a walkthrough or onboarding flow with tap actions. +- [Onboard](https://github.com/mamaral/Onboard) - Easily create a beautiful and engaging onboarding experience with only a few lines of code. +- [EAIntroView](https://github.com/ealeksandrov/EAIntroView) - Highly customizable drop-in solution for introduction views. +- [MYBlurIntroductionView](https://github.com/MatthewYork/MYBlurIntroductionView) - A super-charged version of MYIntroductionView for building custom app introductions and tutorials. +- [BWWalkthrough](https://github.com/ariok/BWWalkthrough) - A class to build custom walkthroughs for your iOS App. +- [GHWalkThrough](https://github.com/GnosisHub/GHWalkThrough) - A UICollectionView backed drop-in component for introduction views. +- [ICETutorial](https://github.com/icepat/ICETutorial) - A nice tutorial like the one introduced in the Path 3.X App. +- [JazzHands](https://github.com/IFTTT/JazzHands) - Jazz Hands is a simple keyframe-based animation framework for UIKit. Animations can be controlled via gestures, scroll views, KVO, or ReactiveCocoa. +- [RazzleDazzle](https://github.com/IFTTT/RazzleDazzle) - A simple keyframe-based animation framework for iOS, written in Swift. Perfect for scrolling app intros. +- [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. +- [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. +- [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. +- [VideoSplashKit](https://github.com/svhawks/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos +- [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. +- [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. +- [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. +- [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. +- [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider +- [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. +- [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. +- [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. +- [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. +- [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. +- [SwiftyOverlay](https://github.com/saeid/SwiftyOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. +- [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. +- [Minamo](https://github.com/yukiasai/Minamo) - Simple coach mark library written in Swift. +- [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. +- [WhatsNewKit](https://github.com/SvenTiigi/WhatsNewKit) - Showcase your awesome new app features 📱 +- [OnboardKit](https://github.com/NikolaKirev/OnboardKit) - Customisable user onboarding for your iOS app +- [ConcentricOnboarding](https://github.com/exyte/ConcentricOnboarding) - SwiftUI library for a walkthrough or onboarding flow with tap actions. ## WebSocket -* [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. -* [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/macOS. -* [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and macOS. -* [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and macOS -* [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. -* [Socks](https://github.com/vapor-community/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS -* [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS -* [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. -* [DNWebSocket](https://github.com/GlebRadchenko/DNWebSocket) - Object-Oriented, Swift-style WebSocket Library (RFC 6455) for Swift-compatible Platforms. +- [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. +- [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/macOS. +- [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and macOS. +- [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and macOS +- [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. +- [Socks](https://github.com/vapor-community/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS +- [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS +- [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. +- [DNWebSocket](https://github.com/GlebRadchenko/DNWebSocket) - Object-Oriented, Swift-style WebSocket Library (RFC 6455) for Swift-compatible Platforms. ## Project setup -* [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. -* [liftoff](https://github.com/liftoffcli/liftoff) - Another CLI for creating iOS projects. -* [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. -* [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents -* [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. -* [xcproj](https://github.com/tuist/xcodeproj) - Read and update Xcode projects. -* [Tuist](https://github.com/tuist/tuist) - A tool to create, maintain and interact with Xcode projects at scale. -* [SwiftKit](https://github.com/SvenTiigi/SwiftKit) - Start your next Open-Source Swift Framework 📦. +- [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. +- [liftoff](https://github.com/liftoffcli/liftoff) - Another CLI for creating iOS projects. +- [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. +- [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents +- [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. +- [xcproj](https://github.com/tuist/xcodeproj) - Read and update Xcode projects. +- [Tuist](https://github.com/tuist/tuist) - A tool to create, maintain and interact with Xcode projects at scale. +- [SwiftKit](https://github.com/SvenTiigi/SwiftKit) - Start your next Open-Source Swift Framework 📦. ## Dependency / Package Manager -* [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. -* [Xcode Maven](http://sap-production.github.io/xcode-maven-plugin/site/) - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle. -* [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. -* [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. -* [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language -* [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool -* [Rome](https://github.com/tmspzz/Rome) - A cache tool for Carthage built frameworks -* [Athena](https://github.com/yunarta/works-athena-gradle-plugin) - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local. -* [Accio](https://github.com/JamitLabs/Accio) - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage. +- [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. +- [Xcode Maven](http://sap-production.github.io/xcode-maven-plugin/site/) - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle. +- [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. +- [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. +- [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language +- [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool +- [Rome](https://github.com/tmspzz/Rome) - A cache tool for Carthage built frameworks +- [Athena](https://github.com/yunarta/works-athena-gradle-plugin) - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local. +- [Accio](https://github.com/JamitLabs/Accio) - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage. ## Tools -* [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. -* [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. -* [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. -* [SwiftGen](https://github.com/SwiftGen/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). -* [Blade](https://github.com/jondot/blade) - Generate Xcode image catalogs for iOS / macOS app icons, universal images, and more. -* [Retini](https://github.com/terwanerik/Retini) - A super simple retina (2x, 3x) image converter. -* [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. -* [appledoc](https://github.com/tomaz/appledoc) - ObjectiveC code Apple style documentation set generator. -* [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! -* [StoryboardMerge](https://github.com/marcinolawski/StoryboardMerge) - Xcode storyboards diff and merge tool. -* [ai2app](https://github.com/metasmile/ai2appiconset) - Creating AppIcon sets from Adobe Illustrator (all supported formats). -* [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. -* [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or macOS application. -* [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. -* [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. [e] -* [git-xcp](https://github.com/metasmile/git-xcp) - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. -* [WatchdogInspector](https://github.com/tapwork/WatchdogInspector) - Shows your current framerate (fps) in the status bar of your iOS app -* [Cichlid](https://github.com/dealforest/Cichlid) - automatically delete the current project's DerivedData directories -* [Delta](https://github.com/thoughtbot/Delta) - Managing state is hard. Delta aims to make it simple. -* [SwiftLintXcode](https://github.com/ypresto/SwiftLintXcode) - An Xcode plug-in to format your code using SwiftLint. -* [XCSwiftr](https://github.com/dzenbot/XCSwiftr) - An Xcode Plugin to convert Objective-C to Swift -* [SwiftKitten](https://github.com/johncsnyder/SwiftKitten) - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework -* [Kin](https://github.com/Karumi/Kin) - Have you ever found yourself undoing a merge due to a broken Xcode build? Then Kin is your tool. It will parse your project configuration file and detect errors. -* [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click -* [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. -* [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. -* [Localizations](https://github.com/athiercelin/localizations) - macOS app that manages localizations of Xcode projects. -* [xcbuild](https://github.com/facebook/xcbuild) - Xcode-compatible build tool. -* [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. -* [SwiftCompilationPerformanceReporter](https://github.com/TumblrArchive/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets -* [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift -* [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations -* [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. -* [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your macOS file system with their metadata to your iOS simulator (Swift 2.0) -* [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a macOS utility to open and modify realm database files. -* [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. -* [fastlane-plugin-appicon](https://github.com/fastlane-community/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. -* [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. -* [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. -* [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance -* [xcenv](https://github.com/xcenv/xcenv) - Groom your Xcode environment. -* [playgroundbook](https://github.com/playgroundbooks/playgroundbook) - Tool for Swift Playground books -* [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. -* [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from `.ipa` file. -* [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. -* [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! -* [FBSimulatorControl](https://github.com/facebook/idb) - A macOS library for managing and manipulating iOS Simulators -* [Nomad](https://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute `.ipa`, verify In-App-Purchase receipt and more. -* [Cookiecutter](https://github.com/RahulKatariya/SwiftFrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file -* [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. -* [AssetChecker 👮](https://github.com/freshOS/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. -* [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar -* [GDPerformanceView-Swift](https://github.com/dani-gavrilov/GDPerformanceView-Swift) - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate. -* [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). -* [Struct](https://www.get-struct.tools) - A tool for iOS and Mac developers to automate the creation and management of Xcode projects. -* [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. -* [Attabench](https://github.com/attaswift/Attabench) - Microbenchmarking app for Swift with nice log-log plots -* [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. -* [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. -* [AppDevKit](https://github.com/yahoo/AppDevKit) - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. -* [Tweaks](https://github.com/facebook/Tweaks) - An easy way to fine-tune, and adjust parameters for iOS apps in development. -* [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. -* [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. -* [Plank](https://github.com/pinterest/plank) - A tool for generating immutable model objects. -* [Lona](https://github.com/airbnb/Lona) - A tool for defining design systems and using them to generate cross-platform UI code, Sketch files, images, and other artifacts. -* [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. -* [iSimulator](https://github.com/wigl/iSimulator) - iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator. -* [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. -* [Transformer](https://github.com/andresinaka/transformer) - Easy Online Attributed String Creator. This tool lets you format a string directly in the browser and then copy/paste the attributed string code into your app. -* [ProvisionQL](https://github.com/ealeksandrov/ProvisionQL) - Quick Look plugin for apps and provisioning profile files. -* [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. -* [Zolang](https://github.com/Zolang/Zolang) - A programming language for sharing logic between iOS, Android and Tools. -* [xavtool](https://github.com/gabrielrobert/xavtool) - Command-line utility to automatically increase iOS / Android applications version. -* [Cutter](https://cutter.albemala.me/) - A tool to generate iOS Launch Images (Splash Screens) for all screen sizes starting from a single template. -* [nef](https://github.com/bow-swift/nef) - A set of command line tools for Xcode Playground: lets you have compile-time verification of your documentation written as Xcode Playgrounds, generates markdown files, integration with Jekyll for building microsites and Carbon to export code snippets. +- [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. +- [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. +- [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. +- [SwiftGen](https://github.com/SwiftGen/SwiftGen) - A collection of Swift tools to generate Swift code (enums for your assets, storyboards, Localizable.strings and UIColors). +- [Blade](https://github.com/jondot/blade) - Generate Xcode image catalogs for iOS / macOS app icons, universal images, and more. +- [Retini](https://github.com/terwanerik/Retini) - A super simple retina (2x, 3x) image converter. +- [Jazzy](https://github.com/realm/jazzy) - Soulful docs for Swift & Objective-C. +- [appledoc](https://github.com/tomaz/appledoc) - ObjectiveC code Apple style documentation set generator. +- [Laurine](https://github.com/JiriTrecak/Laurine) - Laurine - Localization code generator written in Swift. Sweet! +- [StoryboardMerge](https://github.com/marcinolawski/StoryboardMerge) - Xcode storyboards diff and merge tool. +- [ai2app](https://github.com/metasmile/ai2appiconset) - Creating AppIcon sets from Adobe Illustrator (all supported formats). +- [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. +- [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or macOS application. +- [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. +- [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. [e] +- [git-xcp](https://github.com/metasmile/git-xcp) - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. +- [WatchdogInspector](https://github.com/tapwork/WatchdogInspector) - Shows your current framerate (fps) in the status bar of your iOS app +- [Cichlid](https://github.com/dealforest/Cichlid) - automatically delete the current project's DerivedData directories +- [Delta](https://github.com/thoughtbot/Delta) - Managing state is hard. Delta aims to make it simple. +- [SwiftLintXcode](https://github.com/ypresto/SwiftLintXcode) - An Xcode plug-in to format your code using SwiftLint. +- [XCSwiftr](https://github.com/dzenbot/XCSwiftr) - An Xcode Plugin to convert Objective-C to Swift +- [SwiftKitten](https://github.com/johncsnyder/SwiftKitten) - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework +- [Kin](https://github.com/Karumi/Kin) - Have you ever found yourself undoing a merge due to a broken Xcode build? Then Kin is your tool. It will parse your project configuration file and detect errors. +- [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click +- [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. +- [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. +- [Localizations](https://github.com/athiercelin/localizations) - macOS app that manages localizations of Xcode projects. +- [xcbuild](https://github.com/facebook/xcbuild) - Xcode-compatible build tool. +- [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. +- [SwiftCompilationPerformanceReporter](https://github.com/TumblrArchive/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets +- [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift +- [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations +- [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. +- [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your macOS file system with their metadata to your iOS simulator (Swift 2.0) +- [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a macOS utility to open and modify realm database files. +- [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. +- [fastlane-plugin-appicon](https://github.com/fastlane-community/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. +- [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. +- [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. +- [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance +- [xcenv](https://github.com/xcenv/xcenv) - Groom your Xcode environment. +- [playgroundbook](https://github.com/playgroundbooks/playgroundbook) - Tool for Swift Playground books +- [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. +- [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from `.ipa` file. +- [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. +- [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! +- [FBSimulatorControl](https://github.com/facebook/idb) - A macOS library for managing and manipulating iOS Simulators +- [Nomad](https://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute `.ipa`, verify In-App-Purchase receipt and more. +- [Cookiecutter](https://github.com/RahulKatariya/SwiftFrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file +- [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. +- [AssetChecker 👮](https://github.com/freshOS/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. +- [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar +- [GDPerformanceView-Swift](https://github.com/dani-gavrilov/GDPerformanceView-Swift) - Shows FPS, CPU usage, app and iOS versions above the status bar and report FPS and CPU usage via delegate. +- [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). +- [Struct](https://www.get-struct.tools) - A tool for iOS and Mac developers to automate the creation and management of Xcode projects. +- [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. +- [Attabench](https://github.com/attaswift/Attabench) - Microbenchmarking app for Swift with nice log-log plots +- [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. +- [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. +- [AppDevKit](https://github.com/yahoo/AppDevKit) - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. +- [Tweaks](https://github.com/facebook/Tweaks) - An easy way to fine-tune, and adjust parameters for iOS apps in development. +- [FengNiao](https://github.com/onevcat/FengNiao) - A command line tool for cleaning unused resources in Xcode. +- [LifetimeTracker](https://github.com/krzysztofzablocki/LifetimeTracker) - Find retain cycles / memory leaks sooner. +- [Plank](https://github.com/pinterest/plank) - A tool for generating immutable model objects. +- [Lona](https://github.com/airbnb/Lona) - A tool for defining design systems and using them to generate cross-platform UI code, Sketch files, images, and other artifacts. +- [XcodeGen](https://github.com/yonaskolb/XcodeGen) - Command line tool that generates your Xcode project from a spec file and your folder structure. +- [iSimulator](https://github.com/wigl/iSimulator) - iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator. +- [Natalie](https://github.com/krzyzanowskim/Natalie) - Storyboard Code Generator. +- [Transformer](https://github.com/andresinaka/transformer) - Easy Online Attributed String Creator. This tool lets you format a string directly in the browser and then copy/paste the attributed string code into your app. +- [ProvisionQL](https://github.com/ealeksandrov/ProvisionQL) - Quick Look plugin for apps and provisioning profile files. +- [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. +- [Zolang](https://github.com/Zolang/Zolang) - A programming language for sharing logic between iOS, Android and Tools. +- [xavtool](https://github.com/gabrielrobert/xavtool) - Command-line utility to automatically increase iOS / Android applications version. +- [Cutter](https://cutter.albemala.me/) - A tool to generate iOS Launch Images (Splash Screens) for all screen sizes starting from a single template. +- [nef](https://github.com/bow-swift/nef) - A set of command line tools for Xcode Playground: lets you have compile-time verification of your documentation written as Xcode Playgrounds, generates markdown files, integration with Jekyll for building microsites and Carbon to export code snippets. ## Rapid Development -* [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. -* [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. -* [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. -* [swiftmon](https://github.com/dimpiax/swiftmon) - swiftmon restarts your swift application in case of any file change. -* [Model2App](https://github.com/Q-Mobile/Model2App) - Turn your Swift data model into a working CRUD app. +- [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. +- [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. +- [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. +- [swiftmon](https://github.com/dimpiax/swiftmon) - swiftmon restarts your swift application in case of any file change. +- [Model2App](https://github.com/Q-Mobile/Model2App) - Turn your Swift data model into a working CRUD app. ## Code Injection -* [dyci](https://github.com/DyCI/dyci-main) - Code injection tool. -* [injectionforxcode](https://github.com/johnno1962/injectionforxcode) - Code injection including Swift. -* [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. +- [dyci](https://github.com/DyCI/dyci-main) - Code injection tool. +- [injectionforxcode](https://github.com/johnno1962/injectionforxcode) - Code injection including Swift. +- [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. ## Dependency Injection -* [Swinject](https://github.com/Swinject/Swinject) - Dependency injection framework for Swift -* [Reliant](https://github.com/appfoundry/Reliant) - Nonintrusive Objective-C dependency injection. -* [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. -* [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. -* [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). -* [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. -* [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. -* [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift -* [Weaver](https://github.com/scribd/Weaver) - A declarative, easy-to-use and safe Dependency Injection framework for Swift -* [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. -* [ViperServices](https://github.com/ladeiko/ViperServices) - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code. -* [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS applications written in clean Swift. -* [Needle](https://github.com/uber/needle) — Compile-time safe Swift dependency injection framework with real code -* [Locatable](https://github.com/vincent-pradeilles/locatable) - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern +- [Swinject](https://github.com/Swinject/Swinject) - Dependency injection framework for Swift +- [Reliant](https://github.com/appfoundry/Reliant) - Nonintrusive Objective-C dependency injection. +- [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. +- [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. +- [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). +- [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. +- [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. +- [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift +- [Weaver](https://github.com/scribd/Weaver) - A declarative, easy-to-use and safe Dependency Injection framework for Swift +- [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. +- [ViperServices](https://github.com/ladeiko/ViperServices) - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code. +- [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS applications written in clean Swift. +- [Needle](https://github.com/uber/needle) — Compile-time safe Swift dependency injection framework with real code +- [Locatable](https://github.com/vincent-pradeilles/locatable) - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern ## Deployment / Distribution -* [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. -* [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) - Upload screenshots, metadata and your app to the App Store using a single command. -* [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) Automate taking localized screenshots of your iOS app on every device. -* [buddybuild](https://www.buddybuild.com/) - A mobile iteration platform - build, deploy, and collaborate. -* [Bitrise](https://www.bitrise.io) Mobile Continuous Integration & Delivery with dozens of integrations to build, test, deploy and collaborate. -* [watchbuild](https://github.com/fastlane/watchbuild) - Get a notification once your iTunes Connect build is finished processing. -* [Crashlytics](https://firebase.google.com/products/crashlytics/) - A crash reporting and beta testing service. -* [TestFlight Beta Testing](https://developer.apple.com/testflight/) - The beta testing service hosted on iTunes Connect (requires iOS 8 or later). -* [HockeyApp](https://www.hockeyapp.net) - With HockeyApp, you can distribute beta versions of your app, collect live crash reports, get feedback from users, and analyze test coverage. -* [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. -* [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. -* [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. -* [AppLaunchpad](https://theapplaunchpad.com/) - Free App Store screenshot builder. -* [LaunchKit](https://github.com/LaunchKit/LaunchKit) - A set of web-based tools for mobile app developers, now open source! -* [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. -* [Appfigurate](https://github.com/electricbolt/appfiguratesdk) - Secure runtime configuration for iOS and watchOS, apps and app extensions. -* [ScreenshotFramer](https://github.com/IdeasOnCanvas/ScreenshotFramer) - With Screenshot Framer you can easily create nice-looking and localized App Store Images. -* [Semaphore](https://semaphoreci.com/product/ios) - 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. +- [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. +- [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) - Upload screenshots, metadata and your app to the App Store using a single command. +- [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) - Automate taking localized screenshots of your iOS app on every device. +- [buddybuild](https://www.buddybuild.com/) - A mobile iteration platform - build, deploy, and collaborate. +- [Bitrise](https://www.bitrise.io) - Mobile Continuous Integration & Delivery with dozens of integrations to build, test, deploy and collaborate. +- [watchbuild](https://github.com/fastlane/watchbuild) - Get a notification once your iTunes Connect build is finished processing. +- [Crashlytics](https://firebase.google.com/products/crashlytics/) - A crash reporting and beta testing service. +- [TestFlight Beta Testing](https://developer.apple.com/testflight/) - The beta testing service hosted on iTunes Connect (requires iOS 8 or later). +- [HockeyApp](https://www.hockeyapp.net) - With HockeyApp, you can distribute beta versions of your app, collect live crash reports, get feedback from users, and analyze test coverage. +- [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. +- [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. +- [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. +- [AppLaunchpad](https://theapplaunchpad.com/) - Free App Store screenshot builder. +- [LaunchKit](https://github.com/LaunchKit/LaunchKit) - A set of web-based tools for mobile app developers, now open source! +- [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. +- [Appfigurate](https://github.com/electricbolt/appfiguratesdk) - Secure runtime configuration for iOS and watchOS, apps and app extensions. +- [ScreenshotFramer](https://github.com/IdeasOnCanvas/ScreenshotFramer) - With Screenshot Framer you can easily create nice-looking and localized App Store Images. +- [Semaphore](https://semaphoreci.com/product/ios) - 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. ## App Store -* [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/#common-app-rejections) Highlighted some of the most common issues that cause apps to get rejected. -* [Free App Store Optimization Tool](https://www.mobileaction.co) Lets you track your App Store visibility in terms of keywords and competitors. -* [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. -* [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. -* [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. -* [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. -* [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. -* [AppVersion](https://github.com/amebalabs/AppVersion) - Keep users on the up-to date version of your App. +- [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/#common-app-rejections) - Highlighted some of the most common issues that cause apps to get rejected. +- [Free App Store Optimization Tool](https://www.mobileaction.co) - Lets you track your App Store visibility in terms of keywords and competitors. +- [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. +- [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. +- [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. +- [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. +- [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. +- [AppVersion](https://github.com/amebalabs/AppVersion) - Keep users on the up-to date version of your App. ## Xcode @@ -3160,217 +3159,217 @@ CollectionView, make Instagram Discover within minutes. ### Themes -* [Dracula Theme](https://draculatheme.com/xcode/) - A dark theme for Xcode. -* [Xcode themes list](https://github.com/hdoria/xcode-themes) - Color themes for Xcode. -* [Solarized-Dark-for-Xcode](https://github.com/ArtSabintsev/Solarized-Dark-for-Xcode/) - Solarized Dark Theme for Xcode 5. -* [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. -* [DRL Theme](https://github.com/durul/Xcodetheme) - A soft darkness theme for Xcode. +- [Dracula Theme](https://draculatheme.com/xcode/) - A dark theme for Xcode. +- [Xcode themes list](https://github.com/hdoria/xcode-themes) - Color themes for Xcode. +- [Solarized-Dark-for-Xcode](https://github.com/ArtSabintsev/Solarized-Dark-for-Xcode/) - Solarized Dark Theme for Xcode 5. +- [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. +- [DRL Theme](https://github.com/durul/Xcodetheme) - A soft darkness theme for Xcode. ### Other Xcode -* [awesome-xcode-scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts 📝. -* [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. -* [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) -* [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator -* [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. -* [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. -* [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 -* [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift -* [XcodeCodeSnippets](https://github.com/ismetanin/XcodeCodeSnippets) - A set of code snippets for iOS development, includes code and comments snippets. -* [Xcode Keymap for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=stevemoser.xcode-keybindings) - This extension ports popular Xcode keyboard shortcuts to Visual Studio Code. -* [Xcode Template Manager](https://github.com/Camji55/xtm) - Xcode Template Manager is a Swift command line tool that helps you manage your Xcode project templates. -* [VIPER Module Template](https://github.com/EvsenevDev/VIPERModuleTemplate) - Xcode Template of VIPER Module which generates all layers of VIPER. +- [awesome-xcode-scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts 📝. +- [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. +- [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) +- [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator +- [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. +- [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. +- [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 +- [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift +- [XcodeCodeSnippets](https://github.com/ismetanin/XcodeCodeSnippets) - A set of code snippets for iOS development, includes code and comments snippets. +- [Xcode Keymap for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=stevemoser.xcode-keybindings) - This extension ports popular Xcode keyboard shortcuts to Visual Studio Code. +- [Xcode Template Manager](https://github.com/Camji55/xtm) - Xcode Template Manager is a Swift command line tool that helps you manage your Xcode project templates. +- [VIPER Module Template](https://github.com/EvsenevDev/VIPERModuleTemplate) - Xcode Template of VIPER Module which generates all layers of VIPER. ## Reference -* [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. -* [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. -* [SwiftSnippets](https://github.com/onmyway133/SwiftSnippets) - A collection of Swift snippets to be used in Xcode -* [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. -* [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. -* [WWDC-Recap](https://erenkabakci.github.io/WWDC-Recap/) - A collection of session summaries in markdown format, from WWDC 19 & 17. +- [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. +- [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. +- [SwiftSnippets](https://github.com/onmyway133/SwiftSnippets) - A collection of Swift snippets to be used in Xcode +- [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. +- [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. +- [WWDC-Recap](https://erenkabakci.github.io/WWDC-Recap/) - A collection of session summaries in markdown format, from WWDC 19 & 17. ## Style Guides -* [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. -* [raywenderlich Style Guide](https://github.com/raywenderlich/objective-c-style-guide) - A style guide that outlines the coding conventions for raywenderlich.com. -* [GitHub Objective-C Style Guide](https://github.com/github/objective-c-style-guide) - Style guide & coding conventions for Objective-C projects. -* [Objective-C Coding Convention and Best Practices](https://gist.github.com/soffes/812796) - Gist with coding conventions. -* [Swift Style Guide by @raywenderlich](https://github.com/raywenderlich/swift-style-guide) - The official Swift style guide for raywenderlich.com. -* [Spotify Objective-C Coding Style](https://github.com/spotify/ios-style) - Guidelines for iOS development in use at Spotify. -* [GitHub - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. -* [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). -* [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift -* [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. -* [Swift Style Guide by LinkedIn](https://github.com/linkedin/swift-style-guide) - LinkedIn's Official Swift Style Guide. +- [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. +- [raywenderlich Style Guide](https://github.com/raywenderlich/objective-c-style-guide) - A style guide that outlines the coding conventions for raywenderlich.com. +- [GitHub Objective-C Style Guide](https://github.com/github/objective-c-style-guide) - Style guide & coding conventions for Objective-C projects. +- [Objective-C Coding Convention and Best Practices](https://gist.github.com/soffes/812796) - Gist with coding conventions. +- [Swift Style Guide by @raywenderlich](https://github.com/raywenderlich/swift-style-guide) - The official Swift style guide for raywenderlich.com. +- [Spotify Objective-C Coding Style](https://github.com/spotify/ios-style) - Guidelines for iOS development in use at Spotify. +- [GitHub - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. +- [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). +- [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift +- [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. +- [Swift Style Guide by LinkedIn](https://github.com/linkedin/swift-style-guide) - LinkedIn's Official Swift Style Guide. ## Good Websites ### News, Blogs and more -* [BGR](https://bgr.com/ios-7/) -* [iMore](https://www.imore.com/) -* [Lifehacker](https://lifehacker.com/tag/ios) -* [NSHipster](https://nshipster.com) -* [Objc.io](https://www.objc.io/) -* [ASCIIwwdc](https://asciiwwdc.com/) -* [Natasha The Robot](https://www.natashatherobot.com/) -* [Apple's Swift Blog](https://developer.apple.com/swift/blog/) -* [iOS Programming Subreddit](https://www.reddit.com/r/iOSProgramming/) -* [iOS8-day-by-day](https://github.com/ScottLogic/iOS8-day-by-day) -* [iOScreator](https://www.ioscreator.com/) -* [Mathew Sanders](http://mathewsanders.com/) -* [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) -* [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. -* [iOS9-day-by-day](https://github.com/ScottLogic/iOS9-day-by-day) -* [Code Facebook](https://engineering.fb.com/category/ios/) -* [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. -* [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. +- [BGR](https://bgr.com/ios-7/) +- [iMore](https://www.imore.com/) +- [Lifehacker](https://lifehacker.com/tag/ios) +- [NSHipster](https://nshipster.com) +- [Objc.io](https://www.objc.io/) +- [ASCIIwwdc](https://asciiwwdc.com/) +- [Natasha The Robot](https://www.natashatherobot.com/) +- [Apple's Swift Blog](https://developer.apple.com/swift/blog/) +- [iOS Programming Subreddit](https://www.reddit.com/r/iOSProgramming/) +- [iOS8-day-by-day](https://github.com/ScottLogic/iOS8-day-by-day) +- [iOScreator](https://www.ioscreator.com/) +- [Mathew Sanders](http://mathewsanders.com/) +- [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) +- [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. +- [iOS9-day-by-day](https://github.com/ScottLogic/iOS9-day-by-day) +- [Code Facebook](https://engineering.fb.com/category/ios/) +- [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. +- [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. ### UIKit references -* [iOS Fonts](http://iosfonts.com/) -* [UIAppearance list](https://gist.github.com/mattt/5135521) +- [iOS Fonts](http://iosfonts.com/) +- [UIAppearance list](https://gist.github.com/mattt/5135521) ### Forums and discuss lists -* ["iOS" on Stackoverflow](https://stackoverflow.com/questions/tagged/ios) +- ["iOS" on Stackoverflow](https://stackoverflow.com/questions/tagged/ios) ### Tutorials and Keynotes -* [AppCoda](https://www.appcoda.com/) -* [Tutorials Point](https://www.tutorialspoint.com/ios/index.htm) -* [Code with Chris](https://codewithchris.com/) -* [Cocoa with Love](http://www.cocoawithlove.com/) -* [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. -* [raywenderlich.com](https://www.raywenderlich.com/ios) - Tutorials for developers and gamers -* [Mike Ash](https://www.mikeash.com/pyblog/) -* [Big Nerd Ranch](https://www.bignerdranch.com/blog/category/ios/) -* [Tuts+](https://code.tutsplus.com/categories/ios-sdk) -* [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) -* [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. -* [Cocoa Dev Central](http://cocoadevcentral.com) -* [Use Your Loaf](https://useyourloaf.com/) -* [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) -* [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - :fire: All of the resources for Learning About Swift -* [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - ⭐ A List of Awesome Swift Playgrounds! -* [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. -* [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. -* [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. -* [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. -* [Realm Academy](https://academy.realm.io/) -* [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. -* [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. -* [Conferences.digital](https://github.com/zagahr/Conferences.digital) - 👨‍💻 Watch conference videos in a native macOS app. -* [DaddyCoding](https://daddycoding.com/) - iOS Tutorials ranging from beginners to advance +- [AppCoda](https://www.appcoda.com/) +- [Tutorials Point](https://www.tutorialspoint.com/ios/index.htm) +- [Code with Chris](https://codewithchris.com/) +- [Cocoa with Love](http://www.cocoawithlove.com/) +- [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. +- [raywenderlich.com](https://www.raywenderlich.com/ios) - Tutorials for developers and gamers +- [Mike Ash](https://www.mikeash.com/pyblog/) +- [Big Nerd Ranch](https://www.bignerdranch.com/blog/category/ios/) +- [Tuts+](https://code.tutsplus.com/categories/ios-sdk) +- [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) +- [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. +- [Cocoa Dev Central](http://cocoadevcentral.com) +- [Use Your Loaf](https://useyourloaf.com/) +- [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) +- [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - :fire: All of the resources for Learning About Swift +- [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - ⭐ A List of Awesome Swift Playgrounds! +- [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. +- [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. +- [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. +- [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. +- [Realm Academy](https://academy.realm.io/) +- [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. +- [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. +- [Conferences.digital](https://github.com/zagahr/Conferences.digital) - 👨‍💻 Watch conference videos in a native macOS app. +- [DaddyCoding](https://daddycoding.com/) - iOS Tutorials ranging from beginners to advance ### iOS UI Template -* [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) -* [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) -* [iOS GUI by Facebook Design Resources](https://facebook.design/) +- [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) +- [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) +- [iOS GUI by Facebook Design Resources](https://facebook.design/) ### Prototyping -* [FluidUI](https://www.fluidui.com) -* [Proto.io](https://proto.io/) -* [Framer](https://www.framer.com/) -* [Principle](https://principleformac.com/) +- [FluidUI](https://www.fluidui.com) +- [Proto.io](https://proto.io/) +- [Framer](https://www.framer.com/) +- [Principle](https://principleformac.com/) ### Newsletters -* [AwesomeiOS Weekly](http://weekly.awesomeios.com) - AwesomeiOS Weekly -* [iOS Goodies](https://ios-goodies.com) - Weekly iOS newsletter -* [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week -* [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. -* [iOS Trivia Weekly](https://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday -* [Indie iOS Focus Weekly](http://indieiosfocus.com/) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. -* [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. -* [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday -* [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) -* [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. -* [Swift Developments](https://andybargh.com/swiftdevelopments/) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. +- [AwesomeiOS Weekly](http://weekly.awesomeios.com) - AwesomeiOS Weekly +- [iOS Goodies](https://ios-goodies.com) - Weekly iOS newsletter +- [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week +- [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. +- [iOS Trivia Weekly](https://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday +- [Indie iOS Focus Weekly](http://indieiosfocus.com/) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. +- [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. +- [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday +- [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) +- [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. +- [Swift Developments](https://andybargh.com/swiftdevelopments/) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. ### Medium -* [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone -* [Swift Programming](https://medium.com/swift-programming) - The Swift Programming Language -* [Flawless App](https://medium.com/flawless-app-stories) - Development & design & marketing tips for iOS developers. +- [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone +- [Swift Programming](https://medium.com/swift-programming) - The Swift Programming Language +- [Flawless App](https://medium.com/flawless-app-stories) - Development & design & marketing tips for iOS developers. ## Social Media ### Twitter -* [@objcio](https://twitter.com/objcio) -* [@CocoaPods](https://twitter.com/CocoaPods) -* [@CocoaPodsFeed](https://twitter.com/CocoaPodsFeed) -* [@RubyMotion](https://twitter.com/RubyMotion) +- [@objcio](https://twitter.com/objcio) +- [@CocoaPods](https://twitter.com/CocoaPods) +- [@CocoaPodsFeed](https://twitter.com/CocoaPodsFeed) +- [@RubyMotion](https://twitter.com/RubyMotion) ### Facebook Groups -* [HH iOS](https://www.facebook.com/groups/hhios/about/) -* [Sketch - Official group](https://www.facebook.com/groups/sketchformac/about/) -* [Design-Code](https://www.facebook.com/groups/designcode/about/) -* [Sketch-Design.io](https://www.facebook.com/groups/sketchdesignio/about/) -* [Origami Community](https://www.facebook.com/groups/origami.community/about/) -* [Framer JS](https://www.facebook.com/groups/framerjs/about/) +- [HH iOS](https://www.facebook.com/groups/hhios/about/) +- [Sketch - Official group](https://www.facebook.com/groups/sketchformac/about/) +- [Design-Code](https://www.facebook.com/groups/designcode/about/) +- [Sketch-Design.io](https://www.facebook.com/groups/sketchdesignio/about/) +- [Origami Community](https://www.facebook.com/groups/origami.community/about/) +- [Framer JS](https://www.facebook.com/groups/framerjs/about/) ## Podcasts -* [The Ray Wenderlich Podcast](https://www.raywenderlich.com/podcast) -* [Debug](https://www.imore.com/debug) -* [App Story](http://www.appstorypodcast.com) -* [iPhreaks](https://devchat.tv/iphreaks/) -* [Under the Radar](https://www.relay.fm/radar) -* [Core Intuition](http://coreint.org/) -* [Swift Playhouse](http://www.swiftplayhouse.com/) -* [Release Notes](https://releasenotes.tv/) -* [More Than Just Code](https://mtjc.fireside.fm/) -* [Runtime](https://spec.fm/podcasts/runtime) -* [Consult](https://consultpodcast.com/#_=_) -* [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) -* [Fireside Swift](https://podcasts.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) -* [Swift by Sundell](https://www.swiftbysundell.com/podcast/) +- [The Ray Wenderlich Podcast](https://www.raywenderlich.com/podcast) +- [Debug](https://www.imore.com/debug) +- [App Story](http://www.appstorypodcast.com) +- [iPhreaks](https://devchat.tv/iphreaks/) +- [Under the Radar](https://www.relay.fm/radar) +- [Core Intuition](http://coreint.org/) +- [Swift Playhouse](http://www.swiftplayhouse.com/) +- [Release Notes](https://releasenotes.tv/) +- [More Than Just Code](https://mtjc.fireside.fm/) +- [Runtime](https://spec.fm/podcasts/runtime) +- [Consult](https://consultpodcast.com/#_=_) +- [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) +- [Fireside Swift](https://podcasts.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) +- [Swift by Sundell](https://www.swiftbysundell.com/podcast/) ## Books -* [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) -* [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-sixth-edition/) -* [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) -* [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) -* [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) -* [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) -* [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) -* [iOS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) -* [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) -* [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) -* [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) -* [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) -* [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) -* [Swift in Depth](https://www.manning.com/books/swift-in-depth) +- [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) +- [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-sixth-edition/) +- [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) +- [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) +- [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) +- [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) +- [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) +- [iOS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) +- [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) +- [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) +- [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) +- [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) +- [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) +- [Swift in Depth](https://www.manning.com/books/swift-in-depth) ## Other Awesome Lists *Other amazingly awesome lists can be found in the* -* [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. -* [Open Source apps](https://github.com/dkhamsing/open-source-ios-apps) list of open source iOS apps -* Awesome-swift - * [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. - * [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. - * [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift -* [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. -* [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. -* Awesome iOS Animation - * [@ameizi](https://github.com/ameizi/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. - * [@jzau](https://github.com/jzau/awesome-ios-animation) - Collection of Animation projects -* [awesome-ios-chart](https://github.com/ameizi/awesome-ios-chart) - A curated list of awesome iOS chart libraries, including Objective-C and Swift. -* [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). -* [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. -* [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects -* [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. -* [iOS-Playbook](https://github.com/bakkenbaeck/iOS-handbook) - Guidelines and best practices for excellent iOS apps -* [iOS-Learning-Materials](https://github.com/jVirus/iOS-Learning-Materials) - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS. -* [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts -* [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. -* [Awesome ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. -* [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. -* [example-ios-apps](https://github.com/jogendra/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. -* [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. -* [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. -* [Awesome list of open source applications for macOS](https://github.com/serhii-londar/open-source-mac-os-apps) - List of awesome open source applications for macOS. -* [Awesome iOS Interview question list](https://github.com/dashvlas/awesome-ios-interview) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. -* [Top App Developers](https://github.com/app-developers/top) - A list of top iOS app developers +- [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. +- [Open Source apps](https://github.com/dkhamsing/open-source-ios-apps) list of open source iOS apps +- Awesome-swift + - [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. + - [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. + - [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift +- [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. +- [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. +- Awesome iOS Animation + - [@ameizi](https://github.com/ameizi/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. + - [@jzau](https://github.com/jzau/awesome-ios-animation) - Collection of Animation projects +- [awesome-ios-chart](https://github.com/ameizi/awesome-ios-chart) - A curated list of awesome iOS chart libraries, including Objective-C and Swift. +- [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). +- [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. +- [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects +- [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. +- [iOS-Playbook](https://github.com/bakkenbaeck/iOS-handbook) - Guidelines and best practices for excellent iOS apps +- [iOS-Learning-Materials](https://github.com/jVirus/iOS-Learning-Materials) - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS. +- [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts +- [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. +- [Awesome ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. +- [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. +- [example-ios-apps](https://github.com/jogendra/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. +- [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. +- [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. +- [Awesome list of open source applications for macOS](https://github.com/serhii-londar/open-source-mac-os-apps) - List of awesome open source applications for macOS. +- [Awesome iOS Interview question list](https://github.com/dashvlas/awesome-ios-interview) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. +- [Top App Developers](https://github.com/app-developers/top) - A list of top iOS app developers ## Contributing and License - * [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) - * Distributed under the MIT license. See LICENSE for more information. +- [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) +- Distributed under the MIT license. See LICENSE for more information. From 0eb103f41ced703120f1edff012d241ee3f635ad Mon Sep 17 00:00:00 2001 From: Arasuvel Theerthapathy Date: Wed, 30 Oct 2019 08:13:35 +0530 Subject: [PATCH 2320/2606] Remove OXPatternLock. (#2871) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 48a30825b..c8c37eda0 100644 --- a/README.md +++ b/README.md @@ -1976,7 +1976,6 @@ Most of these are paid services, some have free tiers. - [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. - [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. - [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. -- [OXPatternLock](https://github.com/oxozle/OXPatternLock) - An iOS pattern lock like Android authentication written in Swift. - [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts. - [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. - [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. From b0fc37fbaa0b7d82c0c84f4c7ed7d8af6eb87e8f Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 30 Oct 2019 21:03:52 -0300 Subject: [PATCH 2321/2606] remove emojis. Update descriptions and format descriptions according lint --- README.md | 216 +++++++++++++++++++++++++++--------------------------- 1 file changed, 108 insertions(+), 108 deletions(-) diff --git a/README.md b/README.md index c8c37eda0..f816fa39d 100644 --- a/README.md +++ b/README.md @@ -2784,64 +2784,64 @@ Most of these are paid services, some have free tiers. - [TTGTagCollectionView](https://github.com/zekunyan/TTGTagCollectionView) - Show simple text tags or custom tag views in a vertical scrollable view. - [TagListView](https://github.com/ElaWorkshop/TagListView) - Simple and highly customizable iOS tag list view, in Swift. - [RKTagsView](https://github.com/kuler90/RKTagsView) - Highly customizable iOS tags view (like NSTokenField). Supports editing, multiple selection, Auto Layout and much more. -- [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags +- [WSTagsField](https://github.com/whitesmith/WSTagsField) - An iOS text field that represents different Tags. - [AKMaskField](https://github.com/artemkrachulov/AKMaskField) - AKMaskField is UITextField subclass which allows enter data in the fixed quantity and in the certain format. -- [YNSearch](https://github.com/younatics/YNSearch) - Awesome fully customizable search view like Pinterest written in Swift 3 +- [YNSearch](https://github.com/younatics/YNSearch) - Awesome fully customizable search view like Pinterest written in Swift 3. - [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. ### TextField & TextView - [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. - [ARAutocompleteTextView](https://github.com/alexruperez/ARAutocompleteTextView) - subclass of UITextView that automatically displays text suggestions in real-time. Perfect for email Textviews. -- [IQDropDownTextField](https://github.com/hackiftekhar/IQDropDownTextField) - TextField with DropDown support using UIPickerView +- [IQDropDownTextField](https://github.com/hackiftekhar/IQDropDownTextField) - TextField with DropDown support using UIPickerView. - [UITextField-Shake](https://github.com/andreamazz/UITextField-Shake) - UITextField category that adds shake animation. [Also with Swift version](https://github.com/King-Wizard/UITextField-Shake-Swift) - [HTYTextField](https://github.com/hanton/HTYTextField) - A UITextField with bouncy placeholder. - [MVAutocompletePlaceSearchTextField](https://github.com/TheMrugraj/MVAutocompletePlaceSearchTextField) - A drop-in Autocompletion control for Place Search like Google Places, Uber, etc. - [AutocompleteField](https://github.com/filipstefansson/AutocompleteField) - Add word completion to your UITextFields. - [RSKGrowingTextView](https://github.com/ruslanskorb/RSKGrowingTextView) - A light-weight UITextView subclass that automatically grows and shrinks. - [RSKPlaceholderTextView](https://github.com/ruslanskorb/RSKPlaceholderTextView) - A light-weight UITextView subclass that adds support for placeholder. -- [StatefulViewController](https://github.com/aschuch/StatefulViewController) - Placeholder views based on content, loading, error or empty states -- [MBAutoGrowingTextView](https://github.com/MatejBalantic/MBAutoGrowingTextView) - An auto-layout base UITextView subclass which automatically grows with user input and can be constrained by maximal and minimal height - all without a single line of code -- [TextFieldEffects](https://github.com/raulriera/TextFieldEffects) - Custom UITextFields effects inspired by Codrops, built using Swift +- [StatefulViewController](https://github.com/aschuch/StatefulViewController) - Placeholder views based on content, loading, error or empty states. +- [MBAutoGrowingTextView](https://github.com/MatejBalantic/MBAutoGrowingTextView) - An auto-layout base UITextView subclass which automatically grows with user input and can be constrained by maximal and minimal height - all without a single line of code. +- [TextFieldEffects](https://github.com/raulriera/TextFieldEffects) - Custom UITextFields effects inspired by Codrops, built using Swift. - [Reel Search](https://github.com/Ramotion/reel-search) - RAMReel is a controller that allows you to choose options from a list. - [MLPAutoCompleteTextField](https://github.com/EddyBorja/MLPAutoCompleteTextField) - a subclass of UITextField that behaves like a typical UITextField with one notable exception: it manages a drop down table of autocomplete suggestions that update as the user types. - [SkyFloatingLabelTextField](https://github.com/Skyscanner/SkyFloatingLabelTextField) - A beautiful and flexible text field control implementation of "Float Label Pattern". Written in Swift. - [VMaskTextField](https://github.com/viniciusmo/VMaskTextField) - VMaskTextField is a library which create an input mask for iOS. -- [TJTextField](https://github.com/tejas-ardeshna/TJTextField) - UITextField with underline and left image +- [TJTextField](https://github.com/tejas-ardeshna/TJTextField) - UITextField with underline and left image. - [NextGrowingTextView](https://github.com/muukii/NextGrowingTextView) - The next in the generations of 'growing textviews' optimized for iOS 7 and above. - [RPFloatingPlaceholders](https://github.com/iwasrobbed/RPFloatingPlaceholders) - UITextField and UITextView subclasses with placeholders that change into floating labels when the fields are populated with text. - [CurrencyTextField](https://github.com/richa008/CurrencyTextField) - UITextField that automatically formats text to display in the currency format. -- [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields.[e] -- [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield +- [UITextField-Navigation](https://github.com/T-Pham/UITextField-Navigation) - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields. +- [AutoCompleteTextField](https://github.com/nferocious76/AutoCompleteTextField) - Auto complete with suggestion textfield. - [PLCurrencyTextField](https://github.com/nonameplum/PLCurrencyTextField) - UITextField that support currency in the right way. -- [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies -- [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS +- [PasswordTextField](https://github.com/PiXeL16/PasswordTextField) - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies. +- [AnimatedTextInput](https://github.com/jobandtalent/AnimatedTextInput) - Animated UITextField and UITextView replacement for iOS. - [KMPlaceholderTextView](https://github.com/MoZhouqi/KMPlaceholderTextView) - A UITextView subclass that adds support for multiline placeholder written in Swift. -- [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField) +- [NxEnabled](https://github.com/Otbivnoe/NxEnabled) - Library which allows you binding `enabled` property of button with textable elements (TextView, TextField). - [AwesomeTextField](https://github.com/aleksandrshoshiashvili/AwesomeTextFieldSwift) - Awesome TextField is a nice and simple library for iOS. It's highly customisable and easy-to-use tool. Works perfectly for any registration or login forms in your app. - [ModernSearchBar](https://github.com/PhilippeBoisney/ModernSearchBar) - The famous iOS search bar with auto completion feature implemented. -- [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion +- [SelectableTextView](https://github.com/jhurray/SelectableTextView) - A text view that supports selection and expansion. - [CBPinEntryView](https://github.com/Fawxy/CBPinEntryView) - A customisable view written in Swift 4.2 for any pin, code or password entry. Supports one time codes in iOS 12. - [GrowingTextView](https://github.com/KennethTsang/GrowingTextView) - An UITextView in Swift3 and Swift2.3. Support auto growing, placeholder and length limit. - [DTTextField](https://github.com/iDhaval/DTTextField) - DTTextField is a custom textfield with floating placeholder and error label in Swift3.0. - [TextFieldCounter](https://github.com/serralvo/TextFieldCounter) - UITextField character counter with lovable UX. - [RSFloatInputView](https://github.com/roytornado/RSFloatInputView) - A Float Input View with smooth animation and supporting icon and seperator written with Swift. -- [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. it's written with Swift. +- [TaniwhaTextField](https://github.com/iceman201/TaniwhaTextField) - TaniwhaTextField is a lightweight and beautiful swift textfield framework. It has float label pattern, and also you can highly customise it. - [InstantSearch iOS](https://github.com/algolia/instantsearch-ios) - A library of widgets and helpers to build instant-search applications on iOS. -- [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list +- [SearchTextField](https://github.com/apasccon/SearchTextField) - UITextField subclass with autocompletion suggestions list. - [PYSearch](https://github.com/ko1o/PYSearch) - An elegant search controller which replaces the UISearchController for iOS (iPhone & iPad). - [styled-text](https://github.com/blueapron/styled-text) - Declarative text styles and streamlined Dynamic Type support for iOS. - [TweeTextField](https://github.com/oleghnidets/TweeTextField) - Lightweight set of text fields with nice animation and functionality. - [MeasurementTextField](https://github.com/SiarheiFedartsou/MeasurementTextField) - UITextField-based control for (NS)Measurement values input. - [VENTokenField](https://github.com/venmo/VENTokenField) - Easy-to-use token field that is used in the Venmo app. - [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. -- [Tagging](https://github.com/k-lpmg/Tagging) - ✍️ TextView that provides easy to use tagging feature for Mention or Hashtag. +- [Tagging](https://github.com/k-lpmg/Tagging) - TextView that provides easy to use tagging feature for Mention or Hashtag. - [InputBarAccessoryView](https://github.com/nathantannar4/InputBarAccessoryView) - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments. ### UIPageControl -- [PageControl](https://github.com/kasper-lahti/PageControl) - ● ○ ○ ○ A nice, animated UIPageControl alternative. -- [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here +- [PageControl](https://github.com/kasper-lahti/PageControl) - A nice, animated UIPageControl alternative. +- [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here. - [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. -- [Page-Control](https://github.com/sevruk-dev/page-control) - 💥 Beautiful, animated and highly customizable UIPageControl alternative. +- [Page-Control](https://github.com/sevruk-dev/page-control) - Beautiful, animated and highly customizable UIPageControl alternative. ### Web View - [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. @@ -2858,41 +2858,41 @@ Most of these are paid services, some have free tiers. * [SwiftRandom](https://github.com/thellimist/SwiftRandom) - Generator for random data. * [RandomKit](https://github.com/nvzqz/RandomKit/) - Random data generation in Swift. * [YOLOKit](https://github.com/mxcl/YOLOKit) - Getting square objects down round holes. - * [EZSwiftExtensions](https://github.com/goktugyil/EZSwiftExtensions) - :smirk: How Swift standard types and classes were supposed to work. [e] - * [Pantry](https://github.com/nickoneill/Pantry) - The missing light persistence layer for Swift + * [EZSwiftExtensions](https://github.com/goktugyil/EZSwiftExtensions) - :smirk: How Swift standard types and classes were supposed to work. + * [Pantry](https://github.com/nickoneill/Pantry) - The missing light persistence layer for Swift. * [SwiftParsec](https://github.com/davedufresne/SwiftParsec) - A parser combinator library written in the Swift programming language. - * [OrderedSet](https://github.com/Weebly/OrderedSet) - A Swift collection of unique, ordered objects + * [OrderedSet](https://github.com/Weebly/OrderedSet) - A Swift collection of unique, ordered objects. * [Datez](https://github.com/SwiftKitz/Datez) - Swift library for dealing with `NSDate`, `NSCalendar`, and `NSDateComponents`. * [BFKit](https://github.com/FabrizioBrancati/BFKit) - An Objective-C collection of useful classes to develop Apps faster. * [BFKit-Swift](https://github.com/FabrizioBrancati/BFKit-Swift) - A Swift collection of useful classes to develop Apps faster. - * [Scale](https://github.com/onmyway133/scale) - Unit converter in Swift (available via CocoaPods) - * [Standard Template Protocols](https://github.com/cconeil/Standard-Template-Protocols) - Protocols for your every day iOS needs - * [TimeLord](https://github.com/JonFir/TimeLord) - Easy DateTime (NSDate) management in Swift + * [Scale](https://github.com/onmyway133/scale) - Unit converter in Swift (available via CocoaPods). + * [Standard Template Protocols](https://github.com/cconeil/Standard-Template-Protocols) - Protocols for your every day iOS needs. + * [TimeLord](https://github.com/JonFir/TimeLord) - Easy DateTime (NSDate) management in Swift. * [AppVersionMonitor](https://github.com/eure/AppVersionMonitor) - Monitor iOS app version easily. - * [Sugar](https://github.com/hyperoslo/Sugar) - Something sweet that goes great with your Cocoa. [e] - * [Then](https://github.com/devxoul/Then) - ✨ Super sweet syntactic sugar for Swift initializers. [e] - * [Kvitto](https://github.com/Cocoanetics/Kvitto) - App Store Receipt Validation - * [Notificationz](https://github.com/SwiftKitz/Notificationz) - Helping you own NSNotificationCenter in Swift - * [SwiftFoundation](https://github.com/PureSwift/SwiftFoundation) - Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux) [e] + * [Sugar](https://github.com/hyperoslo/Sugar) - Something sweet that goes great with your Cocoa. + * [Then](https://github.com/devxoul/Then) - ✨ Super sweet syntactic sugar for Swift initializers. + * [Kvitto](https://github.com/Cocoanetics/Kvitto) - App Store Receipt Validation. + * [Notificationz](https://github.com/SwiftKitz/Notificationz) - Helping you own NSNotificationCenter in Swift. + * [SwiftFoundation](https://github.com/PureSwift/SwiftFoundation) - Cross-Platform, Protocol-Oriented Programming base library to complement the Swift Standard Library. (Pure Swift, Supports Linux). * [libextobjc](https://github.com/jspahrsummers/libextobjc) - A Cocoa library to extend the Objective-C programming language. - * [VersionTrackerSwift](https://github.com/tbaranes/VersionTrackerSwift) - Track which versions of your app a user has previously installed. + * [VersionTrackerSwift](https://github.com/tbaranes/VersionTrackerSwift) - Track which versions of your app a user has previously installed.. * [DeviceGuru](https://github.com/InderKumarRathore/DeviceGuru/) - DeviceGuru is a simple lib (Swift) to know the exact type of the device, e.g. iPhone 6 or iPhone 6s. - * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight App Version Tracking for iOS written in Swift + * [AEAppVersion](https://github.com/tadija/AEAppVersion) - Simple and Lightweight App Version Tracking for iOS written in Swift. * [BlocksKit](https://github.com/BlocksKit/BlocksKit) - The Objective-C block utilities you always wish you had. - * [SwiftyUtils](https://github.com/tbaranes/swiftyutils) - All the reusable code that we need in each project. [e] + * [SwiftyUtils](https://github.com/tbaranes/swiftyutils) - All the reusable code that we need in each project. * [RateLimit](https://github.com/soffes/RateLimit) - Simple utility for only executing code every so often. - * [Outlets](https://github.com/phatblat/Outlets) - Utility functions for validating IBOutlet and IBAction connections - * [EasyAbout](https://github.com/JARMourato/EasyAbout) - A way to easily add CocoaPods licenses and App Version to your iOS App using the Settings Bundle - * [Validated](https://github.com/Ben-G/Validated) - A Swift μ-Library for Somewhat Dependent Types - * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes + * [Outlets](https://github.com/phatblat/Outlets) - Utility functions for validating IBOutlet and IBAction connections. + * [EasyAbout](https://github.com/JARMourato/EasyAbout) - A way to easily add CocoaPods licenses and App Version to your iOS App using the Settings Bundle. + * [Validated](https://github.com/Ben-G/Validated) - A Swift μ-Library for Somewhat Dependent Types. + * [Cent](https://github.com/ankurp/Cent) - Extensions for Swift Standard Types and Classes. * [AssistantKit](https://github.com/anatoliyv/AssistantKit) - Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift. * [SwiftLinkPreview](https://github.com/LeonardoCardoso/SwiftLinkPreview) - It makes a preview from an url, grabbing all the information such as title, relevant texts and images. * [BundleInfos](https://github.com/rollmind/BundleInfos) - Simple getter for Bundle informations. like short version from bundle. * [YAML.framework](https://github.com/mirek/YAML.framework) - Proper YAML support for Objective-C based on `LibYAML`. * [ReadabilityKit](https://github.com/exyte/ReadabilityKit) - Metadata extractor for news, articles and full-texts in Swift. - * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, macOS) + * [MissionControl-iOS](https://github.com/appculture/MissionControl-iOS) - Super powerful remote config utility written in Swift (iOS, watchOS, tvOS, macOS). * [SwiftTweaks](https://github.com/Khan/SwiftTweaks) - Tweak your iOS app without recompiling! - * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas) + * [UnsupportedOSVersionAlert](https://github.com/caloon/UnsupportedOSVersionAlert) - Alerts users with a popup if they use an app with an unsupported version of iOS (e.g. iOS betas). * [SwiftSortUtils](https://github.com/dsmatter/SwiftSortUtils) - This library takes a shot at making sorting in Swift more pleasant. It also allows you to reuse your old NSSortDescriptor instances in Swift. * [Retry](https://github.com/icanzilb/Retry) - Haven't you wished for `try` to sometimes try a little harder? Meet `retry` . * [ObjectiveKit](https://github.com/marmelroy/ObjectiveKit) - Swift-friendly API for Objective C runtime functions. @@ -2900,30 +2900,30 @@ Most of these are paid services, some have free tiers. * [SwifterSwift](https://github.com/SwifterSwift/SwifterSwift) - A handy collection of more than 400 native Swift 4 extensions to boost your productivity. * [Eject](https://github.com/Rightpoint/Eject) - An eject button for Interface Builder to generate swift code. * [ContactsWrapper](https://github.com/abdullahselek/ContactsWrapper) - Easy to use wrapper for both contacts and contacts group with Objective-C. - * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift + * [XestiMonitors](https://github.com/eBardX/XestiMonitors) - An extensible monitoring framework written in Swift. * [OpenSourceController](https://github.com/floriangbh/OpenSourceController) - The simplest way to display the libraries licences used in your application. * [App-Update-Tracker](https://github.com/Stunner/App-Update-Tracker) - Easily detect and run code upon app installation or update. - * [ExtensionalSwift](https://github.com/4taras4/SwiftExtension) - Useful swift extensions in one place [e] + * [ExtensionalSwift](https://github.com/4taras4/SwiftExtension) - Useful swift extensions in one place. * [InAppSettingsKit](https://github.com/futuretap/InAppSettingsKit) - This iOS framework allows settings to be in-app in addition to or instead of being in the Settings app. * [MMWormhole](https://github.com/mutualmobile/MMWormhole) - Message passing between iOS apps and extensions. - * [DefaultStringConvertible](https://github.com/jessesquires/DefaultStringConvertible) - A default CustomStringConvertible implementation for Swift types [e] + * [DefaultStringConvertible](https://github.com/jessesquires/DefaultStringConvertible) - A default CustomStringConvertible implementation for Swift types. * [FluxCapacitor](https://github.com/marty-suzuki/FluxCapacitor) - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias. * [VTAcknowledgementsViewController](https://github.com/vtourraine/VTAcknowledgementsViewController) - Ready to use “Acknowledgements”/“Licenses”/“Credits” view controller for CocoaPods. * [Closures](https://github.com/vhesener/Closures) - Swifty closures for UIKit and Foundation. - * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote + * [WhatsNew](https://github.com/BalestraPatrick/WhatsNew) - Showcase new features after an app update similar to Pages, Numbers and Keynote. * [MKUnits](https://github.com/michalkonturek/MKUnits) - Unit conversion library for Swift. - * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures - * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs + * [ActionClosurable](https://github.com/takasek/ActionClosurable) - Extensions which helps to convert objc-style target/action to swifty closures. + * [ios_system](https://github.com/holzschu/ios_system) - Drop-in replacement for system() in iOS programs. * [SwiftProvisioningProfile](https://github.com/Sherlouk/SwiftProvisioningProfile) - Parse provisioning profiles into Swift models. * [Once](https://github.com/luoxiu/Once) - Minimalist library to manage one-off operations. * [ZamzamKit](https://github.com/ZamzamInc/ZamzamKit) - A collection of micro utilities and extensions for Standard Library, Foundation and UIKit. - * [DuctTape](https://github.com/marty-suzuki/DuctTape) - 📦 KeyPath dynamicMemberLookup based syntax sugar for swift. + * [DuctTape](https://github.com/marty-suzuki/DuctTape) - KeyPath dynamicMemberLookup based syntax sugar for swift. ## User Consent - [SmartlookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. ## VR -- [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS +- [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS. - [360 VR Player](https://github.com/hanton/HTY360Player) - A open source, ad-free, native and universal 360 degree panorama video player for iOS. - [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. - [Swifty360Player](https://github.com/abdullahselek/Swifty360Player) - iOS 360-degree video player streaming from an AVPlayer with Swift. @@ -2940,33 +2940,33 @@ Most of these are paid services, some have free tiers. - [Instructions](https://github.com/ephread/Instructions) - Easily add customizable coach marks into you iOS project. - [SwiftyWalkthrough](https://github.com/ruipfcosta/SwiftyWalkthrough) - The easiest way to create a great walkthrough experience in your apps, powered by Swift. - [Gecco](https://github.com/yukiasai/Gecco) - Spotlight view for iOS. -- [VideoSplashKit](https://github.com/svhawks/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos +- [VideoSplashKit](https://github.com/svhawks/VideoSplashKit) - VideoSplashKit - UIViewController library for creating easy intro pages with background videos. - [Presentation](https://github.com/hyperoslo/Presentation) - Presentation helps you to make tutorials, release notes and animated pages. - [AMPopTip](https://github.com/andreamazz/AMPopTip) - An animated popover that pops out a given frame, great for subtle UI tips and onboarding. - [AlertOnboarding](https://github.com/PhilippeBoisney/AlertOnboarding) - A simple and handsome AlertView for onboard your users in your amazing world. - [EasyTipView](https://github.com/teodorpatras/EasyTipView) - Fully customisable tooltip view in Swift. -- [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider +- [paper-onboarding](https://github.com/Ramotion/paper-onboarding) - PaperOnboarding is a material design slider. - [InfoView](https://github.com/anatoliyv/InfoView) - Swift based simple information view with pointed arrow. - [Intro](https://github.com/nbolatov/Intro) - An iOS framework to easily create simple animated walkthrough, written in Swift. - [AwesomeSpotlightView](https://github.com/aleksandrshoshiashvili/AwesomeSpotlightView) - Tool to create awesome tutorials or educate user to use application. Or just highlight something on screen. Written in Swift. - [SwiftyOnboard](https://github.com/juanpablofernandez/SwiftyOnboard) - A simple way to add onboarding to your project. - [WVWalkthroughView](https://github.com/praagyajoshi/WVWalkthroughView) - Utility to easily create walkthroughs to help with user onboarding. -- [SwiftyOverlay](https://github.com/saeid/SwiftyOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time!. +- [SwiftyOverlay](https://github.com/saeid/SwiftyOverlay) - Easy and quick way to show intro / instructions over app UI without any additional images in real-time! - [SwiftyOnboardVC](https://github.com/chaser79/SwiftyOnboardVC) - Lightweight walkthrough controller thats uses view controllers as its subviews making the customization endless. - [Minamo](https://github.com/yukiasai/Minamo) - Simple coach mark library written in Swift. - [Material Showcase iOS](https://github.com/aromajoin/material-showcase-ios) - An elegant and beautiful showcase for iOS apps. -- [WhatsNewKit](https://github.com/SvenTiigi/WhatsNewKit) - Showcase your awesome new app features 📱 -- [OnboardKit](https://github.com/NikolaKirev/OnboardKit) - Customisable user onboarding for your iOS app +- [WhatsNewKit](https://github.com/SvenTiigi/WhatsNewKit) - Showcase your awesome new app features. +- [OnboardKit](https://github.com/NikolaKirev/OnboardKit) - Customisable user onboarding for your iOS app. - [ConcentricOnboarding](https://github.com/exyte/ConcentricOnboarding) - SwiftUI library for a walkthrough or onboarding flow with tap actions. ## WebSocket - [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. - [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/macOS. - [SwiftWebSocket](https://github.com/tidwall/SwiftWebSocket) - High performance WebSocket client library for Swift, iOS and macOS. -- [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and macOS +- [Starscream](https://github.com/daltoniam/Starscream) - Websockets in swift for iOS and macOS. - [SwiftSocket](https://github.com/swiftsocket/SwiftSocket) - simple socket library for apple swift lang. -- [Socks](https://github.com/vapor-community/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS -- [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS +- [Socks](https://github.com/vapor-community/sockets) - Pure-Swift Sockets: TCP, UDP; Client, Server; Linux, macOS. +- [SwifterSockets](https://github.com/Balancingrock/SwifterSockets) - A collection of socket utilities in Swift for OS-X and iOS. - [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. - [DNWebSocket](https://github.com/GlebRadchenko/DNWebSocket) - Object-Oriented, Swift-style WebSocket Library (RFC 6455) for Swift-compatible Platforms. @@ -2974,11 +2974,11 @@ Most of these are paid services, some have free tiers. - [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. - [liftoff](https://github.com/liftoffcli/liftoff) - Another CLI for creating iOS projects. - [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. -- [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents +- [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents. - [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. - [xcproj](https://github.com/tuist/xcodeproj) - Read and update Xcode projects. - [Tuist](https://github.com/tuist/tuist) - A tool to create, maintain and interact with Xcode projects at scale. -- [SwiftKit](https://github.com/SvenTiigi/SwiftKit) - Start your next Open-Source Swift Framework 📦. +- [SwiftKit](https://github.com/SvenTiigi/SwiftKit) - Start your next Open-Source Swift Framework. ## Dependency / Package Manager - [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. @@ -2986,9 +2986,9 @@ Most of these are paid services, some have free tiers. - [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. - [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. -- [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language -- [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool -- [Rome](https://github.com/tmspzz/Rome) - A cache tool for Carthage built frameworks +- [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language. +- [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool. +- [Rome](https://github.com/tmspzz/Rome) - A cache tool for Carthage built frameworks. - [Athena](https://github.com/yunarta/works-athena-gradle-plugin) - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local. - [Accio](https://github.com/JamitLabs/Accio) - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage. @@ -3008,41 +3008,41 @@ Most of these are paid services, some have free tiers. - [ViewMonitor](https://github.com/daisuke0131/ViewMonitor) - ViewMonitor can measure view positions with accuracy. - [abandoned-strings](https://github.com/ijoshsmith/abandoned-strings) - Command line program that detects unused resource strings in an iOS or macOS application. - [swiftenv](https://github.com/kylef/swiftenv) - swiftenv allows you to easily install, and switch between multiple versions of Swift. -- [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. [e] +- [Misen](https://github.com/tasanobu/Misen) - Script to support easily using Xcode Asset Catalog in Swift. - [git-xcp](https://github.com/metasmile/git-xcp) - A Git plugin for versioning workflow of real-world Xcode project. fastlane's best friend. -- [WatchdogInspector](https://github.com/tapwork/WatchdogInspector) - Shows your current framerate (fps) in the status bar of your iOS app -- [Cichlid](https://github.com/dealforest/Cichlid) - automatically delete the current project's DerivedData directories +- [WatchdogInspector](https://github.com/tapwork/WatchdogInspector) - Shows your current framerate (fps) in the status bar of your iOS app. +- [Cichlid](https://github.com/dealforest/Cichlid) - automatically delete the current project's DerivedData directories. - [Delta](https://github.com/thoughtbot/Delta) - Managing state is hard. Delta aims to make it simple. - [SwiftLintXcode](https://github.com/ypresto/SwiftLintXcode) - An Xcode plug-in to format your code using SwiftLint. -- [XCSwiftr](https://github.com/dzenbot/XCSwiftr) - An Xcode Plugin to convert Objective-C to Swift -- [SwiftKitten](https://github.com/johncsnyder/SwiftKitten) - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework +- [XCSwiftr](https://github.com/dzenbot/XCSwiftr) - An Xcode Plugin to convert Objective-C to Swift. +- [SwiftKitten](https://github.com/johncsnyder/SwiftKitten) - Swift autocompleter for Sublime Text, via the adorable SourceKitten framework. - [Kin](https://github.com/Karumi/Kin) - Have you ever found yourself undoing a merge due to a broken Xcode build? Then Kin is your tool. It will parse your project configuration file and detect errors. -- [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click +- [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click. - [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. - [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. - [Localizations](https://github.com/athiercelin/localizations) - macOS app that manages localizations of Xcode projects. - [xcbuild](https://github.com/facebook/xcbuild) - Xcode-compatible build tool. - [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. -- [SwiftCompilationPerformanceReporter](https://github.com/TumblrArchive/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets -- [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift -- [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations -- [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark⏲ module provides methods to measure and report the time used to execute Swift code. -- [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your macOS file system with their metadata to your iOS simulator (Swift 2.0) +- [SwiftCompilationPerformanceReporter](https://github.com/TumblrArchive/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets. +- [BuildTimeAnalyzer](https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode) - Build Time Analyzer for Swift. +- [Duration](https://github.com/SwiftStudies/Duration) - A simple Swift package for measuring and reporting the time taken for operations. +- [Benchmark](https://github.com/WorldDownTown/Benchmark) - The Benchmark module provides methods to measure and report the time used to execute Swift code. +- [MBAssetsImporter](https://github.com/MatiBot/MBAssetsImporter) - Import assets from Panoramio or from your macOS file system with their metadata to your iOS simulator (Swift 2.0). - [Realm Browser](https://github.com/realm/realm-browser-osx) - Realm Browser is a macOS utility to open and modify realm database files. - [SuperDelegate](https://github.com/square/SuperDelegate) – SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle. - [fastlane-plugin-appicon](https://github.com/fastlane-community/fastlane-plugin-appicon) - Generate required icon sizes and iconset from a master application icon. - [infer](https://github.com/facebook/infer) - A static analyzer for Java, C and Objective-C. - [PlayNow](https://github.com/marcboquet/PlayNow) - Small app that creates empty Swift playground files and opens them with Xcode. -- [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance +- [Xtrace](https://github.com/johnno1962/Xtrace) - Trace Objective-C method calls by class or instance. - [xcenv](https://github.com/xcenv/xcenv) - Groom your Xcode environment. -- [playgroundbook](https://github.com/playgroundbooks/playgroundbook) - Tool for Swift Playground books +- [playgroundbook](https://github.com/playgroundbooks/playgroundbook) - Tool for Swift Playground books. - [Ecno](https://github.com/xmartlabs/Ecno) - Ecno is a task state manager built on top of UserDefaults in pure Swift 3. - [ipanema](https://github.com/toshi0383/ipanema) - ipanema analyzes and prints useful information from `.ipa` file. - [pxctest](https://github.com/plu/pxctest) - Parallel XCTest - Execute XCTest suites in parallel on multiple iOS Simulators. - [IBM Swift Sandbox](https://swift.sandbox.bluemix.net) - The IBM Swift Sandbox is an interactive website that lets you write Swift code and execute it in a server environment – on top of Linux! - [FBSimulatorControl](https://github.com/facebook/idb) - A macOS library for managing and manipulating iOS Simulators - [Nomad](https://nomad-cli.com) - Suite of command line utilities & libraries for sending APNs, create & distribute `.ipa`, verify In-App-Purchase receipt and more. -- [Cookiecutter](https://github.com/RahulKatariya/SwiftFrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file +- [Cookiecutter](https://github.com/RahulKatariya/SwiftFrameworkTemplate) - A template for new Swift iOS / tvOS / watchOS / macOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file. - [Sourcery](https://github.com/krzysztofzablocki/Sourcery) - A tool that brings meta-programming to Swift, allowing you to code generate Swift code. - [AssetChecker 👮](https://github.com/freshOS/AssetChecker) - Keeps your Assets.xcassets files clean and emits warnings when something is suspicious. - [PlayAlways](https://github.com/insidegui/PlayAlways) - Create Xcode playgrounds from your menu bar @@ -3050,7 +3050,7 @@ Most of these are paid services, some have free tiers. - [Traits](https://github.com/krzysztofzablocki/Traits) - Library for a real-time design and behavior modification of native iOS apps without recompiling (code and interface builder changes are supported). - [Struct](https://www.get-struct.tools) - A tool for iOS and Mac developers to automate the creation and management of Xcode projects. - [Nori](https://github.com/yukiasai/Nori) - Easier to apply code based style guide to storyboard. -- [Attabench](https://github.com/attaswift/Attabench) - Microbenchmarking app for Swift with nice log-log plots +- [Attabench](https://github.com/attaswift/Attabench) - Microbenchmarking app for Swift with nice log-log plots. - [Gluten](https://github.com/wilbertliu/Gluten) - Nano library to unify XIB and it's code. - [LicensePlist](https://github.com/mono0926/LicensePlist) - A license list generator of all your dependencies for iOS applications. - [AppDevKit](https://github.com/yahoo/AppDevKit) - AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. @@ -3088,20 +3088,20 @@ Most of these are paid services, some have free tiers. ## Dependency Injection -- [Swinject](https://github.com/Swinject/Swinject) - Dependency injection framework for Swift +- [Swinject](https://github.com/Swinject/Swinject) - Dependency injection framework for Swift. - [Reliant](https://github.com/appfoundry/Reliant) - Nonintrusive Objective-C dependency injection. - [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. - [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. - [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). - [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. - [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. -- [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift -- [Weaver](https://github.com/scribd/Weaver) - A declarative, easy-to-use and safe Dependency Injection framework for Swift +- [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift. +- [Weaver](https://github.com/scribd/Weaver) - A declarative, easy-to-use and safe Dependency Injection framework for Swift. - [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. - [ViperServices](https://github.com/ladeiko/ViperServices) - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code. - [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS applications written in clean Swift. -- [Needle](https://github.com/uber/needle) — Compile-time safe Swift dependency injection framework with real code -- [Locatable](https://github.com/vincent-pradeilles/locatable) - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern +- [Needle](https://github.com/uber/needle) — Compile-time safe Swift dependency injection framework with real code. +- [Locatable](https://github.com/vincent-pradeilles/locatable) - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern. ## Deployment / Distribution @@ -3142,7 +3142,7 @@ Most of these are paid services, some have free tiers. ### Extensions (Xcode 8+) * [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. -* [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8) +* [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8). * [SwiftInitializerGenerator](https://github.com/Bouke/SwiftInitializerGenerator) - Xcode 8 Source Code Extension to Generate Swift Initializers. * [XcodeEquatableGenerator](https://github.com/sergdort/XcodeEquatableGenerator) - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection. * [Import](https://github.com/markohlebar/Import) - Xcode extension for adding imports from anywhere in the code. @@ -3151,7 +3151,7 @@ Most of these are paid services, some have free tiers. * [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to GitHub's Gist and automatically copy the Gist URL into your Clipboard. * [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. * [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. -* [Snowonder](https://github.com/Karetski/Snowonder) - 🔮 Magical import declarations formatter for Xcode. +* [Snowonder](https://github.com/Karetski/Snowonder) - Magical import declarations formatter for Xcode. * [XVim2](https://github.com/XVimProject/XVim2) - Vim key-bindings for Xcode 9. * [Comment Spell Checker](https://github.com/velyan/Comment-Spell-Checker) - Xcode extension for spell checking and auto correcting code comments. * [nef](https://github.com/bow-swift/nef-plugin) - This Xcode extension enables you to make a code selection and export it to a snippets. Available on Mac AppStore. @@ -3167,14 +3167,14 @@ Most of these are paid services, some have free tiers. ### Other Xcode -- [awesome-xcode-scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts 📝. +- [awesome-xcode-scripts](https://github.com/aashishtamsya/awesome-xcode-scripts) - A curated list of useful xcode scripts. - [Synx](https://github.com/venmo/synx) - A command-line tool that reorganizes your Xcode project folder to match your Xcode groups. - [dsnip](https://github.com/Tintenklecks/IBDelegateCodesippets) - Tool to generate (native) Xcode code snippets from all protocols/delegate methods of UIKit (UITableView, ...) -- [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator -- [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates 📝. +- [SBShortcutMenuSimulator](https://github.com/DeskConnect/SBShortcutMenuSimulator) - 3D Touch shortcuts in the Simulator. +- [awesome-gitignore-templates](https://github.com/aashishtamsya/awesome-gitignore-templates) - A collection of swift, objective-c, android and many more langugages .gitignore templates. - [swift-project-template](https://github.com/artemnovichkov/swift-project-template) - Template for iOS Swift project generation. -- [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3 -- [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift +- [Swift-VIPER-Module](https://github.com/Juanpe/Swift-VIPER-Module) - Xcode template for create modules with VIPER Architecture written in Swift 3. +- [ViperC](https://github.com/abdullahselek/ViperC) - Xcode template for VIPER Architecture for both Objective-C and Swift. - [XcodeCodeSnippets](https://github.com/ismetanin/XcodeCodeSnippets) - A set of code snippets for iOS development, includes code and comments snippets. - [Xcode Keymap for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=stevemoser.xcode-keybindings) - This extension ports popular Xcode keyboard shortcuts to Visual Studio Code. - [Xcode Template Manager](https://github.com/Camji55/xtm) - Xcode Template Manager is a Swift command line tool that helps you manage your Xcode project templates. @@ -3183,7 +3183,7 @@ Most of these are paid services, some have free tiers. ## Reference - [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. - [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. -- [SwiftSnippets](https://github.com/onmyway133/SwiftSnippets) - A collection of Swift snippets to be used in Xcode +- [SwiftSnippets](https://github.com/onmyway133/SwiftSnippets) - A collection of Swift snippets to be used in Xcode. - [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. - [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. - [WWDC-Recap](https://erenkabakci.github.io/WWDC-Recap/) - A collection of session summaries in markdown format, from WWDC 19 & 17. @@ -3197,7 +3197,7 @@ Most of these are paid services, some have free tiers. - [Spotify Objective-C Coding Style](https://github.com/spotify/ios-style) - Guidelines for iOS development in use at Spotify. - [GitHub - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. - [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). -- [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift +- [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift. - [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. - [Swift Style Guide by LinkedIn](https://github.com/linkedin/swift-style-guide) - LinkedIn's Official Swift Style Guide. @@ -3236,7 +3236,7 @@ Most of these are paid services, some have free tiers. - [Code with Chris](https://codewithchris.com/) - [Cocoa with Love](http://www.cocoawithlove.com/) - [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. -- [raywenderlich.com](https://www.raywenderlich.com/ios) - Tutorials for developers and gamers +- [raywenderlich.com](https://www.raywenderlich.com/ios) - Tutorials for developers and gamers. - [Mike Ash](https://www.mikeash.com/pyblog/) - [Big Nerd Ranch](https://www.bignerdranch.com/blog/category/ios/) - [Tuts+](https://code.tutsplus.com/categories/ios-sdk) @@ -3245,8 +3245,8 @@ Most of these are paid services, some have free tiers. - [Cocoa Dev Central](http://cocoadevcentral.com) - [Use Your Loaf](https://useyourloaf.com/) - [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) -- [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - :fire: All of the resources for Learning About Swift -- [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - ⭐ A List of Awesome Swift Playgrounds! +- [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift. +- [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - A List of Awesome Swift Playgrounds! - [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. - [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. - [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. @@ -3254,8 +3254,8 @@ Most of these are paid services, some have free tiers. - [Realm Academy](https://academy.realm.io/) - [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. - [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. -- [Conferences.digital](https://github.com/zagahr/Conferences.digital) - 👨‍💻 Watch conference videos in a native macOS app. -- [DaddyCoding](https://daddycoding.com/) - iOS Tutorials ranging from beginners to advance +- [Conferences.digital](https://github.com/zagahr/Conferences.digital) - Watch conference videos in a native macOS app. +- [DaddyCoding](https://daddycoding.com/) - iOS Tutorials ranging from beginners to advance. ### iOS UI Template - [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) @@ -3269,21 +3269,21 @@ Most of these are paid services, some have free tiers. - [Principle](https://principleformac.com/) ### Newsletters -- [AwesomeiOS Weekly](http://weekly.awesomeios.com) - AwesomeiOS Weekly -- [iOS Goodies](https://ios-goodies.com) - Weekly iOS newsletter -- [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week +- [AwesomeiOS Weekly](http://weekly.awesomeios.com) - AwesomeiOS Weekly. +- [iOS Goodies](https://ios-goodies.com) - Weekly iOS newsletter. +- [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week. - [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. -- [iOS Trivia Weekly](https://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday +- [iOS Trivia Weekly](https://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday. - [Indie iOS Focus Weekly](http://indieiosfocus.com/) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. - [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. -- [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday +- [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday. - [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) - [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. - [Swift Developments](https://andybargh.com/swiftdevelopments/) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. ### Medium -- [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone -- [Swift Programming](https://medium.com/swift-programming) - The Swift Programming Language +- [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone. +- [Swift Programming](https://medium.com/swift-programming) - The Swift Programming Language. - [Flawless App](https://medium.com/flawless-app-stories) - Development & design & marketing tips for iOS developers. ## Social Media @@ -3340,24 +3340,24 @@ Most of these are paid services, some have free tiers. *Other amazingly awesome lists can be found in the* - [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. -- [Open Source apps](https://github.com/dkhamsing/open-source-ios-apps) list of open source iOS apps +- [Open Source apps](https://github.com/dkhamsing/open-source-ios-apps) list of open source iOS apps. - Awesome-swift - [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. - [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. - - [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift + - [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift. - [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. - [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. - Awesome iOS Animation - [@ameizi](https://github.com/ameizi/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. - - [@jzau](https://github.com/jzau/awesome-ios-animation) - Collection of Animation projects + - [@jzau](https://github.com/jzau/awesome-ios-animation) - Collection of Animation projects. - [awesome-ios-chart](https://github.com/ameizi/awesome-ios-chart) - A curated list of awesome iOS chart libraries, including Objective-C and Swift. - [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). - [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. -- [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects +- [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects. - [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. -- [iOS-Playbook](https://github.com/bakkenbaeck/iOS-handbook) - Guidelines and best practices for excellent iOS apps +- [iOS-Playbook](https://github.com/bakkenbaeck/iOS-handbook) - Guidelines and best practices for excellent iOS apps. - [iOS-Learning-Materials](https://github.com/jVirus/iOS-Learning-Materials) - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS. -- [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts +- [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts. - [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. - [Awesome ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. - [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. @@ -3366,7 +3366,7 @@ Most of these are paid services, some have free tiers. - [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. - [Awesome list of open source applications for macOS](https://github.com/serhii-londar/open-source-mac-os-apps) - List of awesome open source applications for macOS. - [Awesome iOS Interview question list](https://github.com/dashvlas/awesome-ios-interview) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. -- [Top App Developers](https://github.com/app-developers/top) - A list of top iOS app developers +- [Top App Developers](https://github.com/app-developers/top) - A list of top iOS app developers. ## Contributing and License From a6828d6ed3dadd5d94e610dfffe891a150416d93 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 30 Oct 2019 21:05:51 -0300 Subject: [PATCH 2322/2606] remove facebook groups section --- README.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/README.md b/README.md index f816fa39d..d15270394 100644 --- a/README.md +++ b/README.md @@ -3294,15 +3294,6 @@ Most of these are paid services, some have free tiers. - [@CocoaPodsFeed](https://twitter.com/CocoaPodsFeed) - [@RubyMotion](https://twitter.com/RubyMotion) - -### Facebook Groups -- [HH iOS](https://www.facebook.com/groups/hhios/about/) -- [Sketch - Official group](https://www.facebook.com/groups/sketchformac/about/) -- [Design-Code](https://www.facebook.com/groups/designcode/about/) -- [Sketch-Design.io](https://www.facebook.com/groups/sketchdesignio/about/) -- [Origami Community](https://www.facebook.com/groups/origami.community/about/) -- [Framer JS](https://www.facebook.com/groups/framerjs/about/) - ## Podcasts - [The Ray Wenderlich Podcast](https://www.raywenderlich.com/podcast) - [Debug](https://www.imore.com/debug) From afa688b4ff22fa49e1d551dffa21788ae56b22ad Mon Sep 17 00:00:00 2001 From: Sergej Jaskiewicz Date: Thu, 31 Oct 2019 22:16:45 +0300 Subject: [PATCH 2323/2606] Add OpenCombine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d15270394..d949663a3 100644 --- a/README.md +++ b/README.md @@ -1579,6 +1579,7 @@ Most of these are paid services, some have free tiers. - [CwlSignal](https://github.com/mattgallagher/CwlSignal) A Swift framework for reactive programming. - [LightweightObservable](https://github.com/fxm90/LightweightObservable) - A lightweight implementation of an observable sequence that you can subscribe to. - [Bindy](https://github.com/MaximKotliar/Bindy) - Simple, lightweight swift bindings with KVO support and easy to read syntax. +- [OpenCombine](https://github.com/broadwaylamb/OpenCombine) — Open source implementation of Apple's Combine framework for processing values over time. ### React-Like - [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. From a7134c023cb477b978e309b848d64b67d4584bac Mon Sep 17 00:00:00 2001 From: Jorge Date: Mon, 25 Nov 2019 09:49:14 +0100 Subject: [PATCH 2324/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d949663a3..f501f60bb 100644 --- a/README.md +++ b/README.md @@ -489,6 +489,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [Crayon](https://github.com/luoxiu/Crayon) - Terminal string styling with expressive api and 256/TrueColor support. - [SwiftShell](https://github.com/kareman/SwiftShell) - A Swift framework for shell scripting and running shell commands. - [SourceDocs](https://github.com/eneko/SourceDocs) - Command Line Tool that generates Markdown documentation from inline source code comments. +- [ModuleInterface](https://github.com/minuscorp/ModuleInterface) - Command Line Tool that generates the Module's Interface from a Swift project. ## Concurrency From b3c2ae5819c98185b04d12ebc2f41698dbb41b09 Mon Sep 17 00:00:00 2001 From: Alexey Date: Thu, 28 Nov 2019 00:24:06 +0300 Subject: [PATCH 2325/2606] Add ViewInspector for SwiftUI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f501f60bb..e7bcf8452 100644 --- a/README.md +++ b/README.md @@ -1881,6 +1881,7 @@ Most of these are paid services, some have free tiers. - [Flawless App](https://flawlessapp.io/) - tool for visual quality check of mobile app in a real-time. It compares initial design with the actual implementation right inside iOS simulator. - [TouchVisualizer](https://github.com/morizotter/TouchVisualizer) - Lightweight touch visualization library in Swift. A single line of code and visualize your touches! - [UITestHelper](https://github.com/evermeer/UITestHelper) - UITest helper library for creating readable and maintainable tests. +- [ViewInspector](https://github.com/nalexn/ViewInspector) - Runtime inspection and unit testing of SwiftUI views ### Other Testing - [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. From 6e006742455be2dce40c217f8f7b44b1df15336d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20=C5=BDigis?= Date: Mon, 9 Dec 2019 19:03:49 +0200 Subject: [PATCH 2326/2606] Add CocoaTextField --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e7bcf8452..250d16ca3 100644 --- a/README.md +++ b/README.md @@ -2839,6 +2839,7 @@ Most of these are paid services, some have free tiers. - [ALTextInputBar](https://github.com/AlexLittlejohn/ALTextInputBar) - An auto growing text input bar for messaging apps. - [Tagging](https://github.com/k-lpmg/Tagging) - TextView that provides easy to use tagging feature for Mention or Hashtag. - [InputBarAccessoryView](https://github.com/nathantannar4/InputBarAccessoryView) - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments. +- [CocoaTextField](https://github.com/edgar-zigis/CocoaTextField) - UITextField created according to the Material.IO guidelines of 2019. ### UIPageControl - [PageControl](https://github.com/kasper-lahti/PageControl) - A nice, animated UIPageControl alternative. From 84e4864e89ede91469bb2534e50bde1eb728f0b5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 9 Dec 2019 22:16:41 -0300 Subject: [PATCH 2327/2606] Updated links --- README.md | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index e7bcf8452..dbaf45b85 100644 --- a/README.md +++ b/README.md @@ -273,7 +273,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS. - [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager with or without client-server. - [BrowserTV](https://github.com/zats/BrowserTV) - Turn your Apple TV into a dashboard displaying any webpage! -- [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/analytics-pros/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. +- [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/adswerve/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. - [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. - [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text - [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS @@ -471,7 +471,6 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). - [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. - [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. -- [Colorify](https://github.com/czater/Colorify) - Simple, yet powerful color library that includes latest and most trendy colors from 2017. - [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. - [Lorikeet](https://github.com/valdirunars/Lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation. - [Gestalt](https://github.com/regexident/Gestalt) - An unintrusive & light-weight iOS app-theming library with support for animated theme switching. @@ -932,7 +931,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [TinyConstraints](https://github.com/roberthein/TinyConstraints) - The syntactic sugar that makes Auto Layout sweeter for human use. - [MyLinearLayout](https://github.com/youngsoft/MyLinearLayout) - MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. - [SugarAnchor](https://github.com/ashikahmad/SugarAnchor) - Same native NSLayoutAnchor & NSLayoutConstraints; but with more natural and easy to read syntactic sugar. Typesafe, concise & readable. -- [Anchors](https://github.com/onmyway133/Anchors) - Declarative, extensible, powerful Auto Layout. +- [EasyAnchor](https://github.com/onmyway133/EasyAnchor) - Declarative, extensible, powerful Auto Layout. - [PinLayout](https://github.com/layoutBox/PinLayout) - Fast Swift Views layouting without auto layout. No magic, pure code, full control and blazing fast. Concise syntax, intuitive, readable & chainable. - [SnapLayout](https://github.com/sp71/SnapLayout) - Concise Auto Layout API to chain programmatic constraints while easily updating existing constraints. - [Cupcake](https://github.com/nerdycat/Cupcake) - An easy way to create and layout UI components for iOS. @@ -1330,7 +1329,6 @@ Also see [push notifications](#push-notifications) - [SWNetworking](https://github.com/isamankumara/skywite) - Powerful high-level iOS, macOS and tvOS networking library. from the creator of SWNetworking. - [Digger](https://github.com/cornerAnt/Digger) - Digger is a lightweight download framework that requires only one line of code to complete the file download task. - [Ciao](https://github.com/AlTavares/Ciao) - Publish and discover services using mDNS(Bonjour, Zeroconf). -- [PerfectAPIClient](https://github.com/jorik041/PerfectAPIClient) - An API Client based on a network abstraction layer for the Perfect Server-Side Swift Framework. - [Bamboots](https://github.com/mmoaay/Bamboots) - Bamboots is a network request framework based on Alamofire, aiming at making network request easier for business development. - [SolarNetwork](https://github.com/ThreeGayHub/SolarNetwork) - Elegant network abstraction layer in Swift. - [FGRoute](https://github.com/Feghal/FGRoute) - An easy-to-use library that helps developers to get wifi ssid, router and device ip addresses. @@ -1379,7 +1377,7 @@ Most of these are paid services, some have free tiers. - [Batch](https://batch.com) - [Boxcar](https://boxcar.io) - [Carnival](https://www.sailthru.com) -- [Catapush](http://www.catapush.com/) +- [Catapush](https://www.catapush.com/) - [Netmera](https://www.netmera.com/) - [OneSignal](https://onesignal.com) - Free. - [PushBots](https://pushbots.com/) @@ -1449,7 +1447,6 @@ Most of these are paid services, some have free tiers. - [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). - [NSTEasyJSON](https://github.com/bernikovich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). - [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. -- [MagicMapper](https://github.com/adrianmateoaea24/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. - [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. - [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). - [WAMapping](https://github.com/Wasappli/WAMapping) - A library to turn dictionary into object and vice versa for iOS. Designed for speed! @@ -1529,7 +1526,7 @@ Most of these are paid services, some have free tiers. - [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. - [PAPermissions](https://github.com/pascalbros/PAPermissions) - A unified API to ask for permissions on iOS. - [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. -- [SPPermission](https://github.com/IvanVorobei/SPPermission) - Request permissions with dialog. Check state any permissions. +- [SPPermissions](https://github.com/ivanvorobei/SPPermissions) - Ask permissions on Swift. Available List, Dialog & Native interface. Can check state permission. ## Products - [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. @@ -1612,7 +1609,7 @@ Most of these are paid services, some have free tiers. - [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. - [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. - [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. -- [Facebook Swift](https://github.com/facebook/facebook-swift-sdk) Integrate your iOS apps in Swift with Facebook Platform. +- [Facebook Swift](https://github.com/facebook/facebook-ios-sdk) Used to integrate the Facebook Platform with your iOS & tvOS apps. - [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS. - [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. - [Pocket](https://github.com/Pocket/Pocket-ObjC-SDK) SDK for saving stuff to Pocket. @@ -2006,7 +2003,7 @@ Most of these are paid services, some have free tiers. - [SwiftyUI](https://github.com/haoking/SwiftyUI) - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more. - [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. - [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. -- [DrawerKit](https://github.com/Babylonpartners/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. +- [DrawerKit](https://github.com/babylonhealth/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. - [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. - [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. - [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. @@ -2093,7 +2090,6 @@ Most of these are paid services, some have free tiers. - [Spring](https://github.com/MengTo/Spring) - A library to simplify iOS animations in Swift. - [Fluent](https://github.com/matthewcheok/Fluent) - Swift animation made easy. - [Cheetah](https://github.com/suguru/Cheetah) - Easy animation library on iOS. -- [RadialLayer](https://github.com/soheil/RadialLayer) - Animation for clickable elements (similar to Youtube Music). - [Pop By Example](https://github.com/hossamghareeb/Facebook-POP-Tutorial) - A project tutorial in how to use Pop animation framework by example. - [AppAnimations](http://www.appanimations.com) - Collection of iOS animations to inspire your next project. - [EasyAnimation](https://github.com/icanzilb/EasyAnimation) - A Swift library to take the power of UIView.animateWithDuration() to a whole new level - layers, springs, chain-able animations, and mixing view/layer animations together. @@ -2134,7 +2130,6 @@ Most of these are paid services, some have free tiers. - [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. - [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. - [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. -- [Overlap](https://github.com/ML-Works/Overlap) - Tiny iOS library to achieve overlap visual effect. - [anim](https://github.com/onurersel/anim) - An animation library for iOS with custom easings and easy to follow API. - [AnimatedCollectionViewLayout](https://github.com/KelvinJin/AnimatedCollectionViewLayout) - A UICollectionViewLayout subclass that adds custom transitions/animations to the UICollectionView. - [Dance](https://github.com/saoudrizwan/Dance) - A radical & elegant animation library built for iOS. @@ -2544,7 +2539,7 @@ Most of these are paid services, some have free tiers. - [RainyRefreshControl](https://github.com/Onix-Systems/RainyRefreshControl) - Simple refresh control for iOS inspired by [concept](https://dribbble.com/shots/2242263--1-Pull-to-refresh-Freebie-Weather-Concept). - [ESPullToRefresh](https://github.com/eggswift/pull-to-refresh) - Customisable pull-to-refresh, including nice animation on the top - [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. -- [KafkaRefresh](https://github.com/OpenFeyn/KafkaRefresh) - Highly scalable, custom, multi-style refresh framework. +- [KafkaRefresh](https://github.com/HsiaohuiHsiang/KafkaRefresh) - Animated, customizable, and flexible pull-to-refresh framework for faster and easier iOS development. ### Rating Stars - [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift @@ -3247,7 +3242,7 @@ Most of these are paid services, some have free tiers. - [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. - [Cocoa Dev Central](http://cocoadevcentral.com) - [Use Your Loaf](https://useyourloaf.com/) -- [Swift Tutorials by Jameson Quave](http://jamesonquave.com/blog/tutorials/) +- [Swift Tutorials by Jameson Quave](https://jamesonquave.com/blog/tutorials/) - [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift. - [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - A List of Awesome Swift Playgrounds! - [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. From 15b7c4afd6895424e5e48dff2aa3003e849e8f92 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 9 Dec 2019 22:38:33 -0300 Subject: [PATCH 2328/2606] Removed outdated libraries --- README.md | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/README.md b/README.md index e7bcf8452..7b288fd2d 100644 --- a/README.md +++ b/README.md @@ -1420,40 +1420,25 @@ Most of these are paid services, some have free tiers. - [ObjectMapper](https://github.com/tristanhimmelman/ObjectMapper) - A framework written in Swift that makes it easy for you to convert your Model objects (Classes and Structs) to and from JSON. - [JASON](https://github.com/delba/JASON) - JSON parsing with outstanding performances and convenient operators. - [Gloss](https://github.com/hkellaway/Gloss) - A shiny JSON parsing library in Swift. -- [Cereal](https://github.com/Weebly/Cereal) - Swift object serialization. - [SwiftyJSONAccelerator](https://github.com/insanoid/SwiftyJSONAccelerator) - Generate Swift 5 model files from JSON with Codeable support. -- [JSONCodable](https://github.com/matthewcheok/JSONCodable) - Hassle-free JSON encoding and decoding in Swift. -- [Tailor](https://github.com/zenangst/Tailor) - A super fast & convenient object mapper tailored for your needs. - [alexander](https://github.com/hodinkee/alexander) - An extremely simple JSON helper written in Swift. - [Freddy](https://github.com/bignerdranch/Freddy) - A reusable framework for parsing JSON in Swift. - [mapper](https://github.com/lyft/mapper) - A JSON deserialization library for Swift. -- [AlamofireJsonToObjects](https://github.com/evermeer/AlamofireJsonToObjects) - An Alamofire extension which converts JSON response data into swift objects using EVReflection. -- [Jay](https://github.com/endocrimes/Jay) - Pure-Swift JSON parser & formatter. Linux & macOS ready. -- [YYModel](https://github.com/ibireme/YYModel) - High performance model framework for iOS/macOS. - [Alembic](https://github.com/ra1028/Alembic) - Functional JSON parsing, mapping to objects, and serialize to JSON. -- [Wrap](https://github.com/JohnSundell/Wrap) - The easy to use Swift JSON encoder. - [Arrow 🏹](https://github.com/freshOS/Arrow) - Elegant JSON Parsing in Swift. -- [Decodable](https://github.com/Anviking/Decodable) - Swift 2/3 JSON parsing done (more) right. -- [Genome](https://github.com/LoganWright/Genome) - A simple, type safe, failure driven mapping library for serializing JSON to models in Swift 3.0 (Supports Linux). -- [Unbox](https://github.com/JohnSundell/Unbox) - The easy to use Swift JSON decoder. -- [JSONJoy-Swift](https://github.com/daltoniam/JSONJoy-Swift) - Convert JSON to Swift objects. -- [LazyObject](https://github.com/iwasrobbed/LazyObject) - Lazily deserialize JSON into strongly typed Swift objects. - [JSONExport](https://github.com/Ahmed-Ali/JSONExport) - JSONExport is a desktop application for macOS which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language. - [Elevate](https://github.com/Nike-Inc/Elevate) - Elevate is a JSON parsing framework that leverages Swift to make parsing simple, reliable and composable. - [MJExtension](https://github.com/CoderMJLee/MJExtension) - A fast, convenient and nonintrusive conversion between JSON and model. Your model class don't need to extend another base class. You don't need to modify any model file. - [AlamofireObjectMapper](https://github.com/tristanhimmelman/AlamofireObjectMapper) - An Alamofire extension which converts JSON response data into swift objects using ObjectMapper. -- [GuardedSwiftyJSON](https://github.com/wiggzz/GuardedSwiftyJSON) - An add-on to SwiftyJSON to make it easier to create failable initializers for data models. - [JAYSON](https://github.com/muukii/JAYSON) - Strict and Scalable JSON library. - [HandyJSON](https://github.com/alibaba/handyjson) - A handy swift JSON-object serialization/deserialization library for Swift. - [Marshal](https://github.com/utahiosmac/Marshal) - Marshaling the typeless wild west of [String: Any] (Protocol based). - [Motis](https://github.com/mobilejazz/Motis) - Easy JSON to NSObject mapping using Cocoa's key value coding (KVC). - [NSTEasyJSON](https://github.com/bernikovich/NSTEasyJSON) - The easiest way to deal with JSON data in Objective-C (similar to SwiftyJSON). - [Serpent](https://github.com/nodes-ios/Serpent) - A protocol to serialize Swift structs and classes for encoding and decoding. -- [MagicMapper](https://github.com/adrianmateoaea24/magic-mapper-swift) - :star2: Super light and easy automatic JSON to model mapper. - [FlatBuffersSwift](https://github.com/mzaks/FlatBuffersSwift) - This project brings FlatBuffers (an efficient cross platform serialization library) to Swift. - [CodableAlamofire](https://github.com/Otbivnoe/CodableAlamofire) - An extension for Alamofire that converts JSON data into Decodable objects (Swift 4). - [WAMapping](https://github.com/Wasappli/WAMapping) - A library to turn dictionary into object and vice versa for iOS. Designed for speed! -- [json-swift](https://github.com/owensd/json-swift) - A basic library for working with JSON in Swift. - [Himotoki](https://github.com/ikesyo/Himotoki) - A type-safe JSON decoding library purely written in Swift. - [PMHTTP](https://github.com/postmates/PMHTTP) - Swift/Obj-C HTTP framework with a focus on REST and JSON. - [NativeJSONMapper](https://github.com/DimaMishchenko/NativeJSONMapper) - Simple Swift 4 encoding & decoding. @@ -1465,7 +1450,6 @@ Most of these are paid services, some have free tiers. - [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. - [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. - [Ono](https://github.com/mattt/Ono) - A sensible way to deal with XML & HTML for iOS & macOS. -- [AlamofireXmlToObjects](https://github.com/evermeer/AlamofireXmlToObjects) - Fetch a XML feed and parse it into objects. - [Fuzi](https://github.com/cezheng/Fuzi) - A fast & lightweight XML & HTML parser in Swift with XPath & CSS support. - [Kanna](https://github.com/tid-kijyun/Kanna) - Kanna(鉋) is an XML/HTML parser for macOS/iOS. - [SwiftyXMLParser](https://github.com/yahoojapan/SwiftyXMLParser) - Simple XML Parser implemented in Swift. @@ -1480,8 +1464,6 @@ Most of these are paid services, some have free tiers. - [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift. - [Erik](https://github.com/phimage/Erik) - Erik is an headless browser based on WebKit. An headless browser allow to run functional tests, to access and manipulate webpages using javascript. - [URLEmbeddedView](https://github.com/marty-suzuki/URLEmbeddedView) - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card. -- [SwiftyConfiguration](https://github.com/ykyouhei/SwiftyConfiguration) - Modern Swift API for Plist. -- [JSONFeed](https://github.com/totocaster/JSONFeed) - Swift parser for JSON Feed, a format similar to RSS and Atom but in JSON. - [SwiftCssParser](https://github.com/100mango/SwiftCssParser) - A Powerful , Extensible CSS Parser written in pure Swift. - [RLPSwift](https://github.com/bitfwdcommunity/RLPSwift) - Recursive Length Prefix encoding written in Swift. - [AcknowledgementsPlist](https://github.com/cats-oss/AcknowledgementsPlist) - AcknowledgementsPlist manages the licenses of libraries that depend on your iOS app. @@ -1520,10 +1502,7 @@ Most of these are paid services, some have free tiers. ## Permissions - [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). -- [ICanHas](https://github.com/wircho/ICanHas) - Simplifies iOS user permission requests (Supports location, push notifications, camera, contacts, calendar, photos). -- [VWWPermissionKit](https://github.com/zakkhoyt/VWWPermissionKit) - A visual permission manager for iOS. - [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. -- [JLPermissions](https://github.com/jlaws/JLPermissions) - An iOS pre-permissions utility that lets developers ask users on their own dialog for calendar, contacts, location, photos, reminders, twitter, push notifications and more, before making the system-based permission request. - [ClusterPrePermissions](https://github.com/rsattar/ClusterPrePermissions) - Reusable pre-permissions utility that lets developers ask users for access in their own dialog, before making the system-based request. - [Permission](https://github.com/delba/Permission) - A unified API to ask for permissions on iOS. - [STLocationRequest](https://github.com/SvenTiigi/STLocationRequest) - A simple and elegant 3D-Flyover location request screen written Swift. From ada07c175f81b555515bd4062a695b0a3e530ab0 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Tue, 10 Dec 2019 23:44:01 -0300 Subject: [PATCH 2329/2606] Removed old/deprecated UI libraries --- README.md | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/README.md b/README.md index e7bcf8452..fb85d6d2f 100644 --- a/README.md +++ b/README.md @@ -1906,69 +1906,49 @@ Most of these are paid services, some have free tiers. - [iOS Snapshot Test Case](https://github.com/uber/ios-snapshot-test-case) — Snapshot test your UIViews and CALayers on iOS and tvOS. ## UI -- [FlatUIKit](https://github.com/Grouper/FlatUIKit) - A collection of awesome flat UI components for iOS. - [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. - [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. - [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. -- [SAHistoryNavigationViewController](https://github.com/marty-suzuki/SAHistoryNavigationViewController) - SAHistoryNavigationViewController realizes iOS task manager like UI in UINavigationContoller,3D Touch Compatible. - [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. -- [tapkulibrary](https://github.com/devinross/tapkulibrary) - tap + haiku = tapku, a well crafted open source iOS framework. - [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. - [ComponentKit](https://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. - [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. - [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift. -- [EXTView](https://github.com/recruit-mtl/EXTView) - Extended UIView for Interface Builder by using IB_DESIGNABLE and IBInspectable. - [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. - [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. - [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications. - [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - UIPageViewController like Snapchat/Tinder/iOS Main Pages. - [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. - [Pages](https://github.com/hyperoslo/Pages) - UIPageViewController made simple. -- [BothamUI](https://github.com/Karumi/BothamUI) - Model View Presenter Framework written in Swift. -- [APCustomBlurView](https://github.com/collinhundley/APCustomBlurView) - A subclass of UIVisualEffectView with customizable blur radius. - [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion. - [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - Showing status for switching between viewControllers. - [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - An iOS native implementation of a Trello Animated Navagation. - [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. -- [APAddressBook](https://github.com/Alterplay/APAddressBook) - Easy access to iOS address book. - [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. - [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library. - [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. - [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities. -- [PeekPop](https://github.com/marmelroy/PeekPop) - Backwards-compatible Peek and Pop. - [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift. -- [CoreDragon](https://github.com/nevyn/CoreDragon) - Stop using context menus. Drag and drop instead, even between apps! - [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face. -- [Fashion](https://github.com/vadymmarkov/Fashion) - Fashion accessories and beauty tools to share and reuse UI styles in a Swifty way. - [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. - [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. -- [Ripple](https://github.com/RamonGilabert/Ripple) - Remember there's no such thing as a small act of kindness. Every act creates a ripple with no logical end. -- [ScalePicker](https://github.com/kronik/ScalePicker) - Generic scale and a handy float-value picker for any iOS app. - [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. - [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux). -- [StateView](https://github.com/sahandnayebaziz/StateView) - Views that automatically update themselves. - [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. -- [ISTimeline](https://github.com/instant-solutions/ISTimeline) - Simple timeline view. -- [JFCardSelectionViewController](https://github.com/atljeremy/JFCardSelectionViewController) - A fancy collection style view controller. - [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. - [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views. - [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects. - [SwiftTheme](https://github.com/wxxsw/SwiftTheme) - Powerful theme/skin manager for iOS. - [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS. -- [YangMingShan](https://github.com/YahooArchive/YangMingShan) - YangMingShan is a collection of iOS UI components that we created while building Yahoo apps. -- [nui](https://github.com/tombenner/nui) - Style iOS apps with a stylesheet, similar to CSS. - [RedBeard](https://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. - [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. - [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. - [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. -- [StyleKit](https://github.com/146BC/StyleKit) - StyleKit is a microframework that enables you to style your applications using a simple JSON file. - [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. - [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views. -- [ASBubbleDrag](https://github.com/scamps88/ASBubbleDrag) - round icon drag control (made in swift) dock style. - [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. - [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. - [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background. -- [MRArticleViewController](https://github.com/mrigdon/MRArticleViewController) - Easily create UIViewControllers for news articles similar to those in the News app. - [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app. - [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect. - [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. @@ -1977,11 +1957,9 @@ Most of these are paid services, some have free tiers. - [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button. - [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards. - [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. -- [RKMultiUnitRuler](https://github.com/farshidce/RKMultiUnitRuler/) - Simple customizable ruler control that supports multiple units. - [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. - [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts. - [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. -- [PanelKit](https://github.com/louisdh/panelkit) - A UI framework that enables panels on iOS. - [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. - [Pageboy](https://github.com/uias/Pageboy) - A simple, highly informative page view controller. - [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - A customizable color picker for iOS in Swift. From bd7d0b8a42ffb22759617e717efcada731006b69 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 11 Dec 2019 16:48:35 -0300 Subject: [PATCH 2330/2606] Added Packer Pecker --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e7bcf8452..992984815 100644 --- a/README.md +++ b/README.md @@ -3072,6 +3072,7 @@ Most of these are paid services, some have free tiers. - [xavtool](https://github.com/gabrielrobert/xavtool) - Command-line utility to automatically increase iOS / Android applications version. - [Cutter](https://cutter.albemala.me/) - A tool to generate iOS Launch Images (Splash Screens) for all screen sizes starting from a single template. - [nef](https://github.com/bow-swift/nef) - A set of command line tools for Xcode Playground: lets you have compile-time verification of your documentation written as Xcode Playgrounds, generates markdown files, integration with Jekyll for building microsites and Carbon to export code snippets. +- [Pecker](https://github.com/woshiccm/Pecker) - CodePecker is a tool to detect unused code. ## Rapid Development From 08d1a2e35447e854d7f75c5f1aa458ef23266b6b Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Thu, 12 Dec 2019 23:48:10 -0300 Subject: [PATCH 2331/2606] Added PostalCodeValidator by @mattt (#2887) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e7bcf8452..7e833b326 100644 --- a/README.md +++ b/README.md @@ -1822,6 +1822,7 @@ Most of these are paid services, some have free tiers. - [fuse-swift](https://github.com/krisk/fuse-swift) - A lightweight fuzzy-search library, with zero dependencies. - [EFMarkdown](https://github.com/EFPrefix/EFMarkdown) - A lightweight Markdown library for iOS. - [Croc](https://github.com/jkalash/croc) - A lightweight Swift library for Emoji parsing and querying. +- [PostalCodeValidator](https://github.com/FormatterKit/PostalCodeValidator) - A validator for postal codes with support for 200+ regions. ### Font - [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. From a8f79b6d0327e0ad57f17d0742613b37e38571ee Mon Sep 17 00:00:00 2001 From: Seoksoon Jang Date: Fri, 13 Dec 2019 15:02:41 +0900 Subject: [PATCH 2332/2606] Add BSZoomGridScrollView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7e833b326..a025611f4 100644 --- a/README.md +++ b/README.md @@ -2568,6 +2568,7 @@ Most of these are paid services, some have free tiers. - [SlideController](https://github.com/touchlane/SlideController) - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types. - [CrownControl](https://github.com/huri000/CrownControl) - Inspired by the Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content without lifting your thumb. - [SegementSlide](https://github.com/Jiar/SegementSlide) - Multi-tier UIScrollView nested scrolling solution. +- [BSZoomGridScrollView](https://github.com/boraseoksoon/BSZoomGridScrollView) - iOS ScrollView UI library, designed primarily for SwiftUI, written in Swift that provides a grid style scroll view containing all your images array with the possibility to zoom, like the Apple Photos app, providing interoperability for UIKit. ### Segmented Control - [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. From 9df244bdeb71ae1131c5a16fad7c7934e6a78a55 Mon Sep 17 00:00:00 2001 From: leogdion Date: Fri, 13 Dec 2019 21:50:18 -0500 Subject: [PATCH 2333/2606] Added Speculid --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7e833b326..35887cac7 100644 --- a/README.md +++ b/README.md @@ -3073,6 +3073,7 @@ Most of these are paid services, some have free tiers. - [xavtool](https://github.com/gabrielrobert/xavtool) - Command-line utility to automatically increase iOS / Android applications version. - [Cutter](https://cutter.albemala.me/) - A tool to generate iOS Launch Images (Splash Screens) for all screen sizes starting from a single template. - [nef](https://github.com/bow-swift/nef) - A set of command line tools for Xcode Playground: lets you have compile-time verification of your documentation written as Xcode Playgrounds, generates markdown files, integration with Jekyll for building microsites and Carbon to export code snippets. +- [Speculid](https://speculid.com) - generate Image Sets and App Icons from SVG, PNG, and JPEG files ## Rapid Development From 800f11277e68536de0bf99d05bee85a7bf1e7079 Mon Sep 17 00:00:00 2001 From: Seoksoon Jang Date: Tue, 17 Dec 2019 05:20:06 +0900 Subject: [PATCH 2334/2606] FIX category change BSZoomGridScrollView from ScrollView to Image --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a025611f4..958d66d07 100644 --- a/README.md +++ b/README.md @@ -1196,6 +1196,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [Pixel](https://github.com/muukii/Pixel) - An image editor and engine using CoreImage. - [OnlyPictures](https://github.com/KiranJasvanee/OnlyPictures) - A simple and flexible way to add source of overlapping circular pictures. - [SFSafeSymbols](https://github.com/piknotech/SFSafeSymbols) - Safely access Apple's SF Symbols using static typing. +- [BSZoomGridScrollView](https://github.com/boraseoksoon/BSZoomGridScrollView) - iOS customizable grid style scrollView UI library to display your UIImage array input, designed primarily for SwiftUI as well as to interoperate with UIKit. ### Media Processing - [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift. @@ -2568,7 +2569,6 @@ Most of these are paid services, some have free tiers. - [SlideController](https://github.com/touchlane/SlideController) - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types. - [CrownControl](https://github.com/huri000/CrownControl) - Inspired by the Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content without lifting your thumb. - [SegementSlide](https://github.com/Jiar/SegementSlide) - Multi-tier UIScrollView nested scrolling solution. -- [BSZoomGridScrollView](https://github.com/boraseoksoon/BSZoomGridScrollView) - iOS ScrollView UI library, designed primarily for SwiftUI, written in Swift that provides a grid style scroll view containing all your images array with the possibility to zoom, like the Apple Photos app, providing interoperability for UIKit. ### Segmented Control - [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. From 4bb5e4dfe47dd3abe5516fe451e1d7c489837af7 Mon Sep 17 00:00:00 2001 From: Alex Belozierov Date: Fri, 20 Dec 2019 19:01:07 +0200 Subject: [PATCH 2335/2606] - add SwiftCoroutine --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35887cac7..4df80f056 100644 --- a/README.md +++ b/README.md @@ -509,6 +509,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [SwiftQueue](https://github.com/lucas34/SwiftQueue) - Job Scheduler with Concurrent run, failure/retry, persistence, repeat, delay and more. - [GroupWork](https://github.com/quanvo87/GroupWork) - Easy concurrent, asynchronous tasks in Swift. - [StickyLocking](https://github.com/stickytools/sticky-locking) - A general purpose embedded hierarchical lock manager used to build highly concurrent applications of all types. +- [SwiftCoroutine](https://github.com/belozierov/SwiftCoroutine) - Swift coroutines library for iOS and macOS. ## Core Data From 7977c166288332f10252bfd2712a7528caada0ea Mon Sep 17 00:00:00 2001 From: Behrad Kazemi Date: Mon, 23 Dec 2019 12:33:11 +0330 Subject: [PATCH 2336/2606] Update README.md [New Component] - New UITabbar Custom Component added to the Tab Bar Section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35887cac7..9baec3db8 100644 --- a/README.md +++ b/README.md @@ -2635,6 +2635,7 @@ Most of these are paid services, some have free tiers. - [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support. ### Tab Bar +- [BEKCurveTabbar](https://github.com/behrad-kzm/BEKCurveTabbar) - compatible with XCode +10 and fully customizable via Interface_Builder panel. BEKCurveTabBar derived UITabBar class and compatible with every iOS devices. - [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. - [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) - A gooey effect tabbar - [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. From 25410e5db55214cbb45bc14ed6c3d83d96f7fd8f Mon Sep 17 00:00:00 2001 From: AndyQ Date: Mon, 23 Dec 2019 10:40:56 +0000 Subject: [PATCH 2337/2606] Added NFCPassportReader --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35887cac7..9d5661c3c 100644 --- a/README.md +++ b/README.md @@ -895,6 +895,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [Device.swift](https://github.com/schickling/Device.swift) - Super-lightweight library to detect used device. - [SDVersion](https://github.com/sebyddd/SDVersion) - Lightweight Cocoa library for detecting the running device's model and screen size. - [Haptico](https://github.com/iSapozhnik/Haptico) - Easy to use haptic feedback generator with pattern-play support. +- [NFCPassportReader](https://github.com/AndyQ/NFCPassportReader) - Swift library to read an NFC enabled passport. Supports BAC, Secure Messaging, and both active and passive authentication. Requires iOS 13 or above. ## Layout From 0616eeeeadc25821b6b7b59db49172b93ee04842 Mon Sep 17 00:00:00 2001 From: shipinev Date: Mon, 30 Dec 2019 11:48:44 +0700 Subject: [PATCH 2338/2606] Add FloatingButton --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35887cac7..b612f7c82 100644 --- a/README.md +++ b/README.md @@ -2308,6 +2308,7 @@ Most of these are paid services, some have free tiers. - [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox) - Tasteful Checkbox for iOS. (Check box) - [ExpandableButton](https://github.com/DimaMishchenko/ExpandableButton) - Customizable and easy to use expandable button in Swift. - [TORoundedButton](https://github.com/TimOliver/TORoundedButton) - A high-performance button control with rounded corners. +- [FloatingButton](https://github.com/exyte/FloatingButton) - Easily customizable floating button menu created with SwiftUI. ### Calendar - [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). From 9097abc8812e980167e67684a9704b324ae99a0f Mon Sep 17 00:00:00 2001 From: Deepak JOSHI Date: Tue, 31 Dec 2019 09:37:36 +0530 Subject: [PATCH 2339/2606] Add AnimatedGradientView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35887cac7..1b3c508a4 100644 --- a/README.md +++ b/README.md @@ -794,6 +794,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [Rough](https://github.com/bakhtiyork/Rough) - lets you draw in a sketchy, hand-drawn-like, style. - [GraphLayout](https://github.com/bakhtiyork/GraphLayout) - UI controls for graph visualization. It is powered by Graphviz. - [Drawsana](https://github.com/Asana/Drawsana) - iOS framework for building raster drawing and image markup views. +- [AnimatedGradientView](https://github.com/rwbutler/AnimatedGradientView) - A simple framework to add animated gradients to your iOS app. ## Hardware From 2d2f5d6131afc18cfd03d748f0d9124c4457cfae Mon Sep 17 00:00:00 2001 From: Behrad Kazemi Date: Sat, 4 Jan 2020 01:03:55 +0330 Subject: [PATCH 2340/2606] Update README.md Added BEKMultiCellTable description to the tableViews section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9baec3db8..c6279bedf 100644 --- a/README.md +++ b/README.md @@ -2671,6 +2671,7 @@ Most of these are paid services, some have free tiers. - [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. - [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. - [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller https://holko.pl/2016/01/05/typed-table-view-controller/ +- [BEKMultiCellTable](https://github.com/behrad-kzm/BEKMultiCellTable) - A generic table view based on MVVM that allows you to add multiple cell types at runtime in a single line of code. - [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. - [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. - [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. From e487953bc064e067d3db25cf09ffe0319cdad8bb Mon Sep 17 00:00:00 2001 From: Lory Huz Date: Tue, 7 Jan 2020 17:05:50 +0100 Subject: [PATCH 2341/2606] Add CleanyModal --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35887cac7..a677d01be 100644 --- a/README.md +++ b/README.md @@ -2268,6 +2268,7 @@ Most of these are paid services, some have free tiers. - [CatAlertController](https://github.com/ImKcat/CatAlertController) - Use UIAlertController like a boss. - [Loaf](https://github.com/schmidyy/Loaf) - A simple framework for easy iOS Toasts. - [SPAlert](https://github.com/IvanVorobei/SPAlert) - Native popup from Apple Music & Feedback in AppStore. Contains Done & Heart presets. +- [CleanyModal](https://github.com/loryhuz/CleanyModal) - Use nice customized alerts and action sheets with ease, API is similar to native UIAlertController. ### Badge - [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From bd406a652c1da3a54a538442e8bc162138bb68f1 Mon Sep 17 00:00:00 2001 From: Kyle Wiltshire Date: Sat, 18 Jan 2020 15:43:36 -0500 Subject: [PATCH 2342/2606] Add Udemy iOS and Swift Bootcamp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 35887cac7..f2b4d6c2b 100644 --- a/README.md +++ b/README.md @@ -209,6 +209,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) - [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/) - [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners. +- [iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp](https://www.udemy.com/course/ios-13-app-development-bootcamp/) ## Accessibility From 629c345fa4201b3d49eaaa80b3e7f3c5e852140a Mon Sep 17 00:00:00 2001 From: Alexey Naumov Date: Fri, 24 Jan 2020 15:22:15 +0600 Subject: [PATCH 2343/2606] Add CleanArchitecture for SwiftUI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed471282b..5188fa895 100644 --- a/README.md +++ b/README.md @@ -297,6 +297,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [VIPER Module Generator](https://github.com/Kaakati/VIPER-Module-Generator) - A Clean VIPER Modules Generator with comments and predfined functions. - [MMVMi](https://github.com/Maryom/MMVMi) - A Validation Model for MVC and MVVM Design Patterns in iOS Applications. - [ios-architecture](https://github.com/tailec/ios-architecture) - A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others. +- [Clean Architecture for SwiftUI + Combine](https://github.com/nalexn/clean-architecture-swiftui) - A demo project showcasing the production setup of the SwiftUI app with Clean Architecture. ## ARKit From 3b488d24547b06b5d43f11563e72c6fcda3eb9ec Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Mon, 27 Jan 2020 19:47:25 -0300 Subject: [PATCH 2344/2606] Moved TKrubberIndicator to UIPageControl Fixes #2901 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3b8268fe4..f6c560b5e 100644 --- a/README.md +++ b/README.md @@ -1981,7 +1981,6 @@ Most of these are paid services, some have free tiers. ### Activity Indicator - [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. -- [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift. - [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations by using Swift CALayer. - [LiquidLoader](https://github.com/yoavlt/LiquidLoader) - Spinner loader components with liquid animation. - [iOS-CircleProgressView](https://github.com/CardinalNow/iOS-CircleProgressView) - This control will allow a user to use code instantiated or interface builder to create and render a circle progress view. @@ -2800,6 +2799,7 @@ Most of these are paid services, some have free tiers. - [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here. - [CHIPageControl](https://github.com/ChiliLabs/CHIPageControl) - A set of cool animated page controls to replace boring UIPageControl. - [Page-Control](https://github.com/sevruk-dev/page-control) - Beautiful, animated and highly customizable UIPageControl alternative. +- [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift. ### Web View - [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. From 6d9725f5487e677576ef0fd448b93ff0e4945d14 Mon Sep 17 00:00:00 2001 From: Behrad Kazemi Date: Tue, 28 Jan 2020 08:55:13 +0330 Subject: [PATCH 2345/2606] Update README.md [FIX] -Moved BEKCurveTabbar to end of the tab bars list. --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index c6279bedf..fd3cba659 100644 --- a/README.md +++ b/README.md @@ -2635,7 +2635,6 @@ Most of these are paid services, some have free tiers. - [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support. ### Tab Bar -- [BEKCurveTabbar](https://github.com/behrad-kzm/BEKCurveTabbar) - compatible with XCode +10 and fully customizable via Interface_Builder panel. BEKCurveTabBar derived UITabBar class and compatible with every iOS devices. - [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. - [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) - A gooey effect tabbar - [animated-tab-bar](https://github.com/Ramotion/animated-tab-bar) - RAMAnimatedTabBarController is a Swift module for adding animation to tabbar items. @@ -2662,7 +2661,7 @@ Most of these are paid services, some have free tiers. - [SSCustomTabMenu](https://github.com/simformsolutions/SSCustomTabMenu) Simple customizable iOS bottom menu with Tabbar. - [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. - [ExpandedTabBar](https://github.com/yervandsar/ExpandedTabBar) - Very creative designed solution for "more" items in UITabBarController - +- [BEKCurveTabbar](https://github.com/behrad-kzm/BEKCurveTabbar) - compatible with XCode +10 and fully customizable via Interface_Builder panel. BEKCurveTabBar derived UITabBar class and compatible with every iOS devices. ### Table View / Collection View @@ -2671,7 +2670,6 @@ Most of these are paid services, some have free tiers. - [MGSwipeTableCell](https://github.com/MortimerGoro/MGSwipeTableCell) - UITableViewCell subclass that allows to display swippable buttons with a variety of transitions. - [YXTPageView](https://github.com/hanton/YXTPageView) - A PageView, which supporting scrolling to transition between a UIView and a UITableView. - [ConfigurableTableViewController](https://github.com/fastred/ConfigurableTableViewController) - Typed, yet Flexible Table View Controller https://holko.pl/2016/01/05/typed-table-view-controller/ -- [BEKMultiCellTable](https://github.com/behrad-kzm/BEKMultiCellTable) - A generic table view based on MVVM that allows you to add multiple cell types at runtime in a single line of code. - [Lightning-Table](https://github.com/electrickangaroo/Lightning-Table) - A declarative api for working with UITableView. - [Static](https://github.com/venmo/Static) - Simple static table views for iOS in Swift. - [AMWaveTransition](https://github.com/andreamazz/AMWaveTransition) - Custom transition between viewcontrollers holding tableviews. From 0ac2eff582c90e6a9477f502ab71987119fe3479 Mon Sep 17 00:00:00 2001 From: Andrea Del Fante Date: Wed, 29 Jan 2020 22:50:14 +0100 Subject: [PATCH 2346/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b8268fe4..9317e545a 100644 --- a/README.md +++ b/README.md @@ -1882,6 +1882,7 @@ Most of these are paid services, some have free tiers. - [Mockingjay](https://github.com/kylef/Mockingjay) - An elegant library for stubbing HTTP requests with ease in Swift. - [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. - [iOS Snapshot Test Case](https://github.com/uber/ios-snapshot-test-case) — Snapshot test your UIViews and CALayers on iOS and tvOS. +- [DataFixture](https://github.com/andreadelfante/DataFixture) - Creation of data model easily, with no headache. ## UI - [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. From 7486f598476d78784fa6dab63bf5267ab9a52dd1 Mon Sep 17 00:00:00 2001 From: Serhii Londar Date: Thu, 30 Jan 2020 21:49:01 +0200 Subject: [PATCH 2347/2606] Add iOS CrowdinSDK. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b8268fe4..48c5214c8 100644 --- a/README.md +++ b/README.md @@ -967,6 +967,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings. - [L10n-swift](https://github.com/Decybel07/L10n-swift) - Localization of an application with ability to change language "on the fly" and support for plural forms in any language. - [Localize](https://github.com/andresilvagomez/Localize) - Easy tool to localize apps using JSON or Strings and of course IBDesignables with extensions for UI components. +- [CrowdinSDK](https://github.com/crowdin/mobile-sdk-ios) - Crowdin iOS SDK delivers all new translations from Crowdin project to the application immediately. ## Logging From 21fc09715761a85a5689463dc4b58b31d40f0d2c Mon Sep 17 00:00:00 2001 From: Tomasz Lewandowski Date: Fri, 31 Jan 2020 23:58:57 +0100 Subject: [PATCH 2348/2606] add Spy --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b8268fe4..e430123a8 100644 --- a/README.md +++ b/README.md @@ -1004,6 +1004,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [Reqres](https://github.com/AckeeCZ/Reqres) - Network request and response body logger with Alamofire support. - [TraceLog](https://github.com/tonystone/tracelog) - Dead Simple: logging the way it's meant to be! Runs on ios, osx, and Linux. - [OkLog](https://github.com/diegotl/OkLog-Swift) - A network logger for iOS and macOS projects. +- [Spy](https://github.com/appunite/Spy) - Lightweight, flexible, multiplatform (iOS, macOS, tvOS, watchOS, Linux) logging utility written in pure Swift that allows you to log on different levels and channels which you can define on your own depending on your needs. ## Machine Learning From 38a0086f00b648595da4b44e0f11e2bebdd4f001 Mon Sep 17 00:00:00 2001 From: Kaan Sariveli Date: Thu, 6 Feb 2020 16:32:42 +0400 Subject: [PATCH 2349/2606] add AutoMate --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ea8ab031..7338a462a 100644 --- a/README.md +++ b/README.md @@ -1862,6 +1862,7 @@ Most of these are paid services, some have free tiers. - [TouchVisualizer](https://github.com/morizotter/TouchVisualizer) - Lightweight touch visualization library in Swift. A single line of code and visualize your touches! - [UITestHelper](https://github.com/evermeer/UITestHelper) - UITest helper library for creating readable and maintainable tests. - [ViewInspector](https://github.com/nalexn/ViewInspector) - Runtime inspection and unit testing of SwiftUI views +- [AutoMate](https://github.com/PGSSoft/AutoMate) - XCTest extensions for writing UI automation tests. ### Other Testing - [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. From 71e4a6beada5a643fceb195fa22362deacf911cd Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 12 Feb 2020 15:30:05 -0300 Subject: [PATCH 2350/2606] Fixed links and removed deprecated libs --- README.md | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 071e99147..41c8e03f8 100644 --- a/README.md +++ b/README.md @@ -231,7 +231,6 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. - [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. - [Answers by Fabric](https://get.fabric.io) - Answers gives you real-time insight into people’s experience in your app. -- [GTrack](https://github.com/gemr/GTrack) - Lightweight Objective-C wrapper around the Google Analytics for iOS SDK with some extra goodies. - [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. - [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. - [MOCA Analytics](http://www.mocaplatform.com/features) - Paid cross-platform analytics backend. @@ -766,7 +765,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [Tactile](https://github.com/delba/Tactile) - A better way to handle gestures on iOS. - [SwiftyGestureRecognition](https://github.com/b3ll/SwiftyGestureRecognition) - Aids with prototyping UIGestureRecognizers in Xcode Playgrounds. - [DBPathRecognizer](https://github.com/didierbrun/DBPathRecognizer) - Gesture recognizer tool. -- [Sensitive](https://github.com/igormatyushkin014/Sensitive) - Fresh look at work with gestures in Swift. +- [Sensitive](https://github.com/hellowizman/Sensitive) - Special way to work with gestures in iOS. - [SplitViewDragAndDrop](https://github.com/MarioIannotta/SplitViewDragAndDrop) - Easily add drag and drop to pass data between your apps in split view mode. - [FDFullscreenPopGesture](https://github.com/forkingdog/FDFullscreenPopGesture) - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP. @@ -1230,7 +1229,6 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [LFLiveKit](https://github.com/LaiFengiOS/LFLiveKit) - H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate. - [Airstream](https://github.com/qasim/Airstream) - A framework for streaming audio between Apple devices using AirPlay. - [OTAcceleratorCore](https://github.com/opentok/accelerator-core-ios) - A painless way to integrate audio/video(screen sharing) to any iOS applications via Tokbox. -- [webrtc](https://webrtc.org/native-code/ios/) - Provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. ### Video - [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. @@ -1416,7 +1414,7 @@ Most of these are paid services, some have free tiers. - [CSV.swift](https://github.com/yaslab/CSV.swift) - CSV reading and writing library written in Swift. ### JSON -- [JSON-Framework](https://github.com/stig/json-framework) - This framework implements a strict JSON parser and generator in Objective-C. +- [SBJson](https://github.com/SBJson/SBJson) - This framework implements a strict JSON parser and generator in Objective-C. - [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. - [Groot](https://github.com/gonzalezreal/Groot) - Convert JSON dictionaries and arrays to and from Core Data managed objects. - [PropertyMapper](https://github.com/krzysztofzablocki/PropertyMapper) - Data mapping and validation with minimal amount of code. @@ -1571,7 +1569,6 @@ Most of these are paid services, some have free tiers. - [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. - [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. - [TemplateKit](https://github.com/mcudich/TemplateKit) - React-inspired framework for building component-based user interfaces in Swift. -- [Komponents 📦](https://github.com/freshOS/Komponents) - React-inspired UIKit Components. - [CoreEvents](https://github.com/surfstudio/CoreEvents) - Simple library with C#-like events. - [Tokamak](https://github.com/MaxDesiatov/Tokamak) - React-like framework providing a declarative API for building native UI components with easy to use one-way data binding. @@ -1597,7 +1594,6 @@ Most of these are paid services, some have free tiers. - [Spotify](https://github.com/spotify/ios-sdk) Spotify iOS SDK. - [SpotifyLogin](https://github.com/spotify/SpotifyLogin) Spotify SDK Login in Swift. - [Facebook](https://github.com/facebook/facebook-ios-sdk) Facebook iOS SDK. -- [Facebook Swift](https://github.com/facebook/facebook-ios-sdk) Used to integrate the Facebook Platform with your iOS & tvOS apps. - [Google Analytics](https://developers.google.com/analytics/devguides/collection/ios/v3/) Google Analytics SDK for iOS. - [Paypal iOS SDK](https://github.com/paypal/PayPal-iOS-SDK) The PayPal Mobile SDKs enable native apps to easily accept PayPal and credit card payments. - [Pocket](https://github.com/Pocket/Pocket-ObjC-SDK) SDK for saving stuff to Pocket. @@ -2094,7 +2090,6 @@ Most of these are paid services, some have free tiers. - [Twinkle](https://github.com/piemonte/Twinkle) - Swift and easy way to make elements in your iOS and tvOS app twinkle. - [MotionBlur](https://github.com/fastred/MotionBlur) - MotionBlur allows you to add motion blur effect to iOS animations. - [RippleEffectView](https://github.com/alsedi/RippleEffectView) - RippleEffectView - A Neat Rippling View Effect. -- [Keyframes](https://github.com/facebookincubator/Keyframes) - A library for converting Adobe AE shape based animations to a data format and play it back on Android and iOS devices. - [SwiftyAnimate](https://github.com/rchatham/SwiftyAnimate) - Composable animations in Swift. - [SamuraiTransition](https://github.com/hachinobu/SamuraiTransition) - Swift based library providing a collection of ViewController transitions featuring a number of neat “cutting” animations. - [Lottie](https://github.com/airbnb/lottie-ios) - An iOS library for a real time rendering of native vector animations from Adobe After Effects. @@ -2214,7 +2209,7 @@ Most of these are paid services, some have free tiers. - [PCLBlurEffectAlert](https://github.com/hryk224/PCLBlurEffectAlert) - Swift AlertController with UIVisualEffectView. - [JDropDownAlert](https://github.com/trilliwon/JDropDownAlert) - Multi dirction dropdown alert view. - [BulletinBoard](https://github.com/alexaubry/BulletinBoard) - Generate and Display Bottom Card Interfaces on iOS -- [CFNotify](https://github.com/hallelujahbaby/CFNotify) - A customizable framework to create draggable views. +- [CFNotify](https://github.com/JT501/CFNotify) - A customizable framework to create draggable views. - [StatusAlert](https://github.com/LowKostKustomz/StatusAlert) - Display Apple system-like self-hiding status alerts without interrupting user flow. - [Alerts & Pickers](https://github.com/dillidon/alerts-and-pickers) - Advanced usage of native UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView. - [RMessage](https://github.com/donileo/RMessage) - A crisp in-app notification/message banner built in ObjC. @@ -2235,7 +2230,6 @@ Most of these are paid services, some have free tiers. ### Badge - [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. - [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. [e] -- [Sheriff](https://github.com/gemr/Sheriff) - Add badges to anything. - [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift - [BadgeHub](https://github.com/jogendra/BadgeHub) - Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. @@ -2466,7 +2460,6 @@ Most of these are paid services, some have free tiers. - [SKCountryPicker](https://github.com/SURYAKANTSHARMA/CountryPicker) - A simple, customizable Country picker for picking country or dialing code. ### Popup -- [PopupKit](https://github.com/rynecheow/PopupKit) - A simple and flexible class for presenting custom views as a popup in iOS and tvOS, maintained from [KLCPopup](https://github.com/jmascia/KLCPopup). - [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. - [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. - [NMPopUpView](https://github.com/psy2k/NMPopUpView) - Simple iOS class for showing nice popup windows. Swift and Objective-C versions available. @@ -2990,7 +2983,6 @@ Most of these are paid services, some have free tiers. - [AVXCAssets-Generator](https://github.com/angelvasa/AVXCAssets-Generator) - AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click. - [Peek](https://github.com/shaps80/Peek) - Take a Peek at your application. - [SourceKitten](https://github.com/jpsim/SourceKitten) - An adorable little framework and command line tool for interacting with SourceKit. -- [Localizations](https://github.com/athiercelin/localizations) - macOS app that manages localizations of Xcode projects. - [xcbuild](https://github.com/facebook/xcbuild) - Xcode-compatible build tool. - [XcodeIssueGenerator](https://github.com/doubleencore/XcodeIssueGenerator) - An executable that can be placed in a Run Script Build Phase that marks comments like // TODO: or // SERIOUS: as warnings or errors so they display in the Xcode Issue Navigator. - [SwiftCompilationPerformanceReporter](https://github.com/TumblrArchive/SwiftCompilationPerformanceReporter) - Generate automated reports for slow Swift compilation paths in specific targets. @@ -3085,7 +3077,7 @@ Most of these are paid services, some have free tiers. - [watchbuild](https://github.com/fastlane/watchbuild) - Get a notification once your iTunes Connect build is finished processing. - [Crashlytics](https://firebase.google.com/products/crashlytics/) - A crash reporting and beta testing service. - [TestFlight Beta Testing](https://developer.apple.com/testflight/) - The beta testing service hosted on iTunes Connect (requires iOS 8 or later). -- [HockeyApp](https://www.hockeyapp.net) - With HockeyApp, you can distribute beta versions of your app, collect live crash reports, get feedback from users, and analyze test coverage. +- [AppCenter](https://appcenter.ms) - Continuously build, test, release, and monitor apps for every platform. - [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. - [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. - [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. From 633ed12bf00bcc6b1bffdea10ccbafade101b0c5 Mon Sep 17 00:00:00 2001 From: Lucas Farah Date: Wed, 12 Feb 2020 17:05:39 -0300 Subject: [PATCH 2351/2606] Added Diagnostics by @WeTransfer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 071e99147..8f5436520 100644 --- a/README.md +++ b/README.md @@ -1011,6 +1011,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [TraceLog](https://github.com/tonystone/tracelog) - Dead Simple: logging the way it's meant to be! Runs on ios, osx, and Linux. - [OkLog](https://github.com/diegotl/OkLog-Swift) - A network logger for iOS and macOS projects. - [Spy](https://github.com/appunite/Spy) - Lightweight, flexible, multiplatform (iOS, macOS, tvOS, watchOS, Linux) logging utility written in pure Swift that allows you to log on different levels and channels which you can define on your own depending on your needs. +- [Diagnostics](https://github.com/WeTransfer/Diagnostics) - Allow users to easily share Diagnostics with your support team to improve the flow of fixing bugs. ## Machine Learning From 5e7e08608452f9159f526bac19819993355cb383 Mon Sep 17 00:00:00 2001 From: Hai Kieu Date: Thu, 20 Feb 2020 00:02:04 -0800 Subject: [PATCH 2352/2606] Add Developer Disk Images to XCode section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 071e99147..7c3d8bb92 100644 --- a/README.md +++ b/README.md @@ -3151,6 +3151,7 @@ Most of these are paid services, some have free tiers. - [Xcode Keymap for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=stevemoser.xcode-keybindings) - This extension ports popular Xcode keyboard shortcuts to Visual Studio Code. - [Xcode Template Manager](https://github.com/Camji55/xtm) - Xcode Template Manager is a Swift command line tool that helps you manage your Xcode project templates. - [VIPER Module Template](https://github.com/EvsenevDev/VIPERModuleTemplate) - Xcode Template of VIPER Module which generates all layers of VIPER. +- [XCode Developer Disk Images](https://github.com/haikieu/xcode-developer-disk-image-all-platforms) - Xcode Developer Disk Images is needed when you want to put your build to the device, however sometimes your XCode is not updated with the latest Disk Images, you could find them here for convenience. ## Reference - [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. From efefb119ba53463f12f96a1f037de1a172bca847 Mon Sep 17 00:00:00 2001 From: Hai Kieu Date: Wed, 26 Feb 2020 18:04:08 -0800 Subject: [PATCH 2353/2606] Correct typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c3d8bb92..f964af16d 100644 --- a/README.md +++ b/README.md @@ -3151,7 +3151,7 @@ Most of these are paid services, some have free tiers. - [Xcode Keymap for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=stevemoser.xcode-keybindings) - This extension ports popular Xcode keyboard shortcuts to Visual Studio Code. - [Xcode Template Manager](https://github.com/Camji55/xtm) - Xcode Template Manager is a Swift command line tool that helps you manage your Xcode project templates. - [VIPER Module Template](https://github.com/EvsenevDev/VIPERModuleTemplate) - Xcode Template of VIPER Module which generates all layers of VIPER. -- [XCode Developer Disk Images](https://github.com/haikieu/xcode-developer-disk-image-all-platforms) - Xcode Developer Disk Images is needed when you want to put your build to the device, however sometimes your XCode is not updated with the latest Disk Images, you could find them here for convenience. +- [Xcode Developer Disk Images](https://github.com/haikieu/xcode-developer-disk-image-all-platforms) - Xcode Developer Disk Images is needed when you want to put your build to the device, however sometimes your Xcode is not updated with the latest Disk Images, you could find them here for convenience. ## Reference - [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. From b42dd69138f2382926f8569fd082224e7a591d06 Mon Sep 17 00:00:00 2001 From: Zsombor Szabo Date: Thu, 5 Mar 2020 09:29:50 +0200 Subject: [PATCH 2354/2606] Add BerkananSDK --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 071e99147..0a1ac76f5 100644 --- a/README.md +++ b/README.md @@ -818,6 +818,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [PeerConnectivity](https://github.com/rchatham/PeerConnectivity) - Functional wrapper for Apple's MultipeerConnectivity framework. - [AZPeerToPeerConnection](https://github.com/AfrozZaheer/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](https://github.com/dingwilson/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](https://github.com/zssz/BerkananSDK) - Mesh messaging SDK with the goal to create a decentralized mesh network for the people, powered by their device's Bluetooth antenna. ### Camera From 7988f33f1955648e2671d758fceafdace7cd1698 Mon Sep 17 00:00:00 2001 From: Robert Claypool Date: Sun, 8 Mar 2020 21:04:13 -0500 Subject: [PATCH 2355/2606] Add WhirlyGlobe-Maply * WhirlyGlobe-Maply is an open source 3D globe and flat-map SDK for iOS and Android. * It is stable, actively maintained, and has been used in production apps for years. * Its large API supports fine-grained control over the map or globe, and it works with several GIS data formats. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 071e99147..291aa51cb 100644 --- a/README.md +++ b/README.md @@ -1038,6 +1038,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [FlyoverKit](https://github.com/SvenTiigi/FlyoverKit) - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities. - [MapViewPlus](https://github.com/okhanokbay/MapViewPlus) - Use any custom view as custom callout view of your MKMapView with cool animations. Also, easily use any image as annotation view. - [MSFlightMapView](https://github.com/mabdulsubhan/MSFlightMapView) - Add and animate geodesic flights on Google map. +- [WhirlyGlobe-Maply](https://github.com/mousebird/WhirlyGlobe) - 3D globe and flat-map SDK for iOS. This toolkit has a large API for fine-grained control over the map or globe. It reads a wide variety of GIS data formats. ## Math From 282be3efbd4d19964943facbd273996a673568b1 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 9 Mar 2020 11:39:17 -0300 Subject: [PATCH 2356/2606] Remove LayerKit. Close #2929 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 4607d6cc7..52d80786e 100644 --- a/README.md +++ b/README.md @@ -1262,7 +1262,6 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par Also see [push notifications](#push-notifications) -- [LayerKit](https://github.com/layerhq/releases-ios) - iOS SDK for Layer, the easiest way to add in-app messaging (text, photos, videos, data) to any mobile or web application. - [XMPPFramework](https://github.com/robbiehanson/XMPPFramework) - An XMPP Framework in Objective-C for Mac and iOS. - [Chatto](https://github.com/badoo/Chatto) - A lightweight framework to build chat applications, made in Swift. - [MessageKit](https://github.com/MessageKit/MessageKit) - Eventually, a Swift re-write of JSQMessagesViewController. From 10ba852225137d1e95f7c8da36b44a2b0ff94d7a Mon Sep 17 00:00:00 2001 From: Yauheni Pakala Date: Thu, 12 Mar 2020 17:29:08 +0300 Subject: [PATCH 2357/2606] Add Xamarin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52d80786e..1e5bb93a5 100644 --- a/README.md +++ b/README.md @@ -353,6 +353,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. - [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews. - [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS. +- [Xamarin](http://xamarin.com) - Xamarin is a free, cross-platform, open-source platform that lets you quickly develop and test native iOS, watchOS and macOS applications for iPhone, iPad, Watch and Mac, all using the C# language. ## Cache From a3952fa4f08d9b6ea4d90b7a9262773919ef18d7 Mon Sep 17 00:00:00 2001 From: Thibault Wittemberg Date: Thu, 12 Mar 2020 16:48:11 -0400 Subject: [PATCH 2358/2606] readme: add Spin in 'Architecture patterns' --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52d80786e..1125f58ce 100644 --- a/README.md +++ b/README.md @@ -298,6 +298,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [MMVMi](https://github.com/Maryom/MMVMi) - A Validation Model for MVC and MVVM Design Patterns in iOS Applications. - [ios-architecture](https://github.com/tailec/ios-architecture) - A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others. - [Clean Architecture for SwiftUI + Combine](https://github.com/nalexn/clean-architecture-swiftui) - A demo project showcasing the production setup of the SwiftUI app with Clean Architecture. +- [Spin](https://github.com/Spinners/Spin.Swift) - A universal implementation of a Feedback Loop system for RxSwift, ReactiveSwift and Combine ## ARKit From e4e3b6bf6bd8873b957c7867ef22e04609baa347 Mon Sep 17 00:00:00 2001 From: shipinev Date: Tue, 24 Mar 2020 14:53:45 +0700 Subject: [PATCH 2359/2606] Add ActivityIndicatorView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5614aeb65..c1ebc43b5 100644 --- a/README.md +++ b/README.md @@ -2049,6 +2049,7 @@ Most of these are paid services, some have free tiers. - [MKProgress](https://github.com/kamirana4/MKProgress) - A lightweight ProgressHUD written in Swift. Looks similar to /MBProgressHUD/SVProgressHUD/KVNProgressHUD. - [RHPlaceholder](https://github.com/robertherdzik/RHPlaceholder) - Simple library which give you possibility to add Facebook like loading state for your views. - [IHProgressHUD](https://github.com/Swiftify-Corp/IHProgressHUD) - Simple HUD, thread safe, supports iOS, tvOS and App Extensions. +- [ActivityIndicatorView](https://github.com/exyte/ActivityIndicatorView) - A number of preset loading indicators created with SwiftUI. ### Animation - [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From 873fda5f41d7857577179c69d502ea1d07cce904 Mon Sep 17 00:00:00 2001 From: Robert Herdzik Date: Tue, 24 Mar 2020 18:04:45 +0100 Subject: [PATCH 2360/2606] Add Skryba MD Tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf33722b2..21008c1ed 100644 --- a/README.md +++ b/README.md @@ -2838,6 +2838,7 @@ CollectionView, make Instagram Discover within minutes. * [Transformer](https://github.com/andresinaka/transformer) - Easy Online Attributed String Creator. This tool lets you format a string directly in the browser and then copy/paste the attributed string code into your app. * [ProvisionQL](https://github.com/ealeksandrov/ProvisionQL) - Quick Look plugin for apps and provisioning profile files. * [xib2Storyboard](https://github.com/novemberfiveco/xib2Storyboard) - A tool to convert Xcode .xib to .storyboard files. +* [SkrybaMD](https://github.com/robertherdzik/SkrybaMD) - Markdown Documentation generator. If your team need easy way to maintain and create documentation, this generator is for you. ## Rapid Development From ad3f91321edd5b2c542ddd37fbd9e227c143e2a3 Mon Sep 17 00:00:00 2001 From: Sebastian Zimmeck Date: Tue, 24 Mar 2020 13:06:16 -0400 Subject: [PATCH 2361/2606] Adding PrivacyFlash Pro --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5614aeb65..f77786b11 100644 --- a/README.md +++ b/README.md @@ -2888,6 +2888,7 @@ Most of these are paid services, some have free tiers. ## User Consent - [SmartlookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. +- [PrivacyFlash Pro](https://github.com/privacy-tech-lab/privacyflash-pro) - Generate a privacy policy for your iOS app from its code ## VR - [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS. From c5f150e629721fabb32fc20b362251450a4235c0 Mon Sep 17 00:00:00 2001 From: Karim Ebrahem Date: Thu, 26 Mar 2020 03:15:52 +0200 Subject: [PATCH 2362/2606] Add SwiftyMenu to Awesome iOS list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5614aeb65..4b15530f1 100644 --- a/README.md +++ b/README.md @@ -2435,6 +2435,7 @@ Most of these are paid services, some have free tiers. - [UIMenuScroll](https://github.com/AlekseyPleshkov/UIMenuScroll) - Creating the horizontal swiping navigation how on Facebook Messenger. - [CircleBar](https://github.com/softhausHQ/CircleBar) - 🔶 A fun, easy-to-use tab bar navigation controller for iOS. - [SPLarkController](https://github.com/IvanVorobei/SPLarkController) - Settings screen with buttons and switches. +- [SwiftyMenu](https://github.com/KarimEbrahemAbdelaziz/SwiftyMenu) - A Simple and Elegant DropDown menu for iOS 🔥💥 ### Navigation Bar - [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls From 1a93249318f2950a0f1fdd73d8d90cdaf8df9e25 Mon Sep 17 00:00:00 2001 From: Simon Mitchell Date: Sat, 28 Mar 2020 18:17:32 +0000 Subject: [PATCH 2363/2606] Adds ReviewKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5614aeb65..d525ff8dc 100644 --- a/README.md +++ b/README.md @@ -2885,6 +2885,7 @@ Most of these are paid services, some have free tiers. * [Once](https://github.com/luoxiu/Once) - Minimalist library to manage one-off operations. * [ZamzamKit](https://github.com/ZamzamInc/ZamzamKit) - A collection of micro utilities and extensions for Standard Library, Foundation and UIKit. * [DuctTape](https://github.com/marty-suzuki/DuctTape) - KeyPath dynamicMemberLookup based syntax sugar for swift. + * [ReviewKit](https://github.com/simonmitchell/ReviewKit) - A framework which helps gatekeep review prompt requests – using SKStoreReviewController – to users who have had a good time using your app by logging positive and negative actions. ## User Consent - [SmartlookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. From 12f859658effff06bdf73c26140e12c2e9d71f22 Mon Sep 17 00:00:00 2001 From: Ryo Aoyama Date: Wed, 1 Apr 2020 01:44:42 +0900 Subject: [PATCH 2364/2606] Add Playbook tool for debugging category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5614aeb65..e78235b36 100644 --- a/README.md +++ b/README.md @@ -673,6 +673,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [Woodpecker](http://www.woodpeck.cn) - View sandbox files, UserDefaults, network request from Mac. - [LayoutInspector](https://github.com/isavynskyi/LayoutInspector) - Debug app layouts directly on iOS device: inspect layers in 3D and debug each visible view attributes. - [MTHawkeye](https://github.com/meitu/MTHawkeye) - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc. +- [Playbook](https://github.com/playbook-ui/playbook-ios) - A library for isolated developing UI components and automatically snapshots of them. ## EventBus From 7f8a486dc22fd78c66f1403728a6d16f49a1bb45 Mon Sep 17 00:00:00 2001 From: deeje Date: Wed, 1 Apr 2020 14:48:44 -0700 Subject: [PATCH 2365/2606] add CloudCore to Core Data section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5614aeb65..6c6c2a087 100644 --- a/README.md +++ b/README.md @@ -537,6 +537,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. - [Records](https://github.com/BowdusBrown/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. - [PredicateFlow](https://github.com/andreadelfante/PredicateFlow) - Write amazing, strong-typed and easy-to-read NSPredicate, allowing you to write flowable NSPredicate, without guessing attribution names, predicate operation or writing wrong arguments type. +- [CloudCore](https://github.com/deeje/CloudCore) - Robust CloudKit synchronization: offline editing, relationships, shared and public databases, field-level deltas, and more. ## Database From 5ac040163bdf281fb07d624268478c9db0b00d3a Mon Sep 17 00:00:00 2001 From: Alex Vim <55550211+projectvim@users.noreply.github.com> Date: Sat, 4 Apr 2020 05:37:22 +0200 Subject: [PATCH 2366/2606] Added: passlock/Vault, removed: deleted repo (#2932) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5614aeb65..b4f79f4a7 100644 --- a/README.md +++ b/README.md @@ -1674,9 +1674,9 @@ Most of these are paid services, some have free tiers. - [TOPasscodeViewController](https://github.com/timoliver/TOPasscodeViewController) - A modal passcode input and validation view controller for iOS. - [BiometricAuthentication](https://github.com/rushisangani/BiometricAuthentication) - Use Apple FaceID or TouchID authentication in your app using BiometricAuthentication. - [KKPinCodeTextField](https://github.com/kolesa-team/ios_pinCodeTextField) - A customizable verification code textField for phone verification codes, passwords etc. -- [🗄 Vault](https://github.com/umbri/Vault) - Simple and Secure container for passwords and other sensitive data. - [Virgil SWIFT PFS SDK](https://github.com/VirgilSecurity/virgil-sdk-pfs-x) - An SDK that allows developers to add the Perfect Forward Secrecy (PFS) technologies to their digital solutions to protect previously intercepted traffic from being decrypted even if the main Private Key is compromised. - [Virgil Security Objective-C/Swift SDK](https://github.com/VirgilSecurity/virgil-sdk-x) - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API. +- [Vault](https://github.com/passlock/Vault) - Safe place for your encryption keys. ### Encryption - [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From a574ee5cbc660a899d71799e6ee3df982158f970 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20S=C3=A1nchez-Dehesa?= Date: Wed, 8 Apr 2020 03:25:55 +0200 Subject: [PATCH 2367/2606] Add CodableCSV (#2934) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b4f79f4a7..4649b72b5 100644 --- a/README.md +++ b/README.md @@ -1416,6 +1416,7 @@ Most of these are paid services, some have free tiers. ### CSV - [CSwiftV](https://github.com/Daniel1of1/CSwiftV) - A csv parser written in swift conforming to rfc4180. - [CSV.swift](https://github.com/yaslab/CSV.swift) - CSV reading and writing library written in Swift. +- [CodableCSV](https://github.com/dehesa/CodableCSV) - Read and write CSV files row-by-row & field-by-field or through Swift's Codable interface. ### JSON - [SBJson](https://github.com/SBJson/SBJson) - This framework implements a strict JSON parser and generator in Objective-C. From 8e8199c1504aea2ea7402fcb553af332feeae3a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20Rup=C3=A9rez?= Date: Fri, 10 Apr 2020 18:49:27 +0200 Subject: [PATCH 2368/2606] Add SecurePropertyStorage --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4649b72b5..4a4584c19 100644 --- a/README.md +++ b/README.md @@ -1678,6 +1678,7 @@ Most of these are paid services, some have free tiers. - [Virgil SWIFT PFS SDK](https://github.com/VirgilSecurity/virgil-sdk-pfs-x) - An SDK that allows developers to add the Perfect Forward Secrecy (PFS) technologies to their digital solutions to protect previously intercepted traffic from being decrypted even if the main Private Key is compromised. - [Virgil Security Objective-C/Swift SDK](https://github.com/VirgilSecurity/virgil-sdk-x) - An SDK which allows developers to add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more using Virgil API. - [Vault](https://github.com/passlock/Vault) - Safe place for your encryption keys. +- [SecurePropertyStorage](https://github.com/alexruperez/SecurePropertyStorage) - Helps you define secure storages for your properties using Swift property wrappers. ### Encryption - [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. From a728fd79113e0ce91be28b39f6958c2db1d81bf1 Mon Sep 17 00:00:00 2001 From: jjjkkkjjj Date: Mon, 13 Apr 2020 18:07:06 +0900 Subject: [PATCH 2369/2606] add Matft --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 40c1e11a0..db61fe27f 100644 --- a/README.md +++ b/README.md @@ -1060,6 +1060,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [Expression](https://github.com/nicklockwood/Expression) - A Mac and iOS library for evaluating numeric expressions at runtime. - [Metron](https://github.com/toineheuvelmans/Metron) - Metron is a comprehensive collection of geometric functions and types that extend the 2D geometric primitives provided by CoreGraphics. - [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library. +- [Matft](https://github.com/jjjkkkjjj/Matft) - Matft is Numpy-like library in Swift. Matft allows us to handle n-dimensional array easily in Swift. ## Media From be8d3d72257e0261c90321fa949a99c4871318b7 Mon Sep 17 00:00:00 2001 From: Christoph Wendt Date: Sat, 18 Apr 2020 22:59:46 +0200 Subject: [PATCH 2370/2606] Add SheetyColors --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f076f4a0a..fe94fdc61 100644 --- a/README.md +++ b/README.md @@ -477,6 +477,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. - [Lorikeet](https://github.com/valdirunars/Lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation. - [Gestalt](https://github.com/regexident/Gestalt) - An unintrusive & light-weight iOS app-theming library with support for animated theme switching. +- [SheetyColors](https://github.com/chrs1885/SheetyColors) - An action sheet styled color picker for iOS. ## Command Line From cde413700422c631608d8ecd331aaa924acf249c Mon Sep 17 00:00:00 2001 From: Rizwan Ahmed Date: Sun, 19 Apr 2020 13:53:16 +0530 Subject: [PATCH 2371/2606] Added a swift resource under News, Blogs and more --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c3ad677c2..c5f135f0c 100644 --- a/README.md +++ b/README.md @@ -3201,6 +3201,8 @@ Most of these are paid services, some have free tiers. - [Code Facebook](https://engineering.fb.com/category/ios/) - [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. - [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. +- [Ohmyswift](https://www.ohmyswift.com/blog) + ### UIKit references - [iOS Fonts](http://iosfonts.com/) From 969796b6c740240b7a6b40f0d2f23952df0bd007 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 20 Apr 2020 23:22:22 -0300 Subject: [PATCH 2372/2606] update sponsorship section --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c3ad677c2..eabcb3e2e 100644 --- a/README.md +++ b/README.md @@ -24,10 +24,9 @@ -## Meet the New Instabug: Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users +## Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users [![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/awesome_ios_instabug.png)](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=photo) -> Instabug helps development and product teams easily collect bugs and feedback from beta testers and customers to iterate faster and ship quality apps. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. -Mobile teams accelerate their workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk and much more. [Instabug is offering awesome-ios community an exclusive 15% discount on all paid plans. Get Started!](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=learn-more) +> The SDK that gives development and product teams all the logs they need to fix bugs, crashes, and other issues in minutes instead of days. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. It only takes a line of code to integrate and accelerate your workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk and much more. Instabug is offering exclusively to awesome-ios community a 3 months free trial. Get Started Now!" [try.instabug.com/awesome-ios](https://try.instabug.com/awesome-ios) [![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) ### Content From 0dacf349fdc9f7f69889e534921332ef26017657 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 20 Apr 2020 23:23:34 -0300 Subject: [PATCH 2373/2606] fix text in sponsorship section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eabcb3e2e..5588ea6ff 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ ## Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users [![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/awesome_ios_instabug.png)](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=photo) -> The SDK that gives development and product teams all the logs they need to fix bugs, crashes, and other issues in minutes instead of days. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. It only takes a line of code to integrate and accelerate your workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk and much more. Instabug is offering exclusively to awesome-ios community a 3 months free trial. Get Started Now!" [try.instabug.com/awesome-ios](https://try.instabug.com/awesome-ios) +> The SDK that gives development and product teams all the logs they need to fix bugs, crashes, and other issues in minutes instead of days. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. It only takes a line of code to integrate and accelerate your workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk and much more. Instabug is offering exclusively to awesome-ios community a 3 months free trial. [Get Started Now!](https://try.instabug.com/awesome-ios) [![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) ### Content From 7a80d96ce15984358f5d9906fa7ba5f34755d1c0 Mon Sep 17 00:00:00 2001 From: Behrad Kazemi Date: Thu, 23 Apr 2020 23:02:43 +0430 Subject: [PATCH 2374/2606] Added New DataBase Component Added QuickDB component to the DataBase section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4649b72b5..959b7cc9c 100644 --- a/README.md +++ b/README.md @@ -590,6 +590,7 @@ Mobile teams accelerate their workflows by seamlessly integrating with third-par - [MongoKitten](https://github.com/OpenKitten/MongoKitten) - A pure Swift MongoDB client implementation with support for embedded databases. - [SecureDefaults](https://github.com/vpeschenkov/SecureDefaults) - A lightweight wrapper over UserDefaults/NSUserDefaults with an extra AES-256 encryption layer. - [Unrealm](https://github.com/arturdev/Unrealm) - Unrealm enables you to easily store Swift native Classes, Structs and Enums into Realm. +- [QuickDB](https://github.com/behrad-kzm/QuickDB) - Save and Retrieve any `Codable` in JUST ONE line of code + more easy usecases. ## Data Structures / Algorithms From 28a02c92c817241e3a8e2867ff73164afddf41f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cihat=20G=C3=BCnd=C3=BCz?= Date: Sat, 25 Apr 2020 10:40:08 +0200 Subject: [PATCH 2375/2606] Add AnyLint to Linter section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 897b5ba70..f54cb17fd 100644 --- a/README.md +++ b/README.md @@ -454,6 +454,7 @@ - [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. - [IBLinter](https://github.com/IBDecodable/IBLinter) - A linter tool for Interface Builder. - [SwiftLinter](https://github.com/muyexi/SwiftLinter) - Share lint rules between projects and lint changed files with SwiftLint. +- [AnyLint](https://github.com/Flinesoft/AnyLint) - Lint anything by combining the power of Swift & regular expressions. ## Color From c7857800cca4fa23e661c73aca55f59d135e25d8 Mon Sep 17 00:00:00 2001 From: Nghia Tran Date: Wed, 29 Apr 2020 16:14:12 +0700 Subject: [PATCH 2376/2606] Add CodeMirror Swift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f54cb17fd..b7ea38fdc 100644 --- a/README.md +++ b/README.md @@ -1813,6 +1813,7 @@ Most of these are paid services, some have free tiers. - [EFMarkdown](https://github.com/EFPrefix/EFMarkdown) - A lightweight Markdown library for iOS. - [Croc](https://github.com/jkalash/croc) - A lightweight Swift library for Emoji parsing and querying. - [PostalCodeValidator](https://github.com/FormatterKit/PostalCodeValidator) - A validator for postal codes with support for 200+ regions. +- [CodeMirror Swift](https://github.com/ProxymanApp/CodeMirror-Swift) - A lightweight wrapper of CodeMirror for macOS and iOS. Support Syntax Highlighting & Themes. ### Font - [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. From c4071c01b5895602fd90c9ebf802459fba6a6084 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 30 Apr 2020 12:55:34 -0300 Subject: [PATCH 2377/2606] upload sponsor_banner file --- sponsor_banner.gif | Bin 0 -> 883451 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 sponsor_banner.gif diff --git a/sponsor_banner.gif b/sponsor_banner.gif new file mode 100644 index 0000000000000000000000000000000000000000..a374a5f18b9172faf56baf2df9a2f26fb66a562e GIT binary patch literal 883451 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%0AQS=PKdX|T@h?yP`Q-AjQwIBJ_`U}V?C2ti;Pf%H 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%0AYNo*Wj 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

I=S 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

bdy?Gc$T0 zEQpZ=3fc~dEqIUsXZqN}oa`9=P}09P#6Kgz02LbEgCa|AprCofyJpe5KiMDucH{rf zBcQ3L{K0vd)!A{G*CHnB=CI{;BfX^wJD}ZXGsMRh6n3*v{}>W+?Yo#T+(tprR|l>J z?(q3kuZLrcgB!(rxW*-Zinjk5cZ#K8Y$3z2fpKxqO~>elAM}_VpDH`}Ry&9j1-8KX zNr)$$%xkEGPb){3>jq>z>SU60dinG8?d<~ z@L*D{X+6o^E!wLviRb_)TYwN)aBwBxBexi3rQ~cj`gdkwDdPeq7KwC2=>v&zCUOz{ zt!_Pnai&$_{~RLc6P%PNUATXyp!Vc-T!Q-=7p4M+w}Y}ZHONROTRhBuKUEq8{=MP@4kNp<)i5#2w+!K|DcKww z$xjOvY$b9e4HzlIuwR4aSc`HHQ^`>nB2^RhQ?^uB6nKv>`_-B|)bdh|k7O%nr#2T# zIF$q&5dk0PzEgM zy?e!2Cy(HH?ruUUodRD6)PySr$~6zN*v>|3m%MjZJ5Qk-$W`2aNYgQP|LS*CPzz{m zqw>8Ln99BMk#oG*_oDYwaS4b7@ri_u>bSL^K2HmLI5p#o81?fkeX@%R9yW;RGTQn4c8|aYMPV0Qa_iQntE_GWa!nxp0l5FqG;JvzFH;h|{2g zy$=M3c0}-X)v6egHX>ceTTIxHowC>%R+xSEcgzlB^}$ z>7AyUGC9gWxHr8J^mXh@0I38dy4&vZx`C1segxJJ6~xo5X6PISu(Mj5oXGvDFH)W^ zdN0&ssqicn!Q)XVdYowaTG@^Z54OYuj%PQ6h@gM<5^#|Q-(SV+IO}*m5CtC0h^>n8 zppTwX2UiOG(qbD(r8u9e!WdjWC3~~uTW$E`1R$`Er>RYEHux!do1~7~y&!GTCgPt) z$xG`t2I3=jkqWx(k{prptYQh2HYSPyy@Dr04jxzGBz}{vS@JBtFg6c43M5Wq%%fB? ztw0i5jvyZe@UZtyC2i-;(c1-niW0YUO8ltXa!kY#b^r_m6}@Qm_i)+W)D{CeY+Qt? zx^09)$^IZY!rk>}_>bP(S`9 z12$bPUJL^)iBK*)`-iRjw*JO5YVF5G>U5FNu!|5^EDVMR_j%C&=*K7YOJGXKZpT6c z<>#PJ-S30cbS0`7@Fc{1H+x^z8^4|_zhCU;!%l;J*A2uOwxN)D(7{%v%pcOmfjS!Z zB6LB-+|D<>o8j+K?@jVKU6dkvqR(D?U`I1TS~KBUiN9`f7UX@MYM7qFq?~gqibX^I z``#ESgwB27YPcqkp7ywdZi^vhy|r$=MdbK}eDb7qzcz<6$om|Bf{K6&wH|AIZ>-ca=0}oLy+GDi}V)qMTGbht&UlnyMJ+;?oGPMYE^g z1algU5Vy*Lahg7u=~e6Y9F1@=mbF$J?7BT7SV>~k2B-9ZB+KKIin7jlG8fhg z8|(f5c!bEU6&3YHK@>ybtghp%1DLXf5$Xj;xJ`8v?-jRJh&{if0fi0$a8kRp^JN2r zu-)UEzML(1t z2cWm@qj6~#Sn$qaC1xNL*)kGR8EsE9BoV;!udYM_3uwFnsh~Rh-1$7YDZ<{glg&yV z8Box%C&e~EyA9$gUGWcJ@ytP@QQ&uL)4jNP3ltgEWKAySlPi1%f7_{gz_ewHl~aqa zJ2Dvmw#-n6uZ}LfTyeAG%pxhfvf2g=gm^f7xQq9p zzK791)tHtBUlA=gymrqA51@o8?mY*g*b`Sv6a_c7U7pVdDuP^zz|I=K9Hxw68(_x5 z+>dvoJ;|o*7Xf>{h0|RvoPett*=qr!MS&9DFj$7c7+X4C2oHHYStoJ<+;~7hw%wyz zU{a(iFdWQm0HPp053;o}+nxIj8yfN6M9G6`OyGicAQmjF@pGHu8()?|@$PwmkF*nc zExK3y$k~qW8#%RL#Blt7 z$23zTwS^p*ZjEz1w_2^PFcWYIiyRMcewKNA!ur2OSxTN5(M3SXPTCG+g$FNEBhm9& z|IW&TxK@(iLOBhbd*#`wh!7SGwDn-){xFc^y@Rv8wLu>sM`{6A(urLLbwzQ9P= z0Y=EJQMS(~TV*=B;nn{=8oBa_Sp)={U;P+QL1{QvAX>uYIv4O%?d zs3fCEqjrP5OWm=c=Ti^e#VIT?moPF^DXL?3?Fhzi5Du(Ckichm(jEx~eA&?N#zIcg zS8imLvXe@_UwKB;zxeDW?`dC=nuvquzP>@R<;*=wQrqI?}DLM{fgA1K`U1(JKJ#anLY4xF(0p=Ei-ECYH!y0A>=Lj7EC( zuW~PtS^}4*?X&Z<|GXs z(%G#KAIm>|-CdhJtUnokbAGllbv*d*JD7@da*h@kyV}yKGI_k+4?}Y@32iIIH3-Nl zAlVG6iK1%kwVLv|O2%o|Fc5>nWMGt8<%TSPlitydMUfq4WWz}OD-?njj{+){$^Z)n zWY8t^kz->9zoOxy93d{8RZr8oP|Mvi zl?$n!5kfqYnQ;QiExv}LT#*pqlw;g}JTW6dTPoK&OuMfD6QG)=vdKmdtME%_xBB4( zeEN#h*M)X68<5id9c}6RH2}gzgYQa%7xxI+JLapfkL0+W^!;1w+ArEa;=jM_tlfP8 z{$6c$`%vhEe$4A;W8K(GyM|1uBLIStW0Ih(l3{VN&`l_kb=fosHxX&OK zcX^ljm<(xVvBT^PcHDrmJv{>np{OoBg>nnGW9FWnL)B^e^z1I^IFuEru`n`qvS|A- z1FV!!He56)%mMxwBQvl7n>{0E*W1Xx!bJ;^76DasmEp4xC@jf_pX6kO$Er|7OJS_^ zzgXUaF!K^C|fd6 zWV_gV7r#0ngh`_35p9Y70fG3AP@~s1R=XunE?0RU6-5r=f2JCIeGU!>?`Ss|sD7*E05)bdw0;(PptnM8Ewzv6hZ zM4!JnTTc7-^Z0w3gW`or```Zm482ZnzDc`p_mg=k|26ggZ~QFT$T7M{hroL@iZMbY zb)eE9-QYm!aCGBHX-7zdfJiAiNA8>v+=e{53ysrDYo)-cN zxb;>zLBluMo4P<3AP6Cgoj|^=%Vao%XRHljt|LWW8_=xe@;mA$J`PHQh#w#sSTUT2 z3UPeVchalRgNUqTZ4iV6G8q?7P%5D@KQeeL1SSi}JEx?9Fxnz}1ehRmA5-h;l%SuS zX60vJSDAtAghfs=0F|GV8I>i1SAcTx!aZvHz{g1^gT?c&U%_*<`_?`HV+CapWSYkH|^sjW` z0mnO@(UacOn;b>Z7;1mxuBcn0jNpgQTM8#htn7aME__;9si9u4K}!g?Xes~^Yl&wp zDL?-p05jKyk40AK0aE(_0&WC;Ffte?M6X+uz!$M+QUan3;~q*;L6EzS(9PH(E{DJb zYe5`HrxwVP5(UB;``j)Z*uYT~1q+4jCK+ta zE3ET`z#Z7s+RR78Im?m;f3(~wAwRmW_(7xXV8})EPxwRceV(>|ejLSBFpr<^qrx|u zzO_Hgbsus^n*2beo7X+MrK}J?zTZ32K`yli;h%*^zZ1B^5fg`yA943idlYot+YzT-lO z3@(P9hNpj-k3bz3!e>Pt8C^7Sw-b2>#_Ne-Zc;4z6bgnO%(9pr?4V+c0Jd5h9O+qG zsYwDRLj$x+J@?*W;)Ea)qDbo&xeyLfA}b;WK#&f&vMV^zfi$!|iXvY zf)JEqi$7A;e9220495m;^oA_K5#sGOa5f>ssl2lo>f9<2dyaRLv!nQ7>4k zMvuZ9$_boFdo<3l08aGVTioQg5w3W8pYVh)!)?2va5nvxQizsUgxN3tfpp%gtt-r0 z<7Czl{1-pT_Exi(J|zMbvln^wS57&%=En-4h+y9@c@6SnYEgu^G9N;0@$)@Zy@nJSR?<7Zg9m^x z!sg*{J3=3-&uC}>644|ov$$f`BCTkz+p|H)=a#bms5|`d7s)^p8Ezv(gw7?Rkq4@P zCHu|B&0sj2j3YBzlLGxC#>?7>G0?TyyC5&AZwd@BMalr6M#d6VW+IsJIDga)kU~OD zv1h0we7Wc2?36G}W1^OW!*?Hi=EZ=~lnM&+=m75G$$@Rr*Qm-`OoBc(Ba3AlUq>{M&GXPjZwfHS%4T`8LtED zfOFT@T_%^p!Br~|=jI6b;PVK-Yvpij8uQh_PxUC`E)=4v8-3XF?!qNS+VZ<-$IO!N zV5+SgA9+BpohdDrwVmy+J0M5Fi=zlZ!w8T%nEo%sF$EIH4;CN+VU~^zy!VuqG`JaV zX}1Q%DxHGP;JKwSAaU&ZQ;f^Cr?Tv1L5sJMitN{=NnlpIk<9@UZLaZtN0e&{G3j~BWb4FJWN>jB05BvtGngHG z%$Kd6oE*%CfP{hcQVQ}>%T%)@4Q~dt$s`V3vk>ys9a}YTmztDR{{yLj!yVr^wGXT% zv?~XPP}3DiXjV!v+L1lb-9i`@yufphj|Q*VVYuWked!YjqWLz={1{=bnP5*L8ULxV#N6O`*NHFg$vdSU9p zQO*RgDZu=83*aWh%mJ_h7IND?I0OszB!T(d*}FPGkQS&R7FY}+df_A9)q;05qH9{S ztf*OgI}F}^pzvUD;(DTq^gT3*@XhkJfip;!0C)LNQudASZ$8XNGcQPkK$kYyNnmFT z2;mhRMFDxz09&d6gH?#KHkflX$efh5)qR@fK?RBO0zt&&XDz%C3IjJDB)N!mA%ShM zFx?i=6SzlU2k2aai*h$ond+==S>}e*vM1*V-(f)FA%-|L4x11?S(q?DGSVO)ayts* z09hQw%!AQB5F$$gYt4GB)EDO9^g-aZ5 zb329848hsQwj)EKj`1nroVtZ9?o1m_3RhT4fEc0UVxeqBY!@oNho#K0eqB6lpS`G* zu_U!8rKXxc&&YePu9n03)V8*V>9QFor%qVp+0d*j-lcJNdsO>ZQw^9yUHZBThEME@31H!nj*uF%ob^*E0wbSt z%=m2nwgwiCAn1I~)9AqYdpY?d2oNEZy9-!)vLEsJEIYa#$&Uf(m{?9K%uSl*`vQHz z!}b%oK(7&IOU>#q4;5uF6c2Hr!M(z{l$EliY5MfRUPt$q5l3Ll9#hA|3b z9W`1&IeW|@z-?Akj!GwwZ!L$OI9iaL!w?9_;UU6!KhPOSvUZ%XBXASml9c0SjdirE zHVh)1f>~+w>8LeW`7S6JSgDAc4uByDcQ>Wzj$4EfB?x(3NRN^kg>!=}6$`TX%wi*9 zIL{Z7&7E~&OSGDrv#9$ca0Qh2CdMP`IGs3x3`Vtmq?UXn1^bfDaftOi{mvRpf#2e- zD5GY(Oo6+eMF`D+OZMFl0U(GJ9717j<$Er0+!NhWus_74f-7VMc`splYI!{-f2KFQ zX6cG}_WXBYsS5+DD>;gYNaIa^EN54PdOmJlkeM26@~qyw5AMRiTs_k3I?SSSk{)5ncM5b%Q94P>+ghpAmyiRJ!#RfdM=MidTo{Um*yo`EP}QW>bARdY$xKa%t_s3axkG*Oru3gkknh$7H2 z!7vCWaEk!fAp^pM$|x+fC#JW^`eSZ6tPZo&i8uz!ncd5asQi z^*sp?4!E?}9*zUY2PPX@Vqkht!9;n@x0hmeaf)Gy4bgr}}-2q4quR4PJ6V+{d z&%Th6XPw&ZGIlG#VC3Ev%Jq1Pl$Sra5?Af=sb><)T@i?n#xp2ALg1@dEm2lYSi&7a zex;is$=%2)DLH0cq(ft{LY{5FM{nK;}}saKEWjPV+`=Ku}oHJ%0;<%YMb#Eh~={uy+LlO z3=1h-4{Klckuja39{apiM^so_;8nR*qOQ8MB9w8@CMm$Jn5t|n1Zm&eSuVzs@#etp zt(MSi6l$ihbvn8Qlxgc{XCULBAaD3}e{no_M_h-<)NP~($Trf-dk4n1EaJ4{jKG3#`i>W5 zDXPxGO1QF1EuF-Rj7+6q5jWio+t_N}@^25Zn{8eXBU2uI2Ga zfLeYeJ2t0&LkI<4`6KxFf)nRA@uHZ>NGj~ERZ`dJcyFl5p5ueOAHr~UzX(1T?z^x+ zRYVEpjR*^ng6nB^6ueOi|5b8|9>_uSXRKF~(`I}ag#V@O=c3npa`smyN_yTrR)Lt3 zXS^sZal~i8>sTL?cok4*@ zsuS^EnVp}#kel0;=l9ARuK)(G7KeIt|7CVRQO36-7bd+Z8|M@t9amVa|4D=)r~Wij zO$qNAS1CbPz)#elj|yCWIK|N1(kHmaU`a?#GYfgAyd$hzto-xsxitW9dUo}>gEcES z9dh~6DwzEzv$jHeW%BcX_Fe%BqG!g%_Bi)C+b`5lfrUsgcLBaY6`-+fu@?hsY#uMA zN?Os%J#Y&KC7?4{$TfOk|)&%*pr2w2n&ql1x>5oN} zxMq{(Uao;S90#ATls~HIGgAhfJ})}=xx9&qG^Cx64*UEt)BAX)#@o*u+R6`>2MY*H2lz%Sf~Kvn-!l z6`W0`AZ@cwH@rouQ3S3OCk8J{oq535Oc{WY1yDG8E^cFY?ZxNI8x!I0y3bBBTb8pv zG^=}znT@P^PoaEKnVPuZx7SbHE$V(Vzy!o)%HN583z`6imyoQ@daLQYrB-!8)a&-n zyL*Md&cDC8QqSKo^?r7YMQsgm5q-HFxnFrNMWXC;UqSKjjk(tcZIqYDKi=HGGFW)a z*`;alhA}41?mtTI{zfyfO)~_v7o}>ql4dN%7eazll66A>WkCiHke8S8 z>qO=hF9ryNA($nKMP(I&^h!zGQ&xWK@4+DGRcWdq=z$hI+)Ft+gPu(1-Ig6l1qtbQ zjbg|}&s6zV(hW!wDJa%@XD^A4R`DzMF}kUOhHX`&Il`9`% z#36Pn1Cz0rSkw^(eKHfwm(rokzg2aCWO}bmn9eyaT-upK%-TWjmz`O>PD*f_cwEdF zTmh=t5XNw00UkU}EYJ>tkMnt{1D^FfxC!4SWg>47i-jFp?pe6`;+0xE_2APRCw~T? zNL&XAn0Gv{VAe~6vz*(NSQwU;et=mTMPVx0fO2JJ5;5Th4{briZE|HH=`#v7iTmlw z49q#yv}f(P5@2SDEZ=h71UB5UYkda$j@zmO8p)<)-u9ze@^N|_IkukVaNhmX7tAze z#q{NizmM|+Ca6*Os*c9~!aULU%2WwS7$FmqnTRQouB{5WwvhE1a8|Ld1`}AFiyU?X z%#h!YlynfE4EkTE#CBUGX+w6z4dL{VHbqhhkBPn%=le=`Q zYDj!Olb%w~$<}{;Be{Ki<|U#)w&A$}3WCFg6r(0=v3m_6B;h$MvuQ$~JQxfZ3NAIc zq57fX%zY_0LFbj8O(2B;u*yOK6K3UCJ9>0Aom$G zQ8UAE-1sHfN5sXmdpPfEx}**@OyG;?09VbfM77XWwQ_s+9&5E7xB`*X=P|?j)U4fk zJsa+9_vmT9O(i4ORT1zw+{SY^3v(;-A<(jcvLpgJ{b{*Udsd%gE3DdZtF1BFUM=fV zMv=YWxm@giX8H4v397XURsReqvlH+oO=>D&Zr z%AoYu!Go&gncJF>??uWQXZ|b(Rc0DHh={X!4@+-k1!qXR^`ZT2agTL0gQM%!EC5eyF@x;-T2Ua$5jKY6v#S!tw^ymo9KaoNpEFFqbV&);!Aos7#$kY|14QAL$PkYUR#1NZa#G{x^ z{x}Ed^LR18p?F{n^t62bqL%2ko;#>XtJAJ*Fn3jsMDShjVE-<#j5`g^+DPQDHOkh~ zq{5aY^$pNCfLnh!ZQ4*9#E!)QkwNm=6w})>CgsaAbLHVIShb@-OE5uR7cm?#xt%n{nJjrR{<2rJa%Rg9Nl2e8qZ#G0ZpMms z(o4`~6upJ1g$2Y(D`K(y^0oRR6$Wfr@%<)kD3R{Uhb!;u3Q4_9DI$>*9SSRa;?0w! zRO!j0>(`h@#2&`7PivZwyF{mQFli0GzF*d*BYwdt>2fB_%dwBg@`jS`67Te#LhUi$ zuQC@KMQhmXD@~jnQwCC=UXdFCpBhCDR`okH6L9~XEpPoKV{&WTLtF(jrAlpF zNT4qXhrNMfgu8@VVp4nBI04?mkHs`s0~JDGLP`rGhutsq15GRlSxW(g40QE*1Bl^c zIhT40%ntdtYE^S_{Qd^4;`*FmH|EE%sM-`g&VCf(T)XIEs-ZL(#U^jZCOs{v%~xYy zcy#kNc-|*nH&RC#)a3-;8z}c7$0VSu-jlbdr7KZN&sAN&+$&q4g6w*jueeD<{xfY%HH~BfeNgsXN9KG4lN?3oqq|bLpO zWy`eP9Xa6F^)=%I>95P}e3?&%8_#ILx!HAz^InT9-udtqG4{vHUf{9pg%rN?SHwdN zodetnHZ6QZZ33D`*IOWZRZc_QfBB1ym~uKUA4m#?1Q_)>m$z?+KW!NDMXp66l^<+= zfAP{}j+qXXP)x@=e=orCxRP(;F>+9bW)l&;_~&hr2A*Dv3FAMUaBub6Ijpi@L8*K< z6`y{tN0VX}Y)GfI$n)cAt-IA~;WpR7E~1c11Lk~p531ajJK`AvN3V5ed)NihbK1%f zxHuGJ5ezniua#v&i7rNWGf(YhOK z-07*)vwcRnbd=-C865k6e~r}G&T6+`t7n&KI+{nFn=jUWs{+lu`kr|KcR+q{%9NfOau#{lRajZmfDd|1Nj3RrRI+oQbh;~EoTMb zXZa1&n8#K#EAK`)SmLv(HY~BRuvTXlP+#xk8kU0gIAtS#oxU*ZL(4d#YDMeg%CyU5 zyI)B;*+*<`QcnU48<@uv&n!!79y`0Kk%Bp5w@QDeU{4%G_4UPaD=!|rVm6@x= z|3niwFma&IzI~IeYuQI7_vijJ?w*6;1m*{Q_2bTY2A-(C*HulbUc!L>(-zZGL}u`6 zUdqrfQ|fuyF0)Nb!*cop8w{#c$Hsd4&JBsyGsk7C6!xpy`4868GUCcgOVoj zB*#-8e}m!bmGT-+1!^@zX#MPbA;88=2})6SYLVgiT(lfLB|muIYIv-JPd*)r!Sr!8 zx1?y52y!a?Ac)*&JK|pW&4^%0_{diN=as65q6Df-?w#;oEoPA){SVV@n{P3U{ctdO zb!!aHt^Q{{hecW-^c1W%N$kc;{gi8s^Kf2|($zbiUHLA;7-u7-&229c#VF1Z(TW{6 zi>@DxwEFC%;&}UWj-rlBq%*w}ml)kY46I5ji6q%E>IS};7nH#IzJGxIRCDiB5^6Oyr6hJ@c%5|B`6;9^u>OzS`Yk?MiU454UmH3(@8F8r~^C1wDAZ1U0@x^fG zlJ!pml(5-%$IT?Y9234!?xD0<+!OK0AwD;F*f=KSpJ=E*A%u(pJT0#fKDot7b6dGP z(JfuLZFtGNzE}DAf+UIIJUlbu;{69<%8m&}kE}_Wq2-|xMV1n$A>O`MTrQpjoy(Q) zWd~CFwc``nJObgLR5^g@z@E_f5i5~Xb`!~2_0v!3yX=hQ81;|+T*4}HL7Uc#23)%* z=`%7)mD5_i5YAOPR^W$Xg=EGCogL7cdDz9Cdjn0_GK}cVIN{A$Mfe|vp5EWk%v`rJ zJP}X91l<2+K-yGdER)O-2J!D2+-laog+ltD8VLWjB4sC&+&maU94&|Q(tX9f0zb!p zVYdzu&+ZuJ?D&*q=VZ?w196k)aQKmw=fu^jEvcGkYLdn8mW(BNNM;4WRAR4I-9d7J z&tB8^RcZrmP=k1$V;2<}#OI7TIvLHg_PO6Hr$tF{r0x?gE-T0R zxL$g(!1RC$d&dEmOSBWrix{qz7cMM3BWh?qY6x8@EaEGwSX5V`p5~h?6?rOoRCX6d z-6#+mEgJiA3te5%dn5fFyx6bq02zOUeiL>wV(G^61buZ!L-;OD}8!wR{cieE6VMlVD8qC&;^3Z*5T z!JS)nZW@|4m4n2x&71Z+by56T-pV+Kji2Q6d;z5&kSZia!`Rd0@pV4GD!=dz$zHrR zh@z)LxUJKJ=I;ivjS1RX-?N-zRUPDA?q>EqdugdV+C5Yv2?t)^5^)J-xl>hwX~_-C zEppT5=N`y^_dueo^;Q}6UJ5pHi2!qbkLJFPb1|ycq_T2dVSe19aCI+u+z~<1F4hbv zyKUp6KrWCAU_hBYvN$J>=K-#ypn1J3WydO&dm@TJ4ed4!9pMdKOP(g4hT=x)#nzR7 zA7QBv1Ygu(Ws*7M1GonGEmnqz&WzyouNK_mjfXsssNQ;LxSlI7dw9k9Nr+xhL&=Xa{2x2V0Ha*8=&jdO_=fIodq>63<^t<{`H@Nhl4SfB^;QV7ElSMtXk$WUy<0KoIm&TJJQXyBp^e{-A!_6!(KtB-+Pgr^El} ziS^2m!=E7s-+pc8JCa7(@!<{GxlPy7<5ho)2ozrO*kNTBCENT7Y|?5#ClrG6Z*>&+ zKj+bnHGW}w25tMR+9tTPWqUYee9*B`qp^56LvS?v{ODQRh{Uv^;Df>Qa>WJR>X@+M zC}<7WUjHt^MnZmsbWp!}rmyCF!})<>HD-B*nvup|!?oi|R#T-{p7LK_%Il0MR5cz2 znLq20AAc1&J|b9T(lzvSWjrU~m7MoL{-VC2pax`P)I}$?Q>9veJLW}6zho_fUu0Ur4DQK&YWMJ8DMUw9*m4NP|wOe3Fa6PX&OdN z=rpBv|FCH?OH~}Mmlrddi7S~fZ1Q}(L~U=JZ9bS3*?l{pll{G?+1civ!uzh*e+F(I z&NTB|E7s5WUzopZKQD2C)n}kVa_NO$#x1F+LfwPW65kn7n_ipO9YMy~mQlqnZWY^h zGs@o=>JNtPdxs52rmxD(XZbxZw0#;Bu}D5RRgb#RS5iD9={H|nx}Sn(3*9#LxG#5^cr;eVxz8Oncg|c~;m&tx<}b zjhD9^{%zS`B=38?v9Mbqv5epFdpG3Vz1I7-RP`-?VdVAIC3thX3Z9{)Xg$4gm7uV7 z<=+S5izgkUOTy*zf1VCr6<(7Z0W_(xFRRwhI7L!;+RB^W3G}XfPEy(8jw}+6EEbNe zn-!RE;mXgPoHkwg*!#-cPJYc}jJ)wB|Bj*80$J+%I?4^^UEN9)t7#=BXTP+VYH(yW$oYLA@08==ZhYx z)U#I?_%kNei{AXS`yi~HlZq8-ys&fXb?UuoRXdF{X7d;Y44X|WpD-iJQ6UhaA^yFO=^wYj#Rxg@W& zDRGF5s5-`reErV#d9RtBJ9_7neM9KFDZ|1sMWI5Oc=lxa%OdN6lJU3G5*vLBN>uV$ z+N9;2nz$~h^rif2XWExbc3=Nq7Gc4GmAPB{G8)^eo#e}fagRS^%f1<8a4JE>YmMK| zj!&juqTc_r+#AC?uK2a+ih)1UA z7+qv1rIYRGlhM5j)k%?m-||aD{%yRAS7}%flRJ6Qv|;^nboJF&Yt2C^R+=dj=4ukM z;pM{bs~cWyeSJ_wRCHW?TvSwWa&SsgLS~$ba(1?^GFY$xlv8X;*IEUw?7={EQd(M4 z?ETF8+WPA1jD-4z>e}>c#0sojZB8tQk>T7T9dzNHsSs<=(YWnox#pCVXfnUG>{QdVoD#Gm3+FKVd0qT()BQ50v zNhoon5`)%?p)_6<@0F2Om!2yVvue6`Nlv3q;uq@WRdsRn?7EFALcMY_{kqCg`$E`< z?NKLxi@Sw*k8L`W-F4@T3?l3lW^Zw@FP4!! znaH9*>sX-coe0$Tr_=(cO&E2KF@zU3tsQ*$T?8QkEacvN|5GV0PC`#+otS9XrJcxU zWUzk4A%<(t)kA{Phmwz#L?X+^>F`>#D?kzY{`I>^bh!4G=so@o4LjBE0YBaoG(UYO zlQOWpOy<8lj4j! zs4k+x2c0qAFK}(QqN}laeS8d!n7A?v^=*?}qoXeEYdfvdvN%&6OH0EjA_<xz8eVPw~89x?<$bU=qVX7~?K7v3SkZ`de z(P?n}^Ka*%5DA(GmpM;1O+Ky5VRRa9Y4=+mL1FZ9l2mAu!GVVo35RJ>ssY1%LU&O( zA&lz2Py4uhvN-EE=d_PP%uu^o49iMP)77u}zYpPs_KzF_G_$E6pG?h}U7=VKIjrHY zno$pxiNfv%s$P*6ba!z{pNE(Dk9?3ADwb2a1b3!8r%DvZuj>e(7W#Vis-e~QLj}ru*-C2& zzuIl*lvT?}zFpA}`N__-JS_G1T8PyHHz465`$K_Qw`wMjvff#`_%8uuV!W@SLIB88 zz|h)s&Tp=Fx+KcmjPO(cUQzE!#W?S%ojI-+%SL9CMvp|ws-;Ogj!)vYo9pk{x0;fQ z7Axx^jHzU}#z-G)I7v%ZJGBL&^VFirl>0Gw`HedkT$SMH4|M5hP#RQ7bA@#%AnDA`gg0aNm~rZK8I;{bGpY`^s>>8#U)qjTjx zZhsQn`r>H=3^Ag^ErrVGwg#u_E)Wsx;8@WS)|3p$>m7P|S{P=Nb#(+M@ZrH_DR8D_ z5GV1J{GH1IW}f`pQwO+;1(1U^#t%70dF(%-LrZaBexG?bD^c~^kn_1!vOUXZhRgqH zSF?THO%zaf?7b-=K~nL=0s9(YqhJhV)teh~H?;WNSaYJ0Nt~$h5ABTjLG#G~b7RlN zac`T?MGNCnF|(hm?%l;Vwm8h{=vPFS0EIH zi2)~drhEhdSjG6AW5k5ly;2^G)F9&wl8yh)Yc4)QLuKufRQ)|QZX3qtfT+@!RI#!0 zp=8KNC~^e-UGISutpb9rE21V4**(YUsOeE7Kg|JA6kT*A3>f2pnJcP}#Q)CT>crt^ zMci@DZ^F5iT)ycG8f7&Y{jOJk{VFZCfWSMm^3H+5c%h$v&RdLWR2(6mMc|gManOCo z+=3;7BpgfU4D`{GQ+SQ%d1Xo$a8LvZR?gbWrf~e>(%IAb?(DE{_y$j8F*F6=8+4-o zuyq_2oYZMfBE`r==$H0@6(SPub~1#UzH2Y(!@=;&GgZo$ zY?>d|EO53k=Cst63;sk=d9?uKL#=Q8O$8WkI1)JsxJD377|HLRJnQ~d5{)JDoW~~- z006ovK=CvRKxniZJ_*UFxvPOohPM+<1swt4lUe#WcNZI49K?Viyy?7nw;--7&imoB zA&qd|%%m-Yi{!I|S7xsOv+1pwA>;3bEvtmZ1mDPW=czw6tLNHc&Wo6&f!GY3{7px2 zh)lD!v8NUQTRsS8okiqN@3_Ac;B4Xb3xA3nfYuwIzWyS1CvUi-XaF&PGtxvXfC<=HHeWC9j~6r=^Lvb#Qaqsvu}@mI_2`e)|4X zT+4k*g_SLmO3WYE;GiAh&(gN!bAguyB^K;4zp`0t9ht0Uuzfg;KAQ=Jb=|T2wmxQ! z+ihN%856&^k)9w*=|q_t=-$>OB!$f~K?U(dMg$2IeQ45LP1!KEc)esqdH}Nhc5?r( z+@zE5`hAeQcc7@EGi;Ynv z047HUV}Hk$v*sTeon;cy@H{;`!G{-NxG`qEC$9>K9`laA6f?7cKCq;Y;h^vf#0>Bf zlc50^ED?i$ogm1ki%9xS`~1fA_7qEi)&SSo9;=QJj$=zb1dvlP#=rNv>nHYI*Orsm zB}AUqWr=~rh<%CGhA zS>B((ggnv7B&Y3MOJ-&5xx&bf?*ncqj8>M$bUe+oFC>-weAq#QWDR0bHzwFtGRe@9 zmLryDprSGIn$D@{r2*(CE#1q(?7u|~fCuLrMi!s`VZX)c{#UsrUZRQy?f10^)Ifoh zI30oWY|-!@B8+tex1;F9V)G%ypQy?|beEZ+ibMg7JeCTV`NZkvC!2vFUWdevpo4f- zI)U_!Ix~L@n0`>t?ilPL4HU4etltUtr-4`LZQ|{r<@3V}P<1B{?P@V!>{~L5|8_V9~sZb}&0DuLI`8f#^v# zYe%<<>~k1Aq$c@Z<69d(d?*KwkwkU4WOWxSovKTN4^4w6=jhfzO$3G5>UkE_5~AJ7 z)-?o5GjJc4fxNJiXU50hCxaO9fGQp&N(nB2V%zg?`IBJWctD4UyTbtfUp|!pZ#YIW z;N{O8U;Q-?LsByu2wpD@;u}$J3F5F%aV};F|IAW$7hn|^u;fUJ(viLYR{J3pL=RDF0H?vGSa9A=@nKJY zK}UH(AlZG30YXSMq}cBSc!@jS_n{b~-)82FbPAAS6@i_*8lt zU6~AuC4-c4nh?iy-U2wtQQjT{nUi6H#RbX*+DpF@Texohwo5mP4Dz7m*wZpt-`PGI!{AKpdg|qvu`bWDIefdOdpJ`wuc;B=Dy` zTdnJk3RtixIad;s=V8f`V40Ez&$b>&oN{uR%Rcp=?JiweEWM40_zst3n@44S#mb$9 zAX=bYG*G>i=8xRs)?|%*EGS_Hc4r{{f;C_W1W$y(iVKtrgK~MRbC(}r9#S1pBT`F` z5~`_yMR$r-9eIwTHd)RE&W5{L0~#$Hf@2&No2f9`gA=}M=2Vb53cv=5ixZVaTMTjx z3!8FaUSv>yKK#cfNW3L2(g0^TQ=s$~jF$yHMR+k&Y_UtOeO1_v43 z!PF8Y+7fvj!5Wskrum4krNzRVvtAd7ON5o#Vjh!ji(lV~iFmg$@Y5%14@?%<-N^sr$VnY5H z9pdj)K&*5>E-EI>=D#<#H-6k``$Z7X{c4D>>8i4+O0|SIFq3U>v6bTyo|1|C8)NgrU#2|9sW|$M|J!$=F3H z;k1PIU%$tA7q#iK+B1wUev^}0)TkV-;N0>>ELpg{*}ap2zy@rS6i(eibbYhP5bGS8Hm*C|vz{U)4q`Hs)`}3x4%la7=y-I|Hnk&b~zh1Rd9;2WwlieFzuFUf^ zVE~RNUmBFs^OSk5$*p9~U0%qSne z$d{UNYxGq*>;|Tw7Y}DxP_sH0W^tw3EcjWyRj9T-;!4x3?&_?u0!pj5=Xw*{m5dqc zw;8huMoXa?{oWaM77L}O*?-3~SN-0qHi4WD5ng|1{r}FXWX%m?=X@{BaUf?d+RrPO zO5San_b!!mXPMV-di$A)NB()DROv!$lS^|a=11|%e-+C<;^)9-o zxJ-RnxEI8^J-S$Bzm)2?a4Bt}x_7BjNO&k~n!M_t7tW-(y3`T1e9|FY^JuASb@|1i z$sZJN&G<{w*X37HD-G$3;y0E@R##pMxwqQ8TAM$)Ye^TDWy0S55~6{l zg$$Kk->J|LFP3C;IsdY}&Juc!6kbPXvez~xazwA^L^;szvJV|Dyw6z2G`|ZzSr>KK z5Ds$~(B9aZU6)$h!1ymn9Bn8!hd)-{;OpDqQhk5!-^La`LhIlAwNZ?0^qLaurhfGD zQq-o=Wa;o#==`aCukW8TNc9MGEoAWFVJtJwj9=$mK5IIy10Eo9sQ9-=knEU z@3OJ}zotI_w&UJ1>nh6HvwjFJTW~7d4tepRxtBjk@zf=J@{N&+0>(T1f!)5=Y_nAjaFOJ?F?HxKCZU5ul zRs6Vr_2|pd;j!@1UgpP{=8xZxj($cTokk!1RXqOKdP)TwDo#oM|0XLaL?GplRwXzLsA zH@CJw?CkFCAC!%)98R)4nK?e`FPi+e@%#I~{JI}7*ZGgP&JbbOK)!?Hi;OKddKz4{a(@NZgo9xh1_=jN!U*>SFqx_{id#bxBaS#gQuc(luw;Y3GYx1qNRRq zzxIgzqeTsm?Jk}Do7H~+N z|Ih;RpvOGlupb1J2`QfssQNM6zdkD8Ilj~PpU3aDw0GQ$t+of@Ijh7yHJD4+wW)*3 zzTaXDN+U1Bf}gxLQJFZLR^5_zdxg~sD{fU!Jvho6RgAc)6A_41bGM3mOIM2am|c|MR~r}#ei zw*A=(-H-CjOYz^jySCz!6nie}e0Oh|DCx6rZ2^|;Ys{_~NBhr1BkGh>Tfe{lx%1qI z@f)c({PNemrfNftL(0DkVQ<3)qWw)}I!jKDdM)2bf32z!cH4cfo=HCft<NYk!#uu_$nvldS=4;Q?7qseG(5G2sSLR3k z3z-^i+gXW%mH)V_&z(jo=b7G+tdl?6wce|o+a+i+?fCPh--MZ=^6ZpCd0yMC?J8TE z7NYQ1;$zny=A`}Ck5un$ky*q2?=Mxja@%$ZvbMGP58rT}`#+A(GOnrjVdH0m1>M~t zjgFF3N4FwKhX_auLpmMZFuGwN-6buK?vRj9C5;~X~TQbXl_2}ZY677Jxo96Rnb{wOJCt!#)h8mDJ9l4mck z;8GmYoDU_(-FU;XRL%A`MIN`tin+nuc-xik}<#=GsG z%z}kE9KSL&pby-R{;&?Dvfh0KOQ4&y(pjJh|8YNnp8KE8=_1aeqvqk?I@L67n&=1L0lcxo(7^)UK(TCqCBtbFKfoQM_vd?NNd-tbdJTg%wvYR3$z z%@tOrTJyIjMzJcEJ>M>bkdnz(Pc}wS3IC1eX%}pAn(P5rR6Z=mu6yq0W`@M-FXv# zzf19Eyw5XIn~y(#4{jCKqjwIiD(=hn*VR?Uveb9Y<%jLf{!?9(9c4e%gqoLgNm zG`QRz35Pqr#{1lTeBnXbdG|KL)t_9jyg9e*&ckz&soIi*^oAh;M&XsX+{G>M&w*rf z78IH8{${P*sM3?xT-~9~*W_kH&i$>;h3PfY*V&zBhffQulpM}(Oy2o&wiP$5E^o_S zC18F?kS^;UoMFuf3z)XZwt&3K>gTr^^ii3rf_aMnT`jOmNHQlD?B6aiFZNJR^dRdU z7TFNx;#@!AkzaGt>s5#^IJBy{$1xW?$uwMV$!nusbi!WX^iI6^qAu3@u7&Q=oF&JF z%L$&`sSdjSHdL=BJLJta%!FBAeMbCl$IMrc;OmWD%FeDa{ckS|t~ZY#cJ{2yeDmuK z-g3VXcxUtL8Qt&cRZLQS{(+dgK_p9WWuoz~#s=<+h7n5mqpm?FO4=C3!adllu3;|D z@9}&$yEIK*BeKP)&iFJl=HkKsM)cR{7jJ6J~uZ@JOfw!y(DDV$qL?IDePgx3%iL=B!aqF+lc^Bz=y6 zJ%IPFj#2(<*(v?v$fUUXp3|?R>fTom)9dxQ?O$DUMc;g$UT@9K{(9T__dh>;@YdAB z0Q>+^|F^)S-rcS3-@S_e&K&OatqZ35O(kI3kFm zR`&My$h&%o_5bRf6Ch>c7G=R!+Hl&!w-xI_F`l&FS=zZNK)X27S=_&0ZFt~Y>bskx zSJ2C$l7GLd@Yfq9=zrIEJiv?w%b|(Q(9i(16E&J77Y$oQQ(mH}nZt>?&~#?u;Bhnw zI{cqzIB9h_{wSOZ9zpAj=9P;O2#64hLko9B{PhQJQ3C`+yWf0>p1;vj#+{-=yyL%L zJ~MZn4#0|~5JpZ2n_7Sy>4o~VDNGUv;y@7@Aprw9r~z}dky*5{P_$V;PLUy@!kQkdDZc`tMQ4su{O2<2M$Dz zd`a%(YB*+Q$Y^LK;nuP2thnl9Zs)@0E3G3HDaB3XgnZCz<(ui4- zIWlReI%!faX%*mqxNmKCT``VfJTr!nOl2wG0uC-FBCsH5Dr!rk- zGHa)u<)#w3q%xeOuuow0*RohhFkj$V9|KZsU9x^2XR@$lQ3Vprr`fdfSv%F)4mB80 z^K3XtmPL0qabDJ++>|RVz$t(TgbVST_ndhg8F}FL4}_P5nRx#5QzII1JPsF^nQ$Mw zOT4UGkMlG8deaug$Uo%yT^Avq2~MmMp1HS5x0y<*>>Z zkdfs2ndgMar?s$TLtU~BNm8F47iw+H zgj3DTqkRJaaUj%y&+}HGA*V*7nWX(aXE#c3hu(-#^BB*sEDCUc2nQ}>E-qh3ICJJQ zuOcv?I4FNHARi}O)Ek(?BA?^FmOL?mZOzN>m(Qk<&!Wvw>D10*7s1$el{N{NQkxfr z<`p%bly21&jpkvuuL_(`%I>(Pt;tUFIfICOBEP#+<^&TKQb3dceGF z#5|RT8zO!dqRg5h%OFO9s>uzi(QmFP?5Sa$CuSw=?-gpxEo#eyBL5>XzbOsXbY(ZH zGJ7LUsCoj#hzi~Kq_VXV?Ys*7M8#Vj?7(FvH)*xNWYyt#;V5f$f@_YbYf;>K(J*V7 z_uJeo6pwa&&SZ3EO2hu{pbwa_c^z8}61Lbwp{hD0nNhUYofqG;184BVi5O?2j zpn<0w1mFeWVA8Xt`>x(BuwC!qp{&JjE)68wjoFIbX;Vdq$8ElU+E5~G zBUhCevZ9Ti_U;-2>h-nzfW>2a-)1l%xeH}M^|ILZvY?=FZczVqFRcL)0ns;X**6;8 zH?G?UL4ikbkqtcwRk!SL*eB9{`U=%LzM{O}CP}6{!8a2v=)}5yoi6-I%Y&0nCO6=& zTUAyt;j$-1@VZ_!s6C~(En>1;h_%5@zW&2nB41FC&w75mNLx}ty*ob*H_ zM~yk*6oURecC9AF34vpfWWQV@O3x|*S3J#g2l;xDaFdkpw#Zb z_E&$(?kJ|*h*tZYw3S(wE#=`vMB67%Tm2Q@DI})u{;BlVX#mv_oP4i0>Wq~u+z&ti z8>W{nq?dhnfa?n=1krbkeSFdl1jY_J8k1H|cFa5arr6g0;I__r4C_*y@I{U_Xypw& z30?BL^Y9~#djO==Jv7VQ75;gMt03vrFwibhpi>w81G|A_L7AF2&KnDgy-k}l7sb| z-Jmh$(E@s(N)vv9$^1|-+TBFezLp+~$w<-UvYXC#wf$3@{ZwKj>!j1FpQBOQsix#3 zPwJ<|3x-|UN4P19t2Y){W~Ky+>iLQqtoqU{`}*f^QtYM|hzUH_vk-{^mq!b*>!99E zcEVJ9>|G*235COQHRIvjA zg}pHB(z`m~;ol_zcR&i)fn+4P66skM{C=@ zt7#Wo+Z=g2Q4~|(XQHFxV#5CH{Kr;Qq@Deuw#T^|Y_2z5MzM1{G}(G0jpp{Ab$tB| z#k%aq+Sydf<kSC7 zsmUPs&X`on05o0%ei}NrKTph!As!cp%Ar2Qyw=pno*-(V@Gq0TI_PuZy#;3iO3Cw0 zT~}!IlZ*)P69kwY@xCLWh3V^x@cM4_DToIFCE4BITpy&oy?MAA=Rt4)+4~tkDB*1|J z%&;fcm^rO~U+io@C^%Y( z#mu{nNb!IFq(=0uO)`=lxqZ(aYs&iGXcrV+17c~e^DCMJNRwSD7s=(J-Jd~32q5V; zV2-VN@VPM3qIBn^j0OW>*K3$}YDlO-^1AQTu7@A8Cy*O_k!1yPI6<5kkRM@Ogdk!8 zviYZ`&H8q-IKD5)$Ji4zp45P<0gM$vz_=Wz{GFt3OyQUSsd5wPyt~l5L!^o!Tw&zg zx|dqH-4^q0hjKJ=EQD;>^8p4{u_fJ zK+|tGFa}@e!j`}1o7xzwzkC06u5r^=Tq}J9zrlw1Hp#XHDtaNWX3e+fOe|wb&8Yw4 z9=((tsCcc#dbZ-hTGIRenr%YGP8SIaO2+o7Vn?WSI5E%sm9p|*j<}=c5^&+nF zKOqo1H{cHdrLN=vH)LlO$CtbpFdI$74GKlpVqI&&yV;f3Yn+oKUmJdA0&og_azPs6 z*tl4mg!shd6k;0@K0m*(oZP(pg2JNW+|baH*X0$JRbgetp)MXQER9VbByie}PFe;? zNZ;H3ceoG;gd>ciptdxpwn!h(Ce!;CLZV+W{d#45vIbi=kt@}+AndYSw6QB}0^{L}ikd=CB$v`BWPQ)s1VwPOYo}77{_c8BC0+XQQbSsU$ zdOUHp%se;W$KedFd&QqF(<(;9?AgWh^Qr~-3S^id&5LS8zytl-=i_Dj0=)Th86VhR zx7Qd#2((1v=$Z*)>4(W0>G5=i536jb)ZvI>Ob%Rdp}k9LsXm<1i8pHIH1lMo`{|GM zq~^iYn0KrlGAyOYJJ#h^-!&Ezj7D;KzIV+SEjvV;_atVBd<*ja@qQ#l>IvDcV;!E+ zyZ5B>>0L!s-5Q@xr4*%};%@<}c5l~1v5dDZY1ScZ|LTBn#k9GvY-T_6&cKGeb8X_a zM?0S?>YwH`)+l%RK@7*|k(dl@u|6w8bT#BKc_(uoJ`GV}Y1SLT`qG+eS|JXPP-V2xqt zjiSHrYmm#w7G+RjVkOLAl78>7`Ux>9d~bjw{0&9}&VKP809eVDk&p9hoE?jG5=O!? zGwmoazwEx+p>@nx{K*sNPic3xcnbDbnQvvwIqPuwkvpHbfA(4=hWC8U9w6@DXQ7YuMf;K5bfqhN95M>3!9<19;!%Ep2W@FsXOs0i&yOAp{ua074;1kR`t`Ll;O zVE^x!8{LBm))#cXNKE@YSKbB?)G9eu0Y6bzeE*^lyJY-FU$@p$fT!wa9-kWJ-&9Xt3Nk?uXnBgW? zg_ymgS((nC94%O4axLWe&@WWngA1^=AQ8%Ps4a%F5Eq$e7|>G6x)$un$2d>H2hnMg zT;jsK_4=A#0<}$H218qj?Fg}UC&Zv0k@%Gy#tzf*pjEeco(X3dq+0Ps{GK zL9K(7l}Uxokl}={gOjBI>*l}!^CFcIno(N~1$9`KHh?kCwDD1JaTLA}`615kJ*VZL zgc_vPHnUZxRXIjNkJTcsZXroo(8fIhX(H4}Pw+w;k~Do6Em4mKt=dr@e7pYM21s# zd9|XiEp*vg1xkwm>q|dl>`?J2|#kl%NP}?ICx3O9v&n)(J7%K^U&g>RqiJUCFm9r=NXPd!?r=eXO~zO zGf2*gA{SQMO@E@BzAj?klON^yv_f9_@#<>#g8shOZ?7Ur$&n$bFDZbRqDBH%r3HW% z$e;EYeI24%_>3JHFu9h>kt&#cj8Y|{qb|AR#}c@n%EgyS!126t_wFuT38NP9GENN? z2>w_ygr2@1p~4)M@E^Rs0(Z~mNU%SUO>|lcu10;Xe=e%v;TZZm7em?1%l3xo>8F2Coxm^*!4_wr zAsN;3+GL!M9^_yzP!>U{w_9gR@tIf-ry0*K>>VqW>6p6~Cz1JD0gQ}falF!+zx_7 z8U6%exh?YomMYm5nC(%y9qEt(ZQ)SYE<<%Uc~aie>sO{_3}?JIxMq-@qU07o7E-mJ%@Ge5re z4y%JH=~Y@^SVdV6+D+De{rZSCS6P^b21I$|1RmD1voPN3?McX~M?d)ARRqTHVQH5{u)TmfysT%BOfm05~-8MMG8;5abGGvUL&K z^&A7E+pF}yx<9WnnH!)LxJ%B-kknQvjCyXYwF@{F^a2CdciQeG4Q#BI62VQpytv(! zNObMDM%Gkfj0ax01TaT|;Vse{Nq9tzHqZ8jK4G9$_>iq?NM;f~ewTKblf&|6Kj&<3 zGA?L2<+TGTHDpPqkOw4e;;h22P|INd^+c({oX7?HI4D5dJKqh*@M;fT$JMf?NGEP6 zLf!C0$U9o%xJ{6pIg<33IRiCy#iIDi&%-Fk3@pqR$}coPEh0z+Qo}-n=?0m#c4N9p zZHd`(2@z9qyOd>za9m}co-|7)%W!m)h@3LnY57HkdJmD;n1h99xp{ZD@_pJ%!`B=n z3hn~`UKafQ>^<~^e%_ilPcd}^RmZtiGRpk%!-!h1El;f}3fJ2`1s*IAPvS4%`;V!h zY)qw*(tT&LsO>NKD6Ho3k6sArO;9eBDdnK=U2b3R80hTcdJB$oAevtJjF~BYerZTpaS3mkyko z;e#(2@aF~*Bh+t!9rXNo8<$z0(}G|~K_^pH|4)|sSnmQ;fuuvLS!0)nbYPh?4FChU zo7fSSN7)(9Srz7qSTH9Ff>H)lP|x`cU_{h}`Xr!=0i3bA>e|i~ftq{X z=~(}BWfrz(OArRCF2VT^Mla4S7oFpV9%j(ZNqt!wfsh8PU;v+Ue^Lxma^9a54QzYk zSseUO^e{q$HMGz=GCk0`E-KF?TMw=lFApbkz zgDEgp_0afP@K=7W-mVZC44~ulNB{(})@LqHgv_liLqHBKf zIP}3edfkxW>m`>^pbT-1Q1{(vytAPhf&4iSk{9A%_JW2B2Aa?@N}+&g9>!RIFewln z77kHCK4M2R$hH=n?nc*2J3cnmn-Hcg#d4s(Go8K%xky35SUp48n3^Xt7>vI!mQ#OT zCLtSQB>^R&rW4@?9rFa6G>IFpzbzYkpo}Cd5;Ui&IY^zv6fe+{N-gdos zH;&}XCKWs=w!jd}55Aw5pfSo69GbXBvXY6;OO6|NW7F)PK@$_!1 zUTP`GiJSN-y@nw-arOr-yJvtL24rN$-Iwz1`|?9 z{k{IOX0ecNk@ew3HNy(AgK1C`H8@NNJ(z=kJ!n9L7>;}Q5ikWr=Z;^^+KPTHw{lv0 zCNOeOYCgL&ow%X{Iig9fe9raPr5rmClxd0oGpmUasyxbM|M$~y(bRKp02ZA~!p8#~ zbhLi`kjH6Yh$TsS%o>ubVLA|jv#!}a#IjehiUd%{+i zdFd!Y5ZmrOK@13d#>j4fw-ju){FCXUN)2!{(@7dc3p$4jwcYKRVo^4w)VF1QDM9zo z)zHI$KEE8~htq_)I=T?cj>#~Fr;(zW(&$d$;#X$DM)9S{F_L2|PMsJL6j7HkoD>5n zC)^H20W%8EM{f;#!S%gYStSc8C~%B>x{4sIJ32S3Uy2+$-}2z~6xh+ovVel;n*ED! zIeR7GZpmP3K)jpw&Q}5a-7zs!6u9Nibyu`%FRfomonQMpD{Ga66#>kZR(hKQ@>7Ow zVy)yp&}G~J&%po$iMo3|L+-991`r+z^iIGZykM8!qiNn$w?QXoi`DsP`B)D6u?56s zZADUBaz~soaf7(OT-%V3t}U}s1eYVuUAjs(df+TAGCqp8VDQTcyjX?z#Z=Qq3U4HO z`C;|HuIleCf#AC<@Us=B=(wl`Tg6MJgQ}@6GcI}Jcjr@~>>7rJXTshjGgtstr(kkf_(oiZ@U@#+VSW2%n&m6JN7B&2@RH25{p za7B^12i03uk1}d;*C%&v@6?(g#aH6?3)r?O;|N zpd@ct_j8zg-lSI>O9K0X@$bHSrIt_2LM7R!PPK(uYq$H9{<|; zuMC%?MU&^^#DQFq%A&f>+2b@X7!jGPiZe#%D!9o-_?^alEm{nGc3YYAlM8{O*9;a# zeS#6fQbc6mvbq81f#J4#-*W&?4d||e;k#MnpCD6xAD<}mf7y)di7W3D!t>u&y#Ggc zB=<$w$F_x~;J^}b^5uxlFdjh2is-3_7%hae=Bwv`+?t_c)qn1X#Vm7g-d5d>AEZQr zMK*0f+#v&hj~iKr-mG;@2-)NNHtD@rhz*m?GUs7tH1@b!qG_Yd_h9O`HKJ+r1fP^^ zW{Ecq$Wz(}$)mKqtLwz^S+UjR?nA3YYS8_&bUqBk2@#ef3o>u+LWWP)ZoUk=)fh*k z#k1=JMS%?sV316}+)o$UEYOou>sRMI?bb~FFN4#-GU`T9AE%_e_rPqxp1Cl&kZ1)DhB8wWqf%MM{XtfRe}j~E_?5zcZuAd`@(f8* z>|y@R-`VHBOQB!{+5zVSBK}9`>k>qULkEMnmdtN+O*-Z4*}*YkRWlMfApjNGGVIoi zqZj|ID4cTmh7vDh74j{Et@z2Szi9b*ajWC{$qnqMvSU{L|RjH@z*1TqhQo zUHD>~@z5R~Tn#EZL3}wWoPA4jO|5!Mt?7Q}TkD#sU2-A>#2mx(a^o~@UD6I}X{{?_Q(0pbOqd>vyU zY8v}9jj^+oINDUntu0cy3_+|xCJ#_d_n+L$X2-dYw{<$&2Xq%lbx%s~eDW0Ui_n)u zfQYf@jEu7zk#|%T4!gi>ZThutlgR8B?f;%T&yvF-kdUaT2tHPVKMN4ojf@d?i4V(4 z2-7#ECoqv2C0P@*%CcBRA$HLa(b8Nt?Lr8HxPErdYkkhbB91q#>=Cu*Z_2}1UF=#I zq;k0_TOcf%9XYHd^S9zhmR@&kydDYN+5VWl|LHLCbbIsbxBt$*pZ~b{`R(Y})uEr1 znLQNR>HuO!aU;WtX;_tnFgOtKd-@rxGTL@9oD5IH*dFj60D*1p6Zou>q`UQ~$RxT_ zx`tPkwT6p9514m~2B+C*p)jt7b(UcJ0K=I)nJQ8S8(uA!1qW3qB~kOG%e>EcZjW+P zKSYH7yLMjIxAHu_Zpj1DGJqY>^{>-naBg|{Txq@b5rb^ZQtJ{ygEF7YWN9ohINSB| z&td#fQE%seKD29(i4dw9tSsZnQ`ET9?jMJ@poO{jLzAe@s!3gTioZ;^dz5#iy)?Hs z4JWQk1|`bWTR$ahX-8{4=+Z6`C}n0p!>79kg9yic>0G{+a)9)HHh>!ATW7$9Lv^ir zbqt}oW0Sn017$kW4b6)y0u-FPQ$e-N+*ol|2kImqhE?TNa_3yZ=)0TJ&tgeeeVC~{ zx8T1iQ}lHBSXBw6_*NknAJg7B6WnqpQ6et2`t0eg z%b#iCOo#CUfW&PHXL#(DWW8>r%sg*tE68VoTQtGJxft}T<8?T_=y_U_bf_~m@|Bne z(q5P@mnj^rPi|Wb$*3;$PD$8gWLMh%T7B^z>GAnuvHN*}1J}d!y!R@$DkKNY@J;2X zQF%YTG}O%!&41-O<*?LO88Iv$7D&2uh}5|`o#xiXhx$c~(L&aSIRpV+*($#TMt5R% zcSH<$%yE8C@YKRe^wr; zP`MkqEHOaJwmD@1C4t+P=*ouJ_-`wWL|2+5*=RpaXd)5$qS?*^ms#l5_q->w3eC9( zn8p#imIKfP9|`!# z7!Y&jzQ^hu4xaV~gC^>q7p;PYxTE49Lu{j&f~gnyhuKcFA8DzJ8DiGGhCj=D1?l@( za9!@DrXYs#Izr7_nPU5x>rb_mpao;#pBGIMR^QFeZXBubvu~zB*wKR*M{OflrL^@T zV7ND;}eJeL8snMrD5L8!RJ&b=yPNe|sGRdN;LfDbWt5LydF$bs6V`(+o zh|z|C`9~VWH|kTQ^Tn)Jj~LF)larO4RWT8aFGb>DS$r-J2DcZ|Ss!fK{;2tov7T0KqMlMN?&fln4jM%P zwC+g2i5Ul!V?fksG?DY->2m#(3dbN?QTuTmRAU#yuzQ<=6L8#;?4B&Deko#v8iGOz zYk%6i!1NbwOEZ$`(SCIZ2`~U%N{6hf?Lzs^PN}JZ+Gnk4S@TQfmA0noaP~GLI!rj5 zgK@n{|E+eucq9xVkue=UnEJs04cK(mFGt5T7149%hpes4S96nr5%qX}Z6d4A`BBQ{ z2v>zl;jNlOGUZSM18CpX40)1m;U_kL;${BBU-2Ls)yy%)>*cCY(#Tijy;VHt@$u3) zK^9?VB!HyWW+}ueS#X0+sgXYW;Y{qV+1hxAi;vG&Vu(PC@7-PgArJy`V)YQToE3rx8z7zHK+wj`)V6DG-5&v z^+nPp>WoF$KD1)gQ>bx7g3OVb6*mr4Pt+1!mR-}S2-pjfoB$pYPOTJ02m^DIu}zqp z+t&zIs;;XU1HT_69w?^1pTr%moHl#sk}-4yTUfK}5_3JCobm1Cfk6G%rX>qmdY>9M zIR0OQXr0RXFks{(xr#QgFo*=&arM{_J}_Qx(}{<;&PcZGGFXo6UY_}^XNu&piFMYI z;qUk(_&FxaZwb1p4D6jYb`Q%xB(Co2(M^Zw_#Pa$2idW#(1 zlFu;)=95Ous!I>Rz9JiIIsR^q6S_uv`U`!t{_Ts8;@I9+-uIP#|Dww`OOA9oEVXyz z9#PBKiMvDF9Fh2**XU;WVwk$(s|&rkfO>0m$oBlek8R9t&-YA;4NZVx*U9wwXAiv3 zk^@(};=QqCZi>S2!DBHbZF)2r^)7r(PD~`Zn#`f1k|{p8YHVov{--s~nQ;>~qcLAk z-;Vrr$`^5(6;!k*13L2Gdy6$y@qJf*epw&7`$HamTay}83KPts@*euh&{go| zpJ%j7dW+{)%7dppv%O6}7351EFS%Y0y1e557LT6_-X$B@oDhV74Yt3Dh0AAYn{6(?fRr8M}a4bD2Ri~X&va;Dt=@rf=&aL`c@l~eEq%ov$VW%NYmT~#ncXRr>V zfNtD#^B7~-kD)Q%-dUq}XOEObt2F1+9Zlk*gKzmn7)5Vt(gtMv6lZzA*K{#o)j5p~ z4d9Pi`W@!x=bW4!Bj+Dx^wd}z?&L{nC`iHx>2%aJjpqf;eo8p|0Q+I($ zV$cRJ`H1t3<1dj~v_C>$0?c{n5rLy6%fR0Y1z<7(62~KOzIGD4ARLN@2>$f=E)zkF zi4u%ml`tV!Nebn{iqI4^%U5HW|pSbLIhGq*y&oWuq$wt2f#ZGs|XjesF z9@9NvjSd=&E-csHlXdYN4_PsN={z1*r1J83MdO+|6vdoc?-yhC%#Gai-Vdkb3#@g- zr9PnoxO)pkWDpVW?4fcY@s*e=+1~@g4HCaA{huV1OqIXSA@M(6+oO46Ic`uYHvL-! zG_8&GyDB>gnnOvL7~{iB1A&c><1^?nfD|_%a>7AQ1b%yY+u0VTx(kvH^oaB3S{!EL zLqLruGN4dWnmu)wGf^17|)p z%ELHg(}UpHZjB_z*!II{H9?F5Q{E4=kTQl?XRX-fm0XYam<2(LU_b9_Mk_O(*gTh5 z(utIr-?^<`v7@j&kDpd9g4Sz`Ia=p#DA@fWs13Z?gYQb20iK+!MJ0tHOx+7d<%vIn zz@sjOU|YX1MB$Wqp)Zo+5(MU(2N6U_y3Iv4+@QpAkd`@rhy<}22D08wEMp58?z$+c zQQYAtBBaC4%|$WZ4tW>D-7w*Pbf`M{~dkrk3u0ysHs_K;)%)A!vSHlX_Jt z*1iH=MW*oJjv9NKG|}(xD)JgdO439m8T3(qC|~KwM34e^+TooMRX0Ob9V*pvr$)3- zq;Y`;$@%!2NY{8ZUQ(MUk|C#LzZl3U=fQ$@e&x0Ld(?IBtNEAYDwPA$jGjA~J9wG; z=5qe7yX*Rz%_#)lolmW;B_fz-cp0J;lxJm;U$kfTZA@gIKh3)9^}o3MX`MU+0xM%O zKly}ijx^NQ-mR-g+|ISmffW2Zwvq(_y4HMXw3~P^k{~R^FQ^cuZ(sHc!9#J@q;{AC z)KL*_s3GN=zYg;ONajmdKVTl@go544%;^AX{1H%T`p8Z21EB=|2i1-3D`mGWj0gTi z4GK~V6|`>WwnFxj#p_x{$f%7F6}G=#`$fL~s1Wm6E_QUXVZAnwrW=!;=M<3Lru?Vg zSO=fFxL$8=VUqm&KtB|54ErF zf6k9Q*KWCP%c#uP3(iXt78`7<7^yNPbXyy`+w_9#@4L0T;u{N?`ut$k$(Y6b4x<9rwZ6-=?t1klye;1h;LCn-ugCOj$j3iC(O- z1BUzExxGD5LM=mL09)6$rBiRVl5aL{YPD`XqZ zXIW6X&svkBknz0ksK0KMj_+`jMcEl2r+#zi#wd)@7NiQXPY0@q3njjLKXI)u(;=^1 zS*1d?7!!LrXxNtHrQjo*bN-Hba7d&P@QWA0fH0wyv4c%yl zyVZ=l*GPfJIj+ZED2|dOj{02(1x}3~kj?nAP>II1d~eN?{u%L1FDJ+qcRe{B#4^6@ zJNy+#C9q3ObvAp(K6kD(cVRX6D`f66WbR?}5V0)Jy)BQiaO2HMhMN?pxFu#k6x6}M53A4?yWvI_dT7~^;as6HjYD23{ zpQmtVQ;}*~Ed$+SR=N}vgr2T#B5+LNEx+J4?dN-))P6e6D~^wP=m7IaLhj8k5t^(9 z9Lt9HmY-NJn}jaUsD$3gxrpa5ltSJJJ`O7p6Xj1De6qsK&on=xZgptNRP@p3-b!i< zEyn3kiRb%=WJe{F@D(QtAE#E~7jcY5Mh*UDlPDS5=K-|7$#nHU=?pAa626++G_U%L zH{!=viYL+eOg)UETZO;DPd~6Nzz2)s|ycOWZw3xgl z?PRg^*LS6X(4XC2EZW*n-un1r>ri}qS$})IXzPo<_m{u;?c>lb!S`D~^|y{WK78W% zAmg-k^mga#y`38lLM>odDQA1@I|I_k3o5yJ7!F=+>g7`gzst`B+o3=;&xe)7!pS zrQ7T86E`F{Hrrp|8n!4Y@l#Fl{`K1epi]Y8#OOB=aN2--*eDuAe#SsV9R;< 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�ALbZaLUJ5yv92ic()N_RzONgPT~gY3i1)4gX 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 literal 0 HcmV?d00001 From 716b31390546f4b8cd16610f0e11ee518ee87d94 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 30 Apr 2020 12:59:33 -0300 Subject: [PATCH 2378/2606] Update sponsor section --- README.md | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index f54cb17fd..3d07cc6dc 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,7 @@

@@ -25,8 +13,8 @@ ## Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users -[![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/awesome_ios_instabug.png)](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=photo) -> The SDK that gives development and product teams all the logs they need to fix bugs, crashes, and other issues in minutes instead of days. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. It only takes a line of code to integrate and accelerate your workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk and much more. Instabug is offering exclusively to awesome-ios community a 3 months free trial. [Get Started Now!](https://try.instabug.com/awesome-ios) +[![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/sponsor_banner.gif)](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=photo) +> Catch bugs as soon as they happen and know exactly why a crash occurred. Instabug's SDK gives development and product teams all the logs they need to fix bugs, crashes, and other issues in minutes instead of days. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. It only takes a line of code to integrate and accelerate your workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk, and much more. Instabug is offering exclusively to awesome-ios community a 3 months free trial. [Get Started Now!](https://try.instabug.com/awesome-ios) [![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) ### Content From 6215a023037c15f635746ef3cfb4271a65ba07a0 Mon Sep 17 00:00:00 2001 From: Md Ibrahim Hassan Date: Thu, 7 May 2020 15:13:53 +0530 Subject: [PATCH 2379/2606] Update README.md Added Storyboard -> SwiftUI Converter --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3d07cc6dc..1698b6276 100644 --- a/README.md +++ b/README.md @@ -3035,6 +3035,7 @@ Most of these are paid services, some have free tiers. - [Pecker](https://github.com/woshiccm/Pecker) - CodePecker is a tool to detect unused code. - [Speculid](https://speculid.com) - generate Image Sets and App Icons from SVG, PNG, and JPEG files - [SkrybaMD](https://github.com/robertherdzik/SkrybaMD) - Markdown Documentation generator. If your team need easy way to maintain and create documentation, this generator is for you. +- [Storyboard -> SwiftUI Converter](https://swiftify.com/#/converter/storyboard2swiftui/) - Storyboard -> SwiftUI Converter is a converter to convert .storyboard and .xib to SwiftUI. ## Rapid Development From b3c100893932116d0a7f07eb26e414edf6f95605 Mon Sep 17 00:00:00 2001 From: yixiangboy <919727170@qq.com> Date: Thu, 7 May 2020 20:09:10 +0800 Subject: [PATCH 2380/2606] add DoraemonKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3d07cc6dc..e979a866f 100644 --- a/README.md +++ b/README.md @@ -664,6 +664,7 @@ - [LayoutInspector](https://github.com/isavynskyi/LayoutInspector) - Debug app layouts directly on iOS device: inspect layers in 3D and debug each visible view attributes. - [MTHawkeye](https://github.com/meitu/MTHawkeye) - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc. - [Playbook](https://github.com/playbook-ui/playbook-ios) - A library for isolated developing UI components and automatically snapshots of them. +- [DoraemonKit](https://github.com/didi/DoraemonKit) - A full-featured iOS App development assistant,30+ tools included. You deserve it. ## EventBus From 3550e1ee40c76c35c0f966dfdd4c61156d37bf6b Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Fri, 8 May 2020 08:22:27 -0700 Subject: [PATCH 2381/2606] Update README URLs based on HTTP redirects (#2960) --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index e979a866f..58c037191 100644 --- a/README.md +++ b/README.md @@ -194,7 +194,7 @@ - [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. - [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) - [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) -- [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/arkit-beginner-to-professional/) +- [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/course/arkit-beginner-to-professional/) - [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners. - [iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp](https://www.udemy.com/course/ios-13-app-development-bootcamp/) @@ -220,7 +220,7 @@ - [Answers by Fabric](https://get.fabric.io) - Answers gives you real-time insight into people’s experience in your app. - [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. - [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. -- [MOCA Analytics](http://www.mocaplatform.com/features) - Paid cross-platform analytics backend. +- [MOCA Analytics](https://www.mocaplatform.com/features) - Paid cross-platform analytics backend. - [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. - [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. - [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. @@ -250,7 +250,7 @@ - [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. - [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. - [RouteComposer](https://github.com/ekazaev/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. -- [LightRoute](https://github.com/SpectralDragon/LightRoute) - Easy transition between VIPER modules, implemented on pure Swift. +- [LightRoute](https://github.com/SpectralDragon/LiteRoute) - Easy transition between VIPER modules, implemented on pure Swift. ## Apple TV @@ -327,7 +327,7 @@ - [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. - [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. -- [EthereumKit](https://github.com/D-Technologies/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. +- [EthereumKit](https://github.com/yuzushioh/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. - [BitcoinKit](https://github.com/yenom/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. - [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. - [CoinpaprikaAPI](https://github.com/coinpaprika/coinpaprika-api-swift-client) - Coinpaprika API client with free & frequently updated market data from the world of crypto: coin prices, volumes, market caps, ATHs, return rates and more. @@ -341,7 +341,7 @@ - [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. - [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews. - [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS. -- [Xamarin](http://xamarin.com) - Xamarin is a free, cross-platform, open-source platform that lets you quickly develop and test native iOS, watchOS and macOS applications for iPhone, iPad, Watch and Mac, all using the C# language. +- [Xamarin](https://xamarin.com/) - Xamarin is a free, cross-platform, open-source platform that lets you quickly develop and test native iOS, watchOS and macOS applications for iPhone, iPad, Watch and Mac, all using the C# language. ## Cache @@ -860,7 +860,7 @@ - [OWUProximityManager](https://github.com/ohayon/OWUProximityManager) - iBeacons + CoreBluetooth. - [Vicinity](https://github.com/Instrument/Vicinity) - Vicinity replicates iBeacons (by analyzing RSSI) and supports broadcasting and detecting low-energy Bluetooth devices in the background. - [BeaconEmitter](https://github.com/lgaches/BeaconEmitter) - Turn your Mac as an iBeacon. -- [MOCA Proximity](https://mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. +- [MOCA Proximity](https://www.mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. - [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. ### Location @@ -1603,7 +1603,7 @@ Most of these are paid services, some have free tiers. - [AWS](https://github.com/aws-amplify/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. - [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. - [Dropbox](https://www.dropbox.com/lp/developers) SDKs for Drop-ins and Dropbox Core API. -- [Fabric by Twitter](https://docs.fabric.io/apple/fabric/overview.html) Fabric Twitter Kit for iOS. +- [Fabric by Twitter](https://firebase.google.com/docs/ios/setup) Fabric Twitter Kit for iOS. - [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. - [Primer](https://www.goprimer.com/) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. - [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device. @@ -1881,7 +1881,7 @@ Most of these are paid services, some have free tiers. - [MirrorDiffKit](https://github.com/Kuniwak/MirrorDiffKit) - Pretty diff between any structs or classes. - [SnappyTestCase](https://github.com/tooploox/SnappyTestCase) - iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. - [XCTestExtensions](https://github.com/shindyu/XCTestExtensions) - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. -- [OCMock](http://ocmock.org) - Mock objects for Objective-C. +- [OCMock](https://ocmock.org/) - Mock objects for Objective-C. - [Mockingjay](https://github.com/kylef/Mockingjay) - An elegant library for stubbing HTTP requests with ease in Swift. - [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. - [iOS Snapshot Test Case](https://github.com/uber/ios-snapshot-test-case) — Snapshot test your UIViews and CALayers on iOS and tvOS. @@ -2146,7 +2146,7 @@ Most of these are paid services, some have free tiers. - [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. - [Gagat](https://github.com/Boerworz/Gagat) - A delightful way to transition between visual styles in your iOS applications. - [DeckTransition](https://github.com/HarshilShah/DeckTransition) - A library to recreate the iOS Apple Music now playing transition. -- [TransitionableTab](https://github.com/Interactive-Studio/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab. +- [TransitionableTab](https://github.com/ParkGwangBeom/TransitionableTab) - TransitionableTab makes it easy to animate when switching between tab. - [AlertTransition](https://github.com/loopeer/AlertTransition) - AlertTransition is a extensible library for making view controller transitions, especially for alert transitions. - [SemiModalViewController](https://github.com/muyexi/SemiModalViewController) - Present view / view controller as bottom-half modal. - [ImageTransition](https://github.com/shtnkgm/ImageTransition) - ImageTransition is a library for smooth animation of images during transitions. @@ -3116,7 +3116,7 @@ Most of these are paid services, some have free tiers. * [Mark](https://github.com/velyan/Mark) - Xcode extension for generating MARK comments. * [XShared](https://github.com/Otbivnoe/XShared) - Xcode extension which allows you copying the code with special formatting quotes for social (Slack, Telegram). * [XGist](https://github.com/Bunn/Xgist) - Xcode extension which allows you to send your text selection or entire file to GitHub's Gist and automatically copy the Gist URL into your Clipboard. -* [Swiftify](https://objectivec2swift.com/) - Objective-C to Swift online code converter and Xcode extension. +* [Swiftify](https://swiftify.com/) - Objective-C to Swift online code converter and Xcode extension. * [DocumenterXcode](https://github.com/serhii-londar/DocumenterXcode) - Attempt to give a new life for VVDocumenter-Xcode as source editor extension. * [Snowonder](https://github.com/Karetski/Snowonder) - Magical import declarations formatter for Xcode. * [XVim2](https://github.com/XVimProject/XVim2) - Vim key-bindings for Xcode 9. @@ -3190,7 +3190,7 @@ Most of these are paid services, some have free tiers. - [Code Facebook](https://engineering.fb.com/category/ios/) - [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. - [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. -- [Ohmyswift](https://www.ohmyswift.com/blog) +- [Ohmyswift](https://www.ohmyswift.com/blog/) ### UIKit references @@ -3282,7 +3282,7 @@ Most of these are paid services, some have free tiers. ## Books - [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) -- [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-sixth-edition/) +- [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-seventh-edition/) - [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) - [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) - [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) From 98a842ce41b1b1a0beb1b490c6dc772077354562 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Fri, 8 May 2020 08:25:08 -0700 Subject: [PATCH 2382/2606] Renaming, close #2961 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 58c037191..56ced39dd 100644 --- a/README.md +++ b/README.md @@ -250,7 +250,7 @@ - [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. - [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. - [RouteComposer](https://github.com/ekazaev/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. -- [LightRoute](https://github.com/SpectralDragon/LiteRoute) - Easy transition between VIPER modules, implemented on pure Swift. +- [LiteRoute](https://github.com/SpectralDragon/LiteRoute) - Easy transition between VIPER modules, implemented on pure Swift. ## Apple TV @@ -1603,7 +1603,7 @@ Most of these are paid services, some have free tiers. - [AWS](https://github.com/aws-amplify/aws-sdk-ios) Amazon Web Services Mobile SDK for iOS. - [Zendesk](https://github.com/zendesk/zendesk_sdk_ios) Zendesk Mobile SDK for iOS. - [Dropbox](https://www.dropbox.com/lp/developers) SDKs for Drop-ins and Dropbox Core API. -- [Fabric by Twitter](https://firebase.google.com/docs/ios/setup) Fabric Twitter Kit for iOS. +- [Firebase](https://firebase.google.com/docs/ios/setup) Mobile (and web) application development platform. - [ResearchKit](https://github.com/ResearchKit/ResearchKit) ResearchKit is an open source software framework that makes it easy to create apps for medical research or for other research projects. - [Primer](https://www.goprimer.com/) - Easy SDK for creating personalized landing screens, signup, and login flows on a visual editor with built in a/b/n testing and analytics. - [Azure](https://github.com/Azure/azure-storage-ios) - Client library for accessing Azure Storage on an iOS device. @@ -3282,7 +3282,7 @@ Most of these are paid services, some have free tiers. ## Books - [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) -- [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass, Joe Conway](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-seventh-edition/) +- [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-seventh-edition/) - [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) - [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) - [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) From a88b841253370c0b8b503e9b7d5b9f5cfe73cab6 Mon Sep 17 00:00:00 2001 From: Dmitry Shipinev Date: Fri, 8 May 2020 22:26:29 +0700 Subject: [PATCH 2383/2606] Add PopupView (#2956) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 56ced39dd..338aba730 100644 --- a/README.md +++ b/README.md @@ -2476,6 +2476,7 @@ Most of these are paid services, some have free tiers. - [Popover](https://github.com/corin8823/Popover) - Popover is a balloon library like Facebook app. It is written in pure swift. - [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - A highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. - [FFPopup](https://github.com/JonyFang/FFPopup) - ⛩FFPopup is a lightweight library for presenting custom views as a popup. +- [PopupView](https://github.com/exyte/PopupView) - Toasts and popups library written with SwiftUI. ### ProgressView - [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift From b18187880a98b547dcc598aa51d522eda91f2b61 Mon Sep 17 00:00:00 2001 From: Mac Gallagher Date: Fri, 8 May 2020 19:08:07 -0700 Subject: [PATCH 2384/2606] Add Shuffle (#2962) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 338aba730..e059f33d5 100644 --- a/README.md +++ b/README.md @@ -2304,6 +2304,7 @@ Most of these are paid services, some have free tiers. - [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. - [CardParts](https://github.com/intuit/CardParts) - A reactive, card-based UI framework built on UIKit. - [VerticalCardSwiper](https://github.com/JoniVR/VerticalCardSwiper) - A marriage between the Shazam Discover UI and Tinder, built with UICollectionView in Swift. +- [Shuffle](https://github.com/mac-gallagher/Shuffle) - A multi-directional card swiping library inspired by Tinder ### Form & Settings From 0843de926351f2b3727be2e3076b3932b975fbcb Mon Sep 17 00:00:00 2001 From: Philipp Hofmann Date: Tue, 12 May 2020 08:54:21 +0200 Subject: [PATCH 2385/2606] Add Sentry to Analytics --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e059f33d5..c25db32c4 100644 --- a/README.md +++ b/README.md @@ -227,6 +227,7 @@ - [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. - [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. - [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. +- [Sentry](https://sentry.io/) - Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time. ## App Routing From 24fbe136c74dfd5f2db7f8ec3d66123de32c0007 Mon Sep 17 00:00:00 2001 From: hirose yudai Date: Tue, 12 May 2020 22:43:19 +0900 Subject: [PATCH 2386/2606] Add Gedatsu (#2963) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e059f33d5..4333df279 100644 --- a/README.md +++ b/README.md @@ -1006,6 +1006,7 @@ - [OkLog](https://github.com/diegotl/OkLog-Swift) - A network logger for iOS and macOS projects. - [Spy](https://github.com/appunite/Spy) - Lightweight, flexible, multiplatform (iOS, macOS, tvOS, watchOS, Linux) logging utility written in pure Swift that allows you to log on different levels and channels which you can define on your own depending on your needs. - [Diagnostics](https://github.com/WeTransfer/Diagnostics) - Allow users to easily share Diagnostics with your support team to improve the flow of fixing bugs. +- [Gedatsu](https://github.com/bannzai/gedatsu) - Provide readable format about AutoLayout error console log. ## Machine Learning From 5db0853289c779619ca8eb4c0fed787121fedf39 Mon Sep 17 00:00:00 2001 From: chili-ios Date: Tue, 26 May 2020 18:56:31 +0300 Subject: [PATCH 2387/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a13b5a1e1..e96104061 100644 --- a/README.md +++ b/README.md @@ -2804,6 +2804,7 @@ Most of these are paid services, some have free tiers. - [Tagging](https://github.com/k-lpmg/Tagging) - TextView that provides easy to use tagging feature for Mention or Hashtag. - [InputBarAccessoryView](https://github.com/nathantannar4/InputBarAccessoryView) - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments. - [CocoaTextField](https://github.com/edgar-zigis/CocoaTextField) - UITextField created according to the Material.IO guidelines of 2019. +- [CHIOTPField](https://github.com/ChiliLabs/CHIOTPField) - A set of textfields that can be used for One-time passwords, SMS codes, PIN codes, etc. ### UIPageControl - [PageControl](https://github.com/kasper-lahti/PageControl) - A nice, animated UIPageControl alternative. From 9f67c0eb4a90807759375dd5cd34d2b1d9b2e82f Mon Sep 17 00:00:00 2001 From: Hiroshi Kimura Date: Sun, 31 May 2020 22:47:41 +0900 Subject: [PATCH 2388/2606] Add Verge (#2970) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a13b5a1e1..4dcae91b7 100644 --- a/README.md +++ b/README.md @@ -1564,6 +1564,7 @@ Most of these are paid services, some have free tiers. - [LightweightObservable](https://github.com/fxm90/LightweightObservable) - A lightweight implementation of an observable sequence that you can subscribe to. - [Bindy](https://github.com/MaximKotliar/Bindy) - Simple, lightweight swift bindings with KVO support and easy to read syntax. - [OpenCombine](https://github.com/broadwaylamb/OpenCombine) — Open source implementation of Apple's Combine framework for processing values over time. +- [Verge](https://github.com/muukii/Verge) - Verge is a faster and scalable state management library for UIKit and SwiftUI ### React-Like - [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. From c26762b15c6c8b353091a3afa0fffbd8436407af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Jord=C3=A3o?= Date: Sat, 6 Jun 2020 21:56:30 -0300 Subject: [PATCH 2389/2606] =?UTF-8?q?Add=20Classpert=20courses=20to=20sect?= =?UTF-8?q?ion=20=E2=80=9CCourses=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit adds Classpert to the section “Courses”, with a comprehensive selection of almost 500 iOS Development courses (free and paid) from top e-learning providers like Udacity, Coursera, Pluralsight, Udemy, Edx, Treehouse, and Skillshare. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4dcae91b7..57fac8725 100644 --- a/README.md +++ b/README.md @@ -197,7 +197,7 @@ - [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/course/arkit-beginner-to-professional/) - [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners. - [iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp](https://www.udemy.com/course/ios-13-app-development-bootcamp/) - +- [Classpert - A list of 500 iOS Development courses (free and paid), from top e-learning platforms](https://classpert.com/ios-development) - Complete catalog of courses from Udacity, Pluralsight, Coursera, Edx, Treehouse and Skillshare. ## Accessibility *Frameworks that help to support accessibility features and enable people with disabilities to use your app* From 118c872f0064acc9b849fa63039c50947dfcc2d9 Mon Sep 17 00:00:00 2001 From: shipinev Date: Mon, 8 Jun 2020 13:36:16 +0700 Subject: [PATCH 2390/2606] Add Exyte Grid --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4dcae91b7..feb2fcc74 100644 --- a/README.md +++ b/README.md @@ -950,6 +950,7 @@ - [QuickLayout](https://github.com/huri000/QuickLayout) - QuickLayout offers a simple way, to easily manage Auto Layout in code. - [EEStackLayout](https://github.com/efekanegeli/EEStackLayout) - A structured vertical stack layout. - [RKAutoLayout](https://github.com/daskioff/RKAutoLayout) - Simple wrapper over AutoLayout. +- [Grid](https://github.com/exyte/Grid) - The most powerful Grid container missed in SwiftUI. ## Localization From 19f7b722bc56b065809282491eef994b6eb9f290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Szczepan=CC=81ski?= Date: Wed, 17 Jun 2020 10:51:06 +0200 Subject: [PATCH 2391/2606] Add AnimatedCardInput --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4b3fac33..47c724a0d 100644 --- a/README.md +++ b/README.md @@ -1504,6 +1504,7 @@ Most of these are paid services, some have free tiers. - [TipJarViewController](https://github.com/lionheart/TipJarViewController) - Easy, drop-in tip jar for iOS apps. - [FramesIos](https://github.com/checkout/frames-ios) - Payment Form UI and Utilities in Swift. - [YRPayment](https://github.com/yassram/YRPayment) - Better payment user experience library with cool animation in Swift. +- [AnimatedCardInput](https://github.com/netguru/AnimatedCardInput) — Easy to use library with customisable components for input of Credit Card data. ## Permissions - [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). From 1a205558b04859764bc3c82a70919f9a1322f15f Mon Sep 17 00:00:00 2001 From: hasretsariyer Date: Fri, 26 Jun 2020 17:07:02 +0300 Subject: [PATCH 2392/2606] Add Appcircle CI/CD tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 47c724a0d..219e0e710 100644 --- a/README.md +++ b/README.md @@ -3083,6 +3083,7 @@ Most of these are paid services, some have free tiers. ## Deployment / Distribution +- [Appcircle.io](https://appcircle.io) — Automated mobile CI/CD/CT for iOS with online device simulators - [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. - [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) - Upload screenshots, metadata and your app to the App Store using a single command. - [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) - Automate taking localized screenshots of your iOS app on every device. From df6b9a8aa14359e65f11b2a2b75428bfad7d2ddb Mon Sep 17 00:00:00 2001 From: hasretsariyer Date: Fri, 26 Jun 2020 17:23:47 +0300 Subject: [PATCH 2393/2606] Fix chronological order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 219e0e710..fafea08ef 100644 --- a/README.md +++ b/README.md @@ -3083,7 +3083,6 @@ Most of these are paid services, some have free tiers. ## Deployment / Distribution -- [Appcircle.io](https://appcircle.io) — Automated mobile CI/CD/CT for iOS with online device simulators - [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. - [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) - Upload screenshots, metadata and your app to the App Store using a single command. - [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) - Automate taking localized screenshots of your iOS app on every device. @@ -3102,6 +3101,7 @@ Most of these are paid services, some have free tiers. - [Appfigurate](https://github.com/electricbolt/appfiguratesdk) - Secure runtime configuration for iOS and watchOS, apps and app extensions. - [ScreenshotFramer](https://github.com/IdeasOnCanvas/ScreenshotFramer) - With Screenshot Framer you can easily create nice-looking and localized App Store Images. - [Semaphore](https://semaphoreci.com/product/ios) - 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. +- [Appcircle.io](https://appcircle.io) — Automated mobile CI/CD/CT for iOS with online device simulators ## App Store From 169919e7821316f16660e81f1a3ae38f5db34448 Mon Sep 17 00:00:00 2001 From: Erick Jung Date: Wed, 1 Jul 2020 15:01:16 +0100 Subject: [PATCH 2394/2606] Add Mockingbird --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 47c724a0d..adb6b4e9e 100644 --- a/README.md +++ b/README.md @@ -1893,6 +1893,7 @@ Most of these are paid services, some have free tiers. - [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. - [iOS Snapshot Test Case](https://github.com/uber/ios-snapshot-test-case) — Snapshot test your UIViews and CALayers on iOS and tvOS. - [DataFixture](https://github.com/andreadelfante/DataFixture) - Creation of data model easily, with no headache. +- [Mockingbird](https://github.com/Farfetch/mockingbird) - Simplify software testing, by easily mocking any system using HTTP/HTTPS, allowing a team to test and develop against a service that is not complete, unstable or just to reproduce planned cases. ## UI - [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. From 2ae6ffca46ba9549c2367675549a3149a646e839 Mon Sep 17 00:00:00 2001 From: William Entriken Date: Mon, 6 Jul 2020 20:03:00 -0400 Subject: [PATCH 2395/2606] Add FDTextFieldTableViewCell --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 47c724a0d..8a1e634c4 100644 --- a/README.md +++ b/README.md @@ -2331,6 +2331,7 @@ Most of these are paid services, some have free tiers. - [ValidationToolkit](https://github.com/nsagora/validation-toolkit) - Lightweight framework for input validation written in Swift. - [ATGValidator](https://github.com/altayer-digital/ATGValidator) - Rule based validation framework with form and card validation support for iOS. - [ValidatedPropertyKit](https://github.com/SvenTiigi/ValidatedPropertyKit) - Easily validate your Properties with Property Wrappers. +- [FDTextFieldTableViewCell](https://github.com/fulldecent/FDTextFieldTableViewCell) - Adds a UITextField to the cell and places it correctly. ### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. From 6b96776b54c4a3bd39ef30a3112fb8cacccbe9fe Mon Sep 17 00:00:00 2001 From: William Entriken Date: Mon, 6 Jul 2020 20:06:42 -0400 Subject: [PATCH 2396/2606] Add FDWaveformView (#2980) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 47c724a0d..5279b175d 100644 --- a/README.md +++ b/README.md @@ -1089,6 +1089,7 @@ - [Porcupine](https://github.com/Picovoice/Porcupine) - On-device wake word detection engine for macOS, iOS, and watchOS, powered by deep learning. - [Voice Overlay](https://github.com/algolia/voice-overlay-ios) - An overlay that gets your user’s voice permission and input as text in a customizable UI. - [ModernAVPlayer](https://github.com/noreasonprojects/ModernAVPlayer) - Persistence player to resume playback after bad network connection even in background mode, manage headphone interactions, system interruptions, now playing informations and remote commands. +- [FDWaveformView](https://github.com/fulldecent/FDWaveformView) - An easy way to display an audio waveform in your app, including animation. ### GIF From 2d2d1f904f5fb6b9037bc21151b989994d09a796 Mon Sep 17 00:00:00 2001 From: William Entriken Date: Mon, 6 Jul 2020 20:38:44 -0400 Subject: [PATCH 2397/2606] Add FDSoundActivatedRecorder (#2983) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5279b175d..5ffa19761 100644 --- a/README.md +++ b/README.md @@ -1090,6 +1090,7 @@ - [Voice Overlay](https://github.com/algolia/voice-overlay-ios) - An overlay that gets your user’s voice permission and input as text in a customizable UI. - [ModernAVPlayer](https://github.com/noreasonprojects/ModernAVPlayer) - Persistence player to resume playback after bad network connection even in background mode, manage headphone interactions, system interruptions, now playing informations and remote commands. - [FDWaveformView](https://github.com/fulldecent/FDWaveformView) - An easy way to display an audio waveform in your app, including animation. +- [FDSoundActivatedRecorder](https://github.com/fulldecent/FDSoundActivatedRecorder) - Start recording when the user speaks. ### GIF From f7a1d27a4d007cc976b5efdaa5f667224d062d9d Mon Sep 17 00:00:00 2001 From: William Entriken Date: Mon, 6 Jul 2020 21:22:17 -0400 Subject: [PATCH 2398/2606] Add swift5-module-template (#2984) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5ffa19761..c4fa23c85 100644 --- a/README.md +++ b/README.md @@ -2956,6 +2956,7 @@ Most of these are paid services, some have free tiers. - [xcproj](https://github.com/tuist/xcodeproj) - Read and update Xcode projects. - [Tuist](https://github.com/tuist/tuist) - A tool to create, maintain and interact with Xcode projects at scale. - [SwiftKit](https://github.com/SvenTiigi/SwiftKit) - Start your next Open-Source Swift Framework. +- [swift5-module-template](https://github.com/fulldecent/swift5-module-template) - A starting point for any Swift 5 module that you want other people to include in their projects. ## Dependency / Package Manager - [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. From aa5c2bfe763b2932779163ff293ca1bca7da2b9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Maquin?= Date: Mon, 20 Jul 2020 18:57:06 +0200 Subject: [PATCH 2399/2606] Add SnapshotTesting (#2985) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c4fa23c85..ecf8a8f8c 100644 --- a/README.md +++ b/README.md @@ -1895,6 +1895,7 @@ Most of these are paid services, some have free tiers. - [PinpointKit](https://github.com/Lickability/PinpointKit) - Let your testers and users send feedback with annotated screenshots and logs using a simple gesture. - [iOS Snapshot Test Case](https://github.com/uber/ios-snapshot-test-case) — Snapshot test your UIViews and CALayers on iOS and tvOS. - [DataFixture](https://github.com/andreadelfante/DataFixture) - Creation of data model easily, with no headache. +- [SnapshotTesting](https://github.com/pointfreeco/swift-snapshot-testing) - Delightful Swift snapshot testing. ## UI - [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. From 55a44a8814ab9dd70fbc95756f3baebfc2e79ff3 Mon Sep 17 00:00:00 2001 From: Matheus Cardoso Date: Fri, 24 Jul 2020 15:57:47 -0300 Subject: [PATCH 2400/2606] Add Streamoji (#2986) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ecf8a8f8c..840814d1c 100644 --- a/README.md +++ b/README.md @@ -2811,6 +2811,7 @@ Most of these are paid services, some have free tiers. - [InputBarAccessoryView](https://github.com/nathantannar4/InputBarAccessoryView) - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments. - [CocoaTextField](https://github.com/edgar-zigis/CocoaTextField) - UITextField created according to the Material.IO guidelines of 2019. - [CHIOTPField](https://github.com/ChiliLabs/CHIOTPField) - A set of textfields that can be used for One-time passwords, SMS codes, PIN codes, etc. +- [Streamoji](https://github.com/getstream/Streamoji) - Custom emoji rendering library with support for GIFs and images, UITextView extension. ### UIPageControl - [PageControl](https://github.com/kasper-lahti/PageControl) - A nice, animated UIPageControl alternative. From 78c86f299199f4c814544a72bc23445b2c96e942 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 26 Jul 2020 21:09:36 -0300 Subject: [PATCH 2401/2606] Update README. Change sponsor section. --- README.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 840814d1c..94e118271 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@

Awesome - -

@@ -10,12 +8,10 @@ Buy Me a Coffee

- - -## Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users -[![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/sponsor_banner.gif)](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=photo) -> Catch bugs as soon as they happen and know exactly why a crash occurred. Instabug's SDK gives development and product teams all the logs they need to fix bugs, crashes, and other issues in minutes instead of days. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. It only takes a line of code to integrate and accelerate your workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk, and much more. Instabug is offering exclusively to awesome-ios community a 3 months free trial. [Get Started Now!](https://try.instabug.com/awesome-ios) -[![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) +## Sponsored +

+ +

### Content - [Courses](#courses) From 756742ba92402a10609eba2e878b9701341e5dba Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 26 Jul 2020 21:10:16 -0300 Subject: [PATCH 2402/2606] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 94e118271..31f9a4e1a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Buy Me a Coffee

-## Sponsored +## Sponsored by

From e5668f43616f7e2e1332e1de5abd524a9977fc9c Mon Sep 17 00:00:00 2001 From: Uwe - ObjectBox <13865709+greenrobot-team@users.noreply.github.com> Date: Mon, 27 Jul 2020 08:04:39 +0200 Subject: [PATCH 2403/2606] Add ObjectBox. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 31f9a4e1a..abdf30d06 100644 --- a/README.md +++ b/README.md @@ -578,6 +578,7 @@ - [SecureDefaults](https://github.com/vpeschenkov/SecureDefaults) - A lightweight wrapper over UserDefaults/NSUserDefaults with an extra AES-256 encryption layer. - [Unrealm](https://github.com/arturdev/Unrealm) - Unrealm enables you to easily store Swift native Classes, Structs and Enums into Realm. - [QuickDB](https://github.com/behrad-kzm/QuickDB) - Save and Retrieve any `Codable` in JUST ONE line of code + more easy usecases. +- [ObjectBox](https://github.com/objectbox/objectbox-swift) - ObjectBox is a superfast, light-weight object persistence framework. ## Data Structures / Algorithms From 594477919435411cd80dda6a7619fac1145616f7 Mon Sep 17 00:00:00 2001 From: Denis Minnetdinov Date: Fri, 31 Jul 2020 17:20:59 +0300 Subject: [PATCH 2404/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index abdf30d06..d28cc6008 100644 --- a/README.md +++ b/README.md @@ -1504,6 +1504,7 @@ Most of these are paid services, some have free tiers. - [FramesIos](https://github.com/checkout/frames-ios) - Payment Form UI and Utilities in Swift. - [YRPayment](https://github.com/yassram/YRPayment) - Better payment user experience library with cool animation in Swift. - [AnimatedCardInput](https://github.com/netguru/AnimatedCardInput) — Easy to use library with customisable components for input of Credit Card data. +- [Apphud] (https://github.com/apphud/ApphudSDK) - A complete solution to integrate auto-renewable subscriptions and regular in-app purchases in 30 minutes with no server code required. ## Permissions - [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). From b902ed4c878f63b3d1c88d0e3bbbe8c2ffe305af Mon Sep 17 00:00:00 2001 From: Kevin Li Date: Thu, 6 Aug 2020 12:04:39 -0700 Subject: [PATCH 2405/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index abdf30d06..544ea6264 100644 --- a/README.md +++ b/README.md @@ -2294,6 +2294,7 @@ Most of these are paid services, some have free tiers. - [CalendarPopUp](https://github.com/orazz/CalendarPopUp) - CalendarPopUp - JTAppleCalendar library. - [ios_calendar](https://github.com/maximbilan/Calendar-iOS) - It's lightweight and simple control with supporting Locale and CalendarIdentifier. There're samples for iPhone and iPad, and also with using a popover. With supporting Persian calendar - [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A fully customizable iOS calendar library, compatible with Objective-C and Swift. +- [ElegantCalendar](https://github.com/ThasianX/ElegantCalendar) - The elegant full-screen calendar missed in SwiftUI. ### Cards From c75b81c230efc772f2635ed7f6cf6031d29719f3 Mon Sep 17 00:00:00 2001 From: H3RSKO <34112131+H3RSKO@users.noreply.github.com> Date: Fri, 14 Aug 2020 18:02:48 -0400 Subject: [PATCH 2406/2606] Updated Readme Fixed typo in readme: Changed "beauftil" to "beautiful" --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 544ea6264..7f2597633 100644 --- a/README.md +++ b/README.md @@ -466,7 +466,7 @@ ## Command Line -*Smart, beauftil and elegant tools to help you create command line applications.* +*Smart, beautiful and elegant tools to help you create command line applications.* - [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. - [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift. From 3f04055fbce4bc4ee448c01d3bb32fee8ac6867f Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 27 Aug 2020 10:22:58 -0300 Subject: [PATCH 2407/2606] Removing sponsor section --- README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/README.md b/README.md index 7f2597633..64837c980 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,6 @@ Buy Me a Coffee

-## Sponsored by -

- -

- ### Content - [Courses](#courses) - [Accessibility](#accessibility) From 8fac5b8ad5cc8173163728f13a4c4671ad55f69a Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 30 Aug 2020 15:07:42 -0300 Subject: [PATCH 2408/2606] delete triplebyte logo --- triplebyte_logo.png | Bin 22125 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 triplebyte_logo.png diff --git a/triplebyte_logo.png b/triplebyte_logo.png deleted file mode 100644 index 1185b145ec4c428e1be161b17f7c74f5aa1d21c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22125 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 PFv#Pcu6{1-oD!M<+%)Xb From 0a9b40629110ae3dd2f3dccd3e27cc6468a3b003 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sun, 30 Aug 2020 15:12:49 -0300 Subject: [PATCH 2409/2606] Update readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 64837c980..a56d588dc 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,11 @@ Buy Me a Coffee

+## Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users + [![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/sponsor_banner.gif)](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=photo) + > The SDK that gives development and product teams all the logs they need to fix bugs, crashes, and other issues in minutes instead of days. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. It only takes a line of code to integrate and accelerate your workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk, and much more. Instabug is offering exclusively to the awesome-ios community a 3 months free trial. [Get Started Now!](https://try.instabug.com/awesome-ios?utm_source=awesomeios&utm_medium=repo&utm_campaign=awesomeios-repo-Q320-Sept) + [![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) + ### Content - [Courses](#courses) - [Accessibility](#accessibility) From ac1c3d2e777498e1677f1f19f5e18db7cd1282bd Mon Sep 17 00:00:00 2001 From: Denis Minnetdinov Date: Sun, 30 Aug 2020 21:35:57 +0300 Subject: [PATCH 2410/2606] Update README.md Moved Apphud to SDK category. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d28cc6008..ffff6992c 100644 --- a/README.md +++ b/README.md @@ -1504,7 +1504,6 @@ Most of these are paid services, some have free tiers. - [FramesIos](https://github.com/checkout/frames-ios) - Payment Form UI and Utilities in Swift. - [YRPayment](https://github.com/yassram/YRPayment) - Better payment user experience library with cool animation in Swift. - [AnimatedCardInput](https://github.com/netguru/AnimatedCardInput) — Easy to use library with customisable components for input of Credit Card data. -- [Apphud] (https://github.com/apphud/ApphudSDK) - A complete solution to integrate auto-renewable subscriptions and regular in-app purchases in 30 minutes with no server code required. ## Permissions - [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). @@ -1621,6 +1620,7 @@ Most of these are paid services, some have free tiers. - [algoliasearch-client-swift](https://github.com/algolia/algoliasearch-client-swift) - Algolia Search API Client for Swift. - [twitter-kit-ios](https://github.com/twitter-archive/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps. - [rides-ios-sdk](https://github.com/uber/rides-ios-sdk) - Uber Rides iOS SDK (beta). +- [Apphud] (https://github.com/apphud/ApphudSDK) - A complete solution to integrate auto-renewable subscriptions and regular in-app purchases in 30 minutes with no server code required. ### Unofficial From 093e65a9e3ec768a8d9e06f8e67c2ddb7592679c Mon Sep 17 00:00:00 2001 From: Denis Minnetdinov Date: Sun, 30 Aug 2020 21:36:54 +0300 Subject: [PATCH 2411/2606] Update README.md Space removed --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ffff6992c..a326250a2 100644 --- a/README.md +++ b/README.md @@ -1620,7 +1620,7 @@ Most of these are paid services, some have free tiers. - [algoliasearch-client-swift](https://github.com/algolia/algoliasearch-client-swift) - Algolia Search API Client for Swift. - [twitter-kit-ios](https://github.com/twitter-archive/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps. - [rides-ios-sdk](https://github.com/uber/rides-ios-sdk) - Uber Rides iOS SDK (beta). -- [Apphud] (https://github.com/apphud/ApphudSDK) - A complete solution to integrate auto-renewable subscriptions and regular in-app purchases in 30 minutes with no server code required. +- [Apphud](https://github.com/apphud/ApphudSDK) - A complete solution to integrate auto-renewable subscriptions and regular in-app purchases in 30 minutes with no server code required. ### Unofficial From 8dee167d4044c0ebb697e18309d2ed33aed49509 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 1 Sep 2020 10:49:13 -0300 Subject: [PATCH 2412/2606] Deprecating 'Products' category --- README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/README.md b/README.md index e2390b3c7..445ca55c4 100644 --- a/README.md +++ b/README.md @@ -1515,11 +1515,6 @@ Most of these are paid services, some have free tiers. - [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. - [SPPermissions](https://github.com/ivanvorobei/SPPermissions) - Ask permissions on Swift. Available List, Dialog & Native interface. Can check state permission. -## Products -- [Import.io](https://www.import.io/) - Instantly Turn Web Pages into Data. -- [Tapglue](https://www.tapglue.com/) - Build social products and a activity feed with a few lines of code. -- [OpenShop.io](https://github.com/openshopio/openshop.io-ios) - mobile e-commerce solution connected to Facebook Ads and Google. - ## Reactive Programming - [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift. - [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extensions for Swift optionals and "Occupiable" types. From b709b1792aff7178e17b8e88e4203003574b3e58 Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 1 Sep 2020 09:27:57 -0700 Subject: [PATCH 2413/2606] [ci] Allow 429 errors --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ec6211fab..a51a050d0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ before_script: script: - allowed_dupes=CONTRIBUTING,mocaplatform,Awesome-Swift-Education,XCDYouTubeKit,SRGMediaPlayer,PayPal-iOS-SDK,PerfectlySoft,gitter,instabug,weekly.awesomeios.com,goprimer - allowed_redirects=growthpush,awesomelinkcounter,eepurl,bluemix,amazon,facebook.com/groups,goo.gl,https://www.udemy.com - - awesome_bot README.md --allow-ssl --white-list $allowed_dupes,$allowed_redirects + - awesome_bot README.md -a 429 --allow-ssl --white-list $allowed_dupes,$allowed_redirects - danger notifications: email: false From 17bf68fd3054c1f213999364365471ed4587e05b Mon Sep 17 00:00:00 2001 From: dkhamsing Date: Tue, 1 Sep 2020 09:41:29 -0700 Subject: [PATCH 2414/2606] Fix 404s, close #2994 --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 445ca55c4..56200cef1 100644 --- a/README.md +++ b/README.md @@ -521,7 +521,6 @@ - [DATAStack](https://github.com/3lvis/DATAStack) - 100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer. - [JustPersist](https://github.com/justeat/JustPersist) - JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. - [PrediKit](https://github.com/KrakenDev/PrediKit) - An NSPredicate DSL for iOS, macOS, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. -- [Records](https://github.com/BowdusBrown/Records) - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift. - [PredicateFlow](https://github.com/andreadelfante/PredicateFlow) - Write amazing, strong-typed and easy-to-read NSPredicate, allowing you to write flowable NSPredicate, without guessing attribution names, predicate operation or writing wrong arguments type. - [CloudCore](https://github.com/deeje/CloudCore) - Robust CloudKit synchronization: offline editing, relationships, shared and public databases, field-level deltas, and more. @@ -2222,7 +2221,6 @@ Most of these are paid services, some have free tiers. - [XLActionController](https://github.com/xmartlabs/XLActionController) - Fully customizable and extensible action sheet controller written in Swift. - [PopMenu](https://github.com/CaliCastle/PopMenu) - A cool and customizable popup style action sheet 😎 - [NotchyAlert](https://github.com/TheAbstractDev/NotchyAlert) - Use the iPhone X notch space to display creative alerts. -- [Sheet](https://github.com/BowdusBrown/Sheet) - Show a workflow of view controllers as an action sheet. Very light weight. No configuration needed. - [Sheet](https://github.com/ParkGwangBeom/Sheet) - SHEET helps you easily create a wide variety of action sheets with navigation features used in the Flipboard App - [ALRT](https://github.com/mshrwtnb/alrt) - An easier constructor for UIAlertController. Present an alert from anywhere. - [CatAlertController](https://github.com/ImKcat/CatAlertController) - Use UIAlertController like a boss. @@ -2545,7 +2543,6 @@ Most of these are paid services, some have free tiers. - [MultiSelectSegmentedControl](https://github.com/yonat/MultiSelectSegmentedControl) - adds Multiple-Selection to the standard `UISegmentedControl`. - [DynamicMaskSegmentSwitch](https://github.com/KittenYang/DynamicMaskSegmentSwitch) - A segment switcher with dynamic text mask effect - [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. -- [Rotary](https://github.com/BowdusBrown/Rotary) - A customisable rotary wheel composed of selectable segments. - [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) ### Slider From 9673249324b16d720cae62757a302b855a2dd670 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 2 Sep 2020 11:16:08 -0300 Subject: [PATCH 2415/2606] Updating contributing.md. --- .github/CONTRIBUTING.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index ba2440122..44d5bfa6a 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -13,6 +13,7 @@ Please ensure your pull request adheres to the following guidelines: - Check your spelling and grammar. - Make sure that your suggestion is positioned as the last item category. - Make sure your text editor is set to remove trailing whitespace. +- Make sure your project is elegible before open a pull request. #### Deleting @@ -26,6 +27,7 @@ Typical reasons for deleting project: #### Projects are ineligible if: +- Projects without tests. - Lack recent commit - Have lower than 50 stargazers in Github - Don't support iOS 9 or later @@ -36,7 +38,7 @@ Typical reasons for deleting project: ### Projects that can be rejected: -- Projects without tests. +- Paid products - Have only one contributor - Projects with exact same functionalities as other projects that are already in AwesomeiOS - Projects with few functionalities From 217780da8e43cb39979166b0863a7921a8c505b6 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Sat, 5 Sep 2020 20:23:43 -0300 Subject: [PATCH 2416/2606] delete unused file --- awesome_ios_instabug.png | Bin 29020 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 awesome_ios_instabug.png diff --git a/awesome_ios_instabug.png b/awesome_ios_instabug.png deleted file mode 100644 index a9c82e2108e78dd63fdef61a06e769298d3f2db4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29020 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≧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 Date: Sat, 5 Sep 2020 20:24:12 -0300 Subject: [PATCH 2417/2606] delete unused file --- newsletter.png | Bin 19994 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 newsletter.png diff --git a/newsletter.png b/newsletter.png deleted file mode 100644 index 8780bb1fc30e5738962e00d1d5b4d6b336888fcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19994 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 From dc945fb6be2962323cb02907be893b428592adbf Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 7 Sep 2020 17:39:33 -0300 Subject: [PATCH 2418/2606] change sponsor banner links. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 56200cef1..4f0097c92 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@

## Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users - [![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/sponsor_banner.gif)](https://instabug.com/ios/sdk?utm_source=awesomeios&utm_medium=spon&utm_content=photo) - > The SDK that gives development and product teams all the logs they need to fix bugs, crashes, and other issues in minutes instead of days. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. It only takes a line of code to integrate and accelerate your workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk, and much more. Instabug is offering exclusively to the awesome-ios community a 3 months free trial. [Get Started Now!](https://try.instabug.com/awesome-ios?utm_source=awesomeios&utm_medium=repo&utm_campaign=awesomeios-repo-Q320-Sept) - [![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) + [![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/sponsor_banner.gif)](https://try.instabug.com/awesome-ios?utm_source=awesomeios&utm_medium=repos&utm_campaign=awesomeios-repo-Q320-Sept) + > The SDK that gives development and product teams all the logs they need to fix bugs, crashes, and other issues in minutes instead of days. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. It only takes a line of code to integrate and accelerate your workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk, and much more. Instabug is offering exclusively to the awesome-ios community a 3 months free trial. [Get Started Now!](https://try.instabug.com/awesome-ios?utm_source=awesomeios&utm_medium=repos&utm_campaign=awesomeios-repo-Q320-Sept) +[![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) ### Content - [Courses](#courses) From 692b4c3b39b8d60cd8c32a24645bb5140ea8f3ba Mon Sep 17 00:00:00 2001 From: RanjithKumar Matheswaran Date: Sun, 13 Sep 2020 10:46:45 +0530 Subject: [PATCH 2419/2606] Added mobiledeveloperscafe.com newsletter It's a great newsletter for mobile developers with a stand-alone section for iOS articles, podcasts, dev tutorials and other content. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4f0097c92..8734db784 100644 --- a/README.md +++ b/README.md @@ -3260,6 +3260,7 @@ Most of these are paid services, some have free tiers. - [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) - [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. - [Swift Developments](https://andybargh.com/swiftdevelopments/) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. +- [Mobile Developers Cafe](https://mobiledeveloperscafe.com) - A weekly newsletter for Mobile developers with loads of iOS content. ### Medium - [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone. From 4779e11b2ea3a293e2ea9df2ff5730873fd5d7e0 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 21 Sep 2020 10:22:05 -0300 Subject: [PATCH 2420/2606] Update project descriptions --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8734db784..3b244117d 100644 --- a/README.md +++ b/README.md @@ -2143,7 +2143,7 @@ Most of these are paid services, some have free tiers. - [Kaeru](https://github.com/bannzai/Kaeru) - Switch viewcontroller like iOS task manager. - [View2ViewTransition](https://github.com/naru-jpn/View2ViewTransition) - Custom interactive view controller transition from one view to another view. - [AZTransitions](https://github.com/azimin/AZTransitions) - API to make great custom transitions in one method. -- [Hero](https://github.com/HeroTransitions/Hero) - Supercharged transition engine for iOS. Build your custom view transitions with no code at all. Inspired by Keynote's Magic Move. +- [Hero](https://github.com/HeroTransitions/Hero) - Elegant transition library for iOS & tvOS. - [Motion](https://github.com/CosmicMind/Motion) - Seamless animations and transitions in Swift. - [PresenterKit](https://github.com/jessesquires/PresenterKit) - Swifty view controller presentation for iOS. - [Transition](https://github.com/Touchwonders/Transition) - Easy interactive interruptible custom ViewController transitions. @@ -2315,7 +2315,7 @@ Most of these are paid services, some have free tiers. - [Form](https://github.com/hyperoslo/Form) - The most flexible and powerful way to build a form on iOS - [XLForm](https://github.com/xmartlabs/XLForm) - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms. Fully compatible with Swift & Obj-C. -- [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in pure Swift. +- [Eureka](https://github.com/xmartlabs/Eureka) - Elegant iOS form builder in Swift. - [YALField](https://github.com/Yalantis/YALField) - Custom Field component with validation for creating easier form-like UI from interface builder. - [Former](https://github.com/ra1028/Former) - Former is a fully customizable Swift2 library for easy creating UITableView based form. - [SwiftForms](https://github.com/ortuman/SwiftForms) - A small and lightweight library written in Swift that allows you to easily create forms. From 41753011105c1fa43d6e17be409085bfe0718009 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 23 Sep 2020 14:12:40 -0300 Subject: [PATCH 2421/2606] update funding. Add github --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 367e81cab..902c12262 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1,2 @@ +github: vsouza ko_fi: awesomeios From 03c01e3120d235efcc18b55390e24f977ffeac2a Mon Sep 17 00:00:00 2001 From: Greg Foster Date: Thu, 24 Sep 2020 18:46:08 -0400 Subject: [PATCH 2422/2606] Add Screenplay to Deployments --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b244117d..7c1ce1bb8 100644 --- a/README.md +++ b/README.md @@ -3100,6 +3100,7 @@ Most of these are paid services, some have free tiers. - [ScreenshotFramer](https://github.com/IdeasOnCanvas/ScreenshotFramer) - With Screenshot Framer you can easily create nice-looking and localized App Store Images. - [Semaphore](https://semaphoreci.com/product/ios) - 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. - [Appcircle.io](https://appcircle.io) — Automated mobile CI/CD/CT for iOS with online device simulators +- [Screenplay](https://screenplay.dev) - Instant rollbacks and canary deployments for iOS. ## App Store From 8095514d7882549a72fd0405816494160cbb0df2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Py=C4=87?= Date: Thu, 15 Oct 2020 17:30:47 +0200 Subject: [PATCH 2423/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c1ce1bb8..512cea689 100644 --- a/README.md +++ b/README.md @@ -3045,6 +3045,7 @@ Most of these are paid services, some have free tiers. - [Speculid](https://speculid.com) - generate Image Sets and App Icons from SVG, PNG, and JPEG files - [SkrybaMD](https://github.com/robertherdzik/SkrybaMD) - Markdown Documentation generator. If your team need easy way to maintain and create documentation, this generator is for you. - [Storyboard -> SwiftUI Converter](https://swiftify.com/#/converter/storyboard2swiftui/) - Storyboard -> SwiftUI Converter is a converter to convert .storyboard and .xib to SwiftUI. +- [Swift Package Index](https://swiftpackageindex.com) - Swift packages list with many information about quality and compatiblity of package. ## Rapid Development From 0d3a1b393fd5c9b9d28d103d16f707c46abd414b Mon Sep 17 00:00:00 2001 From: Aidar Nugmanoff Date: Wed, 21 Oct 2020 15:32:54 +0600 Subject: [PATCH 2424/2606] Add DropdownTransition --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c1ce1bb8..241bb236c 100644 --- a/README.md +++ b/README.md @@ -2156,6 +2156,7 @@ Most of these are paid services, some have free tiers. - [LiquidTransition](https://github.com/AlexandrGraschenkov/LiquidTransition) - removes boilerplate code to perform transition, allows backward animations, custom properties animation and much more! - [SPStorkController](https://github.com/IvanVorobei/SPStorkController) - Very similar to the controllers displayed in Apple Music, Podcasts and Mail Apple's applications. - [AppstoreTransition](https://github.com/appssemble/appstore-card-transition) - Simulates the appstore card animation transition. +- [DropdownTransition](https://github.com/nugmanoff/DropdownTransition) - Simple and elegant Dropdown Transition for presenting controllers from top to bottom. ### Alert & Action Sheet From 888bcb1e06db8735e73e203e25dd639e5fcbc5c1 Mon Sep 17 00:00:00 2001 From: tushar926 <74056573+tushar926@users.noreply.github.com> Date: Fri, 6 Nov 2020 18:59:03 +0530 Subject: [PATCH 2425/2606] Added resource for top Swift courses and tutorials --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c1ce1bb8..cc5f51fb6 100644 --- a/README.md +++ b/README.md @@ -3237,6 +3237,7 @@ Most of these are paid services, some have free tiers. - [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. - [Conferences.digital](https://github.com/zagahr/Conferences.digital) - Watch conference videos in a native macOS app. - [DaddyCoding](https://daddycoding.com/) - iOS Tutorials ranging from beginners to advance. +- [Learn Swift](https://blog.coursesity.com/best-swift-tutorials/) - Learn Swift - curated list of the top online Swift tutorials and courses. ### iOS UI Template - [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) From adb106d77dc779957b2328661ed5ab771492bc6e Mon Sep 17 00:00:00 2001 From: Peter Thaleikis Date: Wed, 11 Nov 2020 11:14:24 +0400 Subject: [PATCH 2426/2606] Readability --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7c1ce1bb8..f1e64a54a 100644 --- a/README.md +++ b/README.md @@ -3043,7 +3043,7 @@ Most of these are paid services, some have free tiers. - [nef](https://github.com/bow-swift/nef) - A set of command line tools for Xcode Playground: lets you have compile-time verification of your documentation written as Xcode Playgrounds, generates markdown files, integration with Jekyll for building microsites and Carbon to export code snippets. - [Pecker](https://github.com/woshiccm/Pecker) - CodePecker is a tool to detect unused code. - [Speculid](https://speculid.com) - generate Image Sets and App Icons from SVG, PNG, and JPEG files -- [SkrybaMD](https://github.com/robertherdzik/SkrybaMD) - Markdown Documentation generator. If your team need easy way to maintain and create documentation, this generator is for you. +- [SkrybaMD](https://github.com/robertherdzik/SkrybaMD) - Markdown Documentation generator. If your team needs an easy way to maintain and create documentation, this generator is for you. - [Storyboard -> SwiftUI Converter](https://swiftify.com/#/converter/storyboard2swiftui/) - Storyboard -> SwiftUI Converter is a converter to convert .storyboard and .xib to SwiftUI. ## Rapid Development From 08200518f85e102a53bc639806f7a944ef22c080 Mon Sep 17 00:00:00 2001 From: Sherzod Khashimov Date: Fri, 13 Nov 2020 09:35:19 +0500 Subject: [PATCH 2427/2606] Add SwiftFortuneWheel --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c1ce1bb8..c481116f0 100644 --- a/README.md +++ b/README.md @@ -732,6 +732,7 @@ - [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit. - [AssetImportKit](https://github.com/eugenebokhan/AssetImportKit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. - [glide engine](https://github.com/cocoatoucher/Glide) - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials. +- [SwiftFortuneWheel](https://github.com/sh-khashimov/SwiftFortuneWheel) - A cross-platform framework for games like a Wheel of Fortune. ## GCD From efdbea6f0279b53230bdff76a16203c601f12200 Mon Sep 17 00:00:00 2001 From: Eugene Kazaev Date: Fri, 27 Nov 2020 14:10:52 +0000 Subject: [PATCH 2428/2606] Added ChatLayout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c1ce1bb8..b735001cd 100644 --- a/README.md +++ b/README.md @@ -1269,6 +1269,7 @@ Also see [push notifications](#push-notifications) - [SwiftyMessenger](https://github.com/abdullahselek/SwiftyMessenger) - Swift toolkit for passing messages between iOS apps and extensions. - [Messenger Chat with Firebase](https://github.com/instamobile/messenger-iOS-chat-swift-firestore) - Swift messaging chat app with Firebase Firestore integration. - [SwiftKafka](https://github.com/IBM-Swift/SwiftKafka) - Swift SDK for Apache Kafka by IBM. +- [ChatLayout](https://github.com/ekazaev/ChatLayout) - A lightweight framework to build chat UI that uses custom `UICollectionViewLayout` to provide full control over the presentation as well as all the tools available in `UICollectionView`. ## Networking - [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. From 1351d69ccdc1adddefe4edaac336b3c9b6b17d5d Mon Sep 17 00:00:00 2001 From: Vitaly Davydov Date: Mon, 30 Nov 2020 00:17:30 +0300 Subject: [PATCH 2429/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c1ce1bb8..29e8dba71 100644 --- a/README.md +++ b/README.md @@ -1615,6 +1615,7 @@ Most of these are paid services, some have free tiers. - [twitter-kit-ios](https://github.com/twitter-archive/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps. - [rides-ios-sdk](https://github.com/uber/rides-ios-sdk) - Uber Rides iOS SDK (beta). - [Apphud](https://github.com/apphud/ApphudSDK) - A complete solution to integrate auto-renewable subscriptions and regular in-app purchases in 30 minutes with no server code required. +- [Adapty](https://github.com/adaptyteam/AdaptySDK-iOS) — Integrate in-app subscriptions and a/b testing for them with 3 lines of code. ### Unofficial From 64c245969f2788b3802eb9486087e75e15e4787d Mon Sep 17 00:00:00 2001 From: Vitaly Davydov Date: Mon, 30 Nov 2020 00:19:08 +0300 Subject: [PATCH 2430/2606] Adapty SDK Added --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 29e8dba71..1589d1eae 100644 --- a/README.md +++ b/README.md @@ -1615,7 +1615,7 @@ Most of these are paid services, some have free tiers. - [twitter-kit-ios](https://github.com/twitter-archive/twitter-kit-ios) - Twitter Kit is a native SDK to include Twitter content inside mobile apps. - [rides-ios-sdk](https://github.com/uber/rides-ios-sdk) - Uber Rides iOS SDK (beta). - [Apphud](https://github.com/apphud/ApphudSDK) - A complete solution to integrate auto-renewable subscriptions and regular in-app purchases in 30 minutes with no server code required. -- [Adapty](https://github.com/adaptyteam/AdaptySDK-iOS) — Integrate in-app subscriptions and a/b testing for them with 3 lines of code. +- [Adapty](https://github.com/adaptyteam/AdaptySDK-iOS) - Integrate in-app subscriptions and a/b testing for them with 3 lines of code. ### Unofficial From 1613c48b1ac1016d85afd556c3d2e4f36c404b1a Mon Sep 17 00:00:00 2001 From: Nghia Tran Date: Wed, 4 Nov 2020 13:54:16 +0700 Subject: [PATCH 2431/2606] Add Atlantis --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c1ce1bb8..2024b6bb8 100644 --- a/README.md +++ b/README.md @@ -663,6 +663,7 @@ - [MTHawkeye](https://github.com/meitu/MTHawkeye) - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc. - [Playbook](https://github.com/playbook-ui/playbook-ios) - A library for isolated developing UI components and automatically snapshots of them. - [DoraemonKit](https://github.com/didi/DoraemonKit) - A full-featured iOS App development assistant,30+ tools included. You deserve it. +- [Atlantis](https://github.com/ProxymanApp/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. ## EventBus From 23f0ffc2d27370f220004db334d6e60ad2ee7baf Mon Sep 17 00:00:00 2001 From: Felix Kirchengast <17876666+fkirc@users.noreply.github.com> Date: Tue, 15 Dec 2020 22:29:30 +0100 Subject: [PATCH 2432/2606] Add attranslate to Localization --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7dd18631..70ebae78a 100644 --- a/README.md +++ b/README.md @@ -962,6 +962,7 @@ - [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. - [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. - [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. +- [attranslate](https://github.com/fkirc/attranslate) - Semi-automatically translate or synchronize .strings files or crossplatform-files from different languages. - [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable. - [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings. - [L10n-swift](https://github.com/Decybel07/L10n-swift) - Localization of an application with ability to change language "on the fly" and support for plural forms in any language. From 259447140b7ecc372c2af40e38d8698152dac9e3 Mon Sep 17 00:00:00 2001 From: Felix Kirchengast <17876666+fkirc@users.noreply.github.com> Date: Thu, 17 Dec 2020 16:33:13 +0100 Subject: [PATCH 2433/2606] Move attranslate to the end of "tools" section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 70ebae78a..8493279ad 100644 --- a/README.md +++ b/README.md @@ -962,12 +962,12 @@ - [LocalizedView](https://github.com/darkcl/LocalizedView) - Setting up application specific localized string within Xib file. - [transai](https://github.com/Jintin/transai) - command line tool help you manage localization string files. - [Strsync](https://github.com/metasmile/strsync) - Automatically translate and synchronize .strings files from base language. -- [attranslate](https://github.com/fkirc/attranslate) - Semi-automatically translate or synchronize .strings files or crossplatform-files from different languages. - [IBLocalizable](https://github.com/PiXeL16/IBLocalizable) - Localize your views directly in Interface Builder with IBLocalizable. - [nslocalizer](https://github.com/samdmarshall/nslocalizer) - A tool for finding missing and unused NSLocalizedStrings. - [L10n-swift](https://github.com/Decybel07/L10n-swift) - Localization of an application with ability to change language "on the fly" and support for plural forms in any language. - [Localize](https://github.com/andresilvagomez/Localize) - Easy tool to localize apps using JSON or Strings and of course IBDesignables with extensions for UI components. - [CrowdinSDK](https://github.com/crowdin/mobile-sdk-ios) - Crowdin iOS SDK delivers all new translations from Crowdin project to the application immediately. +- [attranslate](https://github.com/fkirc/attranslate) - Semi-automatically translate or synchronize .strings files or crossplatform-files from different languages. ## Logging From 9b04cf5f872e5cb3b896632f958db4156f3a0595 Mon Sep 17 00:00:00 2001 From: Jasper Blues Date: Mon, 21 Dec 2020 08:22:27 +0800 Subject: [PATCH 2434/2606] Pilgrim - AppsQuickly successor to Typhoon --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3d9baba97..26762cf62 100644 --- a/README.md +++ b/README.md @@ -3074,7 +3074,8 @@ Most of these are paid services, some have free tiers. - [Reliant](https://github.com/appfoundry/Reliant) - Nonintrusive Objective-C dependency injection. - [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. - [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. -- [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection (Objective-C & Swift). +- [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection for Objective-C. +- [Pilgrim](https://github.com/appsquickly/pilgrim) - Powerful dependency injection Swift (successor to Typhoon). - [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. - [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. - [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift. From 21f8125af6ee746b4edc1f47e276a6b5424acfc2 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 7 Jan 2021 12:22:21 -0300 Subject: [PATCH 2435/2606] Remove Instabug section --- README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/README.md b/README.md index 3d9baba97..e3dbdc3a1 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,6 @@ Buy Me a Coffee

-## Understand How Your iOS App is Doing with Real-Time Contextual Insights From Your Users - [![instabug-github](https://raw.githubusercontent.com/vsouza/awesome-ios/master/sponsor_banner.gif)](https://try.instabug.com/awesome-ios?utm_source=awesomeios&utm_medium=repos&utm_campaign=awesomeios-repo-Q320-Sept) - > The SDK that gives development and product teams all the logs they need to fix bugs, crashes, and other issues in minutes instead of days. Instabug automatically attaches screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs. It only takes a line of code to integrate and accelerate your workflows by seamlessly integrating with third-party tools like Github, Jira, Slack, Zendesk, and much more. Instabug is offering exclusively to the awesome-ios community a 3 months free trial. [Get Started Now!](https://try.instabug.com/awesome-ios?utm_source=awesomeios&utm_medium=repos&utm_campaign=awesomeios-repo-Q320-Sept) -[![](https://instabug-ga.appspot.com/UA-41982088-6/github/awesomeios?pixel)](https://instabug.com) - ### Content - [Courses](#courses) - [Accessibility](#accessibility) From 2c454a1a1ba816cbef422c49940ee0d2fcd8ace7 Mon Sep 17 00:00:00 2001 From: Bennett Yuan Date: Fri, 29 Jan 2021 10:45:58 +0800 Subject: [PATCH 2436/2606] Add TwitterTextEditor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e3dbdc3a1..750b2fc2a 100644 --- a/README.md +++ b/README.md @@ -1802,6 +1802,7 @@ Most of these are paid services, some have free tiers. - [Croc](https://github.com/jkalash/croc) - A lightweight Swift library for Emoji parsing and querying. - [PostalCodeValidator](https://github.com/FormatterKit/PostalCodeValidator) - A validator for postal codes with support for 200+ regions. - [CodeMirror Swift](https://github.com/ProxymanApp/CodeMirror-Swift) - A lightweight wrapper of CodeMirror for macOS and iOS. Support Syntax Highlighting & Themes. +- [TwitterTextEditor](https://github.com/twitter/TwitterTextEditor) - A standalone, flexible API that provides a full featured rich text editor for iOS applications. ### Font - [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. From 948e0d23962e1dfe0fd32c9894b634beeb9e0b3e Mon Sep 17 00:00:00 2001 From: Brandon Evans Date: Thu, 4 Feb 2021 15:41:40 -0700 Subject: [PATCH 2437/2606] Add Xcodes.app --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e3dbdc3a1..8883dfc4f 100644 --- a/README.md +++ b/README.md @@ -3046,6 +3046,7 @@ Most of these are paid services, some have free tiers. - [SkrybaMD](https://github.com/robertherdzik/SkrybaMD) - Markdown Documentation generator. If your team needs an easy way to maintain and create documentation, this generator is for you. - [Storyboard -> SwiftUI Converter](https://swiftify.com/#/converter/storyboard2swiftui/) - Storyboard -> SwiftUI Converter is a converter to convert .storyboard and .xib to SwiftUI. - [Swift Package Index](https://swiftpackageindex.com) - Swift packages list with many information about quality and compatiblity of package. +- [Xcodes.app](https://github.com/RobotsAndPencils/XcodesApp) - The easiest way to install and switch between multiple versions of Xcode. ## Rapid Development From af9bdac1601126a45c170fc9b544988b7a0bfb1b Mon Sep 17 00:00:00 2001 From: Florent Morin Date: Wed, 24 Feb 2021 15:17:52 +0100 Subject: [PATCH 2438/2606] Added SwiftCoreMLTools SwiftCoreMLTools is a Swift library for creating and exporting CoreML Models in Swift. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 210b626bc..2a44e4557 100644 --- a/README.md +++ b/README.md @@ -1019,6 +1019,7 @@ - [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. - [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. - [TensorSwift](https://github.com/qoncept/TensorSwift) - A lightweight library to calculate tensors in Swift, which has similar APIs to TensorFlow's. +- [SwiftCoreMLTools](https://github.com/JacopoMangiavacchi/SwiftCoreMLTools) - A Swift library for creating and exporting CoreML Models in Swift ## Maps From faf2616000aee53503bb2d689380c5f4ab76ad63 Mon Sep 17 00:00:00 2001 From: Palle Date: Tue, 9 Mar 2021 01:58:15 +0100 Subject: [PATCH 2439/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 210b626bc..f39d54ebb 100644 --- a/README.md +++ b/README.md @@ -1019,6 +1019,7 @@ - [Serrano](https://github.com/pcpLiu/Serrano) - A deep learning library for iOS and macOS. - [Swift-AI](https://github.com/Swift-AI/Swift-AI) - The Swift machine learning library. - [TensorSwift](https://github.com/qoncept/TensorSwift) - A lightweight library to calculate tensors in Swift, which has similar APIs to TensorFlow's. +- [DL4S](https://github.com/palle-k/DL4S) - Deep Learning for Swift: Accelerated tensor operations and dynamic neural networks based on reverse mode automatic differentiation for every device that can run Swift ## Maps From 004cafced450d3d42906d9db802ebcc4e95d1e23 Mon Sep 17 00:00:00 2001 From: mbnz Date: Tue, 9 Mar 2021 10:02:28 +0100 Subject: [PATCH 2440/2606] add composable navigator --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 210b626bc..88810ac0b 100644 --- a/README.md +++ b/README.md @@ -243,6 +243,7 @@ - [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. - [RouteComposer](https://github.com/ekazaev/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. - [LiteRoute](https://github.com/SpectralDragon/LiteRoute) - Easy transition between VIPER modules, implemented on pure Swift. +- [Composable Navigator](https://github.com/Bahn-X/swift-composable-navigator) - An open source library for building deep-linkable SwiftUI applications with composition, testing and ergonomics in mind ## Apple TV From 10d30f0aee91e1044dc7da537f6dcef4df58f587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Hr=C5=BEenjak?= <68645066+Branci3@users.noreply.github.com> Date: Mon, 26 Apr 2021 13:14:54 +0200 Subject: [PATCH 2441/2606] Updated Analytics section with a new SDK entry Added Shake SDK under analytics tools. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8ed0dd97..6f6f1067a 100644 --- a/README.md +++ b/README.md @@ -219,6 +219,7 @@ - [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. - [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. - [Sentry](https://sentry.io/) - Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time. +- [Shake](https://www.shakebugs.com/) - In-app feedback and bug reporting tool. Fix app bugs up to 50x faster with detailed device data, repro steps, video recordings, black box data, network requests and custom logging. ## App Routing From cfe3988df5757c86b1e31ea1028941f09e7493e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Hr=C5=BEenjak?= <68645066+Branci3@users.noreply.github.com> Date: Tue, 27 Apr 2021 15:44:37 +0200 Subject: [PATCH 2442/2606] Amended typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f6f1067a..edd00bd37 100644 --- a/README.md +++ b/README.md @@ -219,7 +219,7 @@ - [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. - [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. - [Sentry](https://sentry.io/) - Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time. -- [Shake](https://www.shakebugs.com/) - In-app feedback and bug reporting tool. Fix app bugs up to 50x faster with detailed device data, repro steps, video recordings, black box data, network requests and custom logging. +- [Shake](https://www.shakebugs.com/) - In-app feedback and bug reporting tool. Fix app bugs up to 50x faster with detailed device data, repro steps, video recording, black box data, network requests and custom logging. ## App Routing From 5431ad5b4e409032707ab62105540dd08db06f6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Velez=20Kriszti=C3=A1n?= Date: Tue, 27 Apr 2021 18:39:02 +0200 Subject: [PATCH 2443/2606] Add Respresso Localization Converter to the awesome list. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8ed0dd97..6f34c42de 100644 --- a/README.md +++ b/README.md @@ -965,6 +965,7 @@ - [Localize](https://github.com/andresilvagomez/Localize) - Easy tool to localize apps using JSON or Strings and of course IBDesignables with extensions for UI components. - [CrowdinSDK](https://github.com/crowdin/mobile-sdk-ios) - Crowdin iOS SDK delivers all new translations from Crowdin project to the application immediately. - [attranslate](https://github.com/fkirc/attranslate) - Semi-automatically translate or synchronize .strings files or crossplatform-files from different languages. +- [Respresso Localization Converter](https://respresso.io/localization-converter) - Multiplatform localization converter for iOS (.strings + Objective-C getters), Android (strings.xml) and Web (.json). ## Logging From 81c930f1b602b61cf5f088ac9a03b2ecda58354f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Velez=20Kriszti=C3=A1n?= Date: Tue, 27 Apr 2021 18:44:31 +0200 Subject: [PATCH 2444/2606] Add Respresso Image Converter to the awesome list. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8ed0dd97..f31deaa89 100644 --- a/README.md +++ b/README.md @@ -3053,6 +3053,7 @@ Most of these are paid services, some have free tiers. - [Storyboard -> SwiftUI Converter](https://swiftify.com/#/converter/storyboard2swiftui/) - Storyboard -> SwiftUI Converter is a converter to convert .storyboard and .xib to SwiftUI. - [Swift Package Index](https://swiftpackageindex.com) - Swift packages list with many information about quality and compatiblity of package. - [Xcodes.app](https://github.com/RobotsAndPencils/XcodesApp) - The easiest way to install and switch between multiple versions of Xcode. +- [Respresso Image Converter](https://respresso.io/image-converter) - Multiplatform image converter for iOS, Android, and Web that supports pdf, svg, vector drawable, jpg, png, and webp formats. ## Rapid Development From 9982771f487cb3c32641513a1f7697e3e6179119 Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Fri, 7 May 2021 11:35:25 +0300 Subject: [PATCH 2445/2606] Added `SPPerspective`. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8ed0dd97..9a779f915 100644 --- a/README.md +++ b/README.md @@ -2130,6 +2130,7 @@ Most of these are paid services, some have free tiers. - [Disintegrate](https://github.com/dbukowski/Disintegrate) - Disintegration animation inspired by THAT thing Thanos did at the end of Avengers: Infinity War. - [Wobbly](https://github.com/sagaya/wobbly) - Wobbly is a Library of predefined, easy to use iOS animations. - [LoadingShimmer](https://github.com/jogendra/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. +- [SPPerspective](https://github.com/ivanvorobei/SPPerspective) - Widgets iOS 14 animation with 3D and dynamic shadow. Customisable transform and duration. ### Transition - [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. From 2bd7b48a69a1f33640896a932c0e44e462b18713 Mon Sep 17 00:00:00 2001 From: Jungpyo Hong Date: Tue, 15 Jun 2021 22:01:09 -0500 Subject: [PATCH 2446/2606] update awesome-ios-developer update in Other Awesome Lists --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d8ed0dd97..02e7b2f79 100644 --- a/README.md +++ b/README.md @@ -3328,6 +3328,7 @@ Most of these are paid services, some have free tiers. - [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. - [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. - [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift. + - [awesome-ios-developer](https://github.com/jphong1111/awesome-ios-developer) - Useful knowledges and stuff for ios developer. - [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. - [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. - Awesome iOS Animation From 88951f09436d45fc91d22d3bf5e6c104ee9aa39f Mon Sep 17 00:00:00 2001 From: Muukii Date: Thu, 17 Jun 2021 22:52:44 +0900 Subject: [PATCH 2447/2606] Add MondrianLayout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index edd00bd37..c4edc7191 100644 --- a/README.md +++ b/README.md @@ -946,6 +946,7 @@ - [EEStackLayout](https://github.com/efekanegeli/EEStackLayout) - A structured vertical stack layout. - [RKAutoLayout](https://github.com/daskioff/RKAutoLayout) - Simple wrapper over AutoLayout. - [Grid](https://github.com/exyte/Grid) - The most powerful Grid container missed in SwiftUI. +- [MondrianLayout](https://github.com/muukii/MondrianLayout) - A DSL based layout builder for AutoLayout. ## Localization From 941faaab7ef9a2ce22edaea31d71f0a96c89e106 Mon Sep 17 00:00:00 2001 From: Sarvesh Patel <70062166+sarvesh567@users.noreply.github.com> Date: Fri, 2 Jul 2021 12:35:45 +0530 Subject: [PATCH 2448/2606] I think this line is great. I am an iOS Developer. My passion towards develop code increases by getting these repose in use I want to say thanks to all the developer's contribution. --- helloworld.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helloworld.swift b/helloworld.swift index d4fd2380c..99f1510ac 100644 --- a/helloworld.swift +++ b/helloworld.swift @@ -1 +1 @@ -print("Hello Awesome iOS Developers!") +print("Welcome iOS Developers Code House!") From 82fc2a6a54238b6a03d8509c78a9413dddabd729 Mon Sep 17 00:00:00 2001 From: Jungpyo Hong Date: Wed, 7 Jul 2021 09:05:31 -0500 Subject: [PATCH 2449/2606] update awesome ios developer edit section --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 02e7b2f79..6455fdf54 100644 --- a/README.md +++ b/README.md @@ -3328,7 +3328,6 @@ Most of these are paid services, some have free tiers. - [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. - [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. - [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift. - - [awesome-ios-developer](https://github.com/jphong1111/awesome-ios-developer) - Useful knowledges and stuff for ios developer. - [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. - [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. - Awesome iOS Animation @@ -3351,7 +3350,7 @@ Most of these are paid services, some have free tiers. - [Awesome list of open source applications for macOS](https://github.com/serhii-londar/open-source-mac-os-apps) - List of awesome open source applications for macOS. - [Awesome iOS Interview question list](https://github.com/dashvlas/awesome-ios-interview) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. - [Top App Developers](https://github.com/app-developers/top) - A list of top iOS app developers. - +- [awesome-ios-developer](https://github.com/jphong1111/awesome-ios-developer) - Useful knowledges and stuff for ios developer. ## Contributing and License - [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 23320c85482afaeb2e5a829fc7fc4e1c563f2503 Mon Sep 17 00:00:00 2001 From: Bogdan Poplauschi Date: Tue, 13 Jul 2021 12:22:07 +0300 Subject: [PATCH 2450/2606] Added iOS Lead Essentials Program to Courses --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d52877a3f..a1b8c4bb1 100644 --- a/README.md +++ b/README.md @@ -178,6 +178,7 @@ - [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) - [Apple - Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) - [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. +- [iOS Lead Essentials Program](https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials) - Online program meticulously thought out for iOS developers who want to become world-class senior developers and be part of the highest-paid iOS devs in the world. Focuses on key concepts like Swift, TDD, BDD, DDD, Clean Architecture, Design Patterns, Git, Automation, CI/CD, and Modular Design. - [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? - [Ray Wenderlich](https://www.raywenderlich.com/2690-learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. - [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) From 0027f86910d40a9a6c08881fea24f8d1d0229361 Mon Sep 17 00:00:00 2001 From: Bogdan Poplauschi Date: Tue, 13 Jul 2021 12:28:12 +0300 Subject: [PATCH 2451/2606] Moved iOS Lead Essentials Program to the bottom of Courses --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a1b8c4bb1..ea4e66f18 100644 --- a/README.md +++ b/README.md @@ -178,7 +178,6 @@ - [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) - [Apple - Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) - [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. -- [iOS Lead Essentials Program](https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials) - Online program meticulously thought out for iOS developers who want to become world-class senior developers and be part of the highest-paid iOS devs in the world. Focuses on key concepts like Swift, TDD, BDD, DDD, Clean Architecture, Design Patterns, Git, Automation, CI/CD, and Modular Design. - [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? - [Ray Wenderlich](https://www.raywenderlich.com/2690-learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. - [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) @@ -190,6 +189,7 @@ - [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners. - [iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp](https://www.udemy.com/course/ios-13-app-development-bootcamp/) - [Classpert - A list of 500 iOS Development courses (free and paid), from top e-learning platforms](https://classpert.com/ios-development) - Complete catalog of courses from Udacity, Pluralsight, Coursera, Edx, Treehouse and Skillshare. +- [iOS Lead Essentials Program](https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials) - Online program meticulously thought out for iOS developers who want to become world-class senior developers and be part of the highest-paid iOS devs in the world. Focuses on key concepts like Swift, TDD, BDD, DDD, Clean Architecture, Design Patterns, Git, Automation, CI/CD, and Modular Design. ## Accessibility *Frameworks that help to support accessibility features and enable people with disabilities to use your app* From e573756aae84e7e9db67e5239220436750054227 Mon Sep 17 00:00:00 2001 From: Marie Jaksman Date: Sun, 8 Aug 2021 00:05:24 +0300 Subject: [PATCH 2452/2606] Update README.md Added Codemagic CI/CD to Distribution --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ea4e66f18..e828c46e8 100644 --- a/README.md +++ b/README.md @@ -3116,6 +3116,7 @@ Most of these are paid services, some have free tiers. - [Semaphore](https://semaphoreci.com/product/ios) - 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. - [Appcircle.io](https://appcircle.io) — Automated mobile CI/CD/CT for iOS with online device simulators - [Screenplay](https://screenplay.dev) - Instant rollbacks and canary deployments for iOS. +- [Codemagic](https://codemagic.io) - Build, test and deliver iOS apps 20% faster with Codemagic CI/CD. ## App Store From 92a3bf32c4124bdce1b6dc8fc0b7a2429826b886 Mon Sep 17 00:00:00 2001 From: Richard Gist Date: Sun, 8 Aug 2021 15:06:15 -0600 Subject: [PATCH 2453/2606] Add SwiftCurrent to the App Routing section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ea4e66f18..cd252e697 100644 --- a/README.md +++ b/README.md @@ -246,6 +246,7 @@ - [RouteComposer](https://github.com/ekazaev/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. - [LiteRoute](https://github.com/SpectralDragon/LiteRoute) - Easy transition between VIPER modules, implemented on pure Swift. - [Composable Navigator](https://github.com/Bahn-X/swift-composable-navigator) - An open source library for building deep-linkable SwiftUI applications with composition, testing and ergonomics in mind +- [SwiftCurrent](https://github.com/wwt/SwiftCurrent) - A library for managing complex workflows. ## Apple TV From 4a56687efb233068469aa581af417881f896323a Mon Sep 17 00:00:00 2001 From: Ricardo Santos Date: Wed, 25 Aug 2021 11:59:00 +0930 Subject: [PATCH 2454/2606] Remove BEMSimpleLineGraph as it is now archived --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index bb0b3d6c1..019e95fa6 100644 --- a/README.md +++ b/README.md @@ -368,7 +368,6 @@ - [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). - [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS. - [XJYChart](https://github.com/JunyiXie/XJYChart) - A Beautiful chart for iOS. Support animation, click, slide, area highlight. -- [BEMSimpleLineGraph](https://github.com/Boris-Em/BEMSimpleLineGraph) - Elegant Line Graphs for iOS (charting library). - [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. - [XYPieChart](https://github.com/xyfeng/XYPieChart) - A simple and animated Pie Chart for your iOS app. - [TEAChart](https://github.com/xhacker/TEAChart) - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart. From a3793c87f11fdf5fb190397272de2cab655ed086 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 13 Oct 2021 18:07:00 +0700 Subject: [PATCH 2455/2606] Add Regex --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb0b3d6c1..9e28ede73 100644 --- a/README.md +++ b/README.md @@ -1590,6 +1590,7 @@ Most of these are paid services, some have free tiers. - [PySwiftyRegex](https://github.com/cezheng/PySwiftyRegex) - Easily deal with Regex in Swift in a Pythonic way. - [Regex](https://github.com/crossroadlabs/Regex) - Regular expressions for swift. - [Regex](https://github.com/brynbellomy/Regex) - Regex class for Swift. Wraps NSRegularExpression. +- [sindresorhus/Regex](https://github.com/sindresorhus/Regex) - Swifty regular expressions, fully tested & documented, and with correct Unicode handling. ## SDK From f1c0bf432af8cb1a55ea23c5575c34b8e89fbd85 Mon Sep 17 00:00:00 2001 From: Arasuvel Date: Wed, 20 Oct 2021 21:59:55 +0530 Subject: [PATCH 2456/2606] Update SpreadsheetView link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bb0b3d6c1..8a7e11f78 100644 --- a/README.md +++ b/README.md @@ -2537,7 +2537,7 @@ Most of these are paid services, some have free tiers. - [GoAutoSlideView](https://github.com/zjmdp/GoAutoSlideView) - GoAutoSlideView extends UIScrollView by featuring infinitely and automatically slide. - [AppStoreStyleHorizontalScrollView](https://github.com/terenceLuffy/AppStoreStyleHorizontalScrollView) - App store style horizontal scroll view. - [PullToDismiss](https://github.com/sgr-ksmt/PullToDismiss) - You can dismiss modal viewcontroller by pulling scrollview or navigationbar in Swift. -- [SpreadsheetView](https://github.com/kishikawakatsumi/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, gantt chart or timetable as if you are using Excel. +- [SpreadsheetView](https://github.com/bannzai/SpreadsheetView) - Full configurable spreadsheet view user interfaces for iOS applications. With this framework, you can easily create complex layouts like schedule, Gantt chart or timetable as if you are using Excel. - [VegaScroll](https://github.com/AppliKeySolutions/VegaScroll) - VegaScroll is a lightweight animation flowlayout for UICollectionView completely written in Swift 4, compatible with iOS 11 and Xcode 9 - [ShelfView-iOS](https://github.com/tdscientist/ShelfView-iOS) - iOS custom view to display books on shelf - [SlideController](https://github.com/touchlane/SlideController) - SlideController is simple and flexible UI component completely written in Swift. It is a nice alternative for UIPageViewController built using power of generic types. From 54d7989c31f7b4422973713bf55757c8b708ed98 Mon Sep 17 00:00:00 2001 From: Vyacheslav Khorkov Date: Sat, 23 Oct 2021 21:44:50 +0300 Subject: [PATCH 2457/2606] Add Rugby tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb0b3d6c1..db72b4c03 100644 --- a/README.md +++ b/README.md @@ -3060,6 +3060,7 @@ Most of these are paid services, some have free tiers. - [Swift Package Index](https://swiftpackageindex.com) - Swift packages list with many information about quality and compatiblity of package. - [Xcodes.app](https://github.com/RobotsAndPencils/XcodesApp) - The easiest way to install and switch between multiple versions of Xcode. - [Respresso Image Converter](https://respresso.io/image-converter) - Multiplatform image converter for iOS, Android, and Web that supports pdf, svg, vector drawable, jpg, png, and webp formats. +- [Rugby](https://github.com/swiftyfinch/Rugby) - 🏈 Cache CocoaPods for faster rebuild and indexing Xcode project. ## Rapid Development From 67a27daf5596b55390adf742d12e0cd89f6095dc Mon Sep 17 00:00:00 2001 From: Philip Turner Date: Mon, 1 Nov 2021 20:17:43 -0400 Subject: [PATCH 2458/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb0b3d6c1..725cc5291 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,7 @@ - [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision. - [Poly](https://github.com/piemonte/Poly) - Unofficial Google Poly SDK – search and display 3D models. - [ARKit Emperor](https://github.com/kboy-silvergym/ARKit-Emperor) - The Emperor give you the most practical ARKit samples ever. +- [ARHeadsetKit](https://github.com/philipturner/ARHeadsetKit) - High-level framework for experimenting with AR and replicating Microsoft Hololens. ## Authentication From 27d1308b14719190a8af596afe49dd1ff1ce43f1 Mon Sep 17 00:00:00 2001 From: Philip Turner Date: Tue, 2 Nov 2021 14:16:47 -0400 Subject: [PATCH 2459/2606] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 725cc5291..95d38df8f 100644 --- a/README.md +++ b/README.md @@ -190,6 +190,8 @@ - [iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp](https://www.udemy.com/course/ios-13-app-development-bootcamp/) - [Classpert - A list of 500 iOS Development courses (free and paid), from top e-learning platforms](https://classpert.com/ios-development) - Complete catalog of courses from Udacity, Pluralsight, Coursera, Edx, Treehouse and Skillshare. - [iOS Lead Essentials Program](https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials) - Online program meticulously thought out for iOS developers who want to become world-class senior developers and be part of the highest-paid iOS devs in the world. Focuses on key concepts like Swift, TDD, BDD, DDD, Clean Architecture, Design Patterns, Git, Automation, CI/CD, and Modular Design. +- [ARHeadsetKit](https://github.com/philipturner/ARHeadsetKit) - Extensive tutorials on a high-level framework for experimenting with AR. +- ## Accessibility *Frameworks that help to support accessibility features and enable people with disabilities to use your app* @@ -295,7 +297,6 @@ - [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision. - [Poly](https://github.com/piemonte/Poly) - Unofficial Google Poly SDK – search and display 3D models. - [ARKit Emperor](https://github.com/kboy-silvergym/ARKit-Emperor) - The Emperor give you the most practical ARKit samples ever. -- [ARHeadsetKit](https://github.com/philipturner/ARHeadsetKit) - High-level framework for experimenting with AR and replicating Microsoft Hololens. ## Authentication From af525261bbe9d2138c49c00fbc1f0d040586b75a Mon Sep 17 00:00:00 2001 From: Philip Turner Date: Tue, 2 Nov 2021 14:20:58 -0400 Subject: [PATCH 2460/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 95d38df8f..64a574d2f 100644 --- a/README.md +++ b/README.md @@ -191,7 +191,7 @@ - [Classpert - A list of 500 iOS Development courses (free and paid), from top e-learning platforms](https://classpert.com/ios-development) - Complete catalog of courses from Udacity, Pluralsight, Coursera, Edx, Treehouse and Skillshare. - [iOS Lead Essentials Program](https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials) - Online program meticulously thought out for iOS developers who want to become world-class senior developers and be part of the highest-paid iOS devs in the world. Focuses on key concepts like Swift, TDD, BDD, DDD, Clean Architecture, Design Patterns, Git, Automation, CI/CD, and Modular Design. - [ARHeadsetKit](https://github.com/philipturner/ARHeadsetKit) - Extensive tutorials on a high-level framework for experimenting with AR. -- + ## Accessibility *Frameworks that help to support accessibility features and enable people with disabilities to use your app* From 85bf4ae1d0274b305f394f8ad88b145852c44517 Mon Sep 17 00:00:00 2001 From: Philip Turner Date: Tue, 2 Nov 2021 22:03:54 -0400 Subject: [PATCH 2461/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 64a574d2f..7b2831bb6 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ - [iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp](https://www.udemy.com/course/ios-13-app-development-bootcamp/) - [Classpert - A list of 500 iOS Development courses (free and paid), from top e-learning platforms](https://classpert.com/ios-development) - Complete catalog of courses from Udacity, Pluralsight, Coursera, Edx, Treehouse and Skillshare. - [iOS Lead Essentials Program](https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials) - Online program meticulously thought out for iOS developers who want to become world-class senior developers and be part of the highest-paid iOS devs in the world. Focuses on key concepts like Swift, TDD, BDD, DDD, Clean Architecture, Design Patterns, Git, Automation, CI/CD, and Modular Design. -- [ARHeadsetKit](https://github.com/philipturner/ARHeadsetKit) - Extensive tutorials on a high-level framework for experimenting with AR. +- [ARHeadsetKit Tutorials](https://github.com/philipturner/ARHeadsetKit) - Extensive tutorials on a high-level framework for experimenting with AR. ## Accessibility From aac567951f8a56723c502d72d1471416426e860e Mon Sep 17 00:00:00 2001 From: Philip Turner Date: Tue, 2 Nov 2021 22:04:33 -0400 Subject: [PATCH 2462/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b2831bb6..a9051ff89 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ - [iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp](https://www.udemy.com/course/ios-13-app-development-bootcamp/) - [Classpert - A list of 500 iOS Development courses (free and paid), from top e-learning platforms](https://classpert.com/ios-development) - Complete catalog of courses from Udacity, Pluralsight, Coursera, Edx, Treehouse and Skillshare. - [iOS Lead Essentials Program](https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials) - Online program meticulously thought out for iOS developers who want to become world-class senior developers and be part of the highest-paid iOS devs in the world. Focuses on key concepts like Swift, TDD, BDD, DDD, Clean Architecture, Design Patterns, Git, Automation, CI/CD, and Modular Design. -- [ARHeadsetKit Tutorials](https://github.com/philipturner/ARHeadsetKit) - Extensive tutorials on a high-level framework for experimenting with AR. +- [ARHeadsetKit Tutorials](https://github.com/philipturner/ARHeadsetKit) - Interactive guides to a high-level framework for experimenting with AR. ## Accessibility From 23d2610501ec9cc6881c37c69fd5ec47c332b30b Mon Sep 17 00:00:00 2001 From: Brandon Stillitano Date: Mon, 8 Nov 2021 23:51:38 +1100 Subject: [PATCH 2463/2606] Add Scyther --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb0b3d6c1..0c3ca375e 100644 --- a/README.md +++ b/README.md @@ -663,6 +663,7 @@ - [Playbook](https://github.com/playbook-ui/playbook-ios) - A library for isolated developing UI components and automatically snapshots of them. - [DoraemonKit](https://github.com/didi/DoraemonKit) - A full-featured iOS App development assistant,30+ tools included. You deserve it. - [Atlantis](https://github.com/ProxymanApp/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. +- [Scyther](https://github.com/bstillitano/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. ## EventBus From d603e3de8304ec03821df1a1bdf46eeaf45e22d2 Mon Sep 17 00:00:00 2001 From: gsavit <2131483+gsavit@users.noreply.github.com> Date: Wed, 15 Dec 2021 13:10:07 +0100 Subject: [PATCH 2464/2606] Adding Runway --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bb0b3d6c1..91f97e849 100644 --- a/README.md +++ b/README.md @@ -3118,7 +3118,7 @@ Most of these are paid services, some have free tiers. - [Appcircle.io](https://appcircle.io) — Automated mobile CI/CD/CT for iOS with online device simulators - [Screenplay](https://screenplay.dev) - Instant rollbacks and canary deployments for iOS. - [Codemagic](https://codemagic.io) - Build, test and deliver iOS apps 20% faster with Codemagic CI/CD. - +- [Runway](https://runway.team) - 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. ## App Store From 3e1976b79456a99476257b3b475f62f243273e51 Mon Sep 17 00:00:00 2001 From: Philip Turner Date: Sat, 18 Dec 2021 10:53:38 -0500 Subject: [PATCH 2465/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb0b3d6c1..5a2ae7285 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,7 @@ - [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision. - [Poly](https://github.com/piemonte/Poly) - Unofficial Google Poly SDK – search and display 3D models. - [ARKit Emperor](https://github.com/kboy-silvergym/ARKit-Emperor) - The Emperor give you the most practical ARKit samples ever. +- [ARHeadsetKit](https://github.com/philipturner/ARHeadsetKit) - High-level framework for using $5 Google Cardboard to replicate Microsoft Hololens. ## Authentication From 5e99732a4422d842d043663e3e76038bfb561654 Mon Sep 17 00:00:00 2001 From: "mylnikova.alisa" Date: Tue, 21 Dec 2021 14:10:43 +0700 Subject: [PATCH 2466/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb0b3d6c1..892a4170c 100644 --- a/README.md +++ b/README.md @@ -1479,6 +1479,7 @@ Most of these are paid services, some have free tiers. - [RLPSwift](https://github.com/bitfwdcommunity/RLPSwift) - Recursive Length Prefix encoding written in Swift. - [AcknowledgementsPlist](https://github.com/cats-oss/AcknowledgementsPlist) - AcknowledgementsPlist manages the licenses of libraries that depend on your iOS app. - [CoreXLSX](https://github.com/MaxDesiatov/CoreXLSX) - Excel spreadsheet (XLSX) format support in pure Swift. +- [SVGView](https://github.com/exyte/SVGView) - SVG parser and renderer written in SwiftUI. ## Passbook From 85bb5d3daab5e8f926c67a505e9771b85653c710 Mon Sep 17 00:00:00 2001 From: Mehdi Mirzaie Date: Tue, 11 Jan 2022 11:26:47 +0330 Subject: [PATCH 2467/2606] Add NetShears --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb0b3d6c1..001d1cac4 100644 --- a/README.md +++ b/README.md @@ -663,6 +663,7 @@ - [Playbook](https://github.com/playbook-ui/playbook-ios) - A library for isolated developing UI components and automatically snapshots of them. - [DoraemonKit](https://github.com/didi/DoraemonKit) - A full-featured iOS App development assistant,30+ tools included. You deserve it. - [Atlantis](https://github.com/ProxymanApp/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](https://github.com/divar-ir/NetShears.git) - Allows developers to intercept and monitor HTTP/HTTPS requests and responses. It also could be configured to show gRPC calls. ## EventBus From a5fa3b8eb6f0ba014ec00ea8994fd2aca3acf5b5 Mon Sep 17 00:00:00 2001 From: Simon Nilsson Date: Sun, 27 Mar 2022 19:35:03 +0200 Subject: [PATCH 2468/2606] Add ios-uploader --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bb0b3d6c1..d6abbeb70 100644 --- a/README.md +++ b/README.md @@ -3118,6 +3118,7 @@ Most of these are paid services, some have free tiers. - [Appcircle.io](https://appcircle.io) — Automated mobile CI/CD/CT for iOS with online device simulators - [Screenplay](https://screenplay.dev) - Instant rollbacks and canary deployments for iOS. - [Codemagic](https://codemagic.io) - Build, test and deliver iOS apps 20% faster with Codemagic CI/CD. +- [ios-uploader](https://github.com/simonnilsson/ios-uploader) - Easy to use, cross-platform tool to upload iOS apps to App Store Connect. ## App Store From e1ed900293d57b1c9cf9f7284051b58227cd109c Mon Sep 17 00:00:00 2001 From: "mylnikova.alisa" Date: Thu, 21 Apr 2022 16:54:58 +0700 Subject: [PATCH 2469/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..60b6d9376 100644 --- a/README.md +++ b/README.md @@ -954,6 +954,7 @@ - [RKAutoLayout](https://github.com/daskioff/RKAutoLayout) - Simple wrapper over AutoLayout. - [Grid](https://github.com/exyte/Grid) - The most powerful Grid container missed in SwiftUI. - [MondrianLayout](https://github.com/muukii/MondrianLayout) - A DSL based layout builder for AutoLayout. +- [ScalingHeaderScrollView](https://github.com/exyte/ScalingHeaderScrollView.git) - A scroll view with a sticky header which shrinks as you scroll. Written with SwiftUI. ## Localization From e05d627d60bfb3b475bbb913f00e0c035c48908a Mon Sep 17 00:00:00 2001 From: Steve Landey <38225497+stevelandeyasana@users.noreply.github.com> Date: Fri, 29 Apr 2022 14:45:51 -0700 Subject: [PATCH 2470/2606] Add locheck Locheck is a replacement for Rubustrings. It is written in Swift and catches many more types of errors. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..9fce94d45 100644 --- a/README.md +++ b/README.md @@ -975,6 +975,7 @@ - [CrowdinSDK](https://github.com/crowdin/mobile-sdk-ios) - Crowdin iOS SDK delivers all new translations from Crowdin project to the application immediately. - [attranslate](https://github.com/fkirc/attranslate) - Semi-automatically translate or synchronize .strings files or crossplatform-files from different languages. - [Respresso Localization Converter](https://respresso.io/localization-converter) - Multiplatform localization converter for iOS (.strings + Objective-C getters), Android (strings.xml) and Web (.json). +- [locheck](https://github.com/Asana/locheck) - Validate .strings, .stringsdict, and strings.xml files for correctness to avoid crashes and bad translations. ## Logging From c61752f185387c7cb993aeb84da859f46b6f8250 Mon Sep 17 00:00:00 2001 From: Mikhail Maslo <52037202+mikhailmaslo@users.noreply.github.com> Date: Tue, 3 May 2022 18:27:09 +0300 Subject: [PATCH 2471/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..caf896bb5 100644 --- a/README.md +++ b/README.md @@ -2246,6 +2246,7 @@ Most of these are paid services, some have free tiers. - [Loaf](https://github.com/schmidyy/Loaf) - A simple framework for easy iOS Toasts. - [SPAlert](https://github.com/IvanVorobei/SPAlert) - Native popup from Apple Music & Feedback in AppStore. Contains Done & Heart presets. - [CleanyModal](https://github.com/loryhuz/CleanyModal) - Use nice customized alerts and action sheets with ease, API is similar to native UIAlertController. +- [BottomSheet](https://github.com/joomcode/BottomSheet) - Powerful Bottom Sheet component with content based size, interactive dismissal and navigation controller support. ### Badge - [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From e2819c7aeb01928bba3c37cbcb44879509f0de59 Mon Sep 17 00:00:00 2001 From: Ivan Vorobei Date: Wed, 18 May 2022 12:24:13 +0300 Subject: [PATCH 2472/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..6b2f3bb8d 100644 --- a/README.md +++ b/README.md @@ -2908,6 +2908,7 @@ Most of these are paid services, some have free tiers. * [ZamzamKit](https://github.com/ZamzamInc/ZamzamKit) - A collection of micro utilities and extensions for Standard Library, Foundation and UIKit. * [DuctTape](https://github.com/marty-suzuki/DuctTape) - KeyPath dynamicMemberLookup based syntax sugar for swift. * [ReviewKit](https://github.com/simonmitchell/ReviewKit) - A framework which helps gatekeep review prompt requests – using SKStoreReviewController – to users who have had a good time using your app by logging positive and negative actions. + * [SwiftBoost](https://github.com/sparrowcode/SwiftBoost) - Collection of Swift-extensions to boost development process. ## User Consent - [SmartlookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. From 7e1abfe55a3481480913dd86324fc14b94df093b Mon Sep 17 00:00:00 2001 From: isaced Date: Tue, 24 May 2022 12:21:34 +0000 Subject: [PATCH 2473/2606] Add ISEmojiView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..5e27431e9 100644 --- a/README.md +++ b/README.md @@ -2365,6 +2365,7 @@ Most of these are paid services, some have free tiers. * [IHKeyboardAvoiding](https://github.com/IdleHandsApps/IHKeyboardAvoiding) - A drop-in universal solution for keeping any UIView visible when the keyboard is being shown - no more UIScrollViews! * [NumPad](https://github.com/efremidze/NumPad) - Number Pad (inspired by Square's design). * [Ribbon](https://github.com/chriszielinski/Ribbon) - A simple cross-platform toolbar/custom input accessory view library for iOS & macOS. +* [ISEmojiView](https://github.com/isaced/ISEmojiView) - Emoji Keyboard for iOS ### Label - [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. From e915741814c62cc8600515acb9792df56a766ccf Mon Sep 17 00:00:00 2001 From: Martin Grider Date: Thu, 26 May 2022 09:48:23 -0500 Subject: [PATCH 2474/2606] Adds Get, a very nice library that works well with Pulse, PulsePro, and CreateAPI. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..63e6f5452 100644 --- a/README.md +++ b/README.md @@ -1359,6 +1359,7 @@ Also see [push notifications](#push-notifications) - [ThunderRequest](https://github.com/3sidedcube/ThunderRequest) - A simple URLSession wrapper with a generic protocol based request body approach and easy deserialisation of responses. - [ReactiveAPI](https://github.com/sky-uk/ReactiveAPI) - Write clean, concise and declarative network code relying on URLSession, with the power of RxSwift. Inspired by Retrofit. - [Squid](https://github.com/borchero/Squid) - Declarative and reactive networking framework based on Combine and providing means for HTTP requests, transparent pagination, and WebSocket communication. +- [Get](https://github.com/kean/Get) - A modern Swift web API client built using async/await. ### Email From 5881037acd79052d2fedec6ea68a37a9cec1ff1b Mon Sep 17 00:00:00 2001 From: Martin Grider Date: Thu, 26 May 2022 10:08:48 -0500 Subject: [PATCH 2475/2606] Adds Pulse --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..9ec1b933f 100644 --- a/README.md +++ b/README.md @@ -1015,6 +1015,7 @@ - [Spy](https://github.com/appunite/Spy) - Lightweight, flexible, multiplatform (iOS, macOS, tvOS, watchOS, Linux) logging utility written in pure Swift that allows you to log on different levels and channels which you can define on your own depending on your needs. - [Diagnostics](https://github.com/WeTransfer/Diagnostics) - Allow users to easily share Diagnostics with your support team to improve the flow of fixing bugs. - [Gedatsu](https://github.com/bannzai/gedatsu) - Provide readable format about AutoLayout error console log. +- [Pulse](https://github.com/kean/Pulse) - Pulse is a powerful logging system for Apple Platforms. Native. Built with SwiftUI. ## Machine Learning From 9cdb8034fdfbb0ce9d38f9b9e48a8a3dd74b957e Mon Sep 17 00:00:00 2001 From: Martin Grider Date: Thu, 26 May 2022 10:19:13 -0500 Subject: [PATCH 2476/2606] Adds CreateAPI, for easy OpenAPI integration. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..2a549941a 100644 --- a/README.md +++ b/README.md @@ -1485,6 +1485,7 @@ Most of these are paid services, some have free tiers. - [AcknowledgementsPlist](https://github.com/cats-oss/AcknowledgementsPlist) - AcknowledgementsPlist manages the licenses of libraries that depend on your iOS app. - [CoreXLSX](https://github.com/MaxDesiatov/CoreXLSX) - Excel spreadsheet (XLSX) format support in pure Swift. - [SVGView](https://github.com/exyte/SVGView) - SVG parser and renderer written in SwiftUI. +- [CreateAPI](https://github.com/CreateAPI/CreateAPI) - Delightful code generation for OpenAPI specs for Swift written in Swift. ## Passbook From e51095ca8c8de9c0450c9cbcd6e01faf5c2c5a5f Mon Sep 17 00:00:00 2001 From: noahmaranesi <12670516+noahmaranesi@users.noreply.github.com> Date: Thu, 2 Jun 2022 20:39:13 +1000 Subject: [PATCH 2477/2606] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changed domain to avoid redirection (`facebook.design` → `design.facebook.com`), and directly link to iOS 11 kit (iOS 11 is 5 years old in 2022, but the kit was last updated by Facebook's Design Team in May 2022) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e0c7599ea..d89d05305 100644 --- a/README.md +++ b/README.md @@ -3268,7 +3268,7 @@ Most of these are paid services, some have free tiers. ### iOS UI Template - [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) - [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) -- [iOS GUI by Facebook Design Resources](https://facebook.design/) +- [iOS GUI by Facebook Design Resources](https://design.facebook.com/toolsandresources/ios-11-iphone-gui/) ### Prototyping - [FluidUI](https://www.fluidui.com) From 040a9f4c6374b01b28fc4fe5a59115f3703df432 Mon Sep 17 00:00:00 2001 From: noahmaranesi <12670516+noahmaranesi@users.noreply.github.com> Date: Thu, 2 Jun 2022 20:54:38 +1000 Subject: [PATCH 2478/2606] Update README.md Fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d89d05305..d38ceadfe 100644 --- a/README.md +++ b/README.md @@ -3268,7 +3268,7 @@ Most of these are paid services, some have free tiers. ### iOS UI Template - [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) - [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) -- [iOS GUI by Facebook Design Resources](https://design.facebook.com/toolsandresources/ios-11-iphone-gui/) +- [iOS 11 iPhone GUI from Design at Meta](https://design.facebook.com/toolsandresources/ios-11-iphone-gui/) ### Prototyping - [FluidUI](https://www.fluidui.com) From b850934e7488142d7e6b88e8173d3da90b1c951b Mon Sep 17 00:00:00 2001 From: Condy Date: Wed, 15 Jun 2022 15:54:37 +0800 Subject: [PATCH 2479/2606] Add Harbeth --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..490a81dc5 100644 --- a/README.md +++ b/README.md @@ -1207,6 +1207,7 @@ - [ImageDetect](https://github.com/Feghal/ImageDetect) - Detect and crop faces, barcodes and texts inside of your image, with iOS 11 Vision api. - [THTiledImageView](https://github.com/TileImageTeamiOS/THTiledImageView) - Provide ultra-high-quality images through tiling techniques. - [GPUImage3](https://github.com/BradLarson/GPUImage3) - GPUImage 3 is a BSD-licensed Swift framework for GPU-accelerated video and image processing using Metal. +- [Harbeth](https://github.com/yangKJ/Harbeth) - Metal API for GPU accelerated Graphics and Video and Camera filter framework.🔥💥 - [Gallery](https://github.com/hyperoslo/Gallery) - Your next favorite image and video picker. - [ATGMediaBrowser](https://github.com/altayer-digital/ATGMediaBrowser) - Image slide-show viewer with multiple predefined transition styles, and ability to create new transitions with ease. - [Pixel](https://github.com/muukii/Pixel) - An image editor and engine using CoreImage. From d6cdb20da55ff790e20f19f999eccb4e5b156d7e Mon Sep 17 00:00:00 2001 From: Aryaman Sharda Date: Wed, 15 Jun 2022 20:41:39 -0700 Subject: [PATCH 2480/2606] Adds IndieWatch Newsletter --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..a393461b2 100644 --- a/README.md +++ b/README.md @@ -3289,6 +3289,7 @@ Most of these are paid services, some have free tiers. - [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. - [Swift Developments](https://andybargh.com/swiftdevelopments/) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. - [Mobile Developers Cafe](https://mobiledeveloperscafe.com) - A weekly newsletter for Mobile developers with loads of iOS content. +- [Indie Watch](https://indie.watch/) - A weekly newsletter featuring the best apps made by indie iOS developers. ### Medium - [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone. From 3f9f60d3e1ca8e2728e05261002aad68535e89ea Mon Sep 17 00:00:00 2001 From: Anton Malygin Date: Mon, 20 Jun 2022 23:29:55 +0400 Subject: [PATCH 2481/2606] Adding StableCollectionViewLayout --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..3c0b309bc 100644 --- a/README.md +++ b/README.md @@ -2718,6 +2718,7 @@ Most of these are paid services, some have free tiers. - [Carbon](https://github.com/ra1028/Carbon) - 🚴 A declarative library for building component-based user interfaces in UITableView and UICollectionView. - [ThunderCollection](https://github.com/3sidedcube/ThunderCollection) - A simple declarative approach to UICollectionViewController management using a protocol-based approach. - [DiffableDataSources](https://github.com/ra1028/DiffableDataSources) - A library for backporting UITableView/UICollectionViewDiffableDataSource. +- [StableCollectionViewLayout](https://github.com/aimalygin/StableCollectionViewLayout) - This layout adjusts a content offset if the collection view is updated. You can insert, delete or reload items and StableCollectionViewLayout will take care of the content offset. #### Expandable Cell From e186183b4b03cc19a261ba43d637c70ec35fed0b Mon Sep 17 00:00:00 2001 From: Fadi Sayfi Date: Thu, 4 Aug 2022 21:24:55 -0400 Subject: [PATCH 2482/2606] adding 100 days of swiftui course --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..978664100 100644 --- a/README.md +++ b/README.md @@ -191,6 +191,7 @@ - [Classpert - A list of 500 iOS Development courses (free and paid), from top e-learning platforms](https://classpert.com/ios-development) - Complete catalog of courses from Udacity, Pluralsight, Coursera, Edx, Treehouse and Skillshare. - [iOS Lead Essentials Program](https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials) - Online program meticulously thought out for iOS developers who want to become world-class senior developers and be part of the highest-paid iOS devs in the world. Focuses on key concepts like Swift, TDD, BDD, DDD, Clean Architecture, Design Patterns, Git, Automation, CI/CD, and Modular Design. - [ARHeadsetKit Tutorials](https://github.com/philipturner/ARHeadsetKit) - Interactive guides to a high-level framework for experimenting with AR. +- [100 Days of SwiftUI](https://www.hackingwithswift.com/100/swiftui) - Free collection of videos and tutorials updated for iOS 15 and Swift 5.5. ## Accessibility From 7e0bd530009301fd30655f722a7eb5a4e26860a8 Mon Sep 17 00:00:00 2001 From: Bennett Yuan Date: Wed, 17 Aug 2022 14:33:40 +0800 Subject: [PATCH 2483/2606] Add Popovers --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index e0c7599ea..10cabeda7 100644 --- a/README.md +++ b/README.md @@ -663,7 +663,7 @@ - [LayoutInspector](https://github.com/isavynskyi/LayoutInspector) - Debug app layouts directly on iOS device: inspect layers in 3D and debug each visible view attributes. - [MTHawkeye](https://github.com/meitu/MTHawkeye) - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc. - [Playbook](https://github.com/playbook-ui/playbook-ios) - A library for isolated developing UI components and automatically snapshots of them. -- [DoraemonKit](https://github.com/didi/DoraemonKit) - A full-featured iOS App development assistant,30+ tools included. You deserve it. +- [DoraemonKit](https://github.com/didi/DoraemonKit) - A full-featured iOS App development assistant,30+ tools included. You deserve it. - [Atlantis](https://github.com/ProxymanApp/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](https://github.com/divar-ir/NetShears.git) - Allows developers to intercept and monitor HTTP/HTTPS requests and responses. It also could be configured to show gRPC calls. - [Scyther](https://github.com/bstillitano/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. @@ -1818,7 +1818,7 @@ Most of these are paid services, some have free tiers. - [EFMarkdown](https://github.com/EFPrefix/EFMarkdown) - A lightweight Markdown library for iOS. - [Croc](https://github.com/jkalash/croc) - A lightweight Swift library for Emoji parsing and querying. - [PostalCodeValidator](https://github.com/FormatterKit/PostalCodeValidator) - A validator for postal codes with support for 200+ regions. -- [CodeMirror Swift](https://github.com/ProxymanApp/CodeMirror-Swift) - A lightweight wrapper of CodeMirror for macOS and iOS. Support Syntax Highlighting & Themes. +- [CodeMirror Swift](https://github.com/ProxymanApp/CodeMirror-Swift) - A lightweight wrapper of CodeMirror for macOS and iOS. Support Syntax Highlighting & Themes. - [TwitterTextEditor](https://github.com/twitter/TwitterTextEditor) - A standalone, flexible API that provides a full featured rich text editor for iOS applications. ### Font @@ -2002,6 +2002,7 @@ Most of these are paid services, some have free tiers. - [ClassicKit](https://github.com/Baddaboo/ClassicKit) - A collection of classic-style UI components for iOS. - [Sejima](https://github.com/MoveUpwards/Sejima) - A collection of User Interface components for iOS. - [UI Fabric by Microsoft](https://github.com/OfficeDev/ui-fabric-ios) - UI framework based on [Fluent Design System](https://www.microsoft.com/design/fluent/#/ios) by Microsoft. +- [Popovers](https://github.com/aheze/Popovers) - A library to present popovers. Simple, modern, and highly customizable. Not boring! ### Activity Indicator - [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. @@ -2970,7 +2971,7 @@ Most of these are paid services, some have free tiers. - [xcproj](https://github.com/tuist/xcodeproj) - Read and update Xcode projects. - [Tuist](https://github.com/tuist/tuist) - A tool to create, maintain and interact with Xcode projects at scale. - [SwiftKit](https://github.com/SvenTiigi/SwiftKit) - Start your next Open-Source Swift Framework. -- [swift5-module-template](https://github.com/fulldecent/swift5-module-template) - A starting point for any Swift 5 module that you want other people to include in their projects. +- [swift5-module-template](https://github.com/fulldecent/swift5-module-template) - A starting point for any Swift 5 module that you want other people to include in their projects. ## Dependency / Package Manager - [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. @@ -3125,7 +3126,7 @@ Most of these are paid services, some have free tiers. - [Semaphore](https://semaphoreci.com/product/ios) - 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. - [Appcircle.io](https://appcircle.io) — Automated mobile CI/CD/CT for iOS with online device simulators - [Screenplay](https://screenplay.dev) - Instant rollbacks and canary deployments for iOS. -- [Codemagic](https://codemagic.io) - Build, test and deliver iOS apps 20% faster with Codemagic CI/CD. +- [Codemagic](https://codemagic.io) - Build, test and deliver iOS apps 20% faster with Codemagic CI/CD. - [Runway](https://runway.team) - 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. - [ios-uploader](https://github.com/simonnilsson/ios-uploader) - Easy to use, cross-platform tool to upload iOS apps to App Store Connect. From 92b7a5d0855600a3594f41bb8647dc065a75b9ea Mon Sep 17 00:00:00 2001 From: Janesh suthar Date: Sat, 27 Aug 2022 20:26:07 +0530 Subject: [PATCH 2484/2606] iOS Tutorials link added SwiftUI & Swift Tutorial link added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..9b3c8d1aa 100644 --- a/README.md +++ b/README.md @@ -3255,6 +3255,7 @@ Most of these are paid services, some have free tiers. - [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift. - [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - A List of Awesome Swift Playgrounds! - [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. +- [SwiftUI Tutorials](https://JaneshSwift.com) - Learn SwiftUI & Swift for FREE. - [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. - [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. - [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. From 0571a70048a61f1258e160801ab48881758e6041 Mon Sep 17 00:00:00 2001 From: Pavel Grechikhin <38533411+gre4ixin@users.noreply.github.com> Date: Sat, 3 Sep 2022 23:25:46 +0400 Subject: [PATCH 2485/2606] Add AsyncLocationKit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..37da7400c 100644 --- a/README.md +++ b/README.md @@ -871,6 +871,7 @@ *Location monitoring, detect motion and geofencing libraries* +- [AsyncLocationKit](https://github.com/AsyncSwift/AsyncLocationKit) - Wrapper for Apple CoreLocation framework with Modern Concurrency Swift (async/await). - [IngeoSDK](https://github.com/IngeoSDK/ingeo-ios-sdk) - Always-On Location monitoring framework for iOS. - [LocationManager](https://github.com/intuit/LocationManager) - Provides a block-based asynchronous API to request the current location, either once or continuously. - [SwiftLocation](https://github.com/malcommac/SwiftLocation) - Location & Beacon Monitoring in Swift. From 2dba738081e33daceebfb189e976e50912523fdb Mon Sep 17 00:00:00 2001 From: Aryaman <34205435+absterjr@users.noreply.github.com> Date: Tue, 27 Sep 2022 19:31:50 +0530 Subject: [PATCH 2486/2606] added kandi resources link It contains a curated list of awesome iOS ecosystem --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..3ed86fb1d 100644 --- a/README.md +++ b/README.md @@ -3192,6 +3192,7 @@ Most of these are paid services, some have free tiers. - [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. - [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. - [WWDC-Recap](https://erenkabakci.github.io/WWDC-Recap/) - A collection of session summaries in markdown format, from WWDC 19 & 17. +- [Awesome-ios](https://kandi.openweaver.com/swift/vsouza/awesome-ios) - A curated list of awesome iOS ecosystem. ## Style Guides - [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. From 0f9fb63ec8b76178a1fd442b04b7797d5fe51a55 Mon Sep 17 00:00:00 2001 From: Bogdan Bystritskiy Date: Tue, 25 Oct 2022 18:28:26 +0300 Subject: [PATCH 2487/2606] Add awesome-ios-books --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e0c7599ea..e15b0913b 100644 --- a/README.md +++ b/README.md @@ -3368,6 +3368,8 @@ Most of these are paid services, some have free tiers. - [Awesome iOS Interview question list](https://github.com/dashvlas/awesome-ios-interview) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. - [Top App Developers](https://github.com/app-developers/top) - A list of top iOS app developers. - [awesome-ios-developer](https://github.com/jphong1111/awesome-ios-developer) - Useful knowledges and stuff for ios developer. +- [awesome-ios-books](https://github.com/bystritskiy/awesome-ios-books) - A list of books for Apple developers. + ## Contributing and License - [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 270854c63003fd579607726e4a7f791fddc99a59 Mon Sep 17 00:00:00 2001 From: Bogdan Bystritskiy Date: Tue, 25 Oct 2022 18:33:17 +0300 Subject: [PATCH 2488/2606] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index e15b0913b..c6ff601e4 100644 --- a/README.md +++ b/README.md @@ -3368,8 +3368,7 @@ Most of these are paid services, some have free tiers. - [Awesome iOS Interview question list](https://github.com/dashvlas/awesome-ios-interview) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. - [Top App Developers](https://github.com/app-developers/top) - A list of top iOS app developers. - [awesome-ios-developer](https://github.com/jphong1111/awesome-ios-developer) - Useful knowledges and stuff for ios developer. -- [awesome-ios-books](https://github.com/bystritskiy/awesome-ios-books) - A list of books for Apple developers. - +- [awesome-ios-books](https://github.com/bystritskiy/awesome-ios-books) - A list of books for iOS developers. ## Contributing and License - [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) From 0484edcd1a05baf6cd8d857f208b885a8a215849 Mon Sep 17 00:00:00 2001 From: "mylnikova.alisa" Date: Mon, 28 Nov 2022 15:46:52 +0700 Subject: [PATCH 2489/2606] Add ExyteMediaPicker --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..8dcc5b880 100644 --- a/README.md +++ b/README.md @@ -847,6 +847,7 @@ - [TakeASelfie](https://github.com/abdullahselek/TakeASelfie) - An iOS framework that uses the front camera, detects your face and takes a selfie. - [HybridCamera](https://github.com/eonist/HybridCamera) - Video and photo camera for iOS, similar to the SnapChat camera. - [CameraKit-iOS](https://github.com/CameraKit/camerakit-ios) - Massively increase camera performance and ease of use in your next iOS project. +- [ExyteMediaPicker](https://github.com/exyte/mediapicker) - Customizable media picker ### Force Touch From 1c3dd8a0a046ac9b283d86d0a74ac528edb814f0 Mon Sep 17 00:00:00 2001 From: "mylnikova.alisa" Date: Wed, 30 Nov 2022 14:57:37 +0700 Subject: [PATCH 2490/2606] Update README.md Add ProgressIndicatorView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..5ccaa8144 100644 --- a/README.md +++ b/README.md @@ -2064,6 +2064,7 @@ Most of these are paid services, some have free tiers. - [RHPlaceholder](https://github.com/robertherdzik/RHPlaceholder) - Simple library which give you possibility to add Facebook like loading state for your views. - [IHProgressHUD](https://github.com/Swiftify-Corp/IHProgressHUD) - Simple HUD, thread safe, supports iOS, tvOS and App Extensions. - [ActivityIndicatorView](https://github.com/exyte/ActivityIndicatorView) - A number of preset loading indicators created with SwiftUI. +- [ProgressIndicatorView](https://github.com/exyte/ProgressIndicatorView) - A number of preset progress indicators created with SwiftUI. ### Animation - [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. From 6ccccfb7c35d4813189d34643ac1ae486d602967 Mon Sep 17 00:00:00 2001 From: "mylnikova.alisa" Date: Wed, 30 Nov 2022 15:06:36 +0700 Subject: [PATCH 2491/2606] Update README.md Add LiquidSwipe --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0c7599ea..a9fa53736 100644 --- a/README.md +++ b/README.md @@ -2175,6 +2175,7 @@ Most of these are paid services, some have free tiers. - [SPStorkController](https://github.com/IvanVorobei/SPStorkController) - Very similar to the controllers displayed in Apple Music, Podcasts and Mail Apple's applications. - [AppstoreTransition](https://github.com/appssemble/appstore-card-transition) - Simulates the appstore card animation transition. - [DropdownTransition](https://github.com/nugmanoff/DropdownTransition) - Simple and elegant Dropdown Transition for presenting controllers from top to bottom. +- [LiquidSwipe](https://github.com/exyte/LiquidSwipe) - Liquid navigation animation ### Alert & Action Sheet From 1cd5308acc63559bb036ee7b31ecbe69270473ed Mon Sep 17 00:00:00 2001 From: David Roman <2538074+davdroman@users.noreply.github.com> Date: Sat, 5 Nov 2022 16:18:02 +0000 Subject: [PATCH 2492/2606] Add NavigationTransitions --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fe7ad85a..0abfc8442 100644 --- a/README.md +++ b/README.md @@ -2181,6 +2181,7 @@ Most of these are paid services, some have free tiers. - [SPStorkController](https://github.com/IvanVorobei/SPStorkController) - Very similar to the controllers displayed in Apple Music, Podcasts and Mail Apple's applications. - [AppstoreTransition](https://github.com/appssemble/appstore-card-transition) - Simulates the appstore card animation transition. - [DropdownTransition](https://github.com/nugmanoff/DropdownTransition) - Simple and elegant Dropdown Transition for presenting controllers from top to bottom. +- [NavigationTransitions](https://github.com/davdroman/swiftui-navigation-transitions) - Pure SwiftUI Navigation transitions. ### Alert & Action Sheet From 70468c07ede58d5fed76a0c12f478097bf18d125 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 15 Dec 2022 19:01:22 -0300 Subject: [PATCH 2493/2606] remove index --- README.md | 159 ------------------------------------------------------ 1 file changed, 159 deletions(-) diff --git a/README.md b/README.md index f2247db11..16714d5d7 100644 --- a/README.md +++ b/README.md @@ -8,165 +8,6 @@ Buy Me a Coffee

-### Content -- [Courses](#courses) -- [Accessibility](#accessibility) -- [Alexa](#alexa) -- [Analytics](#analytics) -- [App Routing](#app-routing) -- [Apple TV](#apple-tv) -- [Architecture Patterns](#architecture-patterns) -- [ARKit](#arkit) -- [Authentication](#authentication) -- [Blockchain](#blockchain) -- [Bridging](#bridging) -- [Cache](#cache) -- [Charts](#charts) -- [Code Quality](#code-quality) - - [Linter](#linter) -- [Color](#color) -- [Command Line](#command-line) -- [Concurrency](#concurrency) -- [Core Data](#core-data) -- [Database](#database) -- [Data Structures / Algorithms](#data-structures--algorithms) -- [Date & Time](#date--time) -- [Debugging](#debugging) -- [EventBus](#eventbus) -- [Files](#files) -- [Functional Programming](#functional-programming) -- [Games](#games) -- [GCD](#gcd) -- [Gesture](#gesture) -- [Graphics](#graphics) -- [Hardware](#hardware) - - [Bluetooth](#bluetooth) - - [Camera](#camera) - - [Force Touch](#force-touch) - - [iBeacon](#ibeacon) - - [Location](#location) - - [Other Hardware](#other-hardware) -- [Layout](#layout) -- [Logging](#logging) -- [Localization](#localization) -- [Machine Learning](#machine-learning) -- [Maps](#maps) -- [Math](#math) -- [Media](#media) - - [Audio](#audio) - - [GIF](#gif) - - [Image](#image) - - [Media Processing](#media-processing) - - [PDF](#pdf) - - [Streaming](#streaming) - - [Video](#video) -- [Messaging](#messaging) -- [Networking](#networking) -- [Notifications](#notifications) - - [Push Notifications](#push-notifications) - - [Push Notification Providers](#push-notification-providers) - - [Local Notifications](#local-notifications) -- [Objective-C Runtime](#objective-c-runtime) -- [Optimization](#optimization) -- [Parsing](#parsing) - - [CSV](#csv) - - [JSON](#json) - - [XML & HTML](#xml--html) - - [Other Parsing](#other-parsing) -- [Passbook](#passbook) -- [Payments](#payments) -- [Permissions](#permissions) -- [Products](#products) -- [Reactive Programming](#reactive-programming) - - [React-Like](#react-like) -- [Reflection](#reflection) -- [Regex](#regex) -- [SDK](#sdk) - - [Official](#official) - - [Unofficial](#unofficial) -- [Security](#security) - - [Encryption](#encryption) - - [Keychain](#keychain) -- [Server](#server) -- [Testing](#testing) - - [TDD / BDD](#tdd--bdd) - - [A/B Testing](#ab-testing) - - [UI Testing](#ui-testing) - - [Other Testing](#other-testing) -- [Text](#text) - - [Font](#font) -- [UI](#ui) - - [Activity Indicator](#activity-indicator) - - [Alert & Action Sheet](#alert--action-sheet) - - [Animation](#animation) - - [Transition](#transition) - - [Badge](#badge) - - [Button](#button) - - [Calendar](#calendar) - - [Cards](#cards) - - [Form & Settings](#form--settings) - - [Keyboard](#keyboard) - - [Label](#label) - - [Login](#login) - - [Menu](#menu) - - [Navigation Bar](#navigation-bar) - - [PickerView](#pickerview) - - [Popup](#popup) - - [Pull to Refresh](#pull-to-refresh) - - [Rating Stars](#rating-stars) - - [ScrollView](#scrollview) - - [Segmented Control](#segmented-control) - - [Slider](#slider) - - [Splash View](#splash-view) - - [Status Bar](#status-bar) - - [Stepper](#stepper) - - [Switch](#switch) - - [Tab Bar](#tab-bar) - - [Table View / Collection View](#table-view--collection-view) - - [Table View](#table-view) - - [Collection View](#collection-view) - - [Expandable Cell](#expandable-cell) - - [Header](#header) - - [Placeholder](#placeholder) - - [Collection View Layout](#collection-view-layout) - - [Tag](#tag) - - [TextField & TextView](#textfield--textview) - - [UIPageControl](#uipagecontrol) - - [Web View](#web-view) -- [Utility](#utility) -- [User Consent](#user-consent) -- [VR](#vr) -- [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) -- [Websocket](#websocket) -- [Project setup](#project-setup) -- [Dependency / Package Manager](#dependency--package-manager) -- [Tools](#tools) -- [Rapid Development](#rapid-development) - - [Injection](#injection) -- [Deployment / Distribution](#deployment--distribution) -- [App Store](#app-store) -- [Xcode](#xcode) - - [Extensions (Xcode 8+)](#extensions-xcode-8) - - [Themes](#themes) - - [Other Xcode](#other-xcode) -- [Reference](#reference) -- [Style Guides](#style-guides) -- [Good Websites](#good-websites) - - [News, Blogs and more](#news-blogs-and-more) - - [UIKit references](#uikit-references) - - [Forums and discuss lists](#forums-and-discuss-lists) - - [Tutorials and Keynotes](#tutorials-and-keynotes) - - [Prototyping](#prototyping) - - [Newsletters](#newsletters) - - [Medium](#medium) -- [Social Media](#social-media) - - [Twitter](#twitter) - - [Facebook Groups](#facebook-groups) -- [Podcasts](#podcasts) -- [Books](#books) -- [Other Awesome Lists](#other-awesome-lists) -- [Contributing](#contributing-and-license) - ## Courses From 42cef711746264ff31d3280cece1455bbf53c602 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 15 Dec 2022 19:04:25 -0300 Subject: [PATCH 2494/2606] Update README.md --- README.md | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) diff --git a/README.md b/README.md index 16714d5d7..abc17c196 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,164 @@ Buy Me a Coffee

+### Content +- [Courses](#courses) +- [Accessibility](#accessibility) +- [Alexa](#alexa) +- [Analytics](#analytics) +- [App Routing](#app-routing) +- [Apple TV](#apple-tv) +- [Architecture Patterns](#architecture-patterns) +- [ARKit](#arkit) +- [Authentication](#authentication) +- [Blockchain](#blockchain) +- [Bridging](#bridging) +- [Cache](#cache) +- [Charts](#charts) +- [Code Quality](#code-quality) + - [Linter](#linter) +- [Color](#color) +- [Command Line](#command-line) +- [Concurrency](#concurrency) +- [Core Data](#core-data) +- [Database](#database) +- [Data Structures / Algorithms](#data-structures--algorithms) +- [Date & Time](#date--time) +- [Debugging](#debugging) +- [EventBus](#eventbus) +- [Files](#files) +- [Functional Programming](#functional-programming) +- [Games](#games) +- [GCD](#gcd) +- [Gesture](#gesture) +- [Graphics](#graphics) +- [Hardware](#hardware) + - [Bluetooth](#bluetooth) + - [Camera](#camera) + - [Force Touch](#force-touch) + - [iBeacon](#ibeacon) + - [Location](#location) + - [Other Hardware](#other-hardware) +- [Layout](#layout) +- [Logging](#logging) +- [Localization](#localization) +- [Machine Learning](#machine-learning) +- [Maps](#maps) +- [Math](#math) +- [Media](#media) + - [Audio](#audio) + - [GIF](#gif) + - [Image](#image) + - [Media Processing](#media-processing) + - [PDF](#pdf) + - [Streaming](#streaming) + - [Video](#video) +- [Messaging](#messaging) +- [Networking](#networking) +- [Notifications](#notifications) + - [Push Notifications](#push-notifications) + - [Push Notification Providers](#push-notification-providers) + - [Local Notifications](#local-notifications) +- [Objective-C Runtime](#objective-c-runtime) +- [Optimization](#optimization) +- [Parsing](#parsing) + - [CSV](#csv) + - [JSON](#json) + - [XML & HTML](#xml--html) + - [Other Parsing](#other-parsing) +- [Passbook](#passbook) +- [Payments](#payments) +- [Permissions](#permissions) +- [Products](#products) +- [Reactive Programming](#reactive-programming) + - [React-Like](#react-like) +- [Reflection](#reflection) +- [Regex](#regex) +- [SDK](#sdk) + - [Official](#official) + - [Unofficial](#unofficial) +- [Security](#security) + - [Encryption](#encryption) + - [Keychain](#keychain) +- [Server](#server) +- [Testing](#testing) + - [TDD / BDD](#tdd--bdd) + - [A/B Testing](#ab-testing) + - [UI Testing](#ui-testing) + - [Other Testing](#other-testing) +- [Text](#text) + - [Font](#font) +- [UI](#ui) + - [Activity Indicator](#activity-indicator) + - [Alert & Action Sheet](#alert--action-sheet) + - [Animation](#animation) + - [Transition](#transition) + - [Badge](#badge) + - [Button](#button) + - [Calendar](#calendar) + - [Cards](#cards) + - [Form & Settings](#form--settings) + - [Keyboard](#keyboard) + - [Label](#label) + - [Login](#login) + - [Menu](#menu) + - [Navigation Bar](#navigation-bar) + - [PickerView](#pickerview) + - [Popup](#popup) + - [Pull to Refresh](#pull-to-refresh) + - [Rating Stars](#rating-stars) + - [ScrollView](#scrollview) + - [Segmented Control](#segmented-control) + - [Slider](#slider) + - [Splash View](#splash-view) + - [Status Bar](#status-bar) + - [Stepper](#stepper) + - [Switch](#switch) + - [Tab Bar](#tab-bar) + - [Table View / Collection View](#table-view--collection-view) + - [Table View](#table-view) + - [Collection View](#collection-view) + - [Expandable Cell](#expandable-cell) + - [Header](#header) + - [Placeholder](#placeholder) + - [Collection View Layout](#collection-view-layout) + - [Tag](#tag) + - [TextField & TextView](#textfield--textview) + - [UIPageControl](#uipagecontrol) + - [Web View](#web-view) +- [Utility](#utility) +- [User Consent](#user-consent) +- [VR](#vr) +- [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) +- [Websocket](#websocket) +- [Project setup](#project-setup) +- [Dependency / Package Manager](#dependency--package-manager) +- [Tools](#tools) +- [Rapid Development](#rapid-development) + - [Injection](#injection) +- [Deployment / Distribution](#deployment--distribution) +- [App Store](#app-store) +- [Xcode](#xcode) + - [Extensions (Xcode 8+)](#extensions-xcode-8) + - [Themes](#themes) + - [Other Xcode](#other-xcode) +- [Reference](#reference) +- [Style Guides](#style-guides) +- [Good Websites](#good-websites) + - [News, Blogs and more](#news-blogs-and-more) + - [UIKit references](#uikit-references) + - [Forums and discuss lists](#forums-and-discuss-lists) + - [Tutorials and Keynotes](#tutorials-and-keynotes) + - [Prototyping](#prototyping) + - [Newsletters](#newsletters) + - [Medium](#medium) +- [Social Media](#social-media) + - [Twitter](#twitter) + - [Facebook Groups](#facebook-groups) +- [Podcasts](#podcasts) +- [Books](#books) +- [Other Awesome Lists](#other-awesome-lists) +- [Contributing](#contributing-and-license) ## Courses From 18b943f1f3c86d657075105fd041ed0e68c4f81b Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 15 Dec 2022 19:06:07 -0300 Subject: [PATCH 2495/2606] Update cotributing --- .github/CONTRIBUTING.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 44d5bfa6a..d34ded864 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -11,7 +11,7 @@ Please ensure your pull request adheres to the following guidelines: - Emojis should be used with care in descriptions, we already had some problems with emoji render in GitHub. - End all descriptions with a full stop/period. - Check your spelling and grammar. -- Make sure that your suggestion is positioned as the last item category. +- Make sure that your suggestion is positioned is **alphabetical** order - Make sure your text editor is set to remove trailing whitespace. - Make sure your project is elegible before open a pull request. @@ -30,8 +30,6 @@ Typical reasons for deleting project: - Projects without tests. - Lack recent commit - Have lower than 50 stargazers in Github -- Don't support iOS 9 or later -- Don't support Swift 4 or later - README or code comments aren't written in English - README is not clear - Does not support the most common package managers (spm, cocoapods, carthage...) From d60bf677a0af858bc84e455a3278a6188b73705b Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 15 Dec 2022 19:07:17 -0300 Subject: [PATCH 2496/2606] Update PULL_REQUEST_TEMPLATE.md --- .github/PULL_REQUEST_TEMPLATE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index de80838dd..3f999db72 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -19,8 +19,8 @@ - [ ] Isn't an archived project - [ ] Has more than one contributor - [ ] Has unit tests, integration tests or UI tests -- [ ] Addition in chronological order (bottom of category) -- [ ] Supports iOS 9 / tvOS 10 or later +- [ ] Addition in alphabetical order (bottom of category) +- [ ] Supports iOS 12 / tvOS 10 or later - [ ] Supports Swift 4 or later - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English From 80bbbdf59ea703d4c252a89529566ab0540ec8b8 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 19 Dec 2022 12:25:18 -0300 Subject: [PATCH 2497/2606] Reorganize Courses category --- README.md | 48 +++++++++++++++++++++--------------------------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index abc17c196..b7e58c22e 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,8 @@ Buy Me a Coffee

-### Content -- [Courses](#courses) +## Contents + - [Accessibility](#accessibility) - [Alexa](#alexa) - [Analytics](#analytics) @@ -28,6 +28,7 @@ - [Command Line](#command-line) - [Concurrency](#concurrency) - [Core Data](#core-data) +- [Courses](#courses) - [Database](#database) - [Data Structures / Algorithms](#data-structures--algorithms) - [Date & Time](#date--time) @@ -167,31 +168,6 @@ - [Other Awesome Lists](#other-awesome-lists) - [Contributing](#contributing-and-license) -## Courses - -### Getting Started - -*Courses, tutorials and guides* - -- [Apple- Start Developing with iOS](https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/) - Apple Guide. -- [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) -- [Apple - Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) -- [CodeProject](https://www.codeproject.com/articles/88929/getting-started-with-iphone-and-ios-development) - Getting Started with iPhone and iOS Development. -- [Lifehacker](https://lifehacker.com/i-want-to-write-ios-apps-where-do-i-start-1644802175) - I Want to Write iOS Apps. Where Do I Start? -- [Ray Wenderlich](https://www.raywenderlich.com/2690-learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. -- [Stanford - Developing iOS 7 Apps for iPhone and iPad](https://itunes.apple.com/us/course/developing-ios-7-apps-for-iphone-and-ipad/id733644550) -- [Stanford - Developing iOS 10 Apps with Swift](https://itunes.apple.com/in/course/developing-ios-10-apps-swift/id1198467120) - Stanford's 2017 iTunes U course. -- [Stanford - Developing iOS 11 Apps with Swift](https://itunes.apple.com/us/course/developing-ios-11-apps-with-swift/id1309275316) - Stanford's 2017 iTunes U course updated for iOS 11 and Swift. -- [Swifteducation - Teaching App Development with Swift](https://swifteducation.github.io/teaching_app_development_with_swift/) -- [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) -- [Udemy - ARKit - Beginner to Professional in Swift 4 and iOS 11](https://www.udemy.com/course/arkit-beginner-to-professional/) -- [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners. -- [iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp](https://www.udemy.com/course/ios-13-app-development-bootcamp/) -- [Classpert - A list of 500 iOS Development courses (free and paid), from top e-learning platforms](https://classpert.com/ios-development) - Complete catalog of courses from Udacity, Pluralsight, Coursera, Edx, Treehouse and Skillshare. -- [iOS Lead Essentials Program](https://iosacademy.essentialdeveloper.com/p/ios-lead-essentials) - Online program meticulously thought out for iOS developers who want to become world-class senior developers and be part of the highest-paid iOS devs in the world. Focuses on key concepts like Swift, TDD, BDD, DDD, Clean Architecture, Design Patterns, Git, Automation, CI/CD, and Modular Design. -- [ARHeadsetKit Tutorials](https://github.com/philipturner/ARHeadsetKit) - Interactive guides to a high-level framework for experimenting with AR. -- [100 Days of SwiftUI](https://www.hackingwithswift.com/100/swiftui) - Free collection of videos and tutorials updated for iOS 15 and Swift 5.5. - ## Accessibility *Frameworks that help to support accessibility features and enable people with disabilities to use your app* @@ -525,6 +501,24 @@ - [PredicateFlow](https://github.com/andreadelfante/PredicateFlow) - Write amazing, strong-typed and easy-to-read NSPredicate, allowing you to write flowable NSPredicate, without guessing attribution names, predicate operation or writing wrong arguments type. - [CloudCore](https://github.com/deeje/CloudCore) - Robust CloudKit synchronization: offline editing, relationships, shared and public databases, field-level deltas, and more. +## Courses + +### Getting Started + +*Courses, tutorials, guides and bootcamps* + +- [Apple - Object-Oriented Programming with Objective-C](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html) +- [ARHeadsetKit Tutorials](https://github.com/philipturner/ARHeadsetKit) - Interactive guides to a high-level framework for experimenting with AR. +- [ARStarter](https://github.com/codePrincess/ARStarter) - Get started with ARKit - A little exercise for beginners. +- [Classpert - A list of 500 iOS Development courses (free and paid), from top e-learning platforms](https://classpert.com/ios-development) - Complete catalog of courses from Udacity, Pluralsight, Coursera, Edx, Treehouse and Skillshare. +- [iOS & Swift - The Complete iOS App Development Bootcamp](https://www.udemy.com/course/ios-13-app-development-bootcamp/) +- [Ray Wenderlich](https://www.raywenderlich.com/2690-learn-to-code-ios-apps-1-welcome-to-programming) - Learn to code iOS Apps. +- [Stanford - Developing apps for iOS](https://itunes.apple.com/us/itunes-u/developing-apps-for-ios-hd/id395605774) - Stanford's iTunes U course. +- [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) - Udacity free course. Make Your First iPhone App. +- [100 Days of SwiftUI](https://www.hackingwithswift.com/100/swiftui) - Free collection of videos and tutorials updated for iOS 15 and Swift 5.5. + +**[back to top](#contents)** + ## Database *Wrappers, clients, Parse alternatives and safe tools to deal with ephemeral and persistent data.* From 859c9d49b1aa886097b0a4381feba377f9609848 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 20 Dec 2022 15:12:47 -0300 Subject: [PATCH 2498/2606] update accessibility and alexa categories --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index b7e58c22e..d030cb39a 100644 --- a/README.md +++ b/README.md @@ -174,12 +174,16 @@ - [Capable](https://github.com/chrs1885/Capable) - Track accessibility features to improve your app for people with certain disabilities. +**[back to top](#contents)** + ## Alexa *Frameworks that help to support writing custom alexa skills in swift* - [AlexaSkillsKit](https://github.com/choefele/AlexaSkillsKit) - Swift library to develop custom Alexa Skills. +**[back to top](#contents)** + ## Analytics *Analytics platforms, SDK's, error tracking and real-time answers about your app* From a2e63d1bdfcb19ce04757766160c44e1b76845c7 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 23 Dec 2022 11:37:11 -0300 Subject: [PATCH 2499/2606] Add back to top --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index d030cb39a..9cb6298f2 100644 --- a/README.md +++ b/README.md @@ -204,6 +204,8 @@ - [Sentry](https://sentry.io/) - Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time. - [Shake](https://www.shakebugs.com/) - In-app feedback and bug reporting tool. Fix app bugs up to 50x faster with detailed device data, repro steps, video recording, black box data, network requests and custom logging. +**[back to top](#contents)** + ## App Routing *Elegant URL routing, navigation frameworks, deep links and more* @@ -230,6 +232,8 @@ - [Composable Navigator](https://github.com/Bahn-X/swift-composable-navigator) - An open source library for building deep-linkable SwiftUI applications with composition, testing and ergonomics in mind - [SwiftCurrent](https://github.com/wwt/SwiftCurrent) - A library for managing complex workflows. +**[back to top](#contents)** + ## Apple TV *tvOS view controllers, wrappers, template managers and video players.* From e805123af3f7fa0f75f9295d95ccd07195397ecc Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 26 Dec 2022 10:10:50 -0300 Subject: [PATCH 2500/2606] reorder category --- README.md | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 9cb6298f2..23e18ff68 100644 --- a/README.md +++ b/README.md @@ -188,19 +188,19 @@ *Analytics platforms, SDK's, error tracking and real-time answers about your app* -- [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. -- [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. -- [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. +- [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. - [Answers by Fabric](https://get.fabric.io) - Answers gives you real-time insight into people’s experience in your app. - [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. -- [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. -- [MOCA Analytics](https://www.mocaplatform.com/features) - Paid cross-platform analytics backend. +- [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. - [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. -- [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. - [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. -- [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. - [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. +- [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. +- [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. - [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. +- [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. +- [MOCA Analytics](https://www.mocaplatform.com/features) - Paid cross-platform analytics backend. +- [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. - [Sentry](https://sentry.io/) - Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time. - [Shake](https://www.shakebugs.com/) - In-app feedback and bug reporting tool. Fix app bugs up to 50x faster with detailed device data, repro steps, video recording, black box data, network requests and custom logging. @@ -252,6 +252,8 @@ - [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS. - [TvOSSlider](https://github.com/zattoo/TvOSSlider) - TvOSSlider is an implementation of UISlider for tvOS. +**[back to top](#contents)** + ## Architecture Patterns *Clean architecture, Viper, MVVM, Reactive... choose your weapon.* @@ -269,6 +271,8 @@ - [Clean Architecture for SwiftUI + Combine](https://github.com/nalexn/clean-architecture-swiftui) - A demo project showcasing the production setup of the SwiftUI app with Clean Architecture. - [Spin](https://github.com/Spinners/Spin.Swift) - A universal implementation of a Feedback Loop system for RxSwift, ReactiveSwift and Combine +**[back to top](#contents)** + ## ARKit *Library and tools to help you build unparalleled augmented reality experiences* @@ -283,6 +287,8 @@ - [ARKit Emperor](https://github.com/kboy-silvergym/ARKit-Emperor) - The Emperor give you the most practical ARKit samples ever. - [ARHeadsetKit](https://github.com/philipturner/ARHeadsetKit) - High-level framework for using $5 Google Cardboard to replicate Microsoft Hololens. +**[back to top](#contents)** + ## Authentication *Oauth and Oauth2 libraries, social logins and captcha tools.* @@ -304,6 +310,8 @@ - [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - (In)visible ReCaptcha for iOS. - [LinkedInSignIn](https://github.com/serhii-londar/LinkedInSignIn) - Simple view controller to login and retrieve access token from LinkedIn. +**[back to top](#contents)** + ## Blockchain *Tool for smart contract interactions. Bitcoin protocol implementations and Frameworks for interacting with cryptocurrencies.* @@ -316,6 +324,8 @@ - [CoinpaprikaAPI](https://github.com/coinpaprika/coinpaprika-api-swift-client) - Coinpaprika API client with free & frequently updated market data from the world of crypto: coin prices, volumes, market caps, ATHs, return rates and more. - [Bitcoin-Swift-Kit](https://github.com/horizontalsystems/bitcoin-kit-ios) - Full Bitcoin library written on Swift. Complete SPV wallet implementation for Bitcoin, Bitcoin Cash and Dash blockchains. +**[back to top](#contents)** + ## Bridging *Sharing code between Objective-C and Swift, iOS and macOS, Javascript and Objective-C.* @@ -326,6 +336,8 @@ - [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS. - [Xamarin](https://xamarin.com/) - Xamarin is a free, cross-platform, open-source platform that lets you quickly develop and test native iOS, watchOS and macOS applications for iPhone, iPad, Watch and Mac, all using the C# language. +**[back to top](#contents)** + ## Cache *Thread safe, offline and high performance cache libs and frameworks.* @@ -348,6 +360,8 @@ - [Cache](https://github.com/soffes/Cache) - Swift caching library. - [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. +**[back to top](#contents)** + ## Charts *Beautiful, Easy and Fully customized charts* From e21baa944d1fb76e672f27cdd2899ca333023216 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Wed, 28 Dec 2022 17:05:11 -0300 Subject: [PATCH 2501/2606] reorder app routing category --- README.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 23e18ff68..a814199bb 100644 --- a/README.md +++ b/README.md @@ -210,27 +210,27 @@ *Elegant URL routing, navigation frameworks, deep links and more* -- [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! +- [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. +- [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. +- [Composable Navigator](https://github.com/Bahn-X/swift-composable-navigator) - An open source library for building deep-linkable SwiftUI applications with composition, testing and ergonomics in mind +- [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - Navigate between view controllers with ease. +- [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. - [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. +- [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. +- [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks - [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. - [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. -- [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks -- [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. -- [URLNavigator](https://github.com/devxoul/URLNavigator) - Elegant URL Routing for Swift +- [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS. +- [LiteRoute](https://github.com/SpectralDragon/LiteRoute) - Easy transition between VIPER modules, implemented on pure Swift. - [Marshroute](https://github.com/avito-tech/Marshroute) - Marshroute is an iOS Library for making your Routers simple but extremely powerful. -- [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS. +- [RouteComposer](https://github.com/ekazaev/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. - [Router](https://github.com/freshOS/Router) - Simple Navigation for iOS. -- [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. - [RxFlow](https://github.com/RxSwiftCommunity/RxFlow) - Navigation framework for iOS applications based on a Reactive Flow Coordinator pattern. -- [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS. -- [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - Navigate between view controllers with ease. -- [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. -- [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. -- [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. -- [RouteComposer](https://github.com/ekazaev/route-composer) - Library that helps to handle view controllers composition, routing and deeplinking tasks. -- [LiteRoute](https://github.com/SpectralDragon/LiteRoute) - Easy transition between VIPER modules, implemented on pure Swift. -- [Composable Navigator](https://github.com/Bahn-X/swift-composable-navigator) - An open source library for building deep-linkable SwiftUI applications with composition, testing and ergonomics in mind - [SwiftCurrent](https://github.com/wwt/SwiftCurrent) - A library for managing complex workflows. +- [SwiftRouter](https://github.com/skyline75489/SwiftRouter) - A URL Router for iOS. +- [URLNavigator](https://github.com/devxoul/URLNavigator) - Elegant URL Routing for Swift +- [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! +- [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. **[back to top](#contents)** From a6bddbdb2b2767c6d4b0a3c3efcb3c9e63d5e1c0 Mon Sep 17 00:00:00 2001 From: WebSnke Date: Mon, 2 Jan 2023 14:58:52 +0100 Subject: [PATCH 2502/2606] Add Lichess to Games --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a814199bb..91998f1a4 100644 --- a/README.md +++ b/README.md @@ -753,6 +753,7 @@ - [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit. - [AssetImportKit](https://github.com/eugenebokhan/AssetImportKit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. - [glide engine](https://github.com/cocoatoucher/Glide) - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials. +- [Lichess mobile](https://github.com/lichess-org/lichobile) - A mobile client for lichess.org. - [SwiftFortuneWheel](https://github.com/sh-khashimov/SwiftFortuneWheel) - A cross-platform framework for games like a Wheel of Fortune. ## GCD From ce38cdc16df8daa9639689d9686b435003a374a7 Mon Sep 17 00:00:00 2001 From: WebSnke Date: Mon, 2 Jan 2023 16:32:47 +0100 Subject: [PATCH 2503/2606] Fix alphabetical order --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 91998f1a4..f8c4d7c1f 100644 --- a/README.md +++ b/README.md @@ -747,13 +747,13 @@ - [Bow](https://github.com/bow-swift/bow) - Typed Functional Programming companion library for Swift. ## Games -- [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. -- [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. -- [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit. -- [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit. - [AssetImportKit](https://github.com/eugenebokhan/AssetImportKit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. +- [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit. - [glide engine](https://github.com/cocoatoucher/Glide) - SpriteKit and GameplayKit based engine for making 2d games, with practical examples and tutorials. - [Lichess mobile](https://github.com/lichess-org/lichobile) - A mobile client for lichess.org. +- [Sage](https://github.com/nvzqz/Sage) - A cross-platform chess library for Swift. +- [ShogibanKit](https://github.com/codelynx/ShogibanKit) - ShogibanKit is a framework for implementing complex Japanese Chess (Shogii) in Swift. No UI, nor AI. +- [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit. - [SwiftFortuneWheel](https://github.com/sh-khashimov/SwiftFortuneWheel) - A cross-platform framework for games like a Wheel of Fortune. ## GCD From deaa7954c35c1fac668162c15d571ef315c5f14b Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 3 Jan 2023 10:06:24 -0300 Subject: [PATCH 2504/2606] clean and reorder apple tv category --- README.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index a814199bb..b107c554c 100644 --- a/README.md +++ b/README.md @@ -238,19 +238,16 @@ *tvOS view controllers, wrappers, template managers and video players.* -- [Voucher](https://github.com/rsattar/Voucher) - A simple library to make authenticating tvOS apps easy via their iOS counterparts. -- [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS. -- [TVMLKitchen](https://github.com/toshi0383/TVMLKitchen) - Swifty TVML template manager with or without client-server. -- [BrowserTV](https://github.com/zats/BrowserTV) - Turn your Apple TV into a dashboard displaying any webpage! -- [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/adswerve/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. -- [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. -- [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text - [FocusTvButton](https://github.com/dcordero/FocusTvButton) - Light wrapper of UIButton that allows extra customization for tvOS +- [ParallaxView](https://github.com/PGSSoft/ParallaxView) - iOS controls and extensions that add parallax effect to your application. +- [Swift-GA-Tracker-for-Apple-tvOS](https://github.com/adswerve/Swift-GA-Tracker-for-Apple-tvOS) - Google Analytics tracker for Apple tvOS provides an easy integration of Google Analytics’ measurement protocol for Apple TV. +- [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS. - [TvOSMoreButton](https://github.com/cgoldsby/TvOSMoreButton) - A basic tvOS button which truncates long text with '... More'. - [TvOSPinKeyboard](https://github.com/zattoo/TvOSPinKeyboard) - PIN keyboard for tvOS. - [TvOSScribble](https://github.com/dcordero/TvOSScribble) - Handwriting numbers recognizer for Siri Remote. -- [TvOSCustomizableTableViewCell](https://github.com/zattoo/TvOSCustomizableTableViewCell) - Light wrapper of UITableViewCell that allows extra customization for tvOS. - [TvOSSlider](https://github.com/zattoo/TvOSSlider) - TvOSSlider is an implementation of UISlider for tvOS. +- [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text +- [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS. **[back to top](#contents)** From ae8263b7f7b86d3d9fd8fc3e9cc9def1249962d8 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 5 Jan 2023 10:22:36 -0300 Subject: [PATCH 2505/2606] clean and reorder Architecture Patterns category --- README.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index b107c554c..1de6481da 100644 --- a/README.md +++ b/README.md @@ -255,18 +255,16 @@ *Clean architecture, Viper, MVVM, Reactive... choose your weapon.* -- [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. +- [Clean Architecture for SwiftUI + Combine](https://github.com/nalexn/clean-architecture-swiftui) - A demo project showcasing the production setup of the SwiftUI app with Clean Architecture. - [CleanArchitectureRxSwift](https://github.com/sergdort/CleanArchitectureRxSwift) - Example of Clean Architecture of iOS app using RxSwift. -- [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. -- [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS. -- [YARCH](https://github.com/alfa-laboratory/YARCH) - More clean alternative to VIPER with unidirectional data flow (flux-like). +- [ios-architecture](https://github.com/tailec/ios-architecture) - A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others. - [iOS-Viper-Architecture](https://github.com/MindorksOpenSource/iOS-Viper-Architecture) - This repository contains a detailed sample app that implements VIPER architecture in iOS using libraries and frameworks like Alamofire, AlamofireImage, PKHUD, CoreData etc. +- [Reactant](https://github.com/Brightify/Reactant) - Reactant is a reactive architecture for iOS. +- [Spin](https://github.com/Spinners/Spin.Swift) - A universal implementation of a Feedback Loop system for RxSwift, ReactiveSwift and Combine +- [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. - [Tempura](https://github.com/BendingSpoons/tempura-swift) - A holistic approach to iOS development, inspired by Redux and MVVM. - [VIPER Module Generator](https://github.com/Kaakati/VIPER-Module-Generator) - A Clean VIPER Modules Generator with comments and predfined functions. -- [MMVMi](https://github.com/Maryom/MMVMi) - A Validation Model for MVC and MVVM Design Patterns in iOS Applications. -- [ios-architecture](https://github.com/tailec/ios-architecture) - A collection of iOS architectures - MVC, MVVM, MVVM+RxSwift, VIPER, RIBs and many others. -- [Clean Architecture for SwiftUI + Combine](https://github.com/nalexn/clean-architecture-swiftui) - A demo project showcasing the production setup of the SwiftUI app with Clean Architecture. -- [Spin](https://github.com/Spinners/Spin.Swift) - A universal implementation of a Feedback Loop system for RxSwift, ReactiveSwift and Combine +- [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. **[back to top](#contents)** From ca56aff707ea4b8adf0cdf9cc52cfdd258d645be Mon Sep 17 00:00:00 2001 From: WebSnke Date: Fri, 6 Jan 2023 15:23:13 +0100 Subject: [PATCH 2506/2606] Improve Look of PULL_REQUEST_TEMPLATE.md I hope you like it. --- .github/PULL_REQUEST_TEMPLATE.md | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 3f999db72..0c7cb36ba 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,19 +1,11 @@ - +Thanks for your contribution! This is a template that can make it easier when submitting your contribution: -## Project URL - +**Your Project**: _Example_ +**Project URL**: _http://example.com/_ +**Category**: _Good Websites_ +**Description**: _This domain is for use in illustrative examples in documents._ -## Category - - -## Description - - -## Why it should be included to `awesome-ios` (mandatory) - -## Checklist - - +Inclusion requirements: - [ ] Has 50 GitHub stargazers or more - [ ] Only one project/change is in this pull request - [ ] Isn't an archived project @@ -24,3 +16,5 @@ - [ ] Supports Swift 4 or later - [ ] Has a commit from less than 2 years ago - [ ] Has a **clear** README in English + +:heart: Awesome iOS Contributors From 1a31b9f99bccb6647fcb212668cc6fda029c8c42 Mon Sep 17 00:00:00 2001 From: WebSnke Date: Fri, 13 Jan 2023 15:56:59 +0100 Subject: [PATCH 2507/2606] Add VLC for iOS --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7090fac79..b6b3daaf7 100644 --- a/README.md +++ b/README.md @@ -1261,6 +1261,7 @@ - [OTAcceleratorCore](https://github.com/opentok/accelerator-core-ios) - A painless way to integrate audio/video(screen sharing) to any iOS applications via Tokbox. ### Video +- [VLC for iOS](https://github.com/videolan/vlc-ios) - VLC is a free and open source multimedia player for iOS. - [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. - [MobilePlayer](https://github.com/mobileplayer/mobileplayer-ios) - A powerful and completely customizable media player for iOS. - [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS. From 2b05b419bca00179f49a6eea37e86623ca9d52af Mon Sep 17 00:00:00 2001 From: WebSnke Date: Fri, 13 Jan 2023 16:12:52 +0100 Subject: [PATCH 2508/2606] Add NetNewsWire --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 7090fac79..6dd827ef1 100644 --- a/README.md +++ b/README.md @@ -1285,6 +1285,9 @@ - [JDVideoKit](https://github.com/jamesdouble/JDVideoKit) - You can easily transfer your video into Three common video type via this framework. - [VersaPlayer](https://github.com/josejuanqm/VersaPlayer) - Versatile AVPlayer implementation for iOS, macOS, and tvOS. +###Web Feed Reader +- [NetNewsWire](https://github.com/Ranchero-Software/NetNewsWire) - It’s a free and open-source feed reader for macOS and iOS. + ## Messaging Also see [push notifications](#push-notifications) From 54e0206058e68defd3f9a694d3f87ee320281e35 Mon Sep 17 00:00:00 2001 From: Alex Trott Date: Thu, 16 Feb 2023 18:47:26 +0000 Subject: [PATCH 2509/2606] Adds TCA --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7090fac79..dd07239b7 100644 --- a/README.md +++ b/README.md @@ -263,6 +263,7 @@ - [Spin](https://github.com/Spinners/Spin.Swift) - A universal implementation of a Feedback Loop system for RxSwift, ReactiveSwift and Combine - [SwiftyVIPER](https://github.com/codytwinton/SwiftyVIPER) - Makes implementing VIPER architecture much easier and cleaner. - [Tempura](https://github.com/BendingSpoons/tempura-swift) - A holistic approach to iOS development, inspired by Redux and MVVM. +- [The Composable Architecture](https://github.com/pointfreeco/swift-composable-architecture) - The Composable Architecture is a library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind. - [VIPER Module Generator](https://github.com/Kaakati/VIPER-Module-Generator) - A Clean VIPER Modules Generator with comments and predfined functions. - [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. From 5c9b33c718e4109b861e7a24e09d42eaef02ec08 Mon Sep 17 00:00:00 2001 From: "mylnikova.alisa" Date: Mon, 20 Feb 2023 13:32:05 +0700 Subject: [PATCH 2510/2606] Add AnimatedTabBar --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7090fac79..750abaaac 100644 --- a/README.md +++ b/README.md @@ -969,6 +969,7 @@ - [Grid](https://github.com/exyte/Grid) - The most powerful Grid container missed in SwiftUI. - [MondrianLayout](https://github.com/muukii/MondrianLayout) - A DSL based layout builder for AutoLayout. - [ScalingHeaderScrollView](https://github.com/exyte/ScalingHeaderScrollView.git) - A scroll view with a sticky header which shrinks as you scroll. Written with SwiftUI. +- [AnimatedTabBar](https://github.com/exyte/AnimatedTabBar) - A tabbar with number of preset animations. Written with SwiftUI. ## Localization From 1fdff0dc76b9ccd9e80c0e978919e00577b7e008 Mon Sep 17 00:00:00 2001 From: WebSnke Date: Thu, 23 Feb 2023 19:19:43 +0100 Subject: [PATCH 2511/2606] Add NetNewsWire to 'Other Parsing' --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 6dd827ef1..b9bc7e868 100644 --- a/README.md +++ b/README.md @@ -1285,9 +1285,6 @@ - [JDVideoKit](https://github.com/jamesdouble/JDVideoKit) - You can easily transfer your video into Three common video type via this framework. - [VersaPlayer](https://github.com/josejuanqm/VersaPlayer) - Versatile AVPlayer implementation for iOS, macOS, and tvOS. -###Web Feed Reader -- [NetNewsWire](https://github.com/Ranchero-Software/NetNewsWire) - It’s a free and open-source feed reader for macOS and iOS. - ## Messaging Also see [push notifications](#push-notifications) @@ -1498,6 +1495,7 @@ Most of these are paid services, some have free tiers. - [XMLCoder](https://github.com/MaxDesiatov/XMLCoder) - Encoder & Decoder for XML using Swift's `Codable` protocols. ### Other Parsing +- [NetNewsWire](https://github.com/Ranchero-Software/NetNewsWire) - It’s a free and open-source feed reader for macOS and iOS. - [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. - [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages. - [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift. From 7926ceb2c0075362aa8fc4260e2d1b6d39cbd740 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 23 Feb 2023 15:30:44 -0300 Subject: [PATCH 2512/2606] Reorder and remove archived projects from ARKit caregory --- README.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a9be90891..895a93aeb 100644 --- a/README.md +++ b/README.md @@ -273,15 +273,14 @@ *Library and tools to help you build unparalleled augmented reality experiences* +- [ARHeadsetKit](https://github.com/philipturner/ARHeadsetKit) - High-level framework for using $5 Google Cardboard to replicate + Microsoft Hololens. - [ARKit-CoreLocation](https://github.com/ProjectDent/ARKit-CoreLocation) - Combines the high accuracy of AR with the scale of GPS data. -- [Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. +- [ARKit Emperor](https://github.com/kboy-silvergym/ARKit-Emperor) - The Emperor give you the most practical ARKit samples ever. +- [ARKit Virtual Objects](https://github.com/ignacio-chiazzo/ARKit) - Placing Virtual Objects in Augmented Reality. - [ARVideoKit](https://github.com/AFathi/ARVideoKit) - Record and capture ARKit videos, photos, Live Photos, and GIFs. -- [ARKitEnvironmentMapper](https://github.com/svhawks/ARKitEnvironmentMapper) - A library that allows you to generate and update environment maps in real-time using the camera feed and ARKit's tracking capabilities. -- [SmileToUnlock](https://github.com/rsrbk/SmileToUnlock) - This library uses ARKit Face Tracking in order to catch a user's smile. - [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision. -- [Poly](https://github.com/piemonte/Poly) - Unofficial Google Poly SDK – search and display 3D models. -- [ARKit Emperor](https://github.com/kboy-silvergym/ARKit-Emperor) - The Emperor give you the most practical ARKit samples ever. -- [ARHeadsetKit](https://github.com/philipturner/ARHeadsetKit) - High-level framework for using $5 Google Cardboard to replicate Microsoft Hololens. +- [SmileToUnlock](https://github.com/rsrbk/SmileToUnlock) - This library uses ARKit Face Tracking in order to catch a user's smile. **[back to top](#contents)** From c9225859a707cec827f26de5aa8379b7a9770ee9 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 23 Feb 2023 15:48:48 -0300 Subject: [PATCH 2513/2606] Reorder and remove old projects --- README.md | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 895a93aeb..52412aaf2 100644 --- a/README.md +++ b/README.md @@ -289,21 +289,12 @@ *Oauth and Oauth2 libraries, social logins and captcha tools.* - [Heimdallr.swift](https://github.com/trivago/Heimdallr.swift) - Easy to use OAuth 2 library for iOS, written in Swift. -- [OhMyAuth](https://github.com/hyperoslo/OhMyAuth) - Simple OAuth2 library with a support of multiple services. -- [AuthenticationViewController](https://github.com/raulriera/AuthenticationViewController) - A simple to use, standard interface for authenticating to oauth 2.0 protected endpoints via SFSafariViewController. -- [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for macOS and iOS, written in Swift. -- [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS -- [SimpleAuth](https://github.com/calebd/SimpleAuth) - Simple social authentication for iOS. -- [AlamofireOauth2](https://github.com/evermeer/AlamofireOauth2) - A swift implementation of OAuth2. -- [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers. -- [Simplicity](https://github.com/SimplicityMobile/Simplicity) - A simple way to implement Facebook and Google login in your iOS and macOS apps. -- [InstagramAuthViewController](https://github.com/Isuru-Nanayakkara/InstagramAuthViewController) - A ViewController for Instagram authentication. - [InstagramSimpleOAuth](https://github.com/rbaumbach/InstagramSimpleOAuth) - A quick and simple way to authenticate an Instagram user in your iPhone or iPad app. -- [DropboxSimpleOAuth](https://github.com/rbaumbach/DropboxSimpleOAuth) - A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app. -- [BoxSimpleOAuth](https://github.com/rbaumbach/BoxSimpleOAuth) - A quick and simple way to authenticate a Box user in your iPhone or iPad app. -- [InstagramLogin](https://github.com/AnderGoig/InstagramLogin) - A simple way to authenticate Instagram accounts on iOS. -- [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - (In)visible ReCaptcha for iOS. - [LinkedInSignIn](https://github.com/serhii-londar/LinkedInSignIn) - Simple view controller to login and retrieve access token from LinkedIn. +- [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS- [OAuthSwift](https://github.com/OAuthSwift/OAuthSwift) - Swift based OAuth library for iOS +- [OAuth2](https://github.com/p2/OAuth2) - OAuth2 framework for macOS and iOS, written in Swift. +- [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - (In)visible ReCaptcha for iOS. +- [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers. **[back to top](#contents)** From 325ce9926715476e859002d40fa7561b0b1fbd9e Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 23 Feb 2023 15:53:57 -0300 Subject: [PATCH 2514/2606] Reorder and clean Blockchain category --- README.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 52412aaf2..54f4bf60d 100644 --- a/README.md +++ b/README.md @@ -302,13 +302,11 @@ *Tool for smart contract interactions. Bitcoin protocol implementations and Frameworks for interacting with cryptocurrencies.* -- [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. -- [web3swift](https://github.com/BANKEX/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. +- [BitcoinKit](https://github.com/yenom/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written in swift. +- [CoinpaprikaAPI](https://github.com/coinpaprika/coinpaprika-api-swift-client) - Coinpaprika API client with free & frequently updated market data from the world of crypto: coin prices, volumes, market caps, ATHs, return rates and more. - [EthereumKit](https://github.com/yuzushioh/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. -- [BitcoinKit](https://github.com/yenom/BitcoinKit) - Bitcoin protocol toolkit for Swift, BitcoinKit implements Bitcoin protocol in Swift. It is an implementation of the Bitcoin SPV protocol written (almost) entirely in swift. - [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. -- [CoinpaprikaAPI](https://github.com/coinpaprika/coinpaprika-api-swift-client) - Coinpaprika API client with free & frequently updated market data from the world of crypto: coin prices, volumes, market caps, ATHs, return rates and more. -- [Bitcoin-Swift-Kit](https://github.com/horizontalsystems/bitcoin-kit-ios) - Full Bitcoin library written on Swift. Complete SPV wallet implementation for Bitcoin, Bitcoin Cash and Dash blockchains. +- [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. **[back to top](#contents)** From da663b9ea737e3c0637f8dce8df3dd619ceae2e6 Mon Sep 17 00:00:00 2001 From: WebSnke Date: Sun, 26 Feb 2023 10:09:41 +0100 Subject: [PATCH 2515/2606] Add entry to bottom of category --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b9bc7e868..6d0b4545e 100644 --- a/README.md +++ b/README.md @@ -1495,7 +1495,6 @@ Most of these are paid services, some have free tiers. - [XMLCoder](https://github.com/MaxDesiatov/XMLCoder) - Encoder & Decoder for XML using Swift's `Codable` protocols. ### Other Parsing -- [NetNewsWire](https://github.com/Ranchero-Software/NetNewsWire) - It’s a free and open-source feed reader for macOS and iOS. - [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. - [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages. - [FeedKit](https://github.com/nmdias/FeedKit) - An RSS and Atom feed parser written in Swift. @@ -1507,6 +1506,7 @@ Most of these are paid services, some have free tiers. - [CoreXLSX](https://github.com/MaxDesiatov/CoreXLSX) - Excel spreadsheet (XLSX) format support in pure Swift. - [SVGView](https://github.com/exyte/SVGView) - SVG parser and renderer written in SwiftUI. - [CreateAPI](https://github.com/CreateAPI/CreateAPI) - Delightful code generation for OpenAPI specs for Swift written in Swift. +- [NetNewsWire](https://github.com/Ranchero-Software/NetNewsWire) - It’s a free and open-source feed reader for macOS and iOS. ## Passbook From fd84921c2c6231febd39cfeb473a56fba2be8364 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 27 Feb 2023 11:44:07 -0300 Subject: [PATCH 2516/2606] Add Digital Ocean support logo --- README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4496bcedf..52e73a74b 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,15 @@

awesome - Build Status - Buy Me a Coffee + Buy Me a Coffee +

+ +

This project is supported by: + + + +

+

## Contents From a128680b467ae0e59bec19450e557f1cc18e2d39 Mon Sep 17 00:00:00 2001 From: Mohd Iftekhar Qurashi Date: Wed, 1 Mar 2023 20:04:03 +0530 Subject: [PATCH 2517/2606] Added IQListKit --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 52e73a74b..05d50d2f4 100644 --- a/README.md +++ b/README.md @@ -2744,7 +2744,8 @@ Most of these are paid services, some have free tiers. - [ThunderCollection](https://github.com/3sidedcube/ThunderCollection) - A simple declarative approach to UICollectionViewController management using a protocol-based approach. - [DiffableDataSources](https://github.com/ra1028/DiffableDataSources) - A library for backporting UITableView/UICollectionViewDiffableDataSource. - [StableCollectionViewLayout](https://github.com/aimalygin/StableCollectionViewLayout) - This layout adjusts a content offset if the collection view is updated. You can insert, delete or reload items and StableCollectionViewLayout will take care of the content offset. - +- [IQListKit](https://github.com/hackiftekhar/IQListKit) - Model driven UITableView/UICollectionView. +- #### Expandable Cell - [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material From e17aef60d39557df90f4979682d9b62297e6565f Mon Sep 17 00:00:00 2001 From: ZhgChgLi <33706588+zhgchgli0718@users.noreply.github.com> Date: Fri, 10 Mar 2023 17:38:49 +0800 Subject: [PATCH 2518/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 52e73a74b..f77dfaee7 100644 --- a/README.md +++ b/README.md @@ -1490,6 +1490,7 @@ Most of these are paid services, some have free tiers. - [SWXMLHash](https://github.com/drmohundro/SWXMLHash) - Simple XML parsing in Swift. - [SwiftyXML](https://github.com/chenyunguiMilook/SwiftyXML) - The most swifty way to deal with XML data in swift 4. - [XMLCoder](https://github.com/MaxDesiatov/XMLCoder) - Encoder & Decoder for XML using Swift's `Codable` protocols. +- [ZMarkupParser](https://github.com/ZhgChgLi/ZMarkupParser) - Convert HTML strings into NSAttributedString with customized styles and tags. ### Other Parsing - [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. From 5078ccfd17aa46f7912832e814a020e091e6cac4 Mon Sep 17 00:00:00 2001 From: SeungYeop Yeom Date: Wed, 12 Apr 2023 21:20:13 +0900 Subject: [PATCH 2519/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dbf39f55a..76be9d911 100644 --- a/README.md +++ b/README.md @@ -1593,6 +1593,7 @@ Most of these are paid services, some have free tiers. - [LightweightObservable](https://github.com/fxm90/LightweightObservable) - A lightweight implementation of an observable sequence that you can subscribe to. - [Bindy](https://github.com/MaximKotliar/Bindy) - Simple, lightweight swift bindings with KVO support and easy to read syntax. - [OpenCombine](https://github.com/broadwaylamb/OpenCombine) — Open source implementation of Apple's Combine framework for processing values over time. +- [OneWay](https://github.com/DevYeom/OneWay) - A Swift library for state management with unidirectional data flow. - [Verge](https://github.com/muukii/Verge) - Verge is a faster and scalable state management library for UIKit and SwiftUI ### React-Like From 323ac25046f4a4ecf78ba8319b5a7e727d6d4df9 Mon Sep 17 00:00:00 2001 From: "mylnikova.alisa" Date: Mon, 24 Apr 2023 11:27:51 +0700 Subject: [PATCH 2520/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dbf39f55a..f7f6ab2d4 100644 --- a/README.md +++ b/README.md @@ -1298,6 +1298,7 @@ Also see [push notifications](#push-notifications) - [Messenger Chat with Firebase](https://github.com/instamobile/messenger-iOS-chat-swift-firestore) - Swift messaging chat app with Firebase Firestore integration. - [SwiftKafka](https://github.com/IBM-Swift/SwiftKafka) - Swift SDK for Apache Kafka by IBM. - [ChatLayout](https://github.com/ekazaev/ChatLayout) - A lightweight framework to build chat UI that uses custom `UICollectionViewLayout` to provide full control over the presentation as well as all the tools available in `UICollectionView`. +- [ExyteChat](https://github.com/exyte/Chat) - SwiftUI Chat UI framework with fully customizable message cells, input view, and a built-in media picker. ## Networking - [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. From 2b7114978f3c28c9938a229fe80703d068f3fd92 Mon Sep 17 00:00:00 2001 From: Aleksei Date: Mon, 24 Apr 2023 20:58:26 +0200 Subject: [PATCH 2521/2606] Add TBIconTransitionKit to animation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dbf39f55a..a2d581cac 100644 --- a/README.md +++ b/README.md @@ -2199,6 +2199,7 @@ Most of these are paid services, some have free tiers. - [DropdownTransition](https://github.com/nugmanoff/DropdownTransition) - Simple and elegant Dropdown Transition for presenting controllers from top to bottom. - [NavigationTransitions](https://github.com/davdroman/swiftui-navigation-transitions) - Pure SwiftUI Navigation transitions. - [LiquidSwipe](https://github.com/exyte/LiquidSwipe) - Liquid navigation animation +- [TBIconTransitionKit](https://github.com/AlexeyBelezeko/TBIconTransitionKit) - Easy to use icon transition kit that allows to smoothly change from one shape to another. ### Alert & Action Sheet From b00bfeaab3c794c90f43191d9ee277826b723fd4 Mon Sep 17 00:00:00 2001 From: "mylnikova.alisa" Date: Thu, 27 Apr 2023 12:13:33 +0700 Subject: [PATCH 2522/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 750abaaac..8fb6b4e14 100644 --- a/README.md +++ b/README.md @@ -969,7 +969,6 @@ - [Grid](https://github.com/exyte/Grid) - The most powerful Grid container missed in SwiftUI. - [MondrianLayout](https://github.com/muukii/MondrianLayout) - A DSL based layout builder for AutoLayout. - [ScalingHeaderScrollView](https://github.com/exyte/ScalingHeaderScrollView.git) - A scroll view with a sticky header which shrinks as you scroll. Written with SwiftUI. -- [AnimatedTabBar](https://github.com/exyte/AnimatedTabBar) - A tabbar with number of preset animations. Written with SwiftUI. ## Localization @@ -2671,6 +2670,7 @@ Most of these are paid services, some have free tiers. - [SmoothTab](https://github.com/yervandsar/SmoothTab) - Smooth customizable tabs for iOS apps. - [ExpandedTabBar](https://github.com/yervandsar/ExpandedTabBar) - Very creative designed solution for "more" items in UITabBarController - [BEKCurveTabbar](https://github.com/behrad-kzm/BEKCurveTabbar) - compatible with XCode +10 and fully customizable via Interface_Builder panel. BEKCurveTabBar derived UITabBar class and compatible with every iOS devices. +- [AnimatedTabBar](https://github.com/exyte/AnimatedTabBar) - A tabbar with number of preset animations. Written with SwiftUI. ### Table View / Collection View From c282505d066b956342a624e9fcc5e6b1eb0c08b6 Mon Sep 17 00:00:00 2001 From: Evgenii Matsiuk Date: Thu, 18 May 2023 16:45:58 +0400 Subject: [PATCH 2523/2606] marathon runner --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index dbf39f55a..e25fe8575 100644 --- a/README.md +++ b/README.md @@ -1901,6 +1901,8 @@ Most of these are paid services, some have free tiers. - [UITestHelper](https://github.com/evermeer/UITestHelper) - UITest helper library for creating readable and maintainable tests. - [ViewInspector](https://github.com/nalexn/ViewInspector) - Runtime inspection and unit testing of SwiftUI views - [AutoMate](https://github.com/PGSSoft/AutoMate) - XCTest extensions for writing UI automation tests. +- [Marathon](https://github.com/MarathonLabs/marathon) - Fast, platform-independent test runner focused on performance and stability execute tests. +- [Marathon Cloud](https://marathonlabs.io) - Cloud based test runner that promises to execute any number of tests in 15 minutes. ### Other Testing - [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. From 48e9e5ea7b23cf16059530f55660aae2c3748fd1 Mon Sep 17 00:00:00 2001 From: Evgenii Matsiuk Date: Thu, 18 May 2023 16:54:53 +0400 Subject: [PATCH 2524/2606] small fixes --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e25fe8575..8d841e13a 100644 --- a/README.md +++ b/README.md @@ -1901,8 +1901,8 @@ Most of these are paid services, some have free tiers. - [UITestHelper](https://github.com/evermeer/UITestHelper) - UITest helper library for creating readable and maintainable tests. - [ViewInspector](https://github.com/nalexn/ViewInspector) - Runtime inspection and unit testing of SwiftUI views - [AutoMate](https://github.com/PGSSoft/AutoMate) - XCTest extensions for writing UI automation tests. -- [Marathon](https://github.com/MarathonLabs/marathon) - Fast, platform-independent test runner focused on performance and stability execute tests. -- [Marathon Cloud](https://marathonlabs.io) - Cloud based test runner that promises to execute any number of tests in 15 minutes. +- [Marathon runner](https://github.com/MarathonLabs/marathon) - Fast, platform-independent test runner focused on performance and stability execute tests. +- [Marathon Cloud](https://marathonlabs.io) - Cloud version of Marathon runner that promises to execute any number of tests in 15 minutes. ### Other Testing - [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. From 8007a54e02cd47425901560772b7fb46dacefa46 Mon Sep 17 00:00:00 2001 From: Evgenii Matsiuk Date: Thu, 18 May 2023 16:55:25 +0400 Subject: [PATCH 2525/2606] small fixes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8d841e13a..014bcdc1c 100644 --- a/README.md +++ b/README.md @@ -1901,7 +1901,7 @@ Most of these are paid services, some have free tiers. - [UITestHelper](https://github.com/evermeer/UITestHelper) - UITest helper library for creating readable and maintainable tests. - [ViewInspector](https://github.com/nalexn/ViewInspector) - Runtime inspection and unit testing of SwiftUI views - [AutoMate](https://github.com/PGSSoft/AutoMate) - XCTest extensions for writing UI automation tests. -- [Marathon runner](https://github.com/MarathonLabs/marathon) - Fast, platform-independent test runner focused on performance and stability execute tests. +- [Marathon Runner](https://github.com/MarathonLabs/marathon) - Fast, platform-independent test runner focused on performance and stability execute tests. - [Marathon Cloud](https://marathonlabs.io) - Cloud version of Marathon runner that promises to execute any number of tests in 15 minutes. ### Other Testing From 83b17e90a6b36c7ce7c1477696d4bbd1a87c11ce Mon Sep 17 00:00:00 2001 From: Evgenii Matsiuk Date: Thu, 18 May 2023 19:53:52 +0400 Subject: [PATCH 2526/2606] only marathon runner --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 014bcdc1c..ffe432a6f 100644 --- a/README.md +++ b/README.md @@ -1902,7 +1902,6 @@ Most of these are paid services, some have free tiers. - [ViewInspector](https://github.com/nalexn/ViewInspector) - Runtime inspection and unit testing of SwiftUI views - [AutoMate](https://github.com/PGSSoft/AutoMate) - XCTest extensions for writing UI automation tests. - [Marathon Runner](https://github.com/MarathonLabs/marathon) - Fast, platform-independent test runner focused on performance and stability execute tests. -- [Marathon Cloud](https://marathonlabs.io) - Cloud version of Marathon runner that promises to execute any number of tests in 15 minutes. ### Other Testing - [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. From 62e7b30830679280db7189869abc6b48e34ff771 Mon Sep 17 00:00:00 2001 From: Pavel Date: Wed, 24 May 2023 01:52:25 +0100 Subject: [PATCH 2527/2606] Added Stacktrace podcast --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dbf39f55a..1a270029f 100644 --- a/README.md +++ b/README.md @@ -3350,6 +3350,7 @@ Most of these are paid services, some have free tiers. - [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) - [Fireside Swift](https://podcasts.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) - [Swift by Sundell](https://www.swiftbysundell.com/podcast/) +- [Stacktrace](https://stacktracepodcast.fm) ## Books - [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) From 09f8a6b24a40e1f3718fbcb83329a66570e09c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C9=A5so=C9=BE?= Date: Tue, 25 Jul 2023 09:30:29 -0700 Subject: [PATCH 2528/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 640ae4081..2b66113af 100644 --- a/README.md +++ b/README.md @@ -201,6 +201,7 @@ - [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. - [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. - [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. +- [Emerge Tools](https://www.emergetools.com) - Prevent app size & performance regressions on every pull request, get automated insights on how to improve. - [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. - [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. - [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. From 6364aaad7f0a089a066e8ae5a755fb5afa2f7dce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C9=A5so=C9=BE?= Date: Tue, 25 Jul 2023 09:41:05 -0700 Subject: [PATCH 2529/2606] Add ETTrace --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 640ae4081..c977e9443 100644 --- a/README.md +++ b/README.md @@ -1906,6 +1906,7 @@ Most of these are paid services, some have free tiers. - [Marathon Runner](https://github.com/MarathonLabs/marathon) - Fast, platform-independent test runner focused on performance and stability execute tests. ### Other Testing +- [ETTrace](https://github.com/EmergeTools/ETTrace) - Locally measure performance of your app, without Xcode or Instruments. - [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. - [Fakery](https://github.com/vadymmarkov/Fakery) - Swift fake data generator. - [DVR](https://github.com/venmo/DVR) - Network testing for Swift. From 993deb7eb991dd759439eab15ec2d3bf0423837b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C9=A5so=C9=BE?= Date: Tue, 25 Jul 2023 09:43:27 -0700 Subject: [PATCH 2530/2606] Add SmallStrings --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 640ae4081..c5ed1478a 100644 --- a/README.md +++ b/README.md @@ -1435,6 +1435,7 @@ Most of these are paid services, some have free tiers. ## Optimization - [Unreachable](https://github.com/nvzqz/Unreachable) - Unreachable code path optimization hint for Swift. +- [SmallStrings](https://github.com/EmergeTools/SmallStrings) - Reduce localized .strings file sizes by 80%. ## Parsing From 9ca4270d19eedb639a7b4936e10a13d4b29a8cb8 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 1 Aug 2023 15:29:35 +0800 Subject: [PATCH 2531/2606] Add LCActionSheet --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 640ae4081..35679ca62 100644 --- a/README.md +++ b/README.md @@ -2275,6 +2275,7 @@ Most of these are paid services, some have free tiers. - [SPAlert](https://github.com/IvanVorobei/SPAlert) - Native popup from Apple Music & Feedback in AppStore. Contains Done & Heart presets. - [CleanyModal](https://github.com/loryhuz/CleanyModal) - Use nice customized alerts and action sheets with ease, API is similar to native UIAlertController. - [BottomSheet](https://github.com/joomcode/BottomSheet) - Powerful Bottom Sheet component with content based size, interactive dismissal and navigation controller support. +- [LCActionSheet](https://github.com/iTofu/LCActionSheet) - A simple ActionSheet. WeChat, Weibo and QQ all use similar styles. Fully support Swift. ### Badge - [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. From 5ddc3fa346516c4d90c7f7dceba8afab2859d3e8 Mon Sep 17 00:00:00 2001 From: Ric Santos Date: Wed, 25 Oct 2023 10:04:11 +1030 Subject: [PATCH 2532/2606] Remove puree as the repo has been archived --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 137d8d540..60e7a313c 100644 --- a/README.md +++ b/README.md @@ -1003,7 +1003,6 @@ - [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight tool for generating text tables. - [Watchdog](https://github.com/wojteklu/Watchdog) - Class for logging excessive blocking on the main thread. - [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. -- [puree](https://github.com/cookpad/puree-ios) - A log collector for iOS. - [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! - [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. - [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. From d9ffff854460828dd2c83f732da802e51da6bf49 Mon Sep 17 00:00:00 2001 From: Ric Santos Date: Wed, 25 Oct 2023 10:11:29 +1030 Subject: [PATCH 2533/2606] Remove Loggerithm Repo has been archived --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 137d8d540..870f56ed1 100644 --- a/README.md +++ b/README.md @@ -1005,7 +1005,6 @@ - [XCGLogger](https://github.com/DaveWoodCom/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 println, but with additional information, such as the date, function name, filename and line number. - [puree](https://github.com/cookpad/puree-ios) - A log collector for iOS. - [Colors](https://github.com/icodeforlove/Colors) - A pure Swift library for using ANSI codes. Basically makes command-line coloring and styling very easy! -- [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. - [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. - [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. - [Evergreen](https://github.com/nilsleiffischer/Evergreen) - Most natural Swift logging. From 2c53de2f4b205b695e104f3a8dac8a92216cf418 Mon Sep 17 00:00:00 2001 From: Ric Santos Date: Wed, 25 Oct 2023 10:14:10 +1030 Subject: [PATCH 2534/2606] Remove Evergreen Repo has been archived --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 137d8d540..3c088d33d 100644 --- a/README.md +++ b/README.md @@ -1008,7 +1008,6 @@ - [Loggerithm](https://github.com/honghaoz/Loggerithm) - A lightweight Swift logger, uses `print` in development and `NSLog` in production. Support colourful and formatted output. - [AELog](https://github.com/tadija/AELog) - Simple, lightweight and flexible debug logging framework written in Swift. - [ReflectedStringConvertible](https://github.com/mattcomi/ReflectedStringConvertible) - A protocol that allows any class to be printed as if it were a struct. -- [Evergreen](https://github.com/nilsleiffischer/Evergreen) - Most natural Swift logging. - [SwiftTrace](https://github.com/johnno1962/SwiftTrace) - Trace Swift and Objective-C method invocations. - [Willow](https://github.com/Nike-Inc/Willow) - Willow is a powerful, yet lightweight logging library written in Swift. - [Bugfender](https://github.com/bugfender/BugfenderSDK-iOS) - Cloud storage for your app logs. Track user behaviour to find problems in your mobile apps. From 9cddac4155284e9545159d8ba4e2ef50a6667573 Mon Sep 17 00:00:00 2001 From: Tomasz Kurylik Date: Thu, 26 Oct 2023 18:12:14 +0200 Subject: [PATCH 2535/2606] Add MijickPopupView --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 137d8d540..bc4427181 100644 --- a/README.md +++ b/README.md @@ -2535,6 +2535,7 @@ Most of these are paid services, some have free tiers. - [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - A highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. - [FFPopup](https://github.com/JonyFang/FFPopup) - ⛩FFPopup is a lightweight library for presenting custom views as a popup. - [PopupView](https://github.com/exyte/PopupView) - Toasts and popups library written with SwiftUI. +- [MijickPopupView](https://github.com/Mijick/PopupView) - Popups presentation made simple with SwiftUI. ### ProgressView - [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift From 39d6d4620e1b346949992e28bfd45451f982445d Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 31 Oct 2023 18:12:17 -0300 Subject: [PATCH 2536/2606] Create main.yml Convert markdown to html --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 000000000..53d84ee88 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,3 @@ +- run: npm i markdown-to-html-cli -g +- run: markdown-to-html --output coverage/index.html +- run: markdown-to-html --source README.md --output out/index.html From 5c86fd82f7a982dfb24b35d117a18ca7ab98f12e Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 31 Oct 2023 18:16:35 -0300 Subject: [PATCH 2537/2606] Update main.yml fix github actions --- .github/workflows/main.yml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 53d84ee88..aebcf8c2f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,3 +1,16 @@ -- run: npm i markdown-to-html-cli -g -- run: markdown-to-html --output coverage/index.html -- run: markdown-to-html --source README.md --output out/index.html +name: website-deploy +on: + push: + branches: + - 'master' +permissions: + contents: read # to fetch code (actions/checkout) +jobs: + Job: + runs-on: windows-latest + steps: + - name: Convert Markdown to HTML + uses: natescherer/markdown-to-html-with-github-style-action@v1 + with: + path: README.md + outputpath: out From 8627af7e07e3a18d5d4ec5a799734bafc4151b70 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 31 Oct 2023 18:21:45 -0300 Subject: [PATCH 2538/2606] Update main.yml fix with block --- .github/workflows/main.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index aebcf8c2f..ac7a776b2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,12 +5,14 @@ on: - 'master' permissions: contents: read # to fetch code (actions/checkout) + jobs: Job: runs-on: windows-latest steps: - name: Convert Markdown to HTML - uses: natescherer/markdown-to-html-with-github-style-action@v1 + uses: jaywcjlove/markdown-to-html-cli@main with: - path: README.md - outputpath: out + source: README.md + output: html/index.html + github-corners: https://github.com/jaywcjlove/markdown-to-html-cli From 221feb01c813ed3115fa301a09d2070ec973fc58 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 31 Oct 2023 18:28:01 -0300 Subject: [PATCH 2539/2606] Update main.yml add tests --- .github/workflows/main.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ac7a776b2..91b6904c3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,3 +16,20 @@ jobs: source: README.md output: html/index.html github-corners: https://github.com/jaywcjlove/markdown-to-html-cli + + + - name: Markdown-HTML + # You may pin to the exact commit or the version. + # uses: ZacJW/markdown-html-action@581e6df07c787a1eb980cb2fd6c0c82ace9c9c82 + uses: ZacJW/markdown-html-action@1.2.0 + with: + input_files: "README.md" + output_files: true + + - name: Converts Markdown to HTML + uses: jaywcjlove/markdown-to-html-cli@main + with: + source: README-zh.md + output: coverage/action.html + github-corners: https://github.com/jaywcjlove/markdown-to-html-cli + favicon: data:image/svg+xml,🌐 From 116812b5104087306eeb1a3824d15a66611238e7 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 31 Oct 2023 18:32:17 -0300 Subject: [PATCH 2540/2606] Update main.yml --- .github/workflows/main.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 91b6904c3..89e95762b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,27 +7,30 @@ permissions: contents: read # to fetch code (actions/checkout) jobs: - Job: + Job1: runs-on: windows-latest steps: - name: Convert Markdown to HTML uses: jaywcjlove/markdown-to-html-cli@main + if: success() || failure() with: source: README.md output: html/index.html github-corners: https://github.com/jaywcjlove/markdown-to-html-cli - + - name: Markdown-HTML # You may pin to the exact commit or the version. # uses: ZacJW/markdown-html-action@581e6df07c787a1eb980cb2fd6c0c82ace9c9c82 uses: ZacJW/markdown-html-action@1.2.0 + if: success() || failure() with: input_files: "README.md" output_files: true - name: Converts Markdown to HTML uses: jaywcjlove/markdown-to-html-cli@main + if: success() || failure() with: source: README-zh.md output: coverage/action.html From 99e6a921ceae544f919bd5c8140062debe482883 Mon Sep 17 00:00:00 2001 From: Guilherme Oenning Date: Sun, 12 Nov 2023 13:25:10 +0000 Subject: [PATCH 2541/2606] Add Aptabase --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 137d8d540..713edf36b 100644 --- a/README.md +++ b/README.md @@ -211,6 +211,7 @@ - [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. - [Sentry](https://sentry.io/) - Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time. - [Shake](https://www.shakebugs.com/) - In-app feedback and bug reporting tool. Fix app bugs up to 50x faster with detailed device data, repro steps, video recording, black box data, network requests and custom logging. +- [Aptabase](https://aptabase.com/) - Open Source, Privacy-First and Simple Analytics for Swift Apps. **[back to top](#contents)** From 33bf466bd9cf28d814092da3865a08679ae23e49 Mon Sep 17 00:00:00 2001 From: Guilherme Oenning Date: Sun, 12 Nov 2023 13:39:46 +0000 Subject: [PATCH 2542/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 713edf36b..e2822d0cc 100644 --- a/README.md +++ b/README.md @@ -196,6 +196,7 @@ *Analytics platforms, SDK's, error tracking and real-time answers about your app* - [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. +- [Aptabase](https://aptabase.com/) - Open Source, Privacy-First and Simple Analytics for Swift Apps. - [Answers by Fabric](https://get.fabric.io) - Answers gives you real-time insight into people’s experience in your app. - [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. - [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. @@ -211,7 +212,6 @@ - [Segment](https://github.com/segmentio/analytics-ios) - The hassle-free way to integrate analytics into any iOS application. - [Sentry](https://sentry.io/) - Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time. - [Shake](https://www.shakebugs.com/) - In-app feedback and bug reporting tool. Fix app bugs up to 50x faster with detailed device data, repro steps, video recording, black box data, network requests and custom logging. -- [Aptabase](https://aptabase.com/) - Open Source, Privacy-First and Simple Analytics for Swift Apps. **[back to top](#contents)** From c4e775a93ad0e54b64102e15e8a8d708dbbe7f37 Mon Sep 17 00:00:00 2001 From: Allen Humphreys Date: Mon, 4 Dec 2023 19:17:40 -0500 Subject: [PATCH 2543/2606] Add AztecEditor-iOS to Text category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 137d8d540..30437394c 100644 --- a/README.md +++ b/README.md @@ -1844,6 +1844,7 @@ Most of these are paid services, some have free tiers. - [PostalCodeValidator](https://github.com/FormatterKit/PostalCodeValidator) - A validator for postal codes with support for 200+ regions. - [CodeMirror Swift](https://github.com/ProxymanApp/CodeMirror-Swift) - A lightweight wrapper of CodeMirror for macOS and iOS. Support Syntax Highlighting & Themes. - [TwitterTextEditor](https://github.com/twitter/TwitterTextEditor) - A standalone, flexible API that provides a full featured rich text editor for iOS applications. +- [AztecEditor-iOS](https://github.com/wordpress-mobile/AztecEditor-iOS) - Aztec is a Swift library that provides a `UITextView` subclass with HTML visual-editing capabilities. The plugin API supports customization HTML conversion from/to HTML for compatibility with your needs. ### Font - [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. From 47c90d12cee8514d6686cdfa7dc0fb1b632809eb Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 4 Jan 2024 18:51:55 -0300 Subject: [PATCH 2544/2606] Remove Content section Reducing README size. --- README.md | 160 ------------------------------------------------------ 1 file changed, 160 deletions(-) diff --git a/README.md b/README.md index 9dad48341..ae3045be7 100644 --- a/README.md +++ b/README.md @@ -15,166 +15,6 @@

-## Contents - -- [Accessibility](#accessibility) -- [Alexa](#alexa) -- [Analytics](#analytics) -- [App Routing](#app-routing) -- [Apple TV](#apple-tv) -- [Architecture Patterns](#architecture-patterns) -- [ARKit](#arkit) -- [Authentication](#authentication) -- [Blockchain](#blockchain) -- [Bridging](#bridging) -- [Cache](#cache) -- [Charts](#charts) -- [Code Quality](#code-quality) - - [Linter](#linter) -- [Color](#color) -- [Command Line](#command-line) -- [Concurrency](#concurrency) -- [Core Data](#core-data) -- [Courses](#courses) -- [Database](#database) -- [Data Structures / Algorithms](#data-structures--algorithms) -- [Date & Time](#date--time) -- [Debugging](#debugging) -- [EventBus](#eventbus) -- [Files](#files) -- [Functional Programming](#functional-programming) -- [Games](#games) -- [GCD](#gcd) -- [Gesture](#gesture) -- [Graphics](#graphics) -- [Hardware](#hardware) - - [Bluetooth](#bluetooth) - - [Camera](#camera) - - [Force Touch](#force-touch) - - [iBeacon](#ibeacon) - - [Location](#location) - - [Other Hardware](#other-hardware) -- [Layout](#layout) -- [Logging](#logging) -- [Localization](#localization) -- [Machine Learning](#machine-learning) -- [Maps](#maps) -- [Math](#math) -- [Media](#media) - - [Audio](#audio) - - [GIF](#gif) - - [Image](#image) - - [Media Processing](#media-processing) - - [PDF](#pdf) - - [Streaming](#streaming) - - [Video](#video) -- [Messaging](#messaging) -- [Networking](#networking) -- [Notifications](#notifications) - - [Push Notifications](#push-notifications) - - [Push Notification Providers](#push-notification-providers) - - [Local Notifications](#local-notifications) -- [Objective-C Runtime](#objective-c-runtime) -- [Optimization](#optimization) -- [Parsing](#parsing) - - [CSV](#csv) - - [JSON](#json) - - [XML & HTML](#xml--html) - - [Other Parsing](#other-parsing) -- [Passbook](#passbook) -- [Payments](#payments) -- [Permissions](#permissions) -- [Products](#products) -- [Reactive Programming](#reactive-programming) - - [React-Like](#react-like) -- [Reflection](#reflection) -- [Regex](#regex) -- [SDK](#sdk) - - [Official](#official) - - [Unofficial](#unofficial) -- [Security](#security) - - [Encryption](#encryption) - - [Keychain](#keychain) -- [Server](#server) -- [Testing](#testing) - - [TDD / BDD](#tdd--bdd) - - [A/B Testing](#ab-testing) - - [UI Testing](#ui-testing) - - [Other Testing](#other-testing) -- [Text](#text) - - [Font](#font) -- [UI](#ui) - - [Activity Indicator](#activity-indicator) - - [Alert & Action Sheet](#alert--action-sheet) - - [Animation](#animation) - - [Transition](#transition) - - [Badge](#badge) - - [Button](#button) - - [Calendar](#calendar) - - [Cards](#cards) - - [Form & Settings](#form--settings) - - [Keyboard](#keyboard) - - [Label](#label) - - [Login](#login) - - [Menu](#menu) - - [Navigation Bar](#navigation-bar) - - [PickerView](#pickerview) - - [Popup](#popup) - - [Pull to Refresh](#pull-to-refresh) - - [Rating Stars](#rating-stars) - - [ScrollView](#scrollview) - - [Segmented Control](#segmented-control) - - [Slider](#slider) - - [Splash View](#splash-view) - - [Status Bar](#status-bar) - - [Stepper](#stepper) - - [Switch](#switch) - - [Tab Bar](#tab-bar) - - [Table View / Collection View](#table-view--collection-view) - - [Table View](#table-view) - - [Collection View](#collection-view) - - [Expandable Cell](#expandable-cell) - - [Header](#header) - - [Placeholder](#placeholder) - - [Collection View Layout](#collection-view-layout) - - [Tag](#tag) - - [TextField & TextView](#textfield--textview) - - [UIPageControl](#uipagecontrol) - - [Web View](#web-view) -- [Utility](#utility) -- [User Consent](#user-consent) -- [VR](#vr) -- [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) -- [Websocket](#websocket) -- [Project setup](#project-setup) -- [Dependency / Package Manager](#dependency--package-manager) -- [Tools](#tools) -- [Rapid Development](#rapid-development) - - [Injection](#injection) -- [Deployment / Distribution](#deployment--distribution) -- [App Store](#app-store) -- [Xcode](#xcode) - - [Extensions (Xcode 8+)](#extensions-xcode-8) - - [Themes](#themes) - - [Other Xcode](#other-xcode) -- [Reference](#reference) -- [Style Guides](#style-guides) -- [Good Websites](#good-websites) - - [News, Blogs and more](#news-blogs-and-more) - - [UIKit references](#uikit-references) - - [Forums and discuss lists](#forums-and-discuss-lists) - - [Tutorials and Keynotes](#tutorials-and-keynotes) - - [Prototyping](#prototyping) - - [Newsletters](#newsletters) - - [Medium](#medium) -- [Social Media](#social-media) - - [Twitter](#twitter) - - [Facebook Groups](#facebook-groups) -- [Podcasts](#podcasts) -- [Books](#books) -- [Other Awesome Lists](#other-awesome-lists) -- [Contributing](#contributing-and-license) - ## Accessibility *Frameworks that help to support accessibility features and enable people with disabilities to use your app* From 74f7344b955f6cbeaa081bdc1288e522b23e784c Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 4 Jan 2024 18:54:48 -0300 Subject: [PATCH 2545/2606] Organize back to top sections --- README.md | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ae3045be7..72273156b 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@

- +

## Accessibility @@ -21,16 +21,12 @@ - [Capable](https://github.com/chrs1885/Capable) - Track accessibility features to improve your app for people with certain disabilities. -**[back to top](#contents)** - ## Alexa *Frameworks that help to support writing custom alexa skills in swift* - [AlexaSkillsKit](https://github.com/choefele/AlexaSkillsKit) - Swift library to develop custom Alexa Skills. -**[back to top](#contents)** - ## Analytics *Analytics platforms, SDK's, error tracking and real-time answers about your app* @@ -52,8 +48,6 @@ - [Sentry](https://sentry.io/) - Sentry provides self-hosted and cloud-based error monitoring that helps all software teams discover, triage, and prioritize errors in real-time. - [Shake](https://www.shakebugs.com/) - In-app feedback and bug reporting tool. Fix app bugs up to 50x faster with detailed device data, repro steps, video recording, black box data, network requests and custom logging. -**[back to top](#contents)** - ## App Routing *Elegant URL routing, navigation frameworks, deep links and more* @@ -80,8 +74,6 @@ - [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! - [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. -**[back to top](#contents)** - ## Apple TV *tvOS view controllers, wrappers, template managers and video players.* @@ -97,8 +89,6 @@ - [TvOSTextViewer](https://github.com/dcordero/TvOSTextViewer) - Light and scrollable view controller for tvOS to present blocks of text - [XCDYouTubeKit](https://github.com/0xced/XCDYouTubeKit) - YouTube video player for iOS, tvOS and macOS. -**[back to top](#contents)** - ## Architecture Patterns *Clean architecture, Viper, MVVM, Reactive... choose your weapon.* @@ -2042,7 +2032,7 @@ Most of these are paid services, some have free tiers. - [AppstoreTransition](https://github.com/appssemble/appstore-card-transition) - Simulates the appstore card animation transition. - [DropdownTransition](https://github.com/nugmanoff/DropdownTransition) - Simple and elegant Dropdown Transition for presenting controllers from top to bottom. - [NavigationTransitions](https://github.com/davdroman/swiftui-navigation-transitions) - Pure SwiftUI Navigation transitions. -- [LiquidSwipe](https://github.com/exyte/LiquidSwipe) - Liquid navigation animation +- [LiquidSwipe](https://github.com/exyte/LiquidSwipe) - Liquid navigation animation - [TBIconTransitionKit](https://github.com/AlexeyBelezeko/TBIconTransitionKit) - Easy to use icon transition kit that allows to smoothly change from one shape to another. ### Alert & Action Sheet @@ -2594,7 +2584,7 @@ Most of these are paid services, some have free tiers. - [DiffableDataSources](https://github.com/ra1028/DiffableDataSources) - A library for backporting UITableView/UICollectionViewDiffableDataSource. - [StableCollectionViewLayout](https://github.com/aimalygin/StableCollectionViewLayout) - This layout adjusts a content offset if the collection view is updated. You can insert, delete or reload items and StableCollectionViewLayout will take care of the content offset. - [IQListKit](https://github.com/hackiftekhar/IQListKit) - Model driven UITableView/UICollectionView. -- +- #### Expandable Cell - [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material From 68f69cfdd7cee5cf18d9d7ee9dd86f3daa57dfe9 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 4 Jan 2024 19:00:39 -0300 Subject: [PATCH 2546/2606] add Contributing and Collaborating section --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 72273156b..68aa836aa 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,10 @@

+## Contributing and Collaborating + +Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) and [CODE-OF-CONDUCT](https://github.com/vsouza/awesome-ios/blob/master/CODE_OF_CONDUCT.md) for details. + ## Accessibility *Frameworks that help to support accessibility features and enable people with disabilities to use your app* @@ -3167,12 +3171,6 @@ Most of these are paid services, some have free tiers. ## Social Media -### Twitter -- [@objcio](https://twitter.com/objcio) -- [@CocoaPods](https://twitter.com/CocoaPods) -- [@CocoaPodsFeed](https://twitter.com/CocoaPodsFeed) -- [@RubyMotion](https://twitter.com/RubyMotion) - ## Podcasts - [The Ray Wenderlich Podcast](https://www.raywenderlich.com/podcast) - [Debug](https://www.imore.com/debug) From 877f6f792c773bc9a27f921933789eb7c44628df Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 4 Jan 2024 19:12:02 -0300 Subject: [PATCH 2547/2606] add back to top to all categories --- README.md | 293 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 281 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 68aa836aa..0d6fb9254 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [VIPER Module Generator](https://github.com/Kaakati/VIPER-Module-Generator) - A Clean VIPER Modules Generator with comments and predfined functions. - [Viperit](https://github.com/ferranabello/Viperit) - Viper Framework for iOS. Develop an app following VIPER architecture in an easy way. Written and tested in Swift. -**[back to top](#contents)** +**[back to top](#contributing-and-collaborating)** ## ARKit @@ -124,7 +124,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Placenote](https://github.com/Placenote/PlacenoteSDK-iOS) - A library that makes ARKit sessions persistent to a location using advanced computer vision. - [SmileToUnlock](https://github.com/rsrbk/SmileToUnlock) - This library uses ARKit Face Tracking in order to catch a user's smile. -**[back to top](#contents)** +**[back to top](#contributing-and-collaborating)** ## Authentication @@ -138,7 +138,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [ReCaptcha](https://github.com/fjcaetano/ReCaptcha) - (In)visible ReCaptcha for iOS. - [SwiftyOAuth](https://github.com/delba/SwiftyOAuth) - A simple OAuth library for iOS with a built-in set of providers. -**[back to top](#contents)** +**[back to top](#contributing-and-collaborating)** ## Blockchain @@ -150,7 +150,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. - [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. -**[back to top](#contents)** +**[back to top](#contributing-and-collaborating)** ## Bridging @@ -162,7 +162,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS. - [Xamarin](https://xamarin.com/) - Xamarin is a free, cross-platform, open-source platform that lets you quickly develop and test native iOS, watchOS and macOS applications for iPhone, iPad, Watch and Mac, all using the C# language. -**[back to top](#contents)** +**[back to top](#contributing-and-collaborating)** ## Cache @@ -186,7 +186,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Cache](https://github.com/soffes/Cache) - Swift caching library. - [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. -**[back to top](#contents)** +**[back to top](#contributing-and-collaborating)** ## Charts @@ -223,6 +223,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit. - [CoreCharts](https://github.com/cagricolak/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products. +**[back to top](#contributing-and-collaborating)** + ## Code Quality *Quality always matters. Code checkers, memory vigilants, syntastic sugars and more.* @@ -255,6 +257,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. - [WeakableSelf](https://github.com/vincent-pradeilles/weakable-self) - A Swift micro-framework to encapsulate `[weak self]` and `guard` statements within closures. +**[back to top](#contributing-and-collaborating)** + ### Linter *Static code analyzers to enforce style and conventions.* @@ -266,6 +270,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [SwiftLinter](https://github.com/muyexi/SwiftLinter) - Share lint rules between projects and lint changed files with SwiftLint. - [AnyLint](https://github.com/Flinesoft/AnyLint) - Lint anything by combining the power of Swift & regular expressions. +**[back to top](#contributing-and-collaborating)** + ## Color *Hex color extensions, theming, color pickers and other awesome color tools.* @@ -289,6 +295,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Gestalt](https://github.com/regexident/Gestalt) - An unintrusive & light-weight iOS app-theming library with support for animated theme switching. - [SheetyColors](https://github.com/chrs1885/SheetyColors) - An action sheet styled color picker for iOS. +**[back to top](#contributing-and-collaborating)** + ## Command Line *Smart, beautiful and elegant tools to help you create command line applications.* @@ -304,6 +312,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [SourceDocs](https://github.com/eneko/SourceDocs) - Command Line Tool that generates Markdown documentation from inline source code comments. - [ModuleInterface](https://github.com/minuscorp/ModuleInterface) - Command Line Tool that generates the Module's Interface from a Swift project. +**[back to top](#contributing-and-collaborating)** + ## Concurrency *Job schedulers, Coroutines, Asynchronous and Type safe threads libs and frameworks written in Swift* @@ -324,6 +334,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [StickyLocking](https://github.com/stickytools/sticky-locking) - A general purpose embedded hierarchical lock manager used to build highly concurrent applications of all types. - [SwiftCoroutine](https://github.com/belozierov/SwiftCoroutine) - Swift coroutines library for iOS and macOS. +**[back to top](#contributing-and-collaborating)** + ## Core Data *Core data Frameworks, wrappers, generators and boilerplates.* @@ -349,6 +361,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [PredicateFlow](https://github.com/andreadelfante/PredicateFlow) - Write amazing, strong-typed and easy-to-read NSPredicate, allowing you to write flowable NSPredicate, without guessing attribution names, predicate operation or writing wrong arguments type. - [CloudCore](https://github.com/deeje/CloudCore) - Robust CloudKit synchronization: offline editing, relationships, shared and public databases, field-level deltas, and more. +**[back to top](#contributing-and-collaborating)** + ## Courses ### Getting Started @@ -365,7 +379,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Udacity - Intro to iOS App Development with Swift](https://www.udacity.com/course/intro-to-ios-app-development-with-swift--ud585) - Udacity free course. Make Your First iPhone App. - [100 Days of SwiftUI](https://www.hackingwithswift.com/100/swiftui) - Free collection of videos and tutorials updated for iOS 15 and Swift 5.5. -**[back to top](#contents)** +**[back to top](#contributing-and-collaborating)** ## Database @@ -422,6 +436,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [QuickDB](https://github.com/behrad-kzm/QuickDB) - Save and Retrieve any `Codable` in JUST ONE line of code + more easy usecases. - [ObjectBox](https://github.com/objectbox/objectbox-swift) - ObjectBox is a superfast, light-weight object persistence framework. +**[back to top](#contributing-and-collaborating)** + ## Data Structures / Algorithms *Diffs, keypaths, sorted lists and other amazing data structures wrappers and libraries.* @@ -455,6 +471,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [OneWaySynchronizer](https://github.com/ladeiko/OneWaySynchronizer) - The simplest abstraction to synchronize local data with remote source. - [DifferenceKit](https://github.com/ra1028/DifferenceKit) - A fast and flexible O(n) difference algorithm framework for Swift collection. +**[back to top](#contributing-and-collaborating)** + ## Date & Time *Time and NSCalendar libraries. Also contains Sunrise and Sunset time generators, time pickers and NSTimer interfaces.* @@ -481,6 +499,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [NVDate](https://github.com/novalagung/nvdate) - Swift4 Date extension library. - [Schedule](https://github.com/luoxiu/Schedule) - ⏳ A missing lightweight task scheduler for Swift with an incredibly human-friendly syntax. +**[back to top](#contributing-and-collaborating)** + ## Debugging *Debugging tools, crash reports, logs and console UI's.* @@ -510,6 +530,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [NetShears](https://github.com/divar-ir/NetShears.git) - Allows developers to intercept and monitor HTTP/HTTPS requests and responses. It also could be configured to show gRPC calls. - [Scyther](https://github.com/bstillitano/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. +**[back to top](#contributing-and-collaborating)** + ## EventBus @@ -539,6 +561,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [EasyFutures](https://github.com/DimaMishchenko/EasyFutures) - 🔗 Swift Futures & Promises. Easy to use. Highly combinable. - [TopicEventBus](https://github.com/mcmatan/topicEventBus) - Publish–subscribe design pattern implementation framework, with ability to publish events by topic. (NotificationCenter extended alternative). +**[back to top](#contributing-and-collaborating)** + ## Files *File management, file browser, zip handling and file observers.* @@ -556,6 +580,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [ZipZap](https://github.com/pixelglow/ZipZap) - zip file I/O library for iOS, macOS and tvOS. - [AMSMB2](https://github.com/amosavian/AMSMB2) - Swift framework to connect SMB 2/3 shares for iOS. +**[back to top](#contributing-and-collaborating)** + ## Functional Programming *Collection of Swift functional programming tools.* @@ -572,6 +598,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Runes](https://github.com/thoughtbot/Runes) - Infix operators for monadic functions in Swift. - [Bow](https://github.com/bow-swift/bow) - Typed Functional Programming companion library for Swift. +**[back to top](#contributing-and-collaborating)** + ## Games - [AssetImportKit](https://github.com/eugenebokhan/AssetImportKit) - Swifty cross platform library (macOS, iOS) that converts Assimp supported models to SceneKit scenes. - [CollectionNode](https://github.com/bwide/CollectionNode) - A swift framework for a collectionView in SpriteKit. @@ -582,6 +610,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [SKTiled](https://github.com/mfessenden/SKTiled) - Swift framework for working with Tiled assets in SpriteKit. - [SwiftFortuneWheel](https://github.com/sh-khashimov/SwiftFortuneWheel) - A cross-platform framework for games like a Wheel of Fortune. +**[back to top](#contributing-and-collaborating)** + ## GCD *Grand Central Dispatch syntax sugars, tools and timers.* @@ -599,6 +629,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Me](https://github.com/pascalbros/Me) - A super slim solution to the nested asynchronous computations. - [SwiftyTask](https://github.com/Albinzr/SwiftyTask) - An extreme queuing system with high performance for managing all task in app with closure. +**[back to top](#contributing-and-collaborating)** + ## Gesture *Libraries and tools to handle gestures.* @@ -610,6 +642,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [SplitViewDragAndDrop](https://github.com/MarioIannotta/SplitViewDragAndDrop) - Easily add drag and drop to pass data between your apps in split view mode. - [FDFullscreenPopGesture](https://github.com/forkingdog/FDFullscreenPopGesture) - An UINavigationController's category to enable fullscreen pop gesture in an iOS7+ system style with AOP. +**[back to top](#contributing-and-collaborating)** + ## Graphics *CoreGraphics, CoreAnimation, SVG, CGContext libraries, helpers and tools.* @@ -638,6 +672,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Drawsana](https://github.com/Asana/Drawsana) - iOS framework for building raster drawing and image markup views. - [AnimatedGradientView](https://github.com/rwbutler/AnimatedGradientView) - A simple framework to add animated gradients to your iOS app. +**[back to top](#contributing-and-collaborating)** + ## Hardware ### Bluetooth @@ -660,6 +696,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [MultiPeer](https://github.com/dingwilson/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](https://github.com/zssz/BerkananSDK) - Mesh messaging SDK with the goal to create a decentralized mesh network for the people, powered by their device's Bluetooth antenna. +**[back to top](#contributing-and-collaborating)** + ### Camera *Mocks, ImagePickers, and multiple options of customizable camera implementation* @@ -692,6 +730,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [CameraKit-iOS](https://github.com/CameraKit/camerakit-ios) - Massively increase camera performance and ease of use in your next iOS project. - [ExyteMediaPicker](https://github.com/exyte/mediapicker) - Customizable media picker +**[back to top](#contributing-and-collaborating)** + ### Force Touch *Quick actions and peek and pop interactions* @@ -700,6 +740,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [JustPeek](https://github.com/justeat/JustPeek) - JustPeek is an iOS Library that adds support for Force Touch-like Peek and Pop interactions on devices that do not natively support this kind of interaction. - [PeekView](https://github.com/itsmeichigo/PeekView) - PeekView supports peek, pop and preview actions for iOS devices without 3D Touch capibility. +**[back to top](#contributing-and-collaborating)** + ### iBeacon *Device detect libraries and iBeacon helpers* @@ -711,6 +753,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [MOCA Proximity](https://www.mocaplatform.com/features) - Paid proximity marketing platform that lets you add amazing proximity experiences to your app. - [JMCBeaconManager](https://github.com/izotx/JMCBeaconManager) - An iBeacon Manager class that is responsible for detecting beacons nearby. +**[back to top](#contributing-and-collaborating)** + ### Location *Location monitoring, detect motion and geofencing libraries* @@ -725,6 +769,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [set-simulator-location](https://github.com/lyft/set-simulator-location) - CLI for setting location in the iOS simulator. - [NominatimKit](https://github.com/caloon/NominatimKit) - A Swift wrapper for (reverse) geocoding of OpenStreetMap data. +**[back to top](#contributing-and-collaborating)** + ### Other Hardware - [MotionKit](https://github.com/MHaroonBaig/MotionKit) - Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple. @@ -743,6 +789,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Haptico](https://github.com/iSapozhnik/Haptico) - Easy to use haptic feedback generator with pattern-play support. - [NFCPassportReader](https://github.com/AndyQ/NFCPassportReader) - Swift library to read an NFC enabled passport. Supports BAC, Secure Messaging, and both active and passive authentication. Requires iOS 13 or above. +**[back to top](#contributing-and-collaborating)** + ## Layout *Auto Layout, UI frameworks and a gorgeous list of tools to simplify layout constructions* @@ -801,6 +849,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [MondrianLayout](https://github.com/muukii/MondrianLayout) - A DSL based layout builder for AutoLayout. - [ScalingHeaderScrollView](https://github.com/exyte/ScalingHeaderScrollView.git) - A scroll view with a sticky header which shrinks as you scroll. Written with SwiftUI. +**[back to top](#contributing-and-collaborating)** + ## Localization *Tools to manage strings files, translate and enable localization in your apps.* @@ -823,6 +873,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Respresso Localization Converter](https://respresso.io/localization-converter) - Multiplatform localization converter for iOS (.strings + Objective-C getters), Android (strings.xml) and Web (.json). - [locheck](https://github.com/Asana/locheck) - Validate .strings, .stringsdict, and strings.xml files for correctness to avoid crashes and bad translations. +**[back to top](#contributing-and-collaborating)** + ## Logging *Debugging lives here. Logging tools, frameworks, integrations and more.* @@ -861,6 +913,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Gedatsu](https://github.com/bannzai/gedatsu) - Provide readable format about AutoLayout error console log. - [Pulse](https://github.com/kean/Pulse) - Pulse is a powerful logging system for Apple Platforms. Native. Built with SwiftUI. +**[back to top](#contributing-and-collaborating)** + ## Machine Learning *A collection of ML Models, deep learning and neural networking libraries* @@ -878,6 +932,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [DL4S](https://github.com/palle-k/DL4S) - Deep Learning for Swift: Accelerated tensor operations and dynamic neural networks based on reverse mode automatic differentiation for every device that can run Swift. - [SwiftCoreMLTools](https://github.com/JacopoMangiavacchi/SwiftCoreMLTools) - A Swift library for creating and exporting CoreML Models in Swift. +**[back to top](#contributing-and-collaborating)** ## Maps @@ -892,6 +947,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [MSFlightMapView](https://github.com/mabdulsubhan/MSFlightMapView) - Add and animate geodesic flights on Google map. - [WhirlyGlobe-Maply](https://github.com/mousebird/WhirlyGlobe) - 3D globe and flat-map SDK for iOS. This toolkit has a large API for fine-grained control over the map or globe. It reads a wide variety of GIS data formats. +**[back to top](#contributing-and-collaborating)** + ## Math *Math frameworks, functions and libraries to custom operations, statistical calculations and more.* @@ -911,6 +968,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [NumericAnnex](https://github.com/xwu/NumericAnnex) - NumericAnnex supplements the numeric facilities provided in the Swift standard library. - [Matft](https://github.com/jjjkkkjjj/Matft) - Matft is Numpy-like library in Swift. Matft allows us to handle n-dimensional array easily in Swift. +**[back to top](#contributing-and-collaborating)** + ## Media ### Audio @@ -946,6 +1005,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [FDWaveformView](https://github.com/fulldecent/FDWaveformView) - An easy way to display an audio waveform in your app, including animation. - [FDSoundActivatedRecorder](https://github.com/fulldecent/FDSoundActivatedRecorder) - Start recording when the user speaks. +**[back to top](#contributing-and-collaborating)** + ### GIF - [YLGIFImage](https://github.com/liyong03/YLGIFImage) - Async GIF image decoder and Image viewer supporting play GIF images. It just use very less memory. @@ -960,6 +1021,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [NSGIF2](https://github.com/metasmile/NSGIF2) - Simplify creation of a GIF from the provided video file url. - [SwiftyGif](https://github.com/kirualex/SwiftyGif) - High performance GIF engine. +**[back to top](#contributing-and-collaborating)** + ### Image - [GPU Image](https://github.com/BradLarson/GPUImage) - An open source iOS framework for GPU-based image and video processing. - [UIImage DSP](https://github.com/gdawg/uiimage-dsp) - iOS UIImage processing functions using the vDSP/Accelerate framework for speed. @@ -1061,6 +1124,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [SFSafeSymbols](https://github.com/piknotech/SFSafeSymbols) - Safely access Apple's SF Symbols using static typing. - [BSZoomGridScrollView](https://github.com/boraseoksoon/BSZoomGridScrollView) - iOS customizable grid style scrollView UI library to display your UIImage array input, designed primarily for SwiftUI as well as to interoperate with UIKit. +**[back to top](#contributing-and-collaborating)** + ### Media Processing - [SwiftOCR](https://github.com/garnele007/SwiftOCR) - Fast and simple OCR library written in Swift. - [QR Code Scanner](https://www.appcoda.com/qr-code-ios-programming-tutorial/) - QR Code implementation. @@ -1068,6 +1133,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [EFQRCode](https://github.com/EFPrefix/EFQRCode) - A better way to operate two-dimensional code in Swift. - [NSFWDetector](https://github.com/lovoo/NSFWDetector) - A NSFW (aka porn) detector with CoreML. +**[back to top](#contributing-and-collaborating)** + ### PDF - [Reader](https://github.com/vfr/Reader) - PDF Reader Core for iOS. - [UIView 2 PDF](https://github.com/RobertAPhillips/UIView_2_PDF) - PDF generator using UIViews or UIViews with an associated XIB. @@ -1080,6 +1147,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [FastPdfKit](https://github.com/mobfarm/FastPdfKit) - A Static Library to be embedded on iOS applications to display pdf documents derived from Fast PDF. - [UIImagePlusPDF](https://github.com/DimaMishchenko/UIImagePlusPDF) - UIImage extensions to simply use PDF files. +**[back to top](#contributing-and-collaborating)** + ### Streaming - [HaishinKit.swift](https://github.com/shogo4405/HaishinKit.swift) - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS. - [StreamingKit](https://github.com/tumtumtum/StreamingKit) - A fast and extensible gapless AudioPlayer/AudioStreamer for macOS and iOS. @@ -1088,6 +1157,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Airstream](https://github.com/qasim/Airstream) - A framework for streaming audio between Apple devices using AirPlay. - [OTAcceleratorCore](https://github.com/opentok/accelerator-core-ios) - A painless way to integrate audio/video(screen sharing) to any iOS applications via Tokbox. +**[back to top](#contributing-and-collaborating)** + ### Video - [VLC for iOS](https://github.com/videolan/vlc-ios) - VLC is a free and open source multimedia player for iOS. - [VIMVideoPlayer](https://github.com/vimeo/VIMVideoPlayer) - A simple wrapper around the AVPlayer and AVPlayerLayer classes. @@ -1114,6 +1185,8 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [JDVideoKit](https://github.com/jamesdouble/JDVideoKit) - You can easily transfer your video into Three common video type via this framework. - [VersaPlayer](https://github.com/josejuanqm/VersaPlayer) - Versatile AVPlayer implementation for iOS, macOS, and tvOS. +**[back to top](#contributing-and-collaborating)** + ## Messaging Also see [push notifications](#push-notifications) @@ -1132,6 +1205,8 @@ Also see [push notifications](#push-notifications) - [ChatLayout](https://github.com/ekazaev/ChatLayout) - A lightweight framework to build chat UI that uses custom `UICollectionViewLayout` to provide full control over the presentation as well as all the tools available in `UICollectionView`. - [ExyteChat](https://github.com/exyte/Chat) - SwiftUI Chat UI framework with fully customizable message cells, input view, and a built-in media picker. +**[back to top](#contributing-and-collaborating)** + ## Networking - [AFNetworking](https://github.com/AFNetworking/AFNetworking) - A delightful iOS and macOS networking framework. - [RestKit](https://github.com/RestKit/RestKit) - RestKit is an Objective-C framework for iOS that aims to make interacting with RESTful web services simple, fast and fun. @@ -1210,11 +1285,15 @@ Also see [push notifications](#push-notifications) - [Squid](https://github.com/borchero/Squid) - Declarative and reactive networking framework based on Combine and providing means for HTTP requests, transparent pagination, and WebSocket communication. - [Get](https://github.com/kean/Get) - A modern Swift web API client built using async/await. +**[back to top](#contributing-and-collaborating)** + ### Email - [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. - [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. +**[back to top](#contributing-and-collaborating)** + ## Representations - [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS. @@ -1222,6 +1301,8 @@ Also see [push notifications](#push-notifications) - [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift - [swift-protobuf](https://github.com/apple/swift-protobuf) - Plugin and runtime library for using protobuf with Swift. +**[back to top](#contributing-and-collaborating)** + ## Notifications ### Push Notifications @@ -1234,6 +1315,8 @@ Also see [push notifications](#push-notifications) - [SimulatorRemoteNotifications](https://github.com/acoomans/SimulatorRemoteNotifications) - Library to send mock remote notifications to the iOS simulator. - [APNSUtil](https://github.com/pisces/APNSUtil) - Library makes code simple settings and landing for apple push notification service. +**[back to top](#contributing-and-collaborating)** + ### Push Notification Providers Most of these are paid services, some have free tiers. @@ -1253,10 +1336,14 @@ Most of these are paid services, some have free tiers. - [Pusher](https://pusher.com/beams) - Free and unlimited. - [Swrve](https://www.swrve.com) +**[back to top](#contributing-and-collaborating)** + ### Local Notifications - [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. +**[back to top](#contributing-and-collaborating)** + ## Objective-C Runtime *Objective-C Runtime wrappers, libraries and tools.* @@ -1264,11 +1351,15 @@ Most of these are paid services, some have free tiers. - [Lumos](https://github.com/sushinoya/lumos) - A light Swift wrapper around Objective-C Runtime. - [Swizzlean](https://github.com/rbaumbach/Swizzlean) - An Objective-C Swizzle Helper Class. +**[back to top](#contributing-and-collaborating)** + ## Optimization - [Unreachable](https://github.com/nvzqz/Unreachable) - Unreachable code path optimization hint for Swift. - [SmallStrings](https://github.com/EmergeTools/SmallStrings) - Reduce localized .strings file sizes by 80%. +**[back to top](#contributing-and-collaborating)** + ## Parsing ### CSV @@ -1276,6 +1367,8 @@ Most of these are paid services, some have free tiers. - [CSV.swift](https://github.com/yaslab/CSV.swift) - CSV reading and writing library written in Swift. - [CodableCSV](https://github.com/dehesa/CodableCSV) - Read and write CSV files row-by-row & field-by-field or through Swift's Codable interface. +**[back to top](#contributing-and-collaborating)** + ### JSON - [SBJson](https://github.com/SBJson/SBJson) - This framework implements a strict JSON parser and generator in Objective-C. - [Mantle](https://github.com/Mantle/Mantle) - Model framework for Cocoa and Cocoa Touch. @@ -1313,6 +1406,8 @@ Most of these are paid services, some have free tiers. - [jsoncafe.com](http://www.jsoncafe.com/) - Online Template driven Model Class Generator from JSON. - [Mappable](https://github.com/leavez/Mappable) - lightweight and powerful JSON object mapping library, specially optimized for immutable properties. +**[back to top](#contributing-and-collaborating)** + ### XML & HTML - [AEXML](https://github.com/tadija/AEXML) - Simple and lightweight XML parser written in Swift. - [Ji](https://github.com/honghaoz/Ji) - XML/HTML parser for Swift. @@ -1326,6 +1421,8 @@ Most of these are paid services, some have free tiers. - [XMLCoder](https://github.com/MaxDesiatov/XMLCoder) - Encoder & Decoder for XML using Swift's `Codable` protocols. - [ZMarkupParser](https://github.com/ZhgChgLi/ZMarkupParser) - Convert HTML strings into NSAttributedString with customized styles and tags. +**[back to top](#contributing-and-collaborating)** + ### Other Parsing - [WKZombie](https://github.com/mkoehnke/WKZombie) - WKZombie is a Swift framework for iOS/macOS to navigate within websites and collect data without the need of User Interface or API, also known as Headless browser. It can be used to run automated tests or manipulate websites using Javascript. - [URLPreview](https://github.com/itsmeichigo/URLPreview) - An NSURL extension for showing preview info of webpages. @@ -1340,12 +1437,15 @@ Most of these are paid services, some have free tiers. - [CreateAPI](https://github.com/CreateAPI/CreateAPI) - Delightful code generation for OpenAPI specs for Swift written in Swift. - [NetNewsWire](https://github.com/Ranchero-Software/NetNewsWire) - It’s a free and open-source feed reader for macOS and iOS. +**[back to top](#contributing-and-collaborating)** ## Passbook - [passbook](https://github.com/frozon/passbook) - Passbook gem let's you create pkpass for passbook iOS 6+. - [Dubai](https://github.com/nomad/dubai) - Generate and Preview Passbook Passes. - [Passkit](https://passkit.com) - Design, Create and validate Passbook Passes. +**[back to top](#contributing-and-collaborating)** + ## Payments - [Caishen](https://github.com/prolificinteractive/Caishen) - A Payment Card UI & Validator for iOS. - [Stripe](https://stripe.com) - Payment integration on your app with PAY. Suitable for people with low knowledge on Backend. @@ -1372,6 +1472,8 @@ Most of these are paid services, some have free tiers. - [YRPayment](https://github.com/yassram/YRPayment) - Better payment user experience library with cool animation in Swift. - [AnimatedCardInput](https://github.com/netguru/AnimatedCardInput) — Easy to use library with customisable components for input of Credit Card data. +**[back to top](#contributing-and-collaborating)** + ## Permissions - [Proposer](https://github.com/nixzhu/Proposer) - Make permission request easier (Supports Camera, Photos, Microphone, Contacts, Location). - [ISHPermissionKit](https://github.com/iosphere/ISHPermissionKit) - A unified way for iOS apps to request user permissions. @@ -1382,6 +1484,8 @@ Most of these are paid services, some have free tiers. - [AREK](https://github.com/ennioma/arek) - AREK is a clean and easy to use wrapper over any kind of iOS permission. - [SPPermissions](https://github.com/ivanvorobei/SPPermissions) - Ask permissions on Swift. Available List, Dialog & Native interface. Can check state permission. +**[back to top](#contributing-and-collaborating)** + ## Reactive Programming - [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift. - [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extensions for Swift optionals and "Occupiable" types. @@ -1430,6 +1534,8 @@ Most of these are paid services, some have free tiers. - [OneWay](https://github.com/DevYeom/OneWay) - A Swift library for state management with unidirectional data flow. - [Verge](https://github.com/muukii/Verge) - Verge is a faster and scalable state management library for UIKit and SwiftUI +**[back to top](#contributing-and-collaborating)** + ### React-Like - [Render](https://github.com/alexdrone/Render) - Swift and UIKit a la React. - [Katana](https://github.com/BendingSpoons/katana-swift) - Swift apps a la React and Redux. @@ -1437,6 +1543,8 @@ Most of these are paid services, some have free tiers. - [CoreEvents](https://github.com/surfstudio/CoreEvents) - Simple library with C#-like events. - [Tokamak](https://github.com/MaxDesiatov/Tokamak) - React-like framework providing a declarative API for building native UI components with easy to use one-way data binding. +**[back to top](#contributing-and-collaborating)** + ## Reflection - [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. - [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive. @@ -1445,6 +1553,8 @@ Most of these are paid services, some have free tiers. - [SwiftKVC](https://github.com/bradhilton/SwiftKVC) - Key-Value Coding (KVC) for native Swift classes and structs. - [Runtime](https://github.com/wickwirew/Runtime) - A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties. +**[back to top](#contributing-and-collaborating)** + ## Regex - [Regex](https://github.com/sharplet/Regex) - A Swift µframework providing an NSRegularExpression-backed Regex type. - [SwiftRegex](https://github.com/kasei/SwiftRegex) - Perl-like Regex =~ operator for Swift. @@ -1453,6 +1563,8 @@ Most of these are paid services, some have free tiers. - [Regex](https://github.com/brynbellomy/Regex) - Regex class for Swift. Wraps NSRegularExpression. - [sindresorhus/Regex](https://github.com/sindresorhus/Regex) - Swifty regular expressions, fully tested & documented, and with correct Unicode handling. +**[back to top](#contributing-and-collaborating)** + ## SDK ### Official @@ -1487,6 +1599,8 @@ Most of these are paid services, some have free tiers. - [Apphud](https://github.com/apphud/ApphudSDK) - A complete solution to integrate auto-renewable subscriptions and regular in-app purchases in 30 minutes with no server code required. - [Adapty](https://github.com/adaptyteam/AdaptySDK-iOS) - Integrate in-app subscriptions and a/b testing for them with 3 lines of code. +**[back to top](#contributing-and-collaborating)** + ### Unofficial - [STTwitter](https://github.com/nst/STTwitter) A stable, mature and comprehensive Objective-C library for Twitter REST API 1.1. @@ -1524,6 +1638,8 @@ Most of these are paid services, some have free tiers. - [ForecastIO](https://github.com/sxg/ForecastIO) - A Swift library for the Forecast.io Dark Sky API. - [JamfKit](https://github.com/ethenyl/JamfKit) - A JSS communication framework written in Swift. +**[back to top](#contributing-and-collaborating)** + ## Security - [cocoapods-keys](https://github.com/orta/cocoapods-keys) - A key value store for storing environment and application keys. - [simple-touch](https://github.com/simple-machines/simple-touch) - Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. @@ -1543,6 +1659,8 @@ Most of these are paid services, some have free tiers. - [Vault](https://github.com/passlock/Vault) - Safe place for your encryption keys. - [SecurePropertyStorage](https://github.com/alexruperez/SecurePropertyStorage) - Helps you define secure storages for your properties using Swift property wrappers. +**[back to top](#contributing-and-collaborating)** + ### Encryption - [AESCrypt-ObjC](https://github.com/Gurpartap/AESCrypt-ObjC) - A simple and opinionated AES encrypt / decrypt Objective-C class that just works. - [IDZSwiftCommonCrypto](https://github.com/iosdevzone/IDZSwiftCommonCrypto) - A wrapper for Apple's Common Crypto library written in Swift. @@ -1567,6 +1685,8 @@ Most of these are paid services, some have free tiers. - [Virgil Security Objective-C/Swift Crypto Library](https://github.com/VirgilSecurity/virgil-crypto-x) - A high-level cryptographic library that allows to perform all necessary operations for securely storing and transferring data. - [JOSESwift](https://github.com/airsidemobile/JOSESwift) - A framework for the JOSE standards JWS, JWE, and JWK written in Swift. +**[back to top](#contributing-and-collaborating)** + ### Keychain - [UICKeyChainStore](https://github.com/kishikawakatsumi/UICKeyChainStore) - UICKeyChainStore is a simple wrapper for Keychain on iOS. - [Valet](https://github.com/square/Valet) - Securely store data in the iOS or macOS Keychain without knowing a thing about how the Keychain works. @@ -1578,6 +1698,8 @@ Most of these are paid services, some have free tiers. - [SwiftKeychainWrapper](https://github.com/jrendel/SwiftKeychainWrapper) - A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. - [SwiftyKeychainKit](https://github.com/andriyslyusar/SwiftyKeychainKit) - Keychain wrapper with the benefits of static typing and convenient syntax, support for primitive types, Codable, NSCoding. +**[back to top](#contributing-and-collaborating)** + ## Server *Server side projects supporting coroutines, Linux, MacOS, iOS, Apache Modules, Async calls, libuv and more.* @@ -1609,6 +1731,8 @@ Most of these are paid services, some have free tiers. - [Embassy](https://github.com/envoy/Embassy) - Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux. - [smoke-framework](https://github.com/amzn/smoke-framework) - A light-weight server-side service framework written in the Swift programming language. +**[back to top](#contributing-and-collaborating)** + ## Text - [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. - [Nimbus](https://github.com/jverkoey/nimbus) - Nimbus is a toolkit for experienced iOS software designers. @@ -1677,6 +1801,8 @@ Most of these are paid services, some have free tiers. - [TwitterTextEditor](https://github.com/twitter/TwitterTextEditor) - A standalone, flexible API that provides a full featured rich text editor for iOS applications. - [AztecEditor-iOS](https://github.com/wordpress-mobile/AztecEditor-iOS) - Aztec is a Swift library that provides a `UITextView` subclass with HTML visual-editing capabilities. The plugin API supports customization HTML conversion from/to HTML for compatibility with your needs. +**[back to top](#contributing-and-collaborating)** + ### Font - [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. - [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project. @@ -1697,6 +1823,8 @@ Most of these are paid services, some have free tiers. - [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. - [Money](https://github.com/Flight-School/Money) - A precise, type-safe representation of a monetary amount in a given currency. +**[back to top](#contributing-and-collaborating)** + ## Testing ### TDD / BDD @@ -1714,12 +1842,16 @@ Most of these are paid services, some have free tiers. - [swift-corelibs-xctest](https://github.com/apple/swift-corelibs-xctest) - The XCTest Project, A Swift core library for providing unit test support. - [PlaygroundTDD](https://github.com/WhiskerzAB/PlaygroundTDD) - Small library to easily run your tests directly within a Playground. +**[back to top](#contributing-and-collaborating)** + ### A/B Testing - [Switchboard](https://github.com/KeepSafe/Switchboard) - Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users. - [SkyLab](https://github.com/mattt/SkyLab) - Multivariate & A/B Testing for iOS and Mac. - [MSActiveConfig](https://github.com/mindsnacks/MSActiveConfig) - Remote configuration and A/B Testing framework for iOS. - [ABKit](https://github.com/recruit-mp/ABKit) - AB testing framework for iOS. +**[back to top](#contributing-and-collaborating)** + ### UI Testing - [appium](http://appium.io/) - Appium is an open source test automation framework for use with native and hybrid mobile apps. - [robotframework-appiumlibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary) - AppiumLibrary is an appium testing library for RobotFramework. @@ -1739,6 +1871,8 @@ Most of these are paid services, some have free tiers. - [AutoMate](https://github.com/PGSSoft/AutoMate) - XCTest extensions for writing UI automation tests. - [Marathon Runner](https://github.com/MarathonLabs/marathon) - Fast, platform-independent test runner focused on performance and stability execute tests. +**[back to top](#contributing-and-collaborating)** + ### Other Testing - [ETTrace](https://github.com/EmergeTools/ETTrace) - Locally measure performance of your app, without Xcode or Instruments. - [NaughtyKeyboard](https://github.com/Palleas/NaughtyKeyboard) - The Big List of Naughty Strings is a list of strings which have a high probability of causing issues when used as user-input data. This is a keyboard to help you test your app from your iOS device. @@ -1765,6 +1899,8 @@ Most of these are paid services, some have free tiers. - [SnapshotTesting](https://github.com/pointfreeco/swift-snapshot-testing) - Delightful Swift snapshot testing. - [Mockingbird](https://github.com/Farfetch/mockingbird) - Simplify software testing, by easily mocking any system using HTTP/HTTPS, allowing a team to test and develop against a service that is not complete, unstable or just to reproduce planned cases. +**[back to top](#contributing-and-collaborating)** + ## UI - [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. - [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. @@ -1862,6 +1998,8 @@ Most of these are paid services, some have free tiers. - [UI Fabric by Microsoft](https://github.com/OfficeDev/ui-fabric-ios) - UI framework based on [Fluent Design System](https://www.microsoft.com/design/fluent/#/ios) by Microsoft. - [Popovers](https://github.com/aheze/Popovers) - A library to present popovers. Simple, modern, and highly customizable. Not boring! +**[back to top](#contributing-and-collaborating)** + ### Activity Indicator - [NVActivityIndicatorView](https://github.com/ninjaprox/NVActivityIndicatorView) - Collection of nice loading animations. - [RPLoadingAnimation](https://github.com/naoyashiga/RPLoadingAnimation) - Loading animations by using Swift CALayer. @@ -1925,6 +2063,8 @@ Most of these are paid services, some have free tiers. - [ActivityIndicatorView](https://github.com/exyte/ActivityIndicatorView) - A number of preset loading indicators created with SwiftUI. - [ProgressIndicatorView](https://github.com/exyte/ProgressIndicatorView) - A number of preset progress indicators created with SwiftUI. +**[back to top](#contributing-and-collaborating)** + ### Animation - [Pop](https://github.com/facebook/pop) - An extensible iOS and macOS animation library, useful for physics-based interactions. - [AnimationEngine](https://github.com/intuit/AnimationEngine) - Easily build advanced custom animations on iOS. @@ -2004,6 +2144,8 @@ Most of these are paid services, some have free tiers. - [LoadingShimmer](https://github.com/jogendra/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. - [SPPerspective](https://github.com/ivanvorobei/SPPerspective) - Widgets iOS 14 animation with 3D and dynamic shadow. Customisable transform and duration. +**[back to top](#contributing-and-collaborating)** + ### Transition - [BlurryModalSegue](https://github.com/Citrrus/BlurryModalSegue) - A custom modal segue for providing a blurred overlay effect. - [DAExpandAnimation](https://github.com/ifitdoesntwork/DAExpandAnimation) - A custom modal transition that presents a controller with an expanding effect while sliding out the presenter remnants. @@ -2039,6 +2181,8 @@ Most of these are paid services, some have free tiers. - [LiquidSwipe](https://github.com/exyte/LiquidSwipe) - Liquid navigation animation - [TBIconTransitionKit](https://github.com/AlexeyBelezeko/TBIconTransitionKit) - Easy to use icon transition kit that allows to smoothly change from one shape to another. +**[back to top](#contributing-and-collaborating)** + ### Alert & Action Sheet - [SweetAlert](https://github.com/codestergit/SweetAlert-iOS) - Live animated Alert View for iOS written in Swift. @@ -2112,12 +2256,16 @@ Most of these are paid services, some have free tiers. - [BottomSheet](https://github.com/joomcode/BottomSheet) - Powerful Bottom Sheet component with content based size, interactive dismissal and navigation controller support. - [LCActionSheet](https://github.com/iTofu/LCActionSheet) - A simple ActionSheet. WeChat, Weibo and QQ all use similar styles. Fully support Swift. +**[back to top](#contributing-and-collaborating)** + ### Badge - [MIBadgeButton](https://github.com/mustafaibrahim989/MIBadgeButton-Swift) - Notification badge for UIButtons. - [EasyNotificationBadge](https://github.com/Minitour/EasyNotificationBadge) - UIView extension that adds a notification badge. [e] - [swift-badge](https://github.com/evgenyneu/swift-badge) - Badge view for iOS written in swift - [BadgeHub](https://github.com/jogendra/BadgeHub) - Make any UIView a full fledged animated notification center. It is a way to quickly add a notification badge icon to a UIView. +**[back to top](#contributing-and-collaborating)** + ### Button - [SSBouncyButton](https://github.com/StyleShare/SSBouncyButton) - iOS7-style bouncy button UI component. - [DOFavoriteButton](https://github.com/okmr-d/DOFavoriteButton) - Cute Animated Button written in Swift. @@ -2152,6 +2300,8 @@ Most of these are paid services, some have free tiers. - [TORoundedButton](https://github.com/TimOliver/TORoundedButton) - A high-performance button control with rounded corners. - [FloatingButton](https://github.com/exyte/FloatingButton) - Easily customizable floating button menu created with SwiftUI. +**[back to top](#contributing-and-collaborating)** + ### Calendar - [CVCalendar](https://github.com/CVCalendar/CVCalendar) - A custom visual calendar for iOS 8+ written in Swift (2.0). - [RSDayFlow](https://github.com/ruslanskorb/RSDayFlow) - iOS 7+ Calendar with Infinite Scrolling. @@ -2175,6 +2325,8 @@ Most of these are paid services, some have free tiers. - [FSCalendar](https://github.com/WenchaoD/FSCalendar) - A fully customizable iOS calendar library, compatible with Objective-C and Swift. - [ElegantCalendar](https://github.com/ThasianX/ElegantCalendar) - The elegant full-screen calendar missed in SwiftUI. +**[back to top](#contributing-and-collaborating)** + ### Cards *Card based UI's, pan gestures, flip and swipe animations* @@ -2191,7 +2343,9 @@ Most of these are paid services, some have free tiers. - [CardsLayout](https://github.com/filletofish/CardsLayout) - Nice card-designed custom collection view layout. - [CardParts](https://github.com/intuit/CardParts) - A reactive, card-based UI framework built on UIKit. - [VerticalCardSwiper](https://github.com/JoniVR/VerticalCardSwiper) - A marriage between the Shazam Discover UI and Tinder, built with UICollectionView in Swift. -- [Shuffle](https://github.com/mac-gallagher/Shuffle) - A multi-directional card swiping library inspired by Tinder +- [Shuffle](https://github.com/mac-gallagher/Shuffle) - A multi-directional card swiping library inspired by Tinder. + +**[back to top](#contributing-and-collaborating)** ### Form & Settings @@ -2213,6 +2367,8 @@ Most of these are paid services, some have free tiers. - [ValidatedPropertyKit](https://github.com/SvenTiigi/ValidatedPropertyKit) - Easily validate your Properties with Property Wrappers. - [FDTextFieldTableViewCell](https://github.com/fulldecent/FDTextFieldTableViewCell) - Adds a UITextField to the cell and places it correctly. +**[back to top](#contributing-and-collaborating)** + ### Keyboard * [RSKKeyboardAnimationObserver](https://github.com/ruslanskorb/RSKKeyboardAnimationObserver) - Showing / dismissing keyboard animation in simple UIViewController category. * [RFKeyboardToolbar](https://github.com/ruddfawcett/RFKeyboardToolbar) - This is a flexible UIView and UIButton subclass to add customized buttons and toolbars to your UITextFields/UITextViews. @@ -2232,6 +2388,8 @@ Most of these are paid services, some have free tiers. * [Ribbon](https://github.com/chriszielinski/Ribbon) - A simple cross-platform toolbar/custom input accessory view library for iOS & macOS. * [ISEmojiView](https://github.com/isaced/ISEmojiView) - Emoji Keyboard for iOS +**[back to top](#contributing-and-collaborating)** + ### Label - [LTMorphingLabel](https://github.com/lexrus/LTMorphingLabel) - Graceful morphing effects for UILabel written in Swift. - [ActiveLabel.swift](https://github.com/optonaut/ActiveLabel.swift) - UILabel drop-in replacement supporting Hashtags (#), Mentions (@) and URLs (http://) written in Swift @@ -2255,11 +2413,15 @@ Most of these are paid services, some have free tiers. - [AnimatedMaskLabel](https://github.com/jogendra/AnimatedMaskLabel) - Animated Mask Label is a nice gradient animated label. This is an easy way to add a shimmering effect to any view in your app. - [STULabel](https://github.com/stephan-tolksdorf/STULabel) - A label view that's faster than UILabel and supports asynchronous rendering, links with UIDragInteraction, very flexible text truncation, Auto Layout, UIAccessibility and more. +**[back to top](#contributing-and-collaborating)** + ### Login - [LFLoginController](https://github.com/awesome-labs/LFLoginController) - Customizable login screen, written in Swift. - [LoginKit](https://github.com/IcaliaLabs/LoginKit) - LoginKit is a quick and easy way to add a Login/Signup UX to your iOS app. - [Cely](https://github.com/cely-tools/Cely) - Plug-n-Play login framework written in Swift. +**[back to top](#contributing-and-collaborating)** + ### Menu - [ENSwiftSideMenu](https://github.com/evnaz/ENSwiftSideMenu) - A simple side menu for iOS 7/8 written in Swift. - [RESideMenu](https://github.com/romaonthego/RESideMenu) - iOS 7/8 style side menu with parallax effect inspired by Dribbble shots. @@ -2322,6 +2484,8 @@ Most of these are paid services, some have free tiers. - [SPLarkController](https://github.com/IvanVorobei/SPLarkController) - Settings screen with buttons and switches. - [SwiftyMenu](https://github.com/KarimEbrahemAbdelaziz/SwiftyMenu) - A Simple and Elegant DropDown menu for iOS 🔥💥 +**[back to top](#contributing-and-collaborating)** + ### Navigation Bar - [HidingNavigationBar](https://github.com/tristanhimmelman/HidingNavigationBar) - Easily hide and show a view controller's navigation bar (and tab bar) as a user scrolls - [KMNavigationBarTransition](https://github.com/MoZhouqi/KMNavigationBarTransition) - A drop-in universal library helps you to manage the navigation bar styles and makes transition animations smooth between different navigation bar styles while pushing or popping a view controller for all orientations. @@ -2333,6 +2497,8 @@ Most of these are paid services, some have free tiers. - [RainbowNavigation](https://github.com/DanisFabric/RainbowNavigation) - An easy way to change backgroundColor of UINavigationBar when Push & Pop - [TONavigationBar](https://github.com/TimOliver/TONavigationBar) - A simple subclass that adds the ability to set the navigation bar background to 'clear' and gradually transition it visibly back in, similar to the effect in the iOS Music app. +**[back to top](#contributing-and-collaborating)** + ### PickerView - [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0/) - Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS. - [PickerView](https://github.com/filipealva/PickerView) - A customizable alternative to UIPickerView in Swift. @@ -2349,6 +2515,8 @@ Most of these are paid services, some have free tiers. - [ADDatePicker](https://github.com/abhiperry/ADDatePicker) - A fully customizable iOS Horizontal PickerView library, written in pure swift. - [SKCountryPicker](https://github.com/SURYAKANTSHARMA/CountryPicker) - A simple, customizable Country picker for picking country or dialing code. +**[back to top](#contributing-and-collaborating)** + ### Popup - [MMPopupView](https://github.com/adad184/MMPopupView) - Pop-up based view(e.g. alert sheet), can easily customize. - [STPopup](https://github.com/kevin0571/STPopup) - STPopup provides a UINavigationController in popup style, for both iPhone and iPad. @@ -2369,10 +2537,14 @@ Most of these are paid services, some have free tiers. - [PopupView](https://github.com/exyte/PopupView) - Toasts and popups library written with SwiftUI. - [MijickPopupView](https://github.com/Mijick/PopupView) - Popups presentation made simple with SwiftUI. +**[back to top](#contributing-and-collaborating)** + ### ProgressView - [ProgressMeter](https://github.com/khawajafarooq/ProgressMeter) - Display the progress on a meter with customized annotations for iOS developed in Swift - [GradientCircularProgress](https://github.com/keygx/GradientCircularProgress) - Customizable progress indicator library in Swift. +**[back to top](#contributing-and-collaborating)** + ### Pull to Refresh - [DGElasticPullToRefresh](https://github.com/gontovnik/DGElasticPullToRefresh) - Elastic pull to refresh for iOS developed in Swift - [PullToBounce](https://github.com/entotsu/PullToBounce) - Animated "Pull To Refresh" Library for UIScrollView. @@ -2396,6 +2568,8 @@ Most of these are paid services, some have free tiers. - [CRRefresh](https://github.com/CRAnimation/CRRefresh) - An easy way to use pull-to-refresh. - [KafkaRefresh](https://github.com/HsiaohuiHsiang/KafkaRefresh) - Animated, customizable, and flexible pull-to-refresh framework for faster and easier iOS development. +**[back to top](#contributing-and-collaborating)** + ### Rating Stars - [FloatRatingView](https://github.com/glenyi/FloatRatingView) - Whole, half or floating point ratings control written in Swift - [TTGEmojiRate](https://github.com/zekunyan/TTGEmojiRate) - An emoji-liked rating view for iOS, implemented in Swift. @@ -2405,6 +2579,8 @@ Most of these are paid services, some have free tiers. - [MBRateApp](https://github.com/MatiBot/MBRateApp) - A groovy app rate stars screen for iOS written in Swift - [RPInteraction](https://github.com/nbolatov/RPInteraction) - Review page interaction - handy and pretty way to ask for review. +**[back to top](#contributing-and-collaborating)** + ### ScrollView - [ScrollingFollowView](https://github.com/ktanaka117/ScrollingFollowView) - ScrollingFollowView is a simple view which follows UIScrollView scrolling. - [UIScrollView-InfiniteScroll](https://github.com/pronebird/UIScrollView-InfiniteScroll) - UIScrollView infinite scroll category. @@ -2418,6 +2594,8 @@ Most of these are paid services, some have free tiers. - [CrownControl](https://github.com/huri000/CrownControl) - Inspired by the Apple Watch Digital Crown, CrownControl is a tiny accessory view that enables scrolling through scrollable content without lifting your thumb. - [SegementSlide](https://github.com/Jiar/SegementSlide) - Multi-tier UIScrollView nested scrolling solution. +**[back to top](#contributing-and-collaborating)** + ### Segmented Control - [BetterSegmentedControl](https://github.com/gmarm/BetterSegmentedControl) - An easy to use, customizable replacement for UISegmentedControl & UISwitch. - [LUNSegmentedControl](https://github.com/Stormotion-Mobile/LUNSegmentedControl) - Customizable segmented control with interactive animation. @@ -2431,6 +2609,8 @@ Most of these are paid services, some have free tiers. - [PinterestSegment](https://github.com/TBXark/PinterestSegment) - A Pinterest-like segment control with masking animation. - [DGRunkeeperSwitch](https://github.com/gontovnik/DGRunkeeperSwitch) - Runkeeper design switch control (two part segment control) +**[back to top](#contributing-and-collaborating)** + ### Slider - [VolumeControl](https://github.com/12Rockets/VolumeControl) - Custom volume control for iPhone featuring a well-designed round slider. - [WESlider](https://github.com/Ekhoo/WESlider) - Simple and light weight slider with chapter management @@ -2454,14 +2634,20 @@ Most of these are paid services, some have free tiers. - [AGCircularPicker](https://github.com/agilie/AGCircularPicker) - AGCircularPicker is helpful component for creating a controller aimed to manage any calculated parameter. - [Fluid Slider](https://github.com/Ramotion/fluid-slider) - A slider widget with a popup bubble displaying the precise value selected. +**[back to top](#contributing-and-collaborating)** + ### Splash View - [CBZSplashView](https://github.com/callumboddy/CBZSplashView) - Twitter style Splash Screen View. Grows to reveal the Initial view behind. - [SKSplashView](https://github.com/sachinkesiraju/SKSplashView) - Create custom animated splash views similar to the ones in the Twitter, Uber and Ping iOS app. - [RevealingSplashView](https://github.com/PiXeL16/RevealingSplashView) - A Splash view that animates and reveals its content, inspired by Twitter splash +**[back to top](#contributing-and-collaborating)** + ### Status Bar - [Bartinter](https://github.com/MaximKotliar/Bartinter) - Status bar tint depending on content behind, updates dynamically. +**[back to top](#contributing-and-collaborating)** + ### Stepper - [PFStepper](https://github.com/PerfectFreeze/PFStepper) - May be the most elegant stepper you have ever had! - [ValueStepper](https://github.com/BalestraPatrick/ValueStepper) - A Stepper object that displays its value. @@ -2470,6 +2656,8 @@ Most of these are paid services, some have free tiers. - [SnappingStepper](https://github.com/yannickl/SnappingStepper) - An elegant alternative to the UIStepper written in Swift - [SMNumberWheel](https://github.com/SinaMoetakef/SMNumberWheel) - A custom control written in Swift, which is ideal for picking numbers very fast but yet very accurate using a rotating wheel +**[back to top](#contributing-and-collaborating)** + ### Switch - [AnimatedSwitch](https://github.com/alsedi/AnimatedSwitch) - UISwitch which paints over the parent view with the color in Swift. - [ViralSwitch](https://github.com/andreamazz/ViralSwitch) - A UISwitch that infects its superview with its tint color. @@ -2482,6 +2670,8 @@ Most of these are paid services, some have free tiers. - [AIFlatSwitch](https://github.com/cocoatoucher/AIFlatSwitch) - A flat component alternative to UISwitch on iOS - [Switch](https://github.com/T-Pham/Switch) - An iOS switch control implemented in Swift with full Interface Builder support. +**[back to top](#contributing-and-collaborating)** + ### Tab Bar - [ESTabBarController](https://github.com/ezescaruli/ESTabBarController) - A tab bar controller for iOS that allows highlighting buttons and setting custom actions to them. - [GooeyTabbar](https://github.com/KittenYang/GooeyTabbar) - A gooey effect tabbar @@ -2512,6 +2702,8 @@ Most of these are paid services, some have free tiers. - [BEKCurveTabbar](https://github.com/behrad-kzm/BEKCurveTabbar) - compatible with XCode +10 and fully customizable via Interface_Builder panel. BEKCurveTabBar derived UITabBar class and compatible with every iOS devices. - [AnimatedTabBar](https://github.com/exyte/AnimatedTabBar) - A tabbar with number of preset animations. Written with SwiftUI. +**[back to top](#contributing-and-collaborating)** + ### Table View / Collection View #### Table View @@ -2553,6 +2745,8 @@ Most of these are paid services, some have free tiers. - [OKTableViewLiaison](https://github.com/okcupid/OKTableViewLiaison) - Framework to help you better manage UITableView configuration. - [ThunderTable](https://github.com/3sidedcube/ThunderTable) - A simple declarative approach to UITableViewController management using a protocol-based approach. +**[back to top](#contributing-and-collaborating)** + #### Collection View - [Dwifft](https://github.com/jflinter/Dwifft) - Swift Diff @@ -2588,7 +2782,9 @@ Most of these are paid services, some have free tiers. - [DiffableDataSources](https://github.com/ra1028/DiffableDataSources) - A library for backporting UITableView/UICollectionViewDiffableDataSource. - [StableCollectionViewLayout](https://github.com/aimalygin/StableCollectionViewLayout) - This layout adjusts a content offset if the collection view is updated. You can insert, delete or reload items and StableCollectionViewLayout will take care of the content offset. - [IQListKit](https://github.com/hackiftekhar/IQListKit) - Model driven UITableView/UICollectionView. -- + +**[back to top](#contributing-and-collaborating)** + #### Expandable Cell - [folding-cell](https://github.com/Ramotion/folding-cell) - FoldingCell is an expanding content cell inspired by folding paper material @@ -2600,7 +2796,9 @@ Most of these are paid services, some have free tiers. - [FTFoldingPaper](https://github.com/monofire/FTFoldingPaper) - Emulates paper folding effect. Can be integrated with UITableView or used with other UI components. - [CollapsibleTableSectionViewController](https://github.com/jeantimex/CollapsibleTableSectionViewController) - A swift library to support collapsible sections in a table view. - [ExpandableCell](https://github.com/younatics/ExpandableCell) - Fully refactored YNExapnadableCell with more concise, bug free. Awesome expandable, collapsible tableview cell for iOS. -- [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller +- [expanding-collection](https://github.com/Ramotion/expanding-collection) - ExpandingCollection is a card peek/pop controller. + +**[back to top](#contributing-and-collaborating)** #### Header @@ -2608,6 +2806,8 @@ Most of these are paid services, some have free tiers. - [CSStickyHeaderFlowLayout](https://github.com/CSStickyHeaderFlowLayout/CSStickyHeaderFlowLayout) - UICollectionView replacement of UITableView. Do even more like Parallax Header, Sticky Section Header. - [GSKStretchyHeaderView](https://github.com/gskbyte/GSKStretchyHeaderView) - Configurable yet easy to use stretchy header view for UITableView and UICollectionView. +**[back to top](#contributing-and-collaborating)** + #### Placeholder - [DZNEmptyDataSet](https://github.com/dzenbot/DZNEmptyDataSet) - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display. @@ -2615,6 +2815,8 @@ Most of these are paid services, some have free tiers. - [ListPlaceholder](https://github.com/malkouz/ListPlaceholder) - ListPlaceholder is a swift library allows you to easily add facebook style animated loading placeholder to your tableviews or collection views - [WLEmptyState](https://github.com/wizeline/WLEmptyState) - A component that lets you customize the view when the dataset of UITableView is empty. +**[back to top](#contributing-and-collaborating)** + #### Collection View Layout - [CHTCollectionViewWaterfallLayout](https://github.com/chiahsien/CHTCollectionViewWaterfallLayout) - The waterfall (i.e., Pinterest-like) layout for UICollectionView. @@ -2626,11 +2828,12 @@ Most of these are paid services, some have free tiers. - [SquareMosaicLayout](https://github.com/iwheelbuy/SquareMosaicLayout) - An extandable mosaic UICollectionViewLayout with a focus on extremely flexible customizations - [BouncyLayout](https://github.com/roberthein/BouncyLayout) - BouncyLayout is a collection view layout that makes your cells bounce. - [AZSafariCollectionViewLayout](https://github.com/AfrozZaheer/AZSafariCollectionViewLayout) - AZSafariCollectionViewLayout is replica of safari browser history page layout. very easy to use, IBInspectable are given for easy integration. --ollectionView, make Instagram Discover within minutes. - [Blueprints](https://github.com/zenangst/Blueprints) - A framework that is meant to make your life easier when working with collection view flow layouts. - [UICollectionViewSplitLayout](https://github.com/yahoojapan/UICollectionViewSplitLayout) - UICollectionViewSplitLayout makes collection view more responsive. - [Swinflate](https://github.com/VladIacobIonut/Swinflate) - A bunch of layouts providing light and seamless experiences in your CollectionView. +**[back to top](#contributing-and-collaborating)** + ### Tag - [PARTagPicker](https://github.com/paulrolfe/PARTagPicker) - This pod provides a view controller for choosing and creating tags in the style of wordpress or tumblr. @@ -2644,6 +2847,8 @@ Most of these are paid services, some have free tiers. - [YNSearch](https://github.com/younatics/YNSearch) - Awesome fully customizable search view like Pinterest written in Swift 3. - [SFFocusViewLayout](https://github.com/fdzsergio/SFFocusViewLayout) - UICollectionViewLayout with focused content. +**[back to top](#contributing-and-collaborating)** + ### TextField & TextView - [JVFloatLabeledTextField](https://github.com/jverdi/JVFloatLabeledTextField) - UITextField subclass with floating labels. - [ARAutocompleteTextView](https://github.com/alexruperez/ARAutocompleteTextView) - subclass of UITextView that automatically displays text suggestions in real-time. Perfect for email Textviews. @@ -2695,6 +2900,8 @@ Most of these are paid services, some have free tiers. - [CHIOTPField](https://github.com/ChiliLabs/CHIOTPField) - A set of textfields that can be used for One-time passwords, SMS codes, PIN codes, etc. - [Streamoji](https://github.com/getstream/Streamoji) - Custom emoji rendering library with support for GIFs and images, UITextView extension. +**[back to top](#contributing-and-collaborating)** + ### UIPageControl - [PageControl](https://github.com/kasper-lahti/PageControl) - A nice, animated UIPageControl alternative. - [PageControls](https://github.com/popwarsweet/PageControls) - This is a selection of custom page controls to replace UIPageControl, inspired by a dribbble found here. @@ -2702,12 +2909,16 @@ Most of these are paid services, some have free tiers. - [Page-Control](https://github.com/sevruk-dev/page-control) - Beautiful, animated and highly customizable UIPageControl alternative. - [TKRubberIndicator](https://github.com/TBXark/TKRubberIndicator) - Rubber Indicator in Swift. +**[back to top](#contributing-and-collaborating)** + ### Web View - [Otafuku](https://github.com/tasanobu/Otafuku) - Otafuku provides utility classes to use WKWebView in Swift. - [SwiftWebVC](https://github.com/meismyles/SwiftWebVC) - A drop-in inline browser for your Swift iOS app. - [SVWebViewController](https://github.com/TransitApp/SVWebViewController) - A drop-in inline browser for your iOS app. - [PTPopupWebView](https://github.com/pjocprac/PTPopupWebView) - PTPopupWebView is a simple and useful WebView for iOS, which can be popup and has many of the customized item. +**[back to top](#contributing-and-collaborating)** + ## Utility * [Underscore.m](https://github.com/robb/Underscore.m) - A DSL for Data Manipulation. * [XExtensionItem](https://github.com/tumblr/XExtensionItem) - Easier sharing of structured data between iOS applications and share extensions. @@ -2780,16 +2991,22 @@ Most of these are paid services, some have free tiers. * [ReviewKit](https://github.com/simonmitchell/ReviewKit) - A framework which helps gatekeep review prompt requests – using SKStoreReviewController – to users who have had a good time using your app by logging positive and negative actions. * [SwiftBoost](https://github.com/sparrowcode/SwiftBoost) - Collection of Swift-extensions to boost development process. + **[back to top](#contributing-and-collaborating)** + ## User Consent - [SmartlookConsentSDK](https://github.com/smartlook/ios-consent-sdk) - Open source SDK which provides a configurable control panel where user can select their privacy options and store the user preferences for the app. - [PrivacyFlash Pro](https://github.com/privacy-tech-lab/privacyflash-pro) - Generate a privacy policy for your iOS app from its code +**[back to top](#contributing-and-collaborating)** + ## VR - [VR Toolkit iOS](https://github.com/Aralekk/VR_Toolkit_iOS) - A sample project that provides the basics to create an interactive VR experience on iOS. - [360 VR Player](https://github.com/hanton/HTY360Player) - A open source, ad-free, native and universal 360 degree panorama video player for iOS. - [simple360player](https://github.com/Aralekk/simple360player_iOS) - Free & ad-free 360 VR Video Player. Flat or Stereoscopic. In Swift 2. - [Swifty360Player](https://github.com/abdullahselek/Swifty360Player) - iOS 360-degree video player streaming from an AVPlayer with Swift. +**[back to top](#contributing-and-collaborating)** + ## Walkthrough / Intro / Tutorial - [Onboard](https://github.com/mamaral/Onboard) - Easily create a beautiful and engaging onboarding experience with only a few lines of code. - [EAIntroView](https://github.com/ealeksandrov/EAIntroView) - Highly customizable drop-in solution for introduction views. @@ -2821,6 +3038,8 @@ Most of these are paid services, some have free tiers. - [OnboardKit](https://github.com/NikolaKirev/OnboardKit) - Customisable user onboarding for your iOS app. - [ConcentricOnboarding](https://github.com/exyte/ConcentricOnboarding) - SwiftUI library for a walkthrough or onboarding flow with tap actions. +**[back to top](#contributing-and-collaborating)** + ## WebSocket - [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. - [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/macOS. @@ -2832,6 +3051,8 @@ Most of these are paid services, some have free tiers. - [Swift-ActionCableClient](https://github.com/danielrhodes/Swift-ActionCableClient) - ActionCable is a new WebSocket server being released with Rails 5 which makes it easy to add real-time features to your app. - [DNWebSocket](https://github.com/GlebRadchenko/DNWebSocket) - Object-Oriented, Swift-style WebSocket Library (RFC 6455) for Swift-compatible Platforms. +**[back to top](#contributing-and-collaborating)** + ## Project setup - [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. - [liftoff](https://github.com/liftoffcli/liftoff) - Another CLI for creating iOS projects. @@ -2843,6 +3064,8 @@ Most of these are paid services, some have free tiers. - [SwiftKit](https://github.com/SvenTiigi/SwiftKit) - Start your next Open-Source Swift Framework. - [swift5-module-template](https://github.com/fulldecent/swift5-module-template) - A starting point for any Swift 5 module that you want other people to include in their projects. +**[back to top](#contributing-and-collaborating)** + ## Dependency / Package Manager - [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. - [Xcode Maven](http://sap-production.github.io/xcode-maven-plugin/site/) - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle. @@ -2855,6 +3078,8 @@ Most of these are paid services, some have free tiers. - [Athena](https://github.com/yunarta/works-athena-gradle-plugin) - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local. - [Accio](https://github.com/JamitLabs/Accio) - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage. +**[back to top](#contributing-and-collaborating)** + ## Tools - [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. @@ -2940,6 +3165,8 @@ Most of these are paid services, some have free tiers. - [Respresso Image Converter](https://respresso.io/image-converter) - Multiplatform image converter for iOS, Android, and Web that supports pdf, svg, vector drawable, jpg, png, and webp formats. - [Rugby](https://github.com/swiftyfinch/Rugby) - 🏈 Cache CocoaPods for faster rebuild and indexing Xcode project. +**[back to top](#contributing-and-collaborating)** + ## Rapid Development - [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. @@ -2948,6 +3175,8 @@ Most of these are paid services, some have free tiers. - [swiftmon](https://github.com/dimpiax/swiftmon) - swiftmon restarts your swift application in case of any file change. - [Model2App](https://github.com/Q-Mobile/Model2App) - Turn your Swift data model into a working CRUD app. +**[back to top](#contributing-and-collaborating)** + ## Code Injection @@ -2955,6 +3184,8 @@ Most of these are paid services, some have free tiers. - [injectionforxcode](https://github.com/johnno1962/injectionforxcode) - Code injection including Swift. - [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. +**[back to top](#contributing-and-collaborating)** + ## Dependency Injection @@ -2974,6 +3205,8 @@ Most of these are paid services, some have free tiers. - [Needle](https://github.com/uber/needle) — Compile-time safe Swift dependency injection framework with real code. - [Locatable](https://github.com/vincent-pradeilles/locatable) - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern. +**[back to top](#contributing-and-collaborating)** + ## Deployment / Distribution - [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. @@ -3000,6 +3233,8 @@ Most of these are paid services, some have free tiers. - [Runway](https://runway.team) - 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. - [ios-uploader](https://github.com/simonnilsson/ios-uploader) - Easy to use, cross-platform tool to upload iOS apps to App Store Connect. +**[back to top](#contributing-and-collaborating)** + ## App Store - [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/#common-app-rejections) - Highlighted some of the most common issues that cause apps to get rejected. @@ -3011,10 +3246,12 @@ Most of these are paid services, some have free tiers. - [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. - [AppVersion](https://github.com/amebalabs/AppVersion) - Keep users on the up-to date version of your App. +**[back to top](#contributing-and-collaborating)** + ## Xcode -### Extensions (Xcode 8+) +### Extensions * [CleanClosureXcode](https://github.com/BalestraPatrick/CleanClosureXcode) - An Xcode Source Editor extension to clean the closure syntax. * [xTextHandler](https://github.com/cyanzhong/xTextHandler) - Xcode Source Editor Extension Toolset (Plugins for Xcode 8). @@ -3031,6 +3268,8 @@ Most of these are paid services, some have free tiers. * [Comment Spell Checker](https://github.com/velyan/Comment-Spell-Checker) - Xcode extension for spell checking and auto correcting code comments. * [nef](https://github.com/bow-swift/nef-plugin) - This Xcode extension enables you to make a code selection and export it to a snippets. Available on Mac AppStore. +**[back to top](#contributing-and-collaborating)** + ### Themes - [Dracula Theme](https://draculatheme.com/xcode/) - A dark theme for Xcode. @@ -3039,6 +3278,8 @@ Most of these are paid services, some have free tiers. - [WWDC2016 Xcode Color Scheme](https://github.com/cargath/WWDC2016-Xcode-Color-Scheme) - A color scheme for Xcode based on the WWDC 2016 invitation. - [DRL Theme](https://github.com/durul/Xcodetheme) - A soft darkness theme for Xcode. +**[back to top](#contributing-and-collaborating)** + ### Other Xcode @@ -3056,6 +3297,8 @@ Most of these are paid services, some have free tiers. - [VIPER Module Template](https://github.com/EvsenevDev/VIPERModuleTemplate) - Xcode Template of VIPER Module which generates all layers of VIPER. - [Xcode Developer Disk Images](https://github.com/haikieu/xcode-developer-disk-image-all-platforms) - Xcode Developer Disk Images is needed when you want to put your build to the device, however sometimes your Xcode is not updated with the latest Disk Images, you could find them here for convenience. +**[back to top](#contributing-and-collaborating)** + ## Reference - [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. - [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. @@ -3065,6 +3308,8 @@ Most of these are paid services, some have free tiers. - [WWDC-Recap](https://erenkabakci.github.io/WWDC-Recap/) - A collection of session summaries in markdown format, from WWDC 19 & 17. - [Awesome-ios](https://kandi.openweaver.com/swift/vsouza/awesome-ios) - A curated list of awesome iOS ecosystem. +**[back to top](#contributing-and-collaborating)** + ## Style Guides - [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. - [raywenderlich Style Guide](https://github.com/raywenderlich/objective-c-style-guide) - A style guide that outlines the coding conventions for raywenderlich.com. @@ -3078,6 +3323,8 @@ Most of these are paid services, some have free tiers. - [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. - [Swift Style Guide by LinkedIn](https://github.com/linkedin/swift-style-guide) - LinkedIn's Official Swift Style Guide. +**[back to top](#contributing-and-collaborating)** + ## Good Websites ### News, Blogs and more @@ -3101,14 +3348,20 @@ Most of these are paid services, some have free tiers. - [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. - [Ohmyswift](https://www.ohmyswift.com/blog/) +**[back to top](#contributing-and-collaborating)** + ### UIKit references - [iOS Fonts](http://iosfonts.com/) - [UIAppearance list](https://gist.github.com/mattt/5135521) +**[back to top](#contributing-and-collaborating)** + ### Forums and discuss lists - ["iOS" on Stackoverflow](https://stackoverflow.com/questions/tagged/ios) +**[back to top](#contributing-and-collaborating)** + ### Tutorials and Keynotes - [AppCoda](https://www.appcoda.com/) - [Tutorials Point](https://www.tutorialspoint.com/ios/index.htm) @@ -3138,17 +3391,23 @@ Most of these are paid services, some have free tiers. - [DaddyCoding](https://daddycoding.com/) - iOS Tutorials ranging from beginners to advance. - [Learn Swift](https://blog.coursesity.com/best-swift-tutorials/) - Learn Swift - curated list of the top online Swift tutorials and courses. +**[back to top](#contributing-and-collaborating)** + ### iOS UI Template - [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) - [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) - [iOS 11 iPhone GUI from Design at Meta](https://design.facebook.com/toolsandresources/ios-11-iphone-gui/) +**[back to top](#contributing-and-collaborating)** + ### Prototyping - [FluidUI](https://www.fluidui.com) - [Proto.io](https://proto.io/) - [Framer](https://www.framer.com/) - [Principle](https://principleformac.com/) +**[back to top](#contributing-and-collaborating)** + ### Newsletters - [AwesomeiOS Weekly](http://weekly.awesomeios.com) - AwesomeiOS Weekly. - [iOS Goodies](https://ios-goodies.com) - Weekly iOS newsletter. @@ -3164,11 +3423,15 @@ Most of these are paid services, some have free tiers. - [Mobile Developers Cafe](https://mobiledeveloperscafe.com) - A weekly newsletter for Mobile developers with loads of iOS content. - [Indie Watch](https://indie.watch/) - A weekly newsletter featuring the best apps made by indie iOS developers. +**[back to top](#contributing-and-collaborating)** + ### Medium - [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone. - [Swift Programming](https://medium.com/swift-programming) - The Swift Programming Language. - [Flawless App](https://medium.com/flawless-app-stories) - Development & design & marketing tips for iOS developers. +**[back to top](#contributing-and-collaborating)** + ## Social Media ## Podcasts @@ -3188,6 +3451,8 @@ Most of these are paid services, some have free tiers. - [Swift by Sundell](https://www.swiftbysundell.com/podcast/) - [Stacktrace](https://stacktracepodcast.fm) +**[back to top](#contributing-and-collaborating)** + ## Books - [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) - [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-seventh-edition/) @@ -3204,6 +3469,8 @@ Most of these are paid services, some have free tiers. - [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) - [Swift in Depth](https://www.manning.com/books/swift-in-depth) +**[back to top](#contributing-and-collaborating)** + ## Other Awesome Lists *Other amazingly awesome lists can be found in the* @@ -3239,6 +3506,8 @@ Most of these are paid services, some have free tiers. - [awesome-ios-developer](https://github.com/jphong1111/awesome-ios-developer) - Useful knowledges and stuff for ios developer. - [awesome-ios-books](https://github.com/bystritskiy/awesome-ios-books) - A list of books for iOS developers. +**[back to top](#contributing-and-collaborating)** + ## Contributing and License - [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) - Distributed under the MIT license. See LICENSE for more information. From f468a998455d2b30acb024fe3ed0587d33278876 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Jan 2024 10:24:09 -0300 Subject: [PATCH 2548/2606] remove bridge category. Organize Cache category --- README.md | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 0d6fb9254..a093f3aa1 100644 --- a/README.md +++ b/README.md @@ -152,39 +152,28 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git **[back to top](#contributing-and-collaborating)** -## Bridging - -*Sharing code between Objective-C and Swift, iOS and macOS, Javascript and Objective-C.* - -- [RubyMotion](http://www.rubymotion.com/) - RubyMotion is a revolutionary toolchain that lets you quickly develop and test native iOS and macOS applications for iPhone, iPad and Mac, all using the Ruby language. -- [JSPatch](https://github.com/bang590/JSPatch) - JSPatch bridge Objective-C and Javascript using the Objective-C runtime. You can call any Objective-C class and method in JavaScript by just including a small engine. JSPatch is generally use for hotfix iOS App. -- [WebViewJavascriptBridge](https://github.com/marcuswestin/WebViewJavascriptBridge) - An iOS/macOS bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews. -- [MAIKit](https://github.com/MichaelBuckley/MAIKit) - A framework for sharing code between iOS and macOS. -- [Xamarin](https://xamarin.com/) - Xamarin is a free, cross-platform, open-source platform that lets you quickly develop and test native iOS, watchOS and macOS applications for iPhone, iPad, Watch and Mac, all using the C# language. - -**[back to top](#contributing-and-collaborating)** ## Cache *Thread safe, offline and high performance cache libs and frameworks.* - [Awesome Cache](https://github.com/aschuch/AwesomeCache) - Delightful on-disk cache (written in Swift). -- [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content. +- [Cache](https://github.com/hyperoslo/Cache) - Nothing but Cache. +- [Cache](https://github.com/soffes/Cache) - Swift caching library. +- [Cachyr](https://github.com/nrkno/yr-cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift. - [Carlos](https://github.com/spring-media/Carlos) - A simple but flexible cache. +- [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. - [HanekeSwift](https://github.com/Haneke/HanekeSwift) - A lightweight generic cache for iOS written in Swift with extra love for images. -- [YYCache](https://github.com/ibireme/YYCache) - High performance cache framework for iOS. -- [Cache](https://github.com/hyperoslo/Cache) - Nothing but Cache. +- [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift. +- [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content. +- [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. - [MGCacheManager](https://github.com/Mortgy/MGCacheManager) - A delightful iOS Networking Cache Managing Class. +- [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS. +- [RocketData](https://github.com/plivesey/RocketData) - A caching and consistency solution for immutable models. - [SPTPersistentCache](https://github.com/spotify/SPTPersistentCache) - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify. - [Track](https://github.com/maquannene/Track) - Track is a thread safe cache write by Swift. Composed of DiskCache and MemoryCache which support LRU. - [UITableView Cache](https://github.com/Kilograpp/UITableView-Cache) - UITableView cell cache that cures scroll-lags on a cell instantiating. -- [RocketData](https://github.com/plivesey/RocketData) - A caching and consistency solution for immutable models. -- [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS. -- [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift. -- [Disk](https://github.com/saoudrizwan/Disk) - Delightful framework for iOS to easily persist structs, images, and data. -- [Cachyr](https://github.com/nrkno/yr-cachyr) - A small key-value data cache for iOS, macOS and tvOS, written in Swift. -- [Cache](https://github.com/soffes/Cache) - Swift caching library. -- [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. +- [YYCache](https://github.com/ibireme/YYCache) - High performance cache framework for iOS. **[back to top](#contributing-and-collaborating)** From 604c00251b2cc3e2f8868478de8e1ee7fbe02f54 Mon Sep 17 00:00:00 2001 From: Guilherme Oenning Date: Sun, 7 Jan 2024 11:17:13 +0000 Subject: [PATCH 2549/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e2822d0cc..0a4eac7e3 100644 --- a/README.md +++ b/README.md @@ -196,7 +196,7 @@ *Analytics platforms, SDK's, error tracking and real-time answers about your app* - [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. -- [Aptabase](https://aptabase.com/) - Open Source, Privacy-First and Simple Analytics for Swift Apps. +- [Aptabase](https://aptabase.com/for-swift) - Open Source, Privacy-First and Simple Analytics for Swift Apps. - [Answers by Fabric](https://get.fabric.io) - Answers gives you real-time insight into people’s experience in your app. - [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. - [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. From d784225cc59febd82c5a3646eee3c8a672ac144e Mon Sep 17 00:00:00 2001 From: Miguel Date: Sun, 14 Jan 2024 12:20:13 +0000 Subject: [PATCH 2550/2606] Adding Point Free to the list of series, videos & Blogs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 328fbd97a..4d6ee8ec4 100644 --- a/README.md +++ b/README.md @@ -3337,6 +3337,7 @@ Most of these are paid services, some have free tiers. - [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. - [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. - [Ohmyswift](https://www.ohmyswift.com/blog/) +- [Point Free](https://www.pointfree.co/) - A video series exploring functional programming and Swift. **[back to top](#contributing-and-collaborating)** From 0ce02d02ece67d5e84a439d89a0327b9055c9f13 Mon Sep 17 00:00:00 2001 From: Miguel Date: Sun, 14 Jan 2024 12:24:01 +0000 Subject: [PATCH 2551/2606] Adding swift macros repositories to resources --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 328fbd97a..1250b35ef 100644 --- a/README.md +++ b/README.md @@ -3286,6 +3286,7 @@ Most of these are paid services, some have free tiers. - [Xcode Template Manager](https://github.com/Camji55/xtm) - Xcode Template Manager is a Swift command line tool that helps you manage your Xcode project templates. - [VIPER Module Template](https://github.com/EvsenevDev/VIPERModuleTemplate) - Xcode Template of VIPER Module which generates all layers of VIPER. - [Xcode Developer Disk Images](https://github.com/haikieu/xcode-developer-disk-image-all-platforms) - Xcode Developer Disk Images is needed when you want to put your build to the device, however sometimes your Xcode is not updated with the latest Disk Images, you could find them here for convenience. +- [Swift Macros 🚀](https://github.com/krzysztofzablocki/Swift-Macros) - A curated list of community-created Macros and associated learning resources. **[back to top](#contributing-and-collaborating)** From 95dec11f099667afe746f01313b3b710d212d275 Mon Sep 17 00:00:00 2001 From: Miguel Date: Sun, 14 Jan 2024 12:25:08 +0000 Subject: [PATCH 2552/2606] Adding SwiftLee to Newsletters --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 328fbd97a..0111253f1 100644 --- a/README.md +++ b/README.md @@ -3412,6 +3412,7 @@ Most of these are paid services, some have free tiers. - [Swift Developments](https://andybargh.com/swiftdevelopments/) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. - [Mobile Developers Cafe](https://mobiledeveloperscafe.com) - A weekly newsletter for Mobile developers with loads of iOS content. - [Indie Watch](https://indie.watch/) - A weekly newsletter featuring the best apps made by indie iOS developers. +- [SwiftLee](https://www.avanderlee.com/) - A weekly blog about Swift, iOS and Xcode Tips and Tricks. **[back to top](#contributing-and-collaborating)** From ad6bb308fd3fe94d1ff07d5f623356c9e97f5db7 Mon Sep 17 00:00:00 2001 From: Sara Tavares <29093946+stavares843@users.noreply.github.com> Date: Fri, 9 Feb 2024 23:24:50 +0000 Subject: [PATCH 2553/2606] Remove ARAnalytics --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 56df06419..de5b2f1df 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. - [Aptabase](https://aptabase.com/for-swift) - Open Source, Privacy-First and Simple Analytics for Swift Apps. - [Answers by Fabric](https://get.fabric.io) - Answers gives you real-time insight into people’s experience in your app. -- [ARAnalytics](https://github.com/orta/ARAnalytics) - Analytics abstraction library offering a sane API for tracking events and user data. - [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. - [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. - [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. From d4cc45a54cbe847a670061e13e0b00d5376859dc Mon Sep 17 00:00:00 2001 From: Sara Tavares <29093946+stavares843@users.noreply.github.com> Date: Fri, 9 Feb 2024 23:28:02 +0000 Subject: [PATCH 2554/2606] Remove inapptics --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 56df06419..606df3c01 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. - [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. - [Emerge Tools](https://www.emergetools.com) - Prevent app size & performance regressions on every pull request, get automated insights on how to improve. -- [Inapptics](https://inapptics.com) - Helps analyze and visualize user behavior in mobile apps. Provides visual user journeys, heatmaps and crash replays. - [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. - [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. - [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. From 45a52a4a99ee7580dca623c8ae519ad15e213a43 Mon Sep 17 00:00:00 2001 From: Sara Tavares <29093946+stavares843@users.noreply.github.com> Date: Fri, 9 Feb 2024 23:29:32 +0000 Subject: [PATCH 2555/2606] Remove CoreNavigation --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 56df06419..8baa7ec5e 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [ApplicationCoordinator](https://github.com/AndreyPanov/ApplicationCoordinator) - Coordinator is an object that handles navigation flow and shares flow’s handling for the next coordinator after switching on the next chain. - [Appz](https://github.com/SwiftKitz/Appz) - Easily launch and deeplink into external applications, falling back to web if not installed. - [Composable Navigator](https://github.com/Bahn-X/swift-composable-navigator) - An open source library for building deep-linkable SwiftUI applications with composition, testing and ergonomics in mind -- [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - Navigate between view controllers with ease. - [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. - [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. - [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. From 0bb277bad4dd099cc61f7da39b6852d971ef17c7 Mon Sep 17 00:00:00 2001 From: Sara Tavares <29093946+stavares843@users.noreply.github.com> Date: Fri, 9 Feb 2024 23:30:16 +0000 Subject: [PATCH 2556/2606] Remove DZURLRoute --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 56df06419..9421456a8 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [CoreNavigation](https://github.com/aronbalog/CoreNavigation) - Navigate between view controllers with ease. - [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. - [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. -- [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. - [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks - [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. - [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. From 204e26e0378c5e081c87e6348692895d74119aaf Mon Sep 17 00:00:00 2001 From: Sara Tavares <29093946+stavares843@users.noreply.github.com> Date: Fri, 9 Feb 2024 23:31:01 +0000 Subject: [PATCH 2557/2606] Remove IKRouter --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 56df06419..74462bf53 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Crossroad](https://github.com/giginet/Crossroad) - Crossroad is an URL router focused on handling Custom URL Schemes. Using this, you can route multiple URL schemes and fetch arguments and parameters easily. - [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. - [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. -- [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks - [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. - [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. - [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS. From efaf66b74b26668439def31a4779015c25e51e09 Mon Sep 17 00:00:00 2001 From: Sara Tavares <29093946+stavares843@users.noreply.github.com> Date: Fri, 9 Feb 2024 23:31:39 +0000 Subject: [PATCH 2558/2606] Remove IntentKit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 56df06419..f3bfd5e64 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [DeepLinkKit](https://github.com/button/DeepLinkKit) - A splendid route-matching, block-based way to handle your deep links. - [DZURLRoute](https://github.com/yishuiliunian/DZURLRoute) - Universal route engine for iOS app, it can handle URLScheme between applications and page route between UIViewController. - [IKRouter](https://github.com/IanKeen/IKRouter) - URLScheme router than supports auto creation of UIViewControllers for associated url parameters to allow creation of navigation stacks -- [IntentKit](https://github.com/intentkit/IntentKit) - An easier way to handle third-party URL schemes in iOS apps. - [JLRoutes](https://github.com/joeldev/JLRoutes) - URL routing library for iOS with a simple block-based API. - [Linker](https://github.com/MaksimKurpa/Linker) - Lightweight way to handle internal and external deeplinks for iOS. - [LiteRoute](https://github.com/SpectralDragon/LiteRoute) - Easy transition between VIPER modules, implemented on pure Swift. From 02af9bf37aec0f25705515df82cb43234834df4a Mon Sep 17 00:00:00 2001 From: Sara Tavares <29093946+stavares843@users.noreply.github.com> Date: Fri, 9 Feb 2024 23:37:38 +0000 Subject: [PATCH 2559/2606] Remove MGCacheManager --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 56df06419..eec39f77a 100644 --- a/README.md +++ b/README.md @@ -168,7 +168,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Johnny](https://github.com/zolomatok/Johnny) - Melodic Caching for Swift. - [mattress](https://github.com/buzzfeed/mattress) - iOS Offline Caching for Web Content. - [MemoryCache](https://github.com/yysskk/MemoryCache) - MemoryCache is type-safe memory cache. -- [MGCacheManager](https://github.com/Mortgy/MGCacheManager) - A delightful iOS Networking Cache Managing Class. - [PINCache](https://github.com/pinterest/PINCache) - Fast, non-deadlocking parallel object cache for iOS and macOS. - [RocketData](https://github.com/plivesey/RocketData) - A caching and consistency solution for immutable models. - [SPTPersistentCache](https://github.com/spotify/SPTPersistentCache) - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours. By Spotify. From 3178e068a6106b457276b7318aae2a2e7b6fae68 Mon Sep 17 00:00:00 2001 From: boztopuz <93190375+boztopuz@users.noreply.github.com> Date: Mon, 25 Mar 2024 10:38:50 +0300 Subject: [PATCH 2560/2606] Appcircle DescriptionUpdate README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bc7c419c4..62826fd62 100644 --- a/README.md +++ b/README.md @@ -3210,7 +3210,7 @@ Most of these are paid services, some have free tiers. - [Appfigurate](https://github.com/electricbolt/appfiguratesdk) - Secure runtime configuration for iOS and watchOS, apps and app extensions. - [ScreenshotFramer](https://github.com/IdeasOnCanvas/ScreenshotFramer) - With Screenshot Framer you can easily create nice-looking and localized App Store Images. - [Semaphore](https://semaphoreci.com/product/ios) - 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. -- [Appcircle.io](https://appcircle.io) — Automated mobile CI/CD/CT for iOS with online device simulators +- [Appcircle.io](https://appcircle.io) — An enterprise-grade mobile DevOps platform that automates the build, test, and publish store of mobile apps for faster, efficient release cycle - [Screenplay](https://screenplay.dev) - Instant rollbacks and canary deployments for iOS. - [Codemagic](https://codemagic.io) - Build, test and deliver iOS apps 20% faster with Codemagic CI/CD. - [Runway](https://runway.team) - 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. From 4b1e88b12f52ea042269d317b0ec21d093455fdb Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 13:47:07 -0300 Subject: [PATCH 2561/2606] reorganize, remove old categories and put contents back --- README.md | 942 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 517 insertions(+), 425 deletions(-) diff --git a/README.md b/README.md index 62826fd62..be1ee2e9e 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,160 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) and [CODE-OF-CONDUCT](https://github.com/vsouza/awesome-ios/blob/master/CODE_OF_CONDUCT.md) for details. +## Contents + +- [Accessibility](#accessibility) +- [Alexa](#alexa) +- [Analytics](#analytics) +- [App Routing](#app-routing) +- [Apple TV](#apple-tv) +- [App Store](#app-store) +- [Architecture Patterns](#architecture-patterns) +- [ARKit](#arkit) +- [Authentication](#authentication) +- [Blockchain](#blockchain) +- [Books](#books) +- [Cache](#cache) +- [Charts](#charts) +- [Code Injection](#code-injection) +- [Code Quality](#code-quality) + - [Linter](#linter) +- [Color](#color) +- [Command Line](#command-line) +- [Concurrency](#concurrency) +- [Core Data](#core-data) +- [Courses](#courses) + - [Getting Started](#getting-started) +- [Database](#database) +- [Data Structures / Algorithms](#data-structures--algorithms) +- [Date & Time](#date--time) +- [Debugging](#debugging) +- [Dependency Injection](#dependency-injection) +- [Dependency / Package Manager](#dependency--package-manager) +- [Deployment / Distribution](#deployment--distribution) +- [EventBus](#eventbus) +- [Files](#files) +- [Functional Programming](#functional-programming) +- [Games](#games) +- [GCD](#gcd) +- [Gesture](#gesture) +- [Graphics](#graphics) +- [Hardware](#hardware) + - [Bluetooth](#bluetooth) + - [Camera](#camera) + - [Force Touch](#force-touch) + - [iBeacon](#ibeacon) + - [Location](#location) + - [Other Hardware](#other-hardware) +- [Layout](#layout) +- [Localization](#localization) +- [Logging](#logging) +- [Machine Learning](#machine-learning) +- [Maps](#maps) +- [Math](#math) +- [Media](#media) + - [Audio](#audio) + - [GIF](#gif) + - [Image](#image) + - [Media Processing](#media-processing) + - [PDF](#pdf) + - [Streaming](#streaming) + - [Video](#video) +- [Messaging](#messaging) +- [Networking](#networking) +- [Newsletters](#newsletters) +- [Notifications](#notifications) + - [Push Notifications](#push-notifications) + - [Push Notification Providers](#push-notification-providers) +- [Objective-C Runtime](#objective-c-runtime) +- [Optimization](#optimization) +- [Other Awesome Lists](#other-awesome-lists) +- [Parsing](#parsing) + - [CSV](#csv) + - [JSON](#json) + - [XML & HTML](#xml--html) + - [Other Parsing](#other-parsing) +- [Passbook](#passbook) +- [Payments](#payments) +- [Permissions](#permissions) +- [Podcasts](#podcasts) +- [Project setup](#project-setup) +- [Prototyping](#prototyping) +- [Rapid Development](#rapid-development) +- [Reactive Programming](#reactive-programming) + - [React-Like](#react-like) +- [Reference](#reference) +- [Reflection](#reflection) +- [Regex](#regex) +- [SDK](#sdk) + - [Official](#official) + - [Unofficial](#unofficial) +- [Security](#security) + - [Encryption](#encryption) + - [Keychain](#keychain) +- [Server](#server) +- [Style Guides](#style-guides) +- [Testing](#testing) + - [TDD / BDD](#tdd--bdd) + - [A/B Testing](#ab-testing) + - [UI Testing](#ui-testing) + - [Other Testing](#other-testing) +- [Text](#text) + - [Font](#font) +- [UI](#ui) + - [Activity Indicator](#activity-indicator) + - [Alert & Action Sheet](#alert--action-sheet) + - [Animation](#animation) + - [Transition](#transition) + - [Badge](#badge) + - [Button](#button) + - [Calendar](#calendar) + - [Cards](#cards) + - [Form & Settings](#form--settings) + - [Keyboard](#keyboard) + - [Label](#label) + - [Login](#login) + - [Menu](#menu) + - [Navigation Bar](#navigation-bar) + - [PickerView](#pickerview) + - [Popup](#popup) + - [Progress View](#progress-view) + - [Pull to Refresh](#pull-to-refresh) + - [Rating Stars](#rating-stars) + - [ScrollView](#scrollview) + - [Segmented Control](#segmented-control) + - [Slider](#slider) + - [Splash View](#splash-view) + - [Status Bar](#status-bar) + - [Stepper](#stepper) + - [Switch](#switch) + - [Tab Bar](#tab-bar) + - [Table View / Collection View](#table-view--collection-view) + - [Table View](#table-view) + - [Collection View](#collection-view) + - [Expandable Cell](#expandable-cell) + - [Header](#header) + - [Placeholder](#placeholder) + - [Collection View Layout](#collection-view-layout) + - [Tag](#tag) + - [TextField & TextView](#textfield--textview) + - [UIPageControl](#uipagecontrol) + - [Web View](#web-view) +- [Utility](#utility) +- [User Consent](#user-consent) +- [VR](#vr) +- [Walkthrough / Intro / Tutorial](#walkthrough--intro--tutorial) +- [Websites](#websites) +- [Websocket](#websocket) +- [Tools](#tools) +- [Tutorials and Keynotes](#tutorials-and-keynotes) +- [UI Templates](#ui-templates) +- [Xcode](#xcode) + - [Extensions (Xcode 8+)](#extensions-xcode-8) + - [Themes](#themes) + - [Other Xcode](#other-xcode) + + ## Accessibility *Frameworks that help to support accessibility features and enable people with disabilities to use your app* @@ -73,6 +227,19 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! - [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. +## App Store + +- [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/#common-app-rejections) - Highlighted some of the most common issues that cause apps to get rejected. +- [Free App Store Optimization Tool](https://www.mobileaction.co) - Lets you track your App Store visibility in terms of keywords and competitors. +- [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. +- [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. +- [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. +- [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. +- [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. +- [AppVersion](https://github.com/amebalabs/AppVersion) - Keep users on the up-to date version of your App. + +**[back to top](#contributing-and-collaborating)** + ## Apple TV *tvOS view controllers, wrappers, template managers and video players.* @@ -147,6 +314,23 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git **[back to top](#contributing-and-collaborating)** +## Books +- [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) +- [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-seventh-edition/) +- [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) +- [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) +- [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) +- [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) +- [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) +- [iOS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) +- [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) +- [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) +- [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) +- [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) +- [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) +- [Swift in Depth](https://www.manning.com/books/swift-in-depth) + +**[back to top](#contributing-and-collaborating)** ## Cache @@ -208,6 +392,14 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git **[back to top](#contributing-and-collaborating)** +## Code Injection + +- [dyci](https://github.com/DyCI/dyci-main) - Code injection tool. +- [injectionforxcode](https://github.com/johnno1962/injectionforxcode) - Code injection including Swift. +- [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. + +**[back to top](#contributing-and-collaborating)** + ## Code Quality *Quality always matters. Code checkers, memory vigilants, syntastic sugars and more.* @@ -516,6 +708,66 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git **[back to top](#contributing-and-collaborating)** +## Dependency Injection +- [Swinject](https://github.com/Swinject/Swinject) - Dependency injection framework for Swift. +- [Reliant](https://github.com/appfoundry/Reliant) - Nonintrusive Objective-C dependency injection. +- [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. +- [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. +- [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection for Objective-C. +- [Pilgrim](https://github.com/appsquickly/pilgrim) - Powerful dependency injection Swift (successor to Typhoon). +- [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. +- [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. +- [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift. +- [Weaver](https://github.com/scribd/Weaver) - A declarative, easy-to-use and safe Dependency Injection framework for Swift. +- [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. +- [ViperServices](https://github.com/ladeiko/ViperServices) - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code. +- [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS applications written in clean Swift. +- [Needle](https://github.com/uber/needle) — Compile-time safe Swift dependency injection framework with real code. +- [Locatable](https://github.com/vincent-pradeilles/locatable) - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern. + +**[back to top](#contributing-and-collaborating)** + +## Dependency / Package Manager +- [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. +- [Xcode Maven](http://sap-production.github.io/xcode-maven-plugin/site/) - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle. +- [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. +- [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. +- [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language. +- [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool. +- [Rome](https://github.com/tmspzz/Rome) - A cache tool for Carthage built frameworks. +- [Athena](https://github.com/yunarta/works-athena-gradle-plugin) - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local. +- [Accio](https://github.com/JamitLabs/Accio) - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage. + +**[back to top](#contributing-and-collaborating)** + +## Deployment / Distribution +- [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. +- [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) - Upload screenshots, metadata and your app to the App Store using a single command. +- [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) - Automate taking localized screenshots of your iOS app on every device. +- [buddybuild](https://www.buddybuild.com/) - A mobile iteration platform - build, deploy, and collaborate. +- [Bitrise](https://www.bitrise.io) - Mobile Continuous Integration & Delivery with dozens of integrations to build, test, deploy and collaborate. +- [watchbuild](https://github.com/fastlane/watchbuild) - Get a notification once your iTunes Connect build is finished processing. +- [Crashlytics](https://firebase.google.com/products/crashlytics/) - A crash reporting and beta testing service. +- [TestFlight Beta Testing](https://developer.apple.com/testflight/) - The beta testing service hosted on iTunes Connect (requires iOS 8 or later). +- [AppCenter](https://appcenter.ms) - Continuously build, test, release, and monitor apps for every platform. +- [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. +- [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. +- [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. +- [AppLaunchpad](https://theapplaunchpad.com/) - Free App Store screenshot builder. +- [LaunchKit](https://github.com/LaunchKit/LaunchKit) - A set of web-based tools for mobile app developers, now open source! +- [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. +- [Appfigurate](https://github.com/electricbolt/appfiguratesdk) - Secure runtime configuration for iOS and watchOS, apps and app extensions. +- [ScreenshotFramer](https://github.com/IdeasOnCanvas/ScreenshotFramer) - With Screenshot Framer you can easily create nice-looking and localized App Store Images. +- [Semaphore](https://semaphoreci.com/product/ios) - 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. +- [Appcircle.io](https://appcircle.io) — An enterprise-grade mobile DevOps platform that automates the build, test, and publish store of mobile apps for faster, efficient release cycle +- [Screenplay](https://screenplay.dev) - Instant rollbacks and canary deployments for iOS. +- [Codemagic](https://codemagic.io) - Build, test and deliver iOS apps 20% faster with Codemagic CI/CD. +- [Runway](https://runway.team) - 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. +- [ios-uploader](https://github.com/simonnilsson/ios-uploader) - Easy to use, cross-platform tool to upload iOS apps to App Store Connect. + +**[back to top](#contributing-and-collaborating)** + ## EventBus *Promises and Futures libraries to help you write better async code in Swift.* @@ -1270,19 +1522,21 @@ Also see [push notifications](#push-notifications) **[back to top](#contributing-and-collaborating)** -### Email - -- [Mail Core 2](https://github.com/MailCore/mailcore2) - MailCore 2 provide a simple and asynchronous API to work with e-mail protocols IMAP, POP and SMTP. -- [Postal](https://github.com/snipsco/Postal) - A swift framework providing simple access to common email providers. - -**[back to top](#contributing-and-collaborating)** - -## Representations - -- [apollo-ios](https://github.com/apollographql/apollo-ios) - A GraphQL client for iOS. -- [JSONRPCKit](https://github.com/bricklife/JSONRPCKit) - A JSON-RPC 2.0 library. -- [protobuf-swift](https://github.com/alexeyxo/protobuf-swift) - Google ProtocolBuffers for Apple Swift -- [swift-protobuf](https://github.com/apple/swift-protobuf) - Plugin and runtime library for using protobuf with Swift. +## Newsletters +- [AwesomeiOS Weekly](http://weekly.awesomeios.com) - AwesomeiOS Weekly. +- [iOS Goodies](https://ios-goodies.com) - Weekly iOS newsletter. +- [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week. +- [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. +- [iOS Trivia Weekly](https://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday. +- [Indie iOS Focus Weekly](http://indieiosfocus.com/) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. +- [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. +- [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday. +- [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) +- [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. +- [Swift Developments](https://andybargh.com/swiftdevelopments/) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. +- [Mobile Developers Cafe](https://mobiledeveloperscafe.com) - A weekly newsletter for Mobile developers with loads of iOS content. +- [Indie Watch](https://indie.watch/) - A weekly newsletter featuring the best apps made by indie iOS developers. +- [SwiftLee](https://www.avanderlee.com/) - A weekly blog about Swift, iOS and Xcode Tips and Tricks. **[back to top](#contributing-and-collaborating)** @@ -1321,11 +1575,6 @@ Most of these are paid services, some have free tiers. **[back to top](#contributing-and-collaborating)** -### Local Notifications - -- [DLLocalNotifications](https://github.com/d7laungani/DLLocalNotifications) - Easily create Local Notifications in swift - Wrapper of UserNotifications Framework. - -**[back to top](#contributing-and-collaborating)** ## Objective-C Runtime @@ -1343,6 +1592,32 @@ Most of these are paid services, some have free tiers. **[back to top](#contributing-and-collaborating)** +## Other Awesome Lists + +*Other amazingly awesome lists can be found in the* + +- [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. +- [Open Source apps](https://github.com/dkhamsing/open-source-ios-apps) list of open source iOS apps. + +- [awsome-ios-animation](https://github.com/ameizi/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. +- [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). +- [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. +- [iOS-Playbook](https://github.com/bakkenbaeck/iOS-handbook) - Guidelines and best practices for excellent iOS apps. +- [iOS-Learning-Materials](https://github.com/jVirus/iOS-Learning-Materials) - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS. +- [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts. +- [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. +- [Awesome ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. +- [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. +- [example-ios-apps](https://github.com/jogendra/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. +- [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. +- [Awesome list of open source applications for macOS](https://github.com/serhii-londar/open-source-mac-os-apps) - List of awesome open source applications for macOS. +- [Awesome iOS Interview question list](https://github.com/dashvlas/awesome-ios-interview) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. +- [Top App Developers](https://github.com/app-developers/top) - A list of top iOS app developers. +- [awesome-ios-developer](https://github.com/jphong1111/awesome-ios-developer) - Useful knowledges and stuff for ios developer. +- [awesome-ios-books](https://github.com/bystritskiy/awesome-ios-books) - A list of books for iOS developers. + +**[back to top](#contributing-and-collaborating)** + ## Parsing ### CSV @@ -1469,6 +1744,56 @@ Most of these are paid services, some have free tiers. **[back to top](#contributing-and-collaborating)** +## Podcasts +- [The Ray Wenderlich Podcast](https://www.raywenderlich.com/podcast) +- [Debug](https://www.imore.com/debug) +- [App Story](http://www.appstorypodcast.com) +- [iPhreaks](https://devchat.tv/iphreaks/) +- [Under the Radar](https://www.relay.fm/radar) +- [Core Intuition](http://coreint.org/) +- [Swift Playhouse](http://www.swiftplayhouse.com/) +- [Release Notes](https://releasenotes.tv/) +- [More Than Just Code](https://mtjc.fireside.fm/) +- [Runtime](https://spec.fm/podcasts/runtime) +- [Consult](https://consultpodcast.com/#_=_) +- [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) +- [Fireside Swift](https://podcasts.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) +- [Swift by Sundell](https://www.swiftbysundell.com/podcast/) +- [Stacktrace](https://stacktracepodcast.fm) + +**[back to top](#contributing-and-collaborating)** + +## Project setup +- [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. +- [liftoff](https://github.com/liftoffcli/liftoff) - Another CLI for creating iOS projects. +- [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. +- [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents. +- [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. +- [xcproj](https://github.com/tuist/xcodeproj) - Read and update Xcode projects. +- [Tuist](https://github.com/tuist/tuist) - A tool to create, maintain and interact with Xcode projects at scale. +- [SwiftKit](https://github.com/SvenTiigi/SwiftKit) - Start your next Open-Source Swift Framework. +- [swift5-module-template](https://github.com/fulldecent/swift5-module-template) - A starting point for any Swift 5 module that you want other people to include in their projects. + +**[back to top](#contributing-and-collaborating)** + +### Prototyping +- [FluidUI](https://www.fluidui.com) +- [Proto.io](https://proto.io/) +- [Framer](https://www.framer.com/) +- [Principle](https://principleformac.com/) + +**[back to top](#contributing-and-collaborating)** + +## Rapid Development + +- [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. +- [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. +- [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. +- [swiftmon](https://github.com/dimpiax/swiftmon) - swiftmon restarts your swift application in case of any file change. +- [Model2App](https://github.com/Q-Mobile/Model2App) - Turn your Swift data model into a working CRUD app. + +**[back to top](#contributing-and-collaborating)** + ## Reactive Programming - [RxSwift](https://github.com/ReactiveX/RxSwift) - Reactive Programming in Swift. - [RxOptional](https://github.com/thanegill/RxOptional) - RxSwift extensions for Swift optionals and "Occupiable" types. @@ -1528,6 +1853,17 @@ Most of these are paid services, some have free tiers. **[back to top](#contributing-and-collaborating)** +## Reference +- [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. +- [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. +- [SwiftSnippets](https://github.com/onmyway133/SwiftSnippets) - A collection of Swift snippets to be used in Xcode. +- [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. +- [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. +- [WWDC-Recap](https://erenkabakci.github.io/WWDC-Recap/) - A collection of session summaries in markdown format, from WWDC 19 & 17. +- [Awesome-ios](https://kandi.openweaver.com/swift/vsouza/awesome-ios) - A curated list of awesome iOS ecosystem. + +**[back to top](#contributing-and-collaborating)** + ## Reflection - [Reflection](https://github.com/Zewo/Reflection) - Reflection provides an API for advanced reflection at runtime including dynamic construction of types. - [Reflect](https://github.com/CharlinFeng/Reflect) - Reflection, Dict2Model, Model2Dict, Archive. @@ -1716,95 +2052,18 @@ Most of these are paid services, some have free tiers. **[back to top](#contributing-and-collaborating)** -## Text -- [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. -- [Nimbus](https://github.com/jverkoey/nimbus) - Nimbus is a toolkit for experienced iOS software designers. -- [NSStringEmojize](https://github.com/diy/nsstringemojize) - A category on NSString to convert Emoji Cheat Sheet codes to their equivalent Unicode characters. -- [MMMarkdown](https://github.com/mdiep/MMMarkdown) - An Objective-C static library for converting Markdown to HTML. -- [DTCoreText](https://github.com/Cocoanetics/DTCoreText) - Methods to allow using HTML code with CoreText. -- [DTRichTextEditor](https://github.com/Cocoanetics/DTRichTextEditor) - A rich-text editor for iOS. -- [NBEmojiSearchView](https://github.com/neerajbaid/NBEmojiSearchView) - A searchable emoji dropdown view. -- [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension. -- [RichEditorView](https://github.com/cjwirth/RichEditorView) - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. -- [Money](https://github.com/danthorpe/Money) - Swift value types for working with money & currency. -- [PhoneNumberKit](https://github.com/marmelroy/PhoneNumberKit) - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. -- [YYText](https://github.com/ibireme/YYText) - Powerful text framework for iOS to display and edit rich text. -- [Format](https://github.com/marmelroy/Format) - A Swift Formatter Kit. -- [Tribute](https://github.com/zats/Tribute) - Programmatic creation of NSAttributedString doesn't have to be a pain. -- [EmojiKit](https://github.com/dasmer/EmojiKit) - Effortless emoji-querying in Swift. -- [Roman](https://github.com/nvzqz/Roman) - Seamless Roman numeral conversion in Swift. -- [ZSSRichTextEditor](https://github.com/nnhubbard/ZSSRichTextEditor) - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view. -- [pangu.Objective-C](https://github.com/Cee/pangu.objective-c) - Paranoid text spacing in Objective-C. -- [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift. -- [Marklight](https://github.com/macteo/Marklight) - Markdown syntax highlighter for iOS. -- [MarkdownTextView](https://github.com/indragiek/MarkdownTextView) - Rich Markdown editing control for iOS. -- [TextAttributes](https://github.com/delba/TextAttributes) - An easier way to compose attributed strings. -- [Reductio](https://github.com/fdzsergio/Reductio) - Automatic summarizer text in Swift. -- [SmarkDown](https://github.com/SwiftStudies/SmarkDown) - A Pure Swift implementation of the markdown mark-up language. -- [SwiftyMarkdown](https://github.com/SimonFairbairn/SwiftyMarkdown) - Converts Markdown files and strings into NSAttributedString. -- [SZMentions](https://github.com/szweier/SZMentions) - Library to help handle mentions. -- [SZMentionsSwift](https://github.com/szweier/SZMentionsSwift) - Library to help handle mentions. -- [Heimdall](https://github.com/henrinormak/Heimdall) - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. -- [NoOptionalInterpolation](https://github.com/T-Pham/NoOptionalInterpolation) - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization. -- [Smile](https://github.com/onmyway133/Smile) Emoji in Swift. -- [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift. -- [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. -- [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set. -- [BonMot](https://github.com/Rightpoint/BonMot) - Beautiful, easy attributed strings in Swift. -- [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). -- [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. -- [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. -- [MarkdownKit](https://github.com/bmoliveira/MarkdownKit) - A simple and customizable Markdown Parser for Swift. -- [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and macOS. -- [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. -- [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for iOS. With UITextField extension. -- [ISO8859](https://github.com/Cosmo/ISO8859) - Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. -- [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/joypixels/emojione). -- [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. -- [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). -- [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). -- [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts. -- [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. -- [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. -- [Attributed](https://github.com/Nirma/Attributed) - Modern Swift µframework for attributed strings. -- [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. -- [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. -- [RealTimeCurrencyFormatter](https://github.com/kaiomedau/realtime-currency-formatter-objc) - An ObjC international currency formatting utility. -- [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. -- [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. -- [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. -- [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. -- [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS. -- [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. -- [fuse-swift](https://github.com/krisk/fuse-swift) - A lightweight fuzzy-search library, with zero dependencies. -- [EFMarkdown](https://github.com/EFPrefix/EFMarkdown) - A lightweight Markdown library for iOS. -- [Croc](https://github.com/jkalash/croc) - A lightweight Swift library for Emoji parsing and querying. -- [PostalCodeValidator](https://github.com/FormatterKit/PostalCodeValidator) - A validator for postal codes with support for 200+ regions. -- [CodeMirror Swift](https://github.com/ProxymanApp/CodeMirror-Swift) - A lightweight wrapper of CodeMirror for macOS and iOS. Support Syntax Highlighting & Themes. -- [TwitterTextEditor](https://github.com/twitter/TwitterTextEditor) - A standalone, flexible API that provides a full featured rich text editor for iOS applications. -- [AztecEditor-iOS](https://github.com/wordpress-mobile/AztecEditor-iOS) - Aztec is a Swift library that provides a `UITextView` subclass with HTML visual-editing capabilities. The plugin API supports customization HTML conversion from/to HTML for compatibility with your needs. - -**[back to top](#contributing-and-collaborating)** - -### Font -- [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. -- [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project. -- [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. -- [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. -- [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported. -- [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon). -- [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. -- [Iconic](https://github.com/home-assistant/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS. -- [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. -- [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. -- [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. -- [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. -- [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Font management (System & Custom) for iOS and tvOS. -- [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! -- [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. -- [Font-Awesome-Swift](https://github.com/Vaberer/Font-Awesome-Swift) - Font Awesome swift library for iOS. -- [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. -- [Money](https://github.com/Flight-School/Money) - A precise, type-safe representation of a monetary amount in a given currency. +## Style Guides +- [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. +- [raywenderlich Style Guide](https://github.com/raywenderlich/objective-c-style-guide) - A style guide that outlines the coding conventions for raywenderlich.com. +- [GitHub Objective-C Style Guide](https://github.com/github/objective-c-style-guide) - Style guide & coding conventions for Objective-C projects. +- [Objective-C Coding Convention and Best Practices](https://gist.github.com/soffes/812796) - Gist with coding conventions. +- [Swift Style Guide by @raywenderlich](https://github.com/raywenderlich/swift-style-guide) - The official Swift style guide for raywenderlich.com. +- [Spotify Objective-C Coding Style](https://github.com/spotify/ios-style) - Guidelines for iOS development in use at Spotify. +- [GitHub - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. +- [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). +- [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift. +- [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. +- [Swift Style Guide by LinkedIn](https://github.com/linkedin/swift-style-guide) - LinkedIn's Official Swift Style Guide. **[back to top](#contributing-and-collaborating)** @@ -1884,6 +2143,100 @@ Most of these are paid services, some have free tiers. **[back to top](#contributing-and-collaborating)** +## Text +- [Twitter Text Obj](https://github.com/twitter/twitter-text) - An Objective-C implementation of Twitter's text processing library. +- [Nimbus](https://github.com/jverkoey/nimbus) - Nimbus is a toolkit for experienced iOS software designers. +- [NSStringEmojize](https://github.com/diy/nsstringemojize) - A category on NSString to convert Emoji Cheat Sheet codes to their equivalent Unicode characters. +- [MMMarkdown](https://github.com/mdiep/MMMarkdown) - An Objective-C static library for converting Markdown to HTML. +- [DTCoreText](https://github.com/Cocoanetics/DTCoreText) - Methods to allow using HTML code with CoreText. +- [DTRichTextEditor](https://github.com/Cocoanetics/DTRichTextEditor) - A rich-text editor for iOS. +- [NBEmojiSearchView](https://github.com/neerajbaid/NBEmojiSearchView) - A searchable emoji dropdown view. +- [Pluralize.swift](https://github.com/joshualat/Pluralize.swift) - Great Swift String Pluralize Extension. +- [RichEditorView](https://github.com/cjwirth/RichEditorView) - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing. +- [Money](https://github.com/danthorpe/Money) - Swift value types for working with money & currency. +- [PhoneNumberKit](https://github.com/marmelroy/PhoneNumberKit) - A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber. +- [YYText](https://github.com/ibireme/YYText) - Powerful text framework for iOS to display and edit rich text. +- [Format](https://github.com/marmelroy/Format) - A Swift Formatter Kit. +- [Tribute](https://github.com/zats/Tribute) - Programmatic creation of NSAttributedString doesn't have to be a pain. +- [EmojiKit](https://github.com/dasmer/EmojiKit) - Effortless emoji-querying in Swift. +- [Roman](https://github.com/nvzqz/Roman) - Seamless Roman numeral conversion in Swift. +- [ZSSRichTextEditor](https://github.com/nnhubbard/ZSSRichTextEditor) - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view. +- [pangu.Objective-C](https://github.com/Cee/pangu.objective-c) - Paranoid text spacing in Objective-C. +- [SwiftString](https://github.com/amayne/SwiftString) - A comprehensive, lightweight string extension for Swift. +- [Marklight](https://github.com/macteo/Marklight) - Markdown syntax highlighter for iOS. +- [MarkdownTextView](https://github.com/indragiek/MarkdownTextView) - Rich Markdown editing control for iOS. +- [TextAttributes](https://github.com/delba/TextAttributes) - An easier way to compose attributed strings. +- [Reductio](https://github.com/fdzsergio/Reductio) - Automatic summarizer text in Swift. +- [SmarkDown](https://github.com/SwiftStudies/SmarkDown) - A Pure Swift implementation of the markdown mark-up language. +- [SwiftyMarkdown](https://github.com/SimonFairbairn/SwiftyMarkdown) - Converts Markdown files and strings into NSAttributedString. +- [SZMentions](https://github.com/szweier/SZMentions) - Library to help handle mentions. +- [SZMentionsSwift](https://github.com/szweier/SZMentionsSwift) - Library to help handle mentions. +- [Heimdall](https://github.com/henrinormak/Heimdall) - Heimdall is a wrapper around the Security framework for simple encryption/decryption operations. +- [NoOptionalInterpolation](https://github.com/T-Pham/NoOptionalInterpolation) - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization. +- [Smile](https://github.com/onmyway133/Smile) Emoji in Swift. +- [ISO8601](https://github.com/onmyway133/iso8601) Super lightweight ISO8601 Date Formatter in Swift. +- [Translucid](https://github.com/Ekhoo/Translucid) - Lightweight library to set an Image as text background. +- [FormatterKit](https://github.com/mattt/FormatterKit) - `stringWithFormat:` for the sophisticated hacker set. +- [BonMot](https://github.com/Rightpoint/BonMot) - Beautiful, easy attributed strings in Swift. +- [SwiftValidators](https://github.com/gkaimakas/SwiftValidators) - String validation for iOS developed in Swift. Inspired by [validator.js](https://www.npmjs.com/package/validator). +- [StringStylizer](https://github.com/kazuhiro4949/StringStylizer) - Type strict builder class for NSAttributedString. +- [SwiftyAttributes](https://github.com/eddiekaiger/SwiftyAttributes) - Swift extensions that make it a breeze to work with attributed strings. +- [MarkdownKit](https://github.com/bmoliveira/MarkdownKit) - A simple and customizable Markdown Parser for Swift. +- [CocoaMarkdown](https://github.com/indragiek/CocoaMarkdown) - Markdown parsing and rendering for iOS and macOS. +- [Notepad](https://github.com/ruddfawcett/Notepad) - A fully themeable markdown editor with live syntax highlighting. +- [KKStringValidator](https://github.com/krizhanovskii/KKStringValidator) - Fast and simple string validation for iOS. With UITextField extension. +- [ISO8859](https://github.com/Cosmo/ISO8859) - Convert ISO8859 1-16 Encoded Text to String in Swift. Supports iOS, tvOS, watchOS and macOS. +- [Emojica](https://github.com/xoudini/emojica) - Replace standard emoji in strings with a custom emoji set, such as [Twemoji](https://github.com/twitter/twemoji) or [EmojiOne](https://github.com/joypixels/emojione). +- [SwiftRichString](https://github.com/malcommac/SwiftRichString) - Elegant & Painless Attributed Strings Management Library in Swift. +- [libPhoneNumber-iOS](https://github.com/iziz/libPhoneNumber-iOS) - iOS port from libphonenumber (Google's phone number handling library). +- [AttributedTextView](https://github.com/evermeer/AttributedTextView) - Easiest way to create an attributed UITextView with support for multiple links (including hashtags and mentions). +- [StyleDecorator](https://github.com/dimpiax/StyleDecorator) - Design string simply by linking attributes to needed parts. +- [Mustard](https://github.com/mathewsanders/Mustard) - Mustard is a Swift library for tokenizing strings when splitting by whitespace doesn't cut it. +- [Input Mask](https://github.com/RedMadRobot/input-mask-ios) - Pattern-based user input formatter, parser and validator for iOS. +- [Attributed](https://github.com/Nirma/Attributed) - Modern Swift µframework for attributed strings. +- [Atributika](https://github.com/psharanda/Atributika) - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns. +- [Guitar](https://github.com/ArtSabintsev/Guitar) - A Cross-Platform String Library Written in Swift. +- [RealTimeCurrencyFormatter](https://github.com/kaiomedau/realtime-currency-formatter-objc) - An ObjC international currency formatting utility. +- [Down](https://github.com/iwasrobbed/Down) - Blazing fast Markdown rendering in Swift, built upon cmark. +- [Marky Mark](https://github.com/m2mobi/Marky-Mark) - Highly customizable Markdown parsing and native rendering in Swift. +- [MarkdownView](https://github.com/keitaoouchi/MarkdownView) - Markdown View for iOS. +- [Highlighter](https://github.com/younatics/Highlighter) - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class. +- [Sprinter](https://github.com/nicklockwood/Sprinter) - A library for formatting strings on iOS and macOS. +- [Highlightr](https://github.com/raspu/Highlightr) - An iOS & macOS syntax highlighter, supports 176 languages and comes with 79 styles. +- [fuse-swift](https://github.com/krisk/fuse-swift) - A lightweight fuzzy-search library, with zero dependencies. +- [EFMarkdown](https://github.com/EFPrefix/EFMarkdown) - A lightweight Markdown library for iOS. +- [Croc](https://github.com/jkalash/croc) - A lightweight Swift library for Emoji parsing and querying. +- [PostalCodeValidator](https://github.com/FormatterKit/PostalCodeValidator) - A validator for postal codes with support for 200+ regions. +- [CodeMirror Swift](https://github.com/ProxymanApp/CodeMirror-Swift) - A lightweight wrapper of CodeMirror for macOS and iOS. Support Syntax Highlighting & Themes. +- [TwitterTextEditor](https://github.com/twitter/TwitterTextEditor) - A standalone, flexible API that provides a full featured rich text editor for iOS applications. +- [AztecEditor-iOS](https://github.com/wordpress-mobile/AztecEditor-iOS) - Aztec is a Swift library that provides a `UITextView` subclass with HTML visual-editing capabilities. The plugin API supports customization HTML conversion from/to HTML for compatibility with your needs. + +**[back to top](#contributing-and-collaborating)** + +### Font +- [FontBlaster](https://github.com/ArtSabintsev/FontBlaster) - Programmatically load custom fonts into your iOS app. +- [GoogleMaterialIconFont](https://github.com/kitasuke/GoogleMaterialIconFont) - Google Material Design Icons for Swift and ObjC project. +- [ios-fontawesome](https://github.com/alexdrone/ios-fontawesome) - NSString+FontAwesome. +- [FontAwesome.swift](https://github.com/thii/FontAwesome.swift) - Use FontAwesome in your Swift projects. +- [SwiftFontName](https://github.com/morizotter/SwiftFontName) - OS font complements library. Localized font supported. +- [SwiftIconFont](https://github.com/0x73/SwiftIconFont) - Icons fonts for iOS (FontAwesome, Iconic, Ionicon, Octicon, Themify, MapIcon, MaterialIcon). +- [FontAwesomeKit](https://github.com/PrideChung/FontAwesomeKit) - Icon font library for iOS. Currently supports Font-Awesome, Foundation icons, Zocial, and ionicons. +- [Iconic](https://github.com/home-assistant/Iconic) - Auto-generated icon font library for iOS, watchOS and tvOS. +- [GoogleMaterialDesignIcons](https://github.com/dekatotoro/GoogleMaterialDesignIcons) - Google Material Design Icons Font for iOS. +- [OcticonsKit](https://github.com/keitaoouchi/OcticonsKit) - Use Octicons as UIImage / UIFont in your projects with Swifty manners. +- [IoniconsKit](https://github.com/keitaoouchi/IoniconsKit) - Use Ionicons as UIImage / UIFont in your projects with Swifty manners. +- [FontAwesomeKit.Swift](https://github.com/qiuncheng/FontAwesomeKit.Swift) - A better choice for iOS Developer to use FontAwesome Icon. +- [UIFontComplete](https://github.com/Nirma/UIFontComplete) - Font management (System & Custom) for iOS and tvOS. +- [Swicon](https://github.com/UglyTroLL/Swicon) - Use 1600+ icons (and more!) from FontAwesome and Google Material Icons in your swift/iOS project in an easy and space-efficient way! +- [SwiftIcons](https://github.com/ranesr/SwiftIcons) - A library for using different font icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather. It supports UIImage, UIImageView, UILabel, UIButton, UISegmentedControl, UITabBarItem, UISlider, UIBarButtonItem, UIViewController, UITextfield, UIStepper. +- [Font-Awesome-Swift](https://github.com/Vaberer/Font-Awesome-Swift) - Font Awesome swift library for iOS. +- [JQSwiftIcon](https://github.com/josejuanqm/JQSwiftIcon) - Icon Fonts on iOS using string interpolation written in Swift. +- [Money](https://github.com/Flight-School/Money) - A precise, type-safe representation of a monetary amount in a given currency. + +**[back to top](#contributing-and-collaborating)** + + + ## UI - [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. - [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. @@ -3023,6 +3376,31 @@ Most of these are paid services, some have free tiers. **[back to top](#contributing-and-collaborating)** +## Websites +- [BGR](https://bgr.com/ios-7/) +- [iMore](https://www.imore.com/) +- [Lifehacker](https://lifehacker.com/tag/ios) +- [NSHipster](https://nshipster.com) +- [Objc.io](https://www.objc.io/) +- [ASCIIwwdc](https://asciiwwdc.com/) +- [Natasha The Robot](https://www.natashatherobot.com/) +- [Apple's Swift Blog](https://developer.apple.com/swift/blog/) +- [iOS Programming Subreddit](https://www.reddit.com/r/iOSProgramming/) +- [iOS8-day-by-day](https://github.com/ScottLogic/iOS8-day-by-day) +- [iOScreator](https://www.ioscreator.com/) +- [Mathew Sanders](http://mathewsanders.com/) +- [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) +- [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. +- [iOS9-day-by-day](https://github.com/ScottLogic/iOS9-day-by-day) +- [Code Facebook](https://engineering.fb.com/category/ios/) +- [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. +- [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. +- [Ohmyswift](https://www.ohmyswift.com/blog/) +- [Point Free](https://www.pointfree.co/) - A video series exploring functional programming and Swift. + +**[back to top](#contributing-and-collaborating)** + + ## WebSocket - [SocketRocket](https://github.com/facebook/SocketRocket) - A conforming Objective-C WebSocket client library. - [socket.io-client-swift](https://github.com/socketio/socket.io-client-swift) - Socket.IO-client for iOS/macOS. @@ -3036,35 +3414,8 @@ Most of these are paid services, some have free tiers. **[back to top](#contributing-and-collaborating)** -## Project setup -- [crafter](https://github.com/krzysztofzablocki/crafter) - CLI that allows you to configure iOS project's template using custom DSL syntax, simple to use and quite powerful. -- [liftoff](https://github.com/liftoffcli/liftoff) - Another CLI for creating iOS projects. -- [amaro](https://github.com/crushlovely/Amaro) - iOS Boilerplate full of delights. -- [chairs](https://github.com/orta/chairs) - Swap around your iOS Simulator Documents. -- [SwiftPlate](https://github.com/JohnSundell/SwiftPlate) - Easily generate cross platform Swift framework projects from the command line. -- [xcproj](https://github.com/tuist/xcodeproj) - Read and update Xcode projects. -- [Tuist](https://github.com/tuist/tuist) - A tool to create, maintain and interact with Xcode projects at scale. -- [SwiftKit](https://github.com/SvenTiigi/SwiftKit) - Start your next Open-Source Swift Framework. -- [swift5-module-template](https://github.com/fulldecent/swift5-module-template) - A starting point for any Swift 5 module that you want other people to include in their projects. - -**[back to top](#contributing-and-collaborating)** - -## Dependency / Package Manager -- [CocoaPods](https://cocoapods.org/) - CocoaPods is the dependency manager for Objective-C projects. It has thousands of libraries and can help you scale your projects elegantly. -- [Xcode Maven](http://sap-production.github.io/xcode-maven-plugin/site/) - The Xcode Maven Plugin can be used in order to run Xcode builds embedded in a Maven lifecycle. -- [Carthage](https://github.com/Carthage/Carthage) - A simple, decentralized dependency manager for Cocoa. -- [SWM (Swift Modules)](https://github.com/jankuca/swm) - 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](https://github.com/devxoul/CocoaSeeds) - Git Submodule Alternative for Cocoa. -- [swift-package-manager](https://github.com/apple/swift-package-manager) - The Package Manager for the Swift Programming Language. -- [punic](https://github.com/schwa/punic) - Clean room reimplementation of Carthage tool. -- [Rome](https://github.com/tmspzz/Rome) - A cache tool for Carthage built frameworks. -- [Athena](https://github.com/yunarta/works-athena-gradle-plugin) - Gradle Plugin to enhance Carthage by uploading the archived frameworks into Maven repository, currently support only Bintray, Artifactory and Mavel local. -- [Accio](https://github.com/JamitLabs/Accio) - A SwiftPM based dependency manager for iOS & Co. with improvements over Carthage. - -**[back to top](#contributing-and-collaborating)** ## Tools - - [Shark](https://github.com/kaandedeoglu/Shark) - Swift Script that transforms the .xcassets folder into a type safe enum. - [SBConstants](https://github.com/paulsamuels/SBConstants) - Generate a constants file by grabbing identifiers from storyboards in a project. - [R.swift](https://github.com/mac-cain13/R.swift) - Tool to get strong typed, autocompleted resources like images, cells and segues in your Swift project. @@ -3150,88 +3501,44 @@ Most of these are paid services, some have free tiers. **[back to top](#contributing-and-collaborating)** -## Rapid Development - -- [Playgrounds](https://github.com/krzysztofzablocki/Playgrounds) - Playgrounds for Objective-C for extremely fast prototyping / learning. -- [MMBarricade](https://github.com/mutualmobile/MMBarricade) - Runtime configurable local server for iOS apps. -- [STV Framework](http://www.sensiblecocoa.com) - Native visual iOS development. -- [swiftmon](https://github.com/dimpiax/swiftmon) - swiftmon restarts your swift application in case of any file change. -- [Model2App](https://github.com/Q-Mobile/Model2App) - Turn your Swift data model into a working CRUD app. - -**[back to top](#contributing-and-collaborating)** - - -## Code Injection - -- [dyci](https://github.com/DyCI/dyci-main) - Code injection tool. -- [injectionforxcode](https://github.com/johnno1962/injectionforxcode) - Code injection including Swift. -- [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. - -**[back to top](#contributing-and-collaborating)** - - -## Dependency Injection - -- [Swinject](https://github.com/Swinject/Swinject) - Dependency injection framework for Swift. -- [Reliant](https://github.com/appfoundry/Reliant) - Nonintrusive Objective-C dependency injection. -- [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. -- [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. -- [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection for Objective-C. -- [Pilgrim](https://github.com/appsquickly/pilgrim) - Powerful dependency injection Swift (successor to Typhoon). -- [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. -- [Alchemic](https://github.com/drekka/Alchemic) - Advanced, yet simple to use DI framework for Objective-C. -- [Guise](https://github.com/prosumma/Guise) - An elegant, flexible, type-safe dependency resolution framework for Swift. -- [Weaver](https://github.com/scribd/Weaver) - A declarative, easy-to-use and safe Dependency Injection framework for Swift. -- [StoryboardBuilder](https://github.com/hiro-nagami/StoryboardBuilder) - Simple dependency injection for generating views from storyboard. -- [ViperServices](https://github.com/ladeiko/ViperServices) - Dependency injection container for iOS applications written in Swift. Each service can have boot and shutdown code. -- [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS applications written in clean Swift. -- [Needle](https://github.com/uber/needle) — Compile-time safe Swift dependency injection framework with real code. -- [Locatable](https://github.com/vincent-pradeilles/locatable) - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern. - -**[back to top](#contributing-and-collaborating)** - -## Deployment / Distribution - -- [fastlane](https://github.com/fastlane/fastlane) - Connect all iOS deployment tools into one streamlined workflow. -- [deliver](https://github.com/fastlane/fastlane/tree/master/deliver) - Upload screenshots, metadata and your app to the App Store using a single command. -- [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot) - Automate taking localized screenshots of your iOS app on every device. -- [buddybuild](https://www.buddybuild.com/) - A mobile iteration platform - build, deploy, and collaborate. -- [Bitrise](https://www.bitrise.io) - Mobile Continuous Integration & Delivery with dozens of integrations to build, test, deploy and collaborate. -- [watchbuild](https://github.com/fastlane/watchbuild) - Get a notification once your iTunes Connect build is finished processing. -- [Crashlytics](https://firebase.google.com/products/crashlytics/) - A crash reporting and beta testing service. -- [TestFlight Beta Testing](https://developer.apple.com/testflight/) - The beta testing service hosted on iTunes Connect (requires iOS 8 or later). -- [AppCenter](https://appcenter.ms) - Continuously build, test, release, and monitor apps for every platform. -- [boarding](https://github.com/fastlane/boarding) - Instantly create a simple signup page for TestFlight beta testers. -- [HockeyKit](https://github.com/bitstadium/HockeyKit) - A software update kit. -- [Rollout.io](https://rollout.io/) - SDK to patch, fix bugs, modify and manipulate native apps (Obj-c & Swift) in real-time. -- [AppLaunchpad](https://theapplaunchpad.com/) - Free App Store screenshot builder. -- [LaunchKit](https://github.com/LaunchKit/LaunchKit) - A set of web-based tools for mobile app developers, now open source! -- [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. -- [Appfigurate](https://github.com/electricbolt/appfiguratesdk) - Secure runtime configuration for iOS and watchOS, apps and app extensions. -- [ScreenshotFramer](https://github.com/IdeasOnCanvas/ScreenshotFramer) - With Screenshot Framer you can easily create nice-looking and localized App Store Images. -- [Semaphore](https://semaphoreci.com/product/ios) - 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. -- [Appcircle.io](https://appcircle.io) — An enterprise-grade mobile DevOps platform that automates the build, test, and publish store of mobile apps for faster, efficient release cycle -- [Screenplay](https://screenplay.dev) - Instant rollbacks and canary deployments for iOS. -- [Codemagic](https://codemagic.io) - Build, test and deliver iOS apps 20% faster with Codemagic CI/CD. -- [Runway](https://runway.team) - 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. -- [ios-uploader](https://github.com/simonnilsson/ios-uploader) - Easy to use, cross-platform tool to upload iOS apps to App Store Connect. +## Tutorials and Keynotes +- [AppCoda](https://www.appcoda.com/) +- [Tutorials Point](https://www.tutorialspoint.com/ios/index.htm) +- [Code with Chris](https://codewithchris.com/) +- [Cocoa with Love](http://www.cocoawithlove.com/) +- [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. +- [raywenderlich.com](https://www.raywenderlich.com/ios) - Tutorials for developers and gamers. +- [Mike Ash](https://www.mikeash.com/pyblog/) +- [Big Nerd Ranch](https://www.bignerdranch.com/blog/category/ios/) +- [Tuts+](https://code.tutsplus.com/categories/ios-sdk) +- [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) +- [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. +- [Cocoa Dev Central](http://cocoadevcentral.com) +- [Use Your Loaf](https://useyourloaf.com/) +- [Swift Tutorials by Jameson Quave](https://jamesonquave.com/blog/tutorials/) +- [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift. +- [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - A List of Awesome Swift Playgrounds! +- [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. +- [SwiftUI Tutorials](https://JaneshSwift.com) - Learn SwiftUI & Swift for FREE. +- [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. +- [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. +- [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. +- [Realm Academy](https://academy.realm.io/) +- [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. +- [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. +- [Conferences.digital](https://github.com/zagahr/Conferences.digital) - Watch conference videos in a native macOS app. +- [DaddyCoding](https://daddycoding.com/) - iOS Tutorials ranging from beginners to advance. +- [Learn Swift](https://blog.coursesity.com/best-swift-tutorials/) - Learn Swift - curated list of the top online Swift tutorials and courses. **[back to top](#contributing-and-collaborating)** -## App Store - -- [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/#common-app-rejections) - Highlighted some of the most common issues that cause apps to get rejected. -- [Free App Store Optimization Tool](https://www.mobileaction.co) - Lets you track your App Store visibility in terms of keywords and competitors. -- [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. -- [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. -- [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. -- [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. -- [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. -- [AppVersion](https://github.com/amebalabs/AppVersion) - Keep users on the up-to date version of your App. +### UI Templates +- [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) +- [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) +- [iOS 11 iPhone GUI from Design at Meta](https://design.facebook.com/toolsandresources/ios-11-iphone-gui/) **[back to top](#contributing-and-collaborating)** - ## Xcode ### Extensions @@ -3282,218 +3589,3 @@ Most of these are paid services, some have free tiers. - [Swift Macros 🚀](https://github.com/krzysztofzablocki/Swift-Macros) - A curated list of community-created Macros and associated learning resources. **[back to top](#contributing-and-collaborating)** - -## Reference -- [Swift Cheat Sheet](https://github.com/iwasrobbed/Swift-CheatSheet) - A quick reference cheat sheet for common, high level topics in Swift. -- [Objective-C Cheat Sheet](https://github.com/iwasrobbed/Objective-C-CheatSheet) - A quick reference cheat sheet for common, high level topics in Objective-C. -- [SwiftSnippets](https://github.com/onmyway133/SwiftSnippets) - A collection of Swift snippets to be used in Xcode. -- [App Store Checklist](https://github.com/whitef0x0/app-store-checklist) - A checklist of what to look for before submitting your app to the App Store. -- [whats-new-in-swift-4](https://github.com/ole/whats-new-in-swift-4) - An Xcode playground showcasing the new features in Swift 4.0. -- [WWDC-Recap](https://erenkabakci.github.io/WWDC-Recap/) - A collection of session summaries in markdown format, from WWDC 19 & 17. -- [Awesome-ios](https://kandi.openweaver.com/swift/vsouza/awesome-ios) - A curated list of awesome iOS ecosystem. - -**[back to top](#contributing-and-collaborating)** - -## Style Guides -- [NY Times - Objective C Style Guide](https://github.com/NYTimes/objective-c-style-guide) - The Objective-C Style Guide used by The New York Times. -- [raywenderlich Style Guide](https://github.com/raywenderlich/objective-c-style-guide) - A style guide that outlines the coding conventions for raywenderlich.com. -- [GitHub Objective-C Style Guide](https://github.com/github/objective-c-style-guide) - Style guide & coding conventions for Objective-C projects. -- [Objective-C Coding Convention and Best Practices](https://gist.github.com/soffes/812796) - Gist with coding conventions. -- [Swift Style Guide by @raywenderlich](https://github.com/raywenderlich/swift-style-guide) - The official Swift style guide for raywenderlich.com. -- [Spotify Objective-C Coding Style](https://github.com/spotify/ios-style) - Guidelines for iOS development in use at Spotify. -- [GitHub - Style guide & coding conventions for Swift projects](https://github.com/github/swift-style-guide) - A guide to our Swift style and conventions by @github. -- [Futurice iOS Good Practices](https://github.com/futurice/ios-good-practices) - iOS starting guide and good practices suggestions by [@futurice](https://github.com/futurice). -- [SlideShare Swift Style Guide](https://github.com/SlideShareInc/swift-style-guide/blob/master/swift_style_guide.md) - SlideShare Swift Style Guide we are using for our upcoming iOS 8 only app written in Swift. -- [Prolific Interactive Style Guide](https://github.com/prolificinteractive/swift-style-guide) - A style guide for Swift. -- [Swift Style Guide by LinkedIn](https://github.com/linkedin/swift-style-guide) - LinkedIn's Official Swift Style Guide. - -**[back to top](#contributing-and-collaborating)** - -## Good Websites - -### News, Blogs and more -- [BGR](https://bgr.com/ios-7/) -- [iMore](https://www.imore.com/) -- [Lifehacker](https://lifehacker.com/tag/ios) -- [NSHipster](https://nshipster.com) -- [Objc.io](https://www.objc.io/) -- [ASCIIwwdc](https://asciiwwdc.com/) -- [Natasha The Robot](https://www.natashatherobot.com/) -- [Apple's Swift Blog](https://developer.apple.com/swift/blog/) -- [iOS Programming Subreddit](https://www.reddit.com/r/iOSProgramming/) -- [iOS8-day-by-day](https://github.com/ScottLogic/iOS8-day-by-day) -- [iOScreator](https://www.ioscreator.com/) -- [Mathew Sanders](http://mathewsanders.com/) -- [iOS Dev Nuggets](http://hboon.com/iosdevnuggets/) -- [iOS Developer and Designer interview](https://github.com/9magnets/iOS-Developer-and-Designer-Interview-Questions) - A small guide to help those looking to hire a developer or designer for iOS work. -- [iOS9-day-by-day](https://github.com/ScottLogic/iOS9-day-by-day) -- [Code Facebook](https://engineering.fb.com/category/ios/) -- [Feeds for iOS Developer](https://github.com/rgnlax/Feeds-for-iOS-Developer) - The list of RSS feeds for iOS developers. -- [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. -- [Ohmyswift](https://www.ohmyswift.com/blog/) -- [Point Free](https://www.pointfree.co/) - A video series exploring functional programming and Swift. - -**[back to top](#contributing-and-collaborating)** - - -### UIKit references -- [iOS Fonts](http://iosfonts.com/) -- [UIAppearance list](https://gist.github.com/mattt/5135521) - -**[back to top](#contributing-and-collaborating)** - -### Forums and discuss lists -- ["iOS" on Stackoverflow](https://stackoverflow.com/questions/tagged/ios) - -**[back to top](#contributing-and-collaborating)** - -### Tutorials and Keynotes -- [AppCoda](https://www.appcoda.com/) -- [Tutorials Point](https://www.tutorialspoint.com/ios/index.htm) -- [Code with Chris](https://codewithchris.com/) -- [Cocoa with Love](http://www.cocoawithlove.com/) -- [Brian Advent youtube channel](https://www.youtube.com/channel/UCysEngjfeIYapEER9K8aikw/videos) - Swift tutorials Youtube Channel. -- [raywenderlich.com](https://www.raywenderlich.com/ios) - Tutorials for developers and gamers. -- [Mike Ash](https://www.mikeash.com/pyblog/) -- [Big Nerd Ranch](https://www.bignerdranch.com/blog/category/ios/) -- [Tuts+](https://code.tutsplus.com/categories/ios-sdk) -- [Thinkster](https://thinkster.io/a-better-way-to-learn-swift) -- [Swift Education](https://github.com/swifteducation) - A community of educators sharing materials for teaching Swift and app development. -- [Cocoa Dev Central](http://cocoadevcentral.com) -- [Use Your Loaf](https://useyourloaf.com/) -- [Swift Tutorials by Jameson Quave](https://jamesonquave.com/blog/tutorials/) -- [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift. -- [Awesome-Swift-Playgrounds](https://github.com/uraimo/Awesome-Swift-Playgrounds) - A List of Awesome Swift Playgrounds! -- [learn-swift](https://github.com/nettlep/learn-swift) - Learn Apple's Swift programming language interactively through these playgrounds. -- [SwiftUI Tutorials](https://JaneshSwift.com) - Learn SwiftUI & Swift for FREE. -- [Treehouse's iOS Courses and Workshops](https://teamtreehouse.com/library/topic:ios) - Topics for beginner and advanced developers in both Objective-C and Swift. -- [The Swift Summary Book](https://github.com/jakarmy/swift-summary) - A summary of Apple's Swift language written on Playgrounds. -- [Hacking With Swift](https://www.hackingwithswift.com) - Learn to code iPhone and iPad apps with 3 Swift tutorials. -- [Realm Academy](https://academy.realm.io/) -- [LearnAppMaking](https://learnappmaking.com) - LearnAppMaking helps app developers to build, launch and market iOS apps. -- [iOS Development with Swift in Motion ](https://www.manning.com/livevideo/ios-development-with-swift-lv) - This live video course locks in the language fundamentals and then offers interesting examples and exercises to build and practice your knowledge and skills. -- [Conferences.digital](https://github.com/zagahr/Conferences.digital) - Watch conference videos in a native macOS app. -- [DaddyCoding](https://daddycoding.com/) - iOS Tutorials ranging from beginners to advance. -- [Learn Swift](https://blog.coursesity.com/best-swift-tutorials/) - Learn Swift - curated list of the top online Swift tutorials and courses. - -**[back to top](#contributing-and-collaborating)** - -### iOS UI Template -- [iOS UI Design Kit](https://www.invisionapp.com/inside-design/design-resources/tethr/) -- [iOS Design Guidelines](https://ivomynttinen.com/blog/ios-design-guidelines) -- [iOS 11 iPhone GUI from Design at Meta](https://design.facebook.com/toolsandresources/ios-11-iphone-gui/) - -**[back to top](#contributing-and-collaborating)** - -### Prototyping -- [FluidUI](https://www.fluidui.com) -- [Proto.io](https://proto.io/) -- [Framer](https://www.framer.com/) -- [Principle](https://principleformac.com/) - -**[back to top](#contributing-and-collaborating)** - -### Newsletters -- [AwesomeiOS Weekly](http://weekly.awesomeios.com) - AwesomeiOS Weekly. -- [iOS Goodies](https://ios-goodies.com) - Weekly iOS newsletter. -- [raywenderlich.com Weekly](https://www.raywenderlich.com/newsletter) - sign up to receive the latest tutorials from raywenderlich.com each week. -- [iOS Dev Tools Weekly](https://iosdev.tools) - The greatest iOS development tools, including websites, desktop and mobile apps, and back-end services. -- [iOS Trivia Weekly](https://wanderbit.us4.list-manage.com/subscribe?u=4e20cd8ea3a0ce09ff4619a52&id=5898a5992b) - Three challenging questions about iOS development every Wednesday. -- [Indie iOS Focus Weekly](http://indieiosfocus.com/) - Looking for the best iOS dev links, tutorials, & tips beyond the usual news? Curated by Chris Beshore. Published every Thursday. -- [iOS Dev Weekly](https://iosdevweekly.com/) - Subscribe to a hand-picked round up of the best iOS development links every week. Free. -- [Swift Weekly Brief](https://swiftweekly.github.io/) - A community-driven weekly newsletter about Swift.org. Curated by Jesse Squires and published for free every Thursday. -- [Server-Side Swift Weekly](https://www.serverswift.tech) - A weekly newsletter with the best links related to server-side Swift and cross-platform developer tools. Curated by [@maxdesiatov](https://twitter.com/maxdesiatov) -- [iOS Cookies Newsletter](https://us11.campaign-archive.com/home/?u=cd1f3ed33c6527331d82107ba&id=532dc7fb64) - A weekly digest of new iOS libraries written in Swift. -- [Swift Developments](https://andybargh.com/swiftdevelopments/) - A weekly curated newsletter containing a hand picked selection of the latest links, videos, tools and tutorials for people interested in designing and developing their own iOS, WatchOS and AppleTV apps using Swift. -- [Mobile Developers Cafe](https://mobiledeveloperscafe.com) - A weekly newsletter for Mobile developers with loads of iOS content. -- [Indie Watch](https://indie.watch/) - A weekly newsletter featuring the best apps made by indie iOS developers. -- [SwiftLee](https://www.avanderlee.com/) - A weekly blog about Swift, iOS and Xcode Tips and Tricks. - -**[back to top](#contributing-and-collaborating)** - -### Medium -- [iOS App Development](https://medium.com/ios-os-x-development) - Stories and technical tips about building apps for iOS, Apple Watch, and iPad/iPhone. -- [Swift Programming](https://medium.com/swift-programming) - The Swift Programming Language. -- [Flawless App](https://medium.com/flawless-app-stories) - Development & design & marketing tips for iOS developers. - -**[back to top](#contributing-and-collaborating)** - -## Social Media - -## Podcasts -- [The Ray Wenderlich Podcast](https://www.raywenderlich.com/podcast) -- [Debug](https://www.imore.com/debug) -- [App Story](http://www.appstorypodcast.com) -- [iPhreaks](https://devchat.tv/iphreaks/) -- [Under the Radar](https://www.relay.fm/radar) -- [Core Intuition](http://coreint.org/) -- [Swift Playhouse](http://www.swiftplayhouse.com/) -- [Release Notes](https://releasenotes.tv/) -- [More Than Just Code](https://mtjc.fireside.fm/) -- [Runtime](https://spec.fm/podcasts/runtime) -- [Consult](https://consultpodcast.com/#_=_) -- [Swift Unwrapped](https://spec.fm/podcasts/swift-unwrapped) -- [Fireside Swift](https://podcasts.apple.com/us/podcast/fireside-swift/id1269435221?mt=2) -- [Swift by Sundell](https://www.swiftbysundell.com/podcast/) -- [Stacktrace](https://stacktracepodcast.fm) - -**[back to top](#contributing-and-collaborating)** - -## Books -- [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) -- [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-seventh-edition/) -- [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) -- [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) -- [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) -- [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) -- [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) -- [iOS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) -- [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) -- [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) -- [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) -- [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) -- [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) -- [Swift in Depth](https://www.manning.com/books/swift-in-depth) - -**[back to top](#contributing-and-collaborating)** - -## Other Awesome Lists - -*Other amazingly awesome lists can be found in the* - -- [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) list. -- [Open Source apps](https://github.com/dkhamsing/open-source-ios-apps) list of open source iOS apps. -- Awesome-swift - - [@matteocrippa](https://github.com/matteocrippa/awesome-swift) - A collaborative list of awesome swift resources. - - [@Wolg](https://github.com/Wolg/awesome-swift) - A curated list of awesome Swift frameworks, libraries and software. - - [Awesome-Swift-Education](https://github.com/hsavit1/Awesome-Swift-Education) - All of the resources for Learning About Swift. -- [awesome watchkit apps](https://github.com/sanketfirodiya/sample-watchkit-apps) curated list of sample watchkit apps and tutorials. -- [iOS Learning Resources](https://github.com/sanketfirodiya/iOS-learning-resources) Comprehensive collection of high quality, frequently updated and well maintained iOS tutorial sites. -- Awesome iOS Animation - - [@ameizi](https://github.com/ameizi/awesome-ios-animation) - A curated list of awesome iOS animation, including Objective-C and Swift libraries. - - [@jzau](https://github.com/jzau/awesome-ios-animation) - Collection of Animation projects. -- [awesome-ios-chart](https://github.com/ameizi/awesome-ios-chart) - A curated list of awesome iOS chart libraries, including Objective-C and Swift. -- [awesome-gists](https://github.com/vsouza/awesome-gists#ios) - A list of amazing gists (iOS section). -- [awesome-ios-ui](https://github.com/cjwirth/awesome-ios-ui) - A curated list of awesome iOS UI/UX libraries. -- [Awesome-Server-Side-Swift/TheList](https://github.com/Awesome-Server-Side-Swift/TheList) - A list of Awesome Server Side Swift 3 projects. -- [awesome-interview-questions](https://github.com/MaximAbramchuck/awesome-interview-questions#ios) - A curated awesome list of lists of interview questions including iOS. -- [iOS-Playbook](https://github.com/bakkenbaeck/iOS-handbook) - Guidelines and best practices for excellent iOS apps. -- [iOS-Learning-Materials](https://github.com/jVirus/iOS-Learning-Materials) - Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS. -- [Awesome-iOS-Twitter](https://github.com/carolanitz/Awesome-iOS-Twitter) - A curated list of awesome iOS Twitter accounts. -- [Marketing for Engineers](https://github.com/LisaDziuba/Marketing-for-Engineers) - A curated collection of marketing articles & tools to grow your product. -- [Awesome ARKit](https://github.com/olucurious/Awesome-ARKit) - A curated list of awesome ARKit projects and resources. -- [CocoaConferences](https://github.com/Lascorbe/CocoaConferences) - List of cocoa conferences for iOS & macOS developers. -- [example-ios-apps](https://github.com/jogendra/example-ios-apps) - A curated list of Open Source example iOS apps developed in Swift. -- [Curated-Resources-for-Learning-Swift](https://hackr.io/tutorials/learn-ios-swift) - A curated list of resources recommended by the developers. -- [ClassicProblemSolvingAndDataStructuresInSwift](https://github.com/smalam119/classic-problem-solving-algorithms-and-data-structures-in-swift) - Collection of popular algorithms, data structure and problem solving in Swift 4. -- [Awesome list of open source applications for macOS](https://github.com/serhii-londar/open-source-mac-os-apps) - List of awesome open source applications for macOS. -- [Awesome iOS Interview question list](https://github.com/dashvlas/awesome-ios-interview) - Guide for interviewers and interviewees. Review these iOS interview questions - and get some practical tips along the way. -- [Top App Developers](https://github.com/app-developers/top) - A list of top iOS app developers. -- [awesome-ios-developer](https://github.com/jphong1111/awesome-ios-developer) - Useful knowledges and stuff for ios developer. -- [awesome-ios-books](https://github.com/bystritskiy/awesome-ios-books) - A list of books for iOS developers. - -**[back to top](#contributing-and-collaborating)** - -## Contributing and License -- [See the guide](https://github.com/vsouza/awesome-ios/blob/master/.github/CONTRIBUTING.md) -- Distributed under the MIT license. See LICENSE for more information. From 6e05258c8b6561b2b783ac2a0abb7212a4f65c51 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 13:47:44 -0300 Subject: [PATCH 2562/2606] Delete sponsor_banner.gif --- sponsor_banner.gif | Bin 883451 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 sponsor_banner.gif diff --git a/sponsor_banner.gif b/sponsor_banner.gif deleted file mode 100644 index a374a5f18b9172faf56baf2df9a2f26fb66a562e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 883451 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%0AQS=PKdX|T@h?yP`Q-AjQwIBJ_`U}V?C2ti;Pf%H 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%0AYNo*Wj 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
I=S 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

bdy?Gc$T0 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]Y8#OOB=aN2--*eDuAe#SsV9R;< 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�ALbZaLUJ5yv92ic()N_RzONgPT~gY3i1)4gX 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 From c73c111215d431eb9a382cf07095c2cbc55d0941 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 13:56:53 -0300 Subject: [PATCH 2563/2606] remove accessbility and alexa categories, projects was outdated --- README.md | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/README.md b/README.md index be1ee2e9e..94eb49f73 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git ## Contents -- [Accessibility](#accessibility) -- [Alexa](#alexa) - [Analytics](#analytics) - [App Routing](#app-routing) - [Apple TV](#apple-tv) @@ -173,17 +171,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Other Xcode](#other-xcode) -## Accessibility - - *Frameworks that help to support accessibility features and enable people with disabilities to use your app* - -- [Capable](https://github.com/chrs1885/Capable) - Track accessibility features to improve your app for people with certain disabilities. - -## Alexa - -*Frameworks that help to support writing custom alexa skills in swift* - -- [AlexaSkillsKit](https://github.com/choefele/AlexaSkillsKit) - Swift library to develop custom Alexa Skills. ## Analytics @@ -3589,3 +3576,4 @@ Most of these are paid services, some have free tiers. - [Swift Macros 🚀](https://github.com/krzysztofzablocki/Swift-Macros) - A curated list of community-created Macros and associated learning resources. **[back to top](#contributing-and-collaborating)** + From 2b346636749b736a277a337729e74611d2d5ee7e Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 14:01:40 -0300 Subject: [PATCH 2564/2606] Update README.md --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 94eb49f73..23f8d0230 100644 --- a/README.md +++ b/README.md @@ -176,7 +176,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git *Analytics platforms, SDK's, error tracking and real-time answers about your app* -- [Abbi](https://github.com/abbiio/iosdk) - A Simple SDK for developers to manage and maximise conversions of all in-app promotions. - [Aptabase](https://aptabase.com/for-swift) - Open Source, Privacy-First and Simple Analytics for Swift Apps. - [Answers by Fabric](https://get.fabric.io) - Answers gives you real-time insight into people’s experience in your app. - [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. @@ -184,7 +183,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. - [Emerge Tools](https://www.emergetools.com) - Prevent app size & performance regressions on every pull request, get automated insights on how to improve. - [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. -- [Localytics](https://www.localytics.com/) - Brings app marketing and analytics together. - [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. - [Mixpanel](https://mixpanel.com/) - Advanced analytics platform. - [MOCA Analytics](https://www.mocaplatform.com/features) - Paid cross-platform analytics backend. @@ -3576,4 +3574,3 @@ Most of these are paid services, some have free tiers. - [Swift Macros 🚀](https://github.com/krzysztofzablocki/Swift-Macros) - A curated list of community-created Macros and associated learning resources. **[back to top](#contributing-and-collaborating)** - From 0c89f605ba05dc6e7fb0e7cb2c1378c6e14e10e9 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 14:34:51 -0300 Subject: [PATCH 2565/2606] Create mdbook.yml --- .github/workflows/mdbook.yml | 60 ++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/workflows/mdbook.yml diff --git a/.github/workflows/mdbook.yml b/.github/workflows/mdbook.yml new file mode 100644 index 000000000..109cc8336 --- /dev/null +++ b/.github/workflows/mdbook.yml @@ -0,0 +1,60 @@ +# Sample workflow for building and deploying a mdBook site to GitHub Pages +# +# To get started with mdBook see: https://rust-lang.github.io/mdBook/index.html +# +name: Deploy mdBook site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["master"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + env: + MDBOOK_VERSION: 0.4.36 + steps: + - uses: actions/checkout@v4 + - name: Install mdBook + run: | + curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf -y | sh + rustup update + cargo install --version ${MDBOOK_VERSION} mdbook + - name: Setup Pages + id: pages + uses: actions/configure-pages@v5 + - name: Build with mdBook + run: mdbook build + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: ./book + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 From 82d3e51aea4432738df508c65ba49d76585179d9 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 14:51:30 -0300 Subject: [PATCH 2566/2606] Delete .github/workflows/mdbook.yml --- .github/workflows/mdbook.yml | 60 ------------------------------------ 1 file changed, 60 deletions(-) delete mode 100644 .github/workflows/mdbook.yml diff --git a/.github/workflows/mdbook.yml b/.github/workflows/mdbook.yml deleted file mode 100644 index 109cc8336..000000000 --- a/.github/workflows/mdbook.yml +++ /dev/null @@ -1,60 +0,0 @@ -# Sample workflow for building and deploying a mdBook site to GitHub Pages -# -# To get started with mdBook see: https://rust-lang.github.io/mdBook/index.html -# -name: Deploy mdBook site to Pages - -on: - # Runs on pushes targeting the default branch - push: - branches: ["master"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "pages" - cancel-in-progress: false - -jobs: - # Build job - build: - runs-on: ubuntu-latest - env: - MDBOOK_VERSION: 0.4.36 - steps: - - uses: actions/checkout@v4 - - name: Install mdBook - run: | - curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf -y | sh - rustup update - cargo install --version ${MDBOOK_VERSION} mdbook - - name: Setup Pages - id: pages - uses: actions/configure-pages@v5 - - name: Build with mdBook - run: mdbook build - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - path: ./book - - # Deployment job - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 From 89773f3321f46129ff3608ed03b94e1d7e5b0190 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 14:52:50 -0300 Subject: [PATCH 2567/2606] Update main.yml --- .github/workflows/main.yml | 27 ++++----------------------- 1 file changed, 4 insertions(+), 23 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 89e95762b..96703e65a 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: website-deploy +name: build html from md on: push: branches: @@ -10,29 +10,10 @@ jobs: Job1: runs-on: windows-latest steps: - - name: Convert Markdown to HTML - uses: jaywcjlove/markdown-to-html-cli@main - if: success() || failure() - with: - source: README.md - output: html/index.html - github-corners: https://github.com/jaywcjlove/markdown-to-html-cli - - - - name: Markdown-HTML - # You may pin to the exact commit or the version. - # uses: ZacJW/markdown-html-action@581e6df07c787a1eb980cb2fd6c0c82ace9c9c82 - uses: ZacJW/markdown-html-action@1.2.0 - if: success() || failure() - with: - input_files: "README.md" - output_files: true - - name: Converts Markdown to HTML uses: jaywcjlove/markdown-to-html-cli@main - if: success() || failure() with: - source: README-zh.md - output: coverage/action.html - github-corners: https://github.com/jaywcjlove/markdown-to-html-cli + source: README.md + output: index.html + github-corners: https://github.com/vsouza/awesome-ios favicon: data:image/svg+xml,🌐 From ce016690b3703f3ddfb42b622b099c154dd6298a Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 14:54:36 -0300 Subject: [PATCH 2568/2606] Update main.yml --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 96703e65a..66dde228e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,7 +13,7 @@ jobs: - name: Converts Markdown to HTML uses: jaywcjlove/markdown-to-html-cli@main with: - source: README.md + source: ./README.md output: index.html github-corners: https://github.com/vsouza/awesome-ios favicon: data:image/svg+xml,🌐 From 492d23d6a20f2f53c7b306ab83887ece375ad350 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:14:32 -0300 Subject: [PATCH 2569/2606] actions --- .github/workflows/main.yml | 57 +++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 89e95762b..24779e48e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,38 +1,31 @@ -name: website-deploy +name: render readme + +# Controls when the action will run on: push: - branches: - - 'master' -permissions: - contents: read # to fetch code (actions/checkout) + branches: master jobs: - Job1: - runs-on: windows-latest + render: + # The type of runner that the job will run on + runs-on: macOS-latest + steps: - - name: Convert Markdown to HTML - uses: jaywcjlove/markdown-to-html-cli@main - if: success() || failure() - with: - source: README.md - output: html/index.html - github-corners: https://github.com/jaywcjlove/markdown-to-html-cli + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + - uses: r-lib/actions/setup-r@v1 + - uses: r-lib/actions/setup-pandoc@v1 + + # install packages needed + - name: install required packages + run: Rscript -e 'install.packages(c("rmarkdown","gratia"))' + + # Render READEME.md using rmarkdown + - name: render README + run: Rscript -e 'rmarkdown::render("README.md", output_format = "html_document")' - - - name: Markdown-HTML - # You may pin to the exact commit or the version. - # uses: ZacJW/markdown-html-action@581e6df07c787a1eb980cb2fd6c0c82ace9c9c82 - uses: ZacJW/markdown-html-action@1.2.0 - if: success() || failure() - with: - input_files: "README.md" - output_files: true - - - name: Converts Markdown to HTML - uses: jaywcjlove/markdown-to-html-cli@main - if: success() || failure() - with: - source: README-zh.md - output: coverage/action.html - github-corners: https://github.com/jaywcjlove/markdown-to-html-cli - favicon: data:image/svg+xml,🌐 + - name: commit rendered README + run: | + git add README.md man/figures/README-* + git commit -m "Re-build README.md" || echo "No changes to commit" + git push origin master || echo "No changes to commit" \ No newline at end of file From 71f5df0ff1c40e97084013d5085214c4ae245b1c Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:16:24 -0300 Subject: [PATCH 2570/2606] actions wip --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 38d07c2dd..d2f081f4e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,5 +27,5 @@ jobs: - name: commit rendered README run: | git add README.md man/figures/README-* - git commit -m "Re-build README.md" || echo "No changes to commit" + git commit -m "Re-build README.md" || echo "No changes to commit " git push origin master || echo "No changes to commit" From 07214a5bcc79ad52b8439d79e6f4484dc9b6fda7 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:21:53 -0300 Subject: [PATCH 2571/2606] add markdown-to-html-cli --- .github/workflows/main.yml | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d2f081f4e..acb71ee62 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,26 +6,21 @@ on: branches: master jobs: - render: - # The type of runner that the job will run on - runs-on: macOS-latest - + build: + runs-on: ubuntu-latest + permissions: + contents: write + id-token: write steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v2 - - uses: r-lib/actions/setup-r@v1 - - uses: r-lib/actions/setup-pandoc@v1 - - # install packages needed - - name: install required packages - run: Rscript -e 'install.packages(c("rmarkdown","gratia"))' - - # Render READEME.md using rmarkdown - - name: render README - run: Rscript -e 'rmarkdown::render("README.md", output_format = "html_document")' + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + registry-url: 'https://registry.npmjs.org' - - name: commit rendered README - run: | - git add README.md man/figures/README-* - git commit -m "Re-build README.md" || echo "No changes to commit " - git push origin master || echo "No changes to commit" + - run: npm install + - run: npm run build + - run: npm run package + - run: npm run coverage + - run: | + node packages/cli/lib/cli.js --output coverage/index.html --github-corners https://github.com/jaywcjlove/markdown-to-html-cli --style "body { margin: 0; }" --favicon "data:image/svg+xml,🌐" \ No newline at end of file From b341b097c0244b12bf91af326f0f12130bd414fa Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:27:15 -0300 Subject: [PATCH 2572/2606] remove npm install --- .github/workflows/main.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index acb71ee62..6228d59b1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,15 +12,11 @@ jobs: contents: write id-token: write steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 + - name: Test Converts markdown text to HTML + uses: ./ with: - node-version: 18 - registry-url: 'https://registry.npmjs.org' - - - run: npm install - - run: npm run build - - run: npm run package - - run: npm run coverage - - run: | - node packages/cli/lib/cli.js --output coverage/index.html --github-corners https://github.com/jaywcjlove/markdown-to-html-cli --style "body { margin: 0; }" --favicon "data:image/svg+xml,🌐" \ No newline at end of file + source: README-zh.md + output: coverage/action.html + style: 'body { margin: 0; }' + github-corners: https://github.com/jaywcjlove/markdown-to-html-cli + favicon: data:image/svg+xml,🌐 \ No newline at end of file From 82e5a14820f2fd127e5b86c9a076630d0c4e2178 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:28:57 -0300 Subject: [PATCH 2573/2606] add checkout action --- .github/workflows/main.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6228d59b1..ebe2b5f2c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,6 +12,12 @@ jobs: contents: write id-token: write steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: 18 + registry-url: 'https://registry.npmjs.org' + - name: Test Converts markdown text to HTML uses: ./ with: From 763bec0024719c1ae6e5ec34fcf7b7a664d792ff Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:31:07 -0300 Subject: [PATCH 2574/2606] create index.html --- .github/workflows/main.yml | 4 ++-- index.html | 0 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 index.html diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ebe2b5f2c..59f5d77dd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,12 +17,12 @@ jobs: with: node-version: 18 registry-url: 'https://registry.npmjs.org' - + - name: Test Converts markdown text to HTML uses: ./ with: source: README-zh.md - output: coverage/action.html + output: index.html style: 'body { margin: 0; }' github-corners: https://github.com/jaywcjlove/markdown-to-html-cli favicon: data:image/svg+xml,🌐 \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 000000000..e69de29bb From 85163c785dcfbb6cd5c3d9fc6a9c67fcdafca3aa Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:36:28 -0300 Subject: [PATCH 2575/2606] update action sintax --- .github/workflows/main.yml | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 59f5d77dd..a3c7cb8e5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,5 @@ -name: render readme +name: Convert README.md to HTML and Publish -# Controls when the action will run on: push: branches: master @@ -12,17 +11,20 @@ jobs: contents: write id-token: write steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 18 - registry-url: 'https://registry.npmjs.org' + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Setup NodeJS + uses: actions/setup-node@v3 + with: + node-version: 18 + registry-url: 'https://registry.npmjs.org' - name: Test Converts markdown text to HTML uses: ./ - with: - source: README-zh.md - output: index.html - style: 'body { margin: 0; }' - github-corners: https://github.com/jaywcjlove/markdown-to-html-cli - favicon: data:image/svg+xml,🌐 \ No newline at end of file + with: + source: README-zh.md + output: index.html + style: 'body { margin: 0; }' + github-corners: https://github.com/vsouza/awesome-ios + favicon: data:image/svg+xml,🌐 \ No newline at end of file From 90a14062060402e7d7db72e1f335e9c0b3536dee Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:37:09 -0300 Subject: [PATCH 2576/2606] fix main.yml --- .github/workflows/main.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a3c7cb8e5..e15f9a429 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -16,15 +16,15 @@ jobs: - name: Setup NodeJS uses: actions/setup-node@v3 - with: - node-version: 18 - registry-url: 'https://registry.npmjs.org' + with: + node-version: 18 + registry-url: 'https://registry.npmjs.org' - name: Test Converts markdown text to HTML uses: ./ - with: - source: README-zh.md - output: index.html - style: 'body { margin: 0; }' - github-corners: https://github.com/vsouza/awesome-ios - favicon: data:image/svg+xml,🌐 \ No newline at end of file + with: + source: README-zh.md + output: index.html + style: 'body { margin: 0; }' + github-corners: https://github.com/vsouza/awesome-ios + favicon: data:image/svg+xml,🌐 \ No newline at end of file From cc510ded58a45378692cfe65d700b55b05e7df54 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:39:02 -0300 Subject: [PATCH 2577/2606] add workspaece var --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e15f9a429..e6ff752c0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,9 +21,9 @@ jobs: registry-url: 'https://registry.npmjs.org' - name: Test Converts markdown text to HTML - uses: ./ + uses: ${{github.workspace}}/README.md with: - source: README-zh.md + source: ${{github.workspace}}/README.md output: index.html style: 'body { margin: 0; }' github-corners: https://github.com/vsouza/awesome-ios From bc2ab2c005412a6cbf02a31f544d6f82f1fc8482 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:40:07 -0300 Subject: [PATCH 2578/2606] setup workdir --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e6ff752c0..7d9c79c8b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,9 +21,9 @@ jobs: registry-url: 'https://registry.npmjs.org' - name: Test Converts markdown text to HTML - uses: ${{github.workspace}}/README.md + uses: ${{ env.WORK_DIR }}/README.md with: - source: ${{github.workspace}}/README.md + source: ${{ env.WORK_DIR }}/README.md output: index.html style: 'body { margin: 0; }' github-corners: https://github.com/vsouza/awesome-ios From e95fe7200c5253887b0d852a0cf1af3521f69012 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:40:52 -0300 Subject: [PATCH 2579/2606] fix uses value --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7d9c79c8b..efb68e709 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,9 +21,9 @@ jobs: registry-url: 'https://registry.npmjs.org' - name: Test Converts markdown text to HTML - uses: ${{ env.WORK_DIR }}/README.md + uses: README.md with: - source: ${{ env.WORK_DIR }}/README.md + source: README.md output: index.html style: 'body { margin: 0; }' github-corners: https://github.com/vsouza/awesome-ios From 2326c85b870dbd7a0858063da494ac4ea64046a7 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:41:20 -0300 Subject: [PATCH 2580/2606] wip --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index efb68e709..c06e10870 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,7 +21,7 @@ jobs: registry-url: 'https://registry.npmjs.org' - name: Test Converts markdown text to HTML - uses: README.md + uses: ./README.md with: source: README.md output: index.html From c7924a77805ae2479ffaa3cb0706debf8aa2fd97 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:43:24 -0300 Subject: [PATCH 2581/2606] wip --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c06e10870..b2f8020dc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -21,9 +21,9 @@ jobs: registry-url: 'https://registry.npmjs.org' - name: Test Converts markdown text to HTML - uses: ./README.md + uses: jaywcjlove/markdown-to-html-cli@main with: - source: README.md + source: ./README.md output: index.html style: 'body { margin: 0; }' github-corners: https://github.com/vsouza/awesome-ios From 9a6070119fe36f2a458bea2aaa752e6f72662b63 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:46:13 -0300 Subject: [PATCH 2582/2606] create deploy step --- .github/workflows/main.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b2f8020dc..c00cc2af1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,7 +24,14 @@ jobs: uses: jaywcjlove/markdown-to-html-cli@main with: source: ./README.md - output: index.html + output: coverage/index.html style: 'body { margin: 0; }' github-corners: https://github.com/vsouza/awesome-ios - favicon: data:image/svg+xml,🌐 \ No newline at end of file + favicon: data:image/svg+xml,🌐 + + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + with: + commit_message: ${{steps.tag_version.outputs.tag}} ${{ github.event.head_commit.message }} + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./coverage \ No newline at end of file From 239784d598677bc4fab1b2adaba96b5700b9db94 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 15:47:39 -0300 Subject: [PATCH 2583/2606] change folder --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c00cc2af1..157a4b908 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -24,7 +24,7 @@ jobs: uses: jaywcjlove/markdown-to-html-cli@main with: source: ./README.md - output: coverage/index.html + output: index.html style: 'body { margin: 0; }' github-corners: https://github.com/vsouza/awesome-ios favicon: data:image/svg+xml,🌐 @@ -34,4 +34,4 @@ jobs: with: commit_message: ${{steps.tag_version.outputs.tag}} ${{ github.event.head_commit.message }} github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./coverage \ No newline at end of file + publish_dir: ./ \ No newline at end of file From 1570b55e03c3440c431f602c20092231526c2e1f Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 16:08:15 -0300 Subject: [PATCH 2584/2606] Add CNAME file --- CNAME | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 CNAME diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..053307be6 --- /dev/null +++ b/CNAME @@ -0,0 +1,2 @@ +awesomeios.dev +www.awesomeios.dev From fd2756a867dbde117a85485dc21e12ec36134477 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 16:37:21 -0300 Subject: [PATCH 2585/2606] edit properties. Change image address --- .github/workflows/main.yml | 4 +++- README.md | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 157a4b908..9a84d34c5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,7 +5,7 @@ on: branches: master jobs: - build: + build-deploy: runs-on: ubuntu-latest permissions: contents: write @@ -27,6 +27,8 @@ jobs: output: index.html style: 'body { margin: 0; }' github-corners: https://github.com/vsouza/awesome-ios + title: "Awesome iOS" + dark-mode: false favicon: data:image/svg+xml,🌐 - name: Deploy diff --git a/README.md b/README.md index 23f8d0230..b1f513f9d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@

From 0f0e1566e4901f93e63859dccf8f51aebb92be67 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 5 Apr 2024 18:12:48 -0300 Subject: [PATCH 2586/2606] change theme --- .github/workflows/main.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9a84d34c5..fc8957b35 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,8 +28,7 @@ jobs: style: 'body { margin: 0; }' github-corners: https://github.com/vsouza/awesome-ios title: "Awesome iOS" - dark-mode: false - favicon: data:image/svg+xml,🌐 + markdown-style-theme: light - name: Deploy uses: peaceiris/actions-gh-pages@v3 From dfa95bc943404ad61f39eecaf05a833eac3912c3 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Mon, 8 Apr 2024 18:41:57 -0300 Subject: [PATCH 2587/2606] Improve list. Remove archived repos and reorder --- README.md | 97 ++++++++++++++++++++++-------------------------------- index.html | 0 2 files changed, 40 insertions(+), 57 deletions(-) delete mode 100644 index.html diff --git a/README.md b/README.md index b1f513f9d..924d6cb19 100644 --- a/README.md +++ b/README.md @@ -214,14 +214,11 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git ## App Store -- [Apple's Common App Rejections Styleguide](https://developer.apple.com/app-store/review/#common-app-rejections) - Highlighted some of the most common issues that cause apps to get rejected. +*Apple Guidelines and version notification libraries* + +- [Apple Review Guidelines](https://developer.apple.com/app-store/review/#common-app-rejections) - Highlighted some of the most common issues that cause apps to get rejected. - [Free App Store Optimization Tool](https://www.mobileaction.co) - Lets you track your App Store visibility in terms of keywords and competitors. -- [App Release Checklist](https://github.com/oisin/app-release-checklist/blob/master/checklist.md) - A checklist to pore over before you ship that amazing app that has taken ages to complete, but you don't want to rush out in case you commit a schoolboy error that will end up making you look dumber than you are. -- [Harpy](https://github.com/ArtSabintsev/Harpy) - Notify users when a new version of your iOS app is available, and prompt them with the App Store link. -- [appirater](https://github.com/arashpayan/appirater) - A utility that reminds your iPhone app's users to review the app. - [Siren](https://github.com/ArtSabintsev/Siren) - Notify users when a new version of your app is available and prompt them to upgrade. -- [Appstore Review Guidelines](https://github.com/aashishtamsya/Appstore-Review-Guidelines) - A curated list of points which a developer has to keep in mind before submitting his/her application on appstore for review. -- [AppVersion](https://github.com/amebalabs/AppVersion) - Keep users on the up-to date version of your App. **[back to top](#contributing-and-collaborating)** @@ -300,20 +297,22 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git **[back to top](#contributing-and-collaborating)** ## Books -- [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) -- [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-seventh-edition/) -- [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) -- [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) -- [Core Data for iOS: Developing Data-Driven Applications for the iPad, iPhone, and iPod touch](https://www.amazon.com/Core-Data-iOS-Data-Driven-Applications/dp/0321670426) + +*Most recommended books* + +- [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) +- [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) +- [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) - [Cocoa Design Patterns](https://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022) +- [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) +- [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) - [Hello Swift! by Tanmay Bakshi with Lynn Beighley](https://www.manning.com/books/hello-swift) - [iOS Development with Swift by Craig Grummitt](https://www.manning.com/books/ios-development-with-swift) -- [Anyone Can Create an App by Wendy L. Wise](https://www.manning.com/books/anyone-can-create-an-app) -- [Advanced Swift by Chris Eidhof, Ole Begemann, and Airspeed Velocity](https://www.objc.io/books/advanced-swift/) -- [Functional Swift by Chris Eidhof, Florian Kugler, and Wouter Swierstra](https://www.objc.io/books/functional-swift/) -- [Core Data by Florian Kugler and Daniel Eggert](https://www.objc.io/books/core-data/) -- [Classic Computer Science Problems in Swift](https://www.manning.com/books/classic-computer-science-problems-in-swift) +- [iOS Programming: The Big Nerd Ranch Guide by Christian Keur, Aaron Hillegass](https://www.bignerdranch.com/books/ios-programming-the-big-nerd-ranch-guide-seventh-edition/) +- [Programming in Objective-C by Stephen G. Kochan](https://www.amazon.com/Programming-Objective-C-6th-Developers-Library/dp/0321967607) - [Swift in Depth](https://www.manning.com/books/swift-in-depth) +- [The Complete Friday Q & A: Volume 1](https://www.mikeash.com/book.html) +- [The Swift Programming Language by Apple](https://books.apple.com/us/book/swift-programming-language/id881256329) **[back to top](#contributing-and-collaborating)** @@ -378,8 +377,10 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git **[back to top](#contributing-and-collaborating)** ## Code Injection + + *Decrease development time with these tools* -- [dyci](https://github.com/DyCI/dyci-main) - Code injection tool. +- [Inject](https://github.com/krzysztofzablocki/Inject) - Hot Reloading for Swift applications! - [injectionforxcode](https://github.com/johnno1962/injectionforxcode) - Code injection including Swift. - [Vaccine](https://github.com/zenangst/Vaccine) - Vaccine is a framework that aims to make your apps immune to recompile-decease. @@ -387,34 +388,20 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git ## Code Quality - *Quality always matters. Code checkers, memory vigilants, syntastic sugars and more.* + *Quality always matters. Code checkers, memory vigilants, syntax sugars and more.* +- [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. - [Bootstrap](https://github.com/krzysztofzablocki/Bootstrap) - iOS project bootstrap aimed at high quality coding. -- [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Set of custom assertions that automatically generate NSError's, allow for both Assertions in Debug and Error handling in Release builds, with beautiful DSL. -- [PSPDFUIKitMainThreadGuard](https://gist.github.com/steipete/5664345) - Simple snippet generating assertions when UIKit is used on background threads. -- [ocstyle](https://github.com/Cue/ocstyle) - Objective-C style checker. +- [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. +- [FBRetainCycleDetector](https://github.com/facebook/FBRetainCycleDetector) - iOS library to help detecting retain cycles in runtime. +- [HeapInspector-for-iOS](https://github.com/tapwork/HeapInspector-for-iOS) - Find memory issues & leaks in your iOS app without instruments. +- [KZAsserts](https://github.com/krzysztofzablocki/KZAsserts) - Asserts on roids, test all your assumptions with ease. +- [MLeaksFinder](https://github.com/Tencent/MLeaksFinder) - Find memory leaks in your iOS app at develop time. +- [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. - [spacecommander](https://github.com/square/spacecommander) - Commit fully-formatted Objective-C code as a team without even trying. -- [DWURecyclingAlert](https://github.com/diwu/DWURecyclingAlert) - Optimizing UITableViewCell For Fast Scrolling. -- [Tailor](https://github.com/sleekbyte/tailor) - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs. - [SwiftCop](https://github.com/andresinaka/SwiftCop) - SwiftCop is a validation library fully written in Swift and inspired by the clarity of Ruby On Rails Active Record validations. -- [Trackable](https://github.com/VojtaStavik/Trackable) - Trackable is a simple analytics integration helper library. It’s especially designed for easy and comfortable integration with existing projects. -- [MLeaksFinder](https://github.com/Tencent/MLeaksFinder) - Find memory leaks in your iOS app at develop time. -- [HeapInspector-for-iOS](https://github.com/tapwork/HeapInspector-for-iOS) - Find memory issues & leaks in your iOS app without instruments. -- [FBMemoryProfiler](https://github.com/facebook/FBMemoryProfiler) - iOS tool that helps with profiling iOS Memory usage. -- [FBRetainCycleDetector](https://github.com/facebook/FBRetainCycleDetector) - iOS library to help detecting retain cycles in runtime. -- [Buglife](https://github.com/Buglife/Buglife-iOS) - Awesome bug reporting for iOS apps. -- [Warnings-xcconfig](https://github.com/boredzo/Warnings-xcconfig) - An xcconfig (Xcode configuration) file for easily turning on a boatload of warnings in your project or its targets. -- [Aardvark](https://github.com/square/Aardvark) - Aardvark is a library that makes it dead simple to create actionable bug reports. -- [Stats](https://github.com/shu223/Stats) - In-app memory usage monitoring. -- [GlueKit](https://github.com/attaswift/GlueKit) - A type-safe observer framework for Swift. - [SwiftFormat](https://github.com/nicklockwood/SwiftFormat) - A code library and command-line formatting tool for reformatting Swift code. -- [PSTModernizer](https://github.com/PSPDFKit-labs/PSTModernizer) - Makes it easier to support older versions of iOS by fixing things and adding missing methods. -- [Bugsee](https://www.bugsee.com) - In-app bug and crash reporting with video, logs, network traffic and traces. -- [Fallback](https://github.com/devxoul/Fallback) - Syntactic sugar for nested do-try-catch. -- [ODUIThreadGuard](https://github.com/olddonkey/ODUIThreadGuard) - A guard to help you check if you make UI changes not in main thread. -- [IBAnalyzer](https://github.com/fastred/IBAnalyzer) - Find common xib and storyboard-related problems without running your app or writing unit tests. -- [DecouplingKit](https://github.com/coderyi/DecouplingKit) - decoupling between modules in your iOS Project. -- [Clue](https://github.com/Geek-1001/Clue) - Flexible bug report framework for iOS with screencast, networking, interactions and view structure. +- [Tailor](https://github.com/sleekbyte/tailor) - Cross-platform static analyzer for Swift that helps you to write cleaner code and avoid bugs. - [WeakableSelf](https://github.com/vincent-pradeilles/weakable-self) - A Swift micro-framework to encapsulate `[weak self]` and `guard` statements within closures. **[back to top](#contributing-and-collaborating)** @@ -423,12 +410,10 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git *Static code analyzers to enforce style and conventions.* +- [AnyLint](https://github.com/Flinesoft/AnyLint) - Lint anything by combining the power of Swift & regular expressions. +- [IBLinter](https://github.com/IBDecodable/IBLinter) - A linter tool for Interface Builder. - [OCLint](https://github.com/oclint/oclint) - Static code analysis tool for improving quality and reducing defects. -- [Taylor](https://github.com/yopeso/Taylor) - Measure Swift code metrics and get reports in Xcode, Jenkins and other CI platforms. - [Swiftlint](https://github.com/realm/SwiftLint) - A tool to enforce Swift style and conventions. -- [IBLinter](https://github.com/IBDecodable/IBLinter) - A linter tool for Interface Builder. -- [SwiftLinter](https://github.com/muyexi/SwiftLinter) - Share lint rules between projects and lint changed files with SwiftLint. -- [AnyLint](https://github.com/Flinesoft/AnyLint) - Lint anything by combining the power of Swift & regular expressions. **[back to top](#contributing-and-collaborating)** @@ -436,24 +421,22 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git *Hex color extensions, theming, color pickers and other awesome color tools.* -- [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. -- [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. -- [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier. -- [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. -- [Hue](https://github.com/zenangst/Hue) - Hue is the all-in-one coloring utility that you'll ever need. -- [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. -- [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from `randomColor.js`. -- [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. - [BCColor](https://github.com/boycechang/BCColor) - A lightweight but powerful color kit (Swift). -- [DKNightVersion](https://github.com/Draveness/DKNightVersion) - Manage Colors, Integrate Night/Multiple Themes. -- [PrettyColors](https://github.com/jdhealy/PrettyColors) - PrettyColors is a Swift library for styling and coloring text in the Terminal. The library outputs [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) and conforms to ECMA Standard 48. -- [TFTColor](https://github.com/burhanuddin353/TFTColor) - Simple Extension for RGB and CMKY Hex Strings and Hex Values (ObjC & Swift). +- [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. +- [Colours](https://github.com/bennyguitar/Colours) - A beautiful set of predefined colors and a set of color methods to make your iOS/macOS development life easier. - [CostumeKit](https://github.com/jakemarsh/CostumeKit) - Base types for theming an app. - [CSS3ColorsSwift](https://github.com/WorldDownTown/CSS3ColorsSwift) - A UIColor extension with CSS3 Colors name. -- [ChromaColorPicker](https://github.com/joncardasis/ChromaColorPicker) - An intuitive iOS color picker built in Swift. -- [Lorikeet](https://github.com/valdirunars/Lorikeet) - A lightweight Swift framework for aesthetically pleasing color-scheme generation and CIE color-difference calculation. +- [DynamicColor](https://github.com/yannickl/DynamicColor) - Yet another extension to manipulate colors easily in Swift. +- [FlatUIColors](https://github.com/brynbellomy/FlatUIColors) - Flat UI color palette helpers written in Swift. - [Gestalt](https://github.com/regexident/Gestalt) - An unintrusive & light-weight iOS app-theming library with support for animated theme switching. +- [Hue](https://github.com/zenangst/Hue) - Hue is the all-in-one coloring utility that you'll ever need. +- [Lorikeet](https://github.com/valdirunars/Lorikeet) - Aesthetic color-scheme generation written in Swift. +- [PFColorHash](https://github.com/PerfectFreeze/PFColorHash) - Generate color based on the given string. +- [PrettyColors](https://github.com/jdhealy/PrettyColors) - Styles and colors text in the Terminal with ANSI escape codes. Conforms to ECMA Standard 48. +- [RandomColorSwift](https://github.com/onevcat/RandomColorSwift) - An attractive color generator for Swift. Ported from `randomColor.js`. - [SheetyColors](https://github.com/chrs1885/SheetyColors) - An action sheet styled color picker for iOS. +- [SwiftHEXColors](https://github.com/thii/SwiftHEXColors) - HEX color handling as an extension for UIColor. +- [UIColor-Hex-Swift](https://github.com/yeahdongcn/UIColor-Hex-Swift) - Convenience method for creating autoreleased color using RGBA hex string. **[back to top](#contributing-and-collaborating)** diff --git a/index.html b/index.html deleted file mode 100644 index e69de29bb..000000000 From 64795d6aaeae8c1a7dcb0964d5fd2a8c12525179 Mon Sep 17 00:00:00 2001 From: Matheus Gois Date: Tue, 9 Apr 2024 13:34:28 -0300 Subject: [PATCH 2588/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 924d6cb19..a04f59e2a 100644 --- a/README.md +++ b/README.md @@ -672,6 +672,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Atlantis](https://github.com/ProxymanApp/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](https://github.com/divar-ir/NetShears.git) - Allows developers to intercept and monitor HTTP/HTTPS requests and responses. It also could be configured to show gRPC calls. - [Scyther](https://github.com/bstillitano/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](https://github.com/DebugSwift/DebugSwift) - A comprehensive toolkit designed to simplify and enhance the debugging process for iOS applications. **[back to top](#contributing-and-collaborating)** From e4b44858d8b9671fcf918cec080b4d1de86838c6 Mon Sep 17 00:00:00 2001 From: Matheus Gois Date: Tue, 9 Apr 2024 13:42:41 -0300 Subject: [PATCH 2589/2606] Set order alphabetical --- README.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index a04f59e2a..9ab0ba1dd 100644 --- a/README.md +++ b/README.md @@ -648,31 +648,31 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git *Debugging tools, crash reports, logs and console UI's.* -- [Xniffer](https://github.com/xmartlabs/Xniffer) - A swift network profiler built on top of URLSession. -- [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! -- [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. +- [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. +- [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. +- [AppSpector](https://appspector.com) - Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotificationCenter and mock device's geo location. +- [Atlantis](https://github.com/ProxymanApp/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. +- [chisel](https://github.com/facebook/chisel) - Collection of LLDB commands to assist debugging iOS apps. - [DBDebugToolkit](https://github.com/dbukowski/DBDebugToolkit) - Set of easy to use debugging tools for iOS developers & QA engineers. +- [DebugSwift](https://github.com/DebugSwift/DebugSwift) - A comprehensive toolkit designed to simplify and enhance the debugging process for iOS applications. +- [DoraemonKit](https://github.com/didi/DoraemonKit) - A full-featured iOS App development assistant,30+ tools included. You deserve it. +- [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. +- [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window. - [Flex](https://github.com/Flipboard/FLEX) - An in-app debugging and exploration tool for iOS. -- [chisel](https://github.com/facebook/chisel) - Collection of LLDB commands to assist debugging iOS apps. -- [Alpha](https://github.com/Legoless/Alpha) - Next generation debugging framework for iOS. -- [AEConsole](https://github.com/tadija/AEConsole) - Customizable Console UI overlay with debug log on top of your iOS App. - [GodEye](https://github.com/zixun/GodEye) - Automatically display Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder and etc with one line of code based on Swift. -- [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. -- [Dotzu](https://github.com/remirobert/Dotzu) - iOS app debugger while using the app. Crash report, logs, network. -- [Hyperion](https://github.com/willowtreeapps/Hyperion-iOS) - In-app design review tool to inspect measurements, attributes, and animations. - [Httper-iOS](https://github.com/MuShare/Httper-iOS) - App for developers to test REST API. -- [Droar](https://github.com/myriadmobile/Droar) - Droar is a modular, single-line installation debugging window. -- [Wormholy](https://github.com/pmusolino/Wormholy) - iOS network debugging, like a wizard. -- [AppSpector](https://appspector.com) - Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotificationCenter and mock device's geo location. -- [Woodpecker](http://www.woodpeck.cn) - View sandbox files, UserDefaults, network request from Mac. +- [Hyperion](https://github.com/willowtreeapps/Hyperion-iOS) - In-app design review tool to inspect measurements, attributes, and animations. - [LayoutInspector](https://github.com/isavynskyi/LayoutInspector) - Debug app layouts directly on iOS device: inspect layers in 3D and debug each visible view attributes. - [MTHawkeye](https://github.com/meitu/MTHawkeye) - Profiling / Debugging assist tools for iOS, include tools: UITimeProfiler, Memory Allocations, Living ObjC Objects Sniffer, Network Transaction Waterfall, etc. -- [Playbook](https://github.com/playbook-ui/playbook-ios) - A library for isolated developing UI components and automatically snapshots of them. -- [DoraemonKit](https://github.com/didi/DoraemonKit) - A full-featured iOS App development assistant,30+ tools included. You deserve it. -- [Atlantis](https://github.com/ProxymanApp/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. +- [Netfox](https://github.com/kasketis/netfox) - A lightweight, one line setup, iOS / macOS network debugging library! - [NetShears](https://github.com/divar-ir/NetShears.git) - Allows developers to intercept and monitor HTTP/HTTPS requests and responses. It also could be configured to show gRPC calls. +- [NetworkEye](https://github.com/coderyi/NetworkEye) - a iOS network debug library, It can monitor HTTP requests within the App and displays information related to the request. +- [PonyDebugger](https://github.com/square/PonyDebugger) - Remote network and data debugging for your native iOS app using Chrome Developer Tools. +- [Playbook](https://github.com/playbook-ui/playbook-ios) - A library for isolated developing UI components and automatically snapshots of them. - [Scyther](https://github.com/bstillitano/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](https://github.com/DebugSwift/DebugSwift) - A comprehensive toolkit designed to simplify and enhance the debugging process for iOS applications. +- [Wormholy](https://github.com/pmusolino/Wormholy) - iOS network debugging, like a wizard. +- [Xniffer](https://github.com/xmartlabs/Xniffer) - A swift network profiler built on top of URLSession. +- [Woodpecker](http://www.woodpeck.cn) - View sandbox files, UserDefaults, network request from Mac. **[back to top](#contributing-and-collaborating)** From ac42e7466de833a654a9f6f449f7caf9900f96d9 Mon Sep 17 00:00:00 2001 From: Fabrizio D'Urso Date: Thu, 23 May 2024 17:48:25 +0200 Subject: [PATCH 2590/2606] add StringSwitch --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ab0ba1dd..33aa92d50 100644 --- a/README.md +++ b/README.md @@ -1076,6 +1076,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [attranslate](https://github.com/fkirc/attranslate) - Semi-automatically translate or synchronize .strings files or crossplatform-files from different languages. - [Respresso Localization Converter](https://respresso.io/localization-converter) - Multiplatform localization converter for iOS (.strings + Objective-C getters), Android (strings.xml) and Web (.json). - [locheck](https://github.com/Asana/locheck) - Validate .strings, .stringsdict, and strings.xml files for correctness to avoid crashes and bad translations. +- [StringSwitch](https://stringswitch.com) - Easily convert iOS .strings files to Android strings.xml format and vice versa. **[back to top](#contributing-and-collaborating)** From 648c089102518c39fa1887ca362d155166288dfc Mon Sep 17 00:00:00 2001 From: Gregory Woods Date: Tue, 4 Jun 2024 19:44:25 +0100 Subject: [PATCH 2591/2606] Add DuckDB Swift --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ab0ba1dd..453e5320b 100644 --- a/README.md +++ b/README.md @@ -578,6 +578,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Unrealm](https://github.com/arturdev/Unrealm) - Unrealm enables you to easily store Swift native Classes, Structs and Enums into Realm. - [QuickDB](https://github.com/behrad-kzm/QuickDB) - Save and Retrieve any `Codable` in JUST ONE line of code + more easy usecases. - [ObjectBox](https://github.com/objectbox/objectbox-swift) - ObjectBox is a superfast, light-weight object persistence framework. +- [DuckDB](https://github.com/duckdb/duckdb-swift) - DuckDB is a high-performance analytical database system. **[back to top](#contributing-and-collaborating)** From 89f9b493add5660f21e52bd197c55abf6b07a853 Mon Sep 17 00:00:00 2001 From: Dan Holdsworth Date: Mon, 10 Jun 2024 10:17:21 +0100 Subject: [PATCH 2592/2606] add roadmap.sh/ios to Tutorials and Keynotes --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ab0ba1dd..71852ca42 100644 --- a/README.md +++ b/README.md @@ -3498,6 +3498,7 @@ Most of these are paid services, some have free tiers. - [Conferences.digital](https://github.com/zagahr/Conferences.digital) - Watch conference videos in a native macOS app. - [DaddyCoding](https://daddycoding.com/) - iOS Tutorials ranging from beginners to advance. - [Learn Swift](https://blog.coursesity.com/best-swift-tutorials/) - Learn Swift - curated list of the top online Swift tutorials and courses. +- [Roadmap.sh/ios](https://roadmap.sh/ios) - A community created iOS Developer roadmap. **[back to top](#contributing-and-collaborating)** From 9b6243157d78d22d3cac05c018dd337524480444 Mon Sep 17 00:00:00 2001 From: Dan Holdsworth Date: Mon, 10 Jun 2024 10:19:21 +0100 Subject: [PATCH 2593/2606] moved roadmap from tutorials to websites --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 71852ca42..19baac428 100644 --- a/README.md +++ b/README.md @@ -3366,6 +3366,7 @@ Most of these are paid services, some have free tiers. - [Cocoa Controls](https://www.cocoacontrols.com/) - Open source UI components for iOS and macOS. - [Ohmyswift](https://www.ohmyswift.com/blog/) - [Point Free](https://www.pointfree.co/) - A video series exploring functional programming and Swift. +- [Roadmap.sh iOS Roadmap](https://roadmap.sh/ios) - A community created iOS Developer roadmap. **[back to top](#contributing-and-collaborating)** @@ -3498,7 +3499,6 @@ Most of these are paid services, some have free tiers. - [Conferences.digital](https://github.com/zagahr/Conferences.digital) - Watch conference videos in a native macOS app. - [DaddyCoding](https://daddycoding.com/) - iOS Tutorials ranging from beginners to advance. - [Learn Swift](https://blog.coursesity.com/best-swift-tutorials/) - Learn Swift - curated list of the top online Swift tutorials and courses. -- [Roadmap.sh/ios](https://roadmap.sh/ios) - A community created iOS Developer roadmap. **[back to top](#contributing-and-collaborating)** From 5d5fb431cfa6d224fa650162dc6636a1fd272fe3 Mon Sep 17 00:00:00 2001 From: Aryaman Sharda Date: Tue, 18 Jun 2024 22:31:53 -0700 Subject: [PATCH 2594/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9ab0ba1dd..7d7373e83 100644 --- a/README.md +++ b/README.md @@ -211,6 +211,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [URLNavigator](https://github.com/devxoul/URLNavigator) - Elegant URL Routing for Swift - [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! - [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. +- [GetUniversal.link](https://getuniversal.link/) - Free Universal Link & Apple App Site Association testing tool. ## App Store From 1510fa6eba9b096e54790c202bc592dbd31571c5 Mon Sep 17 00:00:00 2001 From: Aryaman Sharda Date: Tue, 18 Jun 2024 22:38:03 -0700 Subject: [PATCH 2595/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d7373e83..03ed26586 100644 --- a/README.md +++ b/README.md @@ -211,7 +211,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [URLNavigator](https://github.com/devxoul/URLNavigator) - Elegant URL Routing for Swift - [WAAppRouting](https://github.com/Wasappli/WAAppRouting) - iOS routing done right. Handles both URL recognition and controller displaying with parsed parameters. All in one line, controller stack preserved automatically! - [ZIKRouter](https://github.com/Zuikyo/ZIKRouter) - An interface-oriented router for discovering modules and injecting dependencies with protocol in OC & Swift, iOS & macOS. Handles route in a type safe way. -- [GetUniversal.link](https://getuniversal.link/) - Free Universal Link & Apple App Site Association testing tool. ## App Store @@ -3468,6 +3467,7 @@ Most of these are paid services, some have free tiers. - [Xcodes.app](https://github.com/RobotsAndPencils/XcodesApp) - The easiest way to install and switch between multiple versions of Xcode. - [Respresso Image Converter](https://respresso.io/image-converter) - Multiplatform image converter for iOS, Android, and Web that supports pdf, svg, vector drawable, jpg, png, and webp formats. - [Rugby](https://github.com/swiftyfinch/Rugby) - 🏈 Cache CocoaPods for faster rebuild and indexing Xcode project. +- [GetUniversal.link](https://getuniversal.link/) - Free Universal Link & Apple App Site Association testing tool. **[back to top](#contributing-and-collaborating)** From 70faff95720b089028722849c590b6a9ff148fdc Mon Sep 17 00:00:00 2001 From: shu223 Date: Mon, 22 Jul 2024 21:52:56 +0900 Subject: [PATCH 2596/2606] Add GenAI-Sampler. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7b78a71b0..36a4c6f8b 100644 --- a/README.md +++ b/README.md @@ -1137,6 +1137,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [TensorSwift](https://github.com/qoncept/TensorSwift) - A lightweight library to calculate tensors in Swift, which has similar APIs to TensorFlow's. - [DL4S](https://github.com/palle-k/DL4S) - Deep Learning for Swift: Accelerated tensor operations and dynamic neural networks based on reverse mode automatic differentiation for every device that can run Swift. - [SwiftCoreMLTools](https://github.com/JacopoMangiavacchi/SwiftCoreMLTools) - A Swift library for creating and exporting CoreML Models in Swift. +- [iOS-GenAI-Sampler](https://github.com/shu223/iOS-GenAI-Sampler) - A collection of Generative AI examples on iOS. **[back to top](#contributing-and-collaborating)** From 369e9445cf4a374b80073913794c134ea557b88b Mon Sep 17 00:00:00 2001 From: "Tomasz K." Date: Mon, 18 Nov 2024 18:19:59 +0100 Subject: [PATCH 2597/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 36a4c6f8b..20a915881 100644 --- a/README.md +++ b/README.md @@ -2843,7 +2843,7 @@ Most of these are paid services, some have free tiers. - [SwiftEntryKit](https://github.com/huri000/SwiftEntryKit) - A highly customizable popups, alerts and banners presenter for iOS. It offers various presets and is written in pure Swift. - [FFPopup](https://github.com/JonyFang/FFPopup) - ⛩FFPopup is a lightweight library for presenting custom views as a popup. - [PopupView](https://github.com/exyte/PopupView) - Toasts and popups library written with SwiftUI. -- [MijickPopupView](https://github.com/Mijick/PopupView) - Popups presentation made simple with SwiftUI. +- [MijickPopups](https://github.com/Mijick/Popups) - Popups, popovers, sheets, alerts, toasts, banners, (...) presentation made simple. Written with and for SwiftUI. **[back to top](#contributing-and-collaborating)** From 3f52e47f23c82c6dc6cf61c5a8e0c278ca5465bd Mon Sep 17 00:00:00 2001 From: Petr Korolev Date: Tue, 10 Dec 2024 20:24:34 +0300 Subject: [PATCH 2598/2606] Added web3swift added most up-to-date library for ethereum interactions --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 20a915881..09cceb56d 100644 --- a/README.md +++ b/README.md @@ -293,6 +293,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [EthereumKit](https://github.com/yuzushioh/EthereumKit) - EthereumKit is a free, open-source Swift framework for easily interacting with the Ethereum. - [EtherWalletKit](https://github.com/SteadyAction/EtherWalletKit) - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge. - [Web3.swift](https://github.com/Boilertalk/Web3.swift) - Web3 library for interacting with the Ethereum blockchain. +- [web3swift](https://github.com/web3swift-team/web3swift) - Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions. **[back to top](#contributing-and-collaborating)** From f07003d0b611f319526b16010cf210fb78f21f1d Mon Sep 17 00:00:00 2001 From: "Tomasz K." Date: Tue, 17 Dec 2024 17:01:45 +0100 Subject: [PATCH 2599/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 20a915881..b01510386 100644 --- a/README.md +++ b/README.md @@ -934,6 +934,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [HybridCamera](https://github.com/eonist/HybridCamera) - Video and photo camera for iOS, similar to the SnapChat camera. - [CameraKit-iOS](https://github.com/CameraKit/camerakit-ios) - Massively increase camera performance and ease of use in your next iOS project. - [ExyteMediaPicker](https://github.com/exyte/mediapicker) - Customizable media picker +- [MijickCamera](https://github.com/Mijick/Camera) - Camera made simple. Fully customizable camera library that significantly reduces implementation time and effort. Written with and for SwiftUI. **[back to top](#contributing-and-collaborating)** From a03d6f357f16151a7a169ed7ba13f09786042103 Mon Sep 17 00:00:00 2001 From: Dan Federman Date: Mon, 30 Dec 2024 20:04:57 +1300 Subject: [PATCH 2600/2606] Add AsyncQueue --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 20a915881..0c066d5bc 100644 --- a/README.md +++ b/README.md @@ -476,6 +476,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [GroupWork](https://github.com/quanvo87/GroupWork) - Easy concurrent, asynchronous tasks in Swift. - [StickyLocking](https://github.com/stickytools/sticky-locking) - A general purpose embedded hierarchical lock manager used to build highly concurrent applications of all types. - [SwiftCoroutine](https://github.com/belozierov/SwiftCoroutine) - Swift coroutines library for iOS and macOS. +- [AsyncQueue](https://github.com/dfed/swift-async-queue) - A library of queues that enable sending ordered tasks from synchronous to asynchronous contexts. **[back to top](#contributing-and-collaborating)** From b3d64136274e5198ca8912848d86915b8cce3767 Mon Sep 17 00:00:00 2001 From: Dan Federman Date: Mon, 30 Dec 2024 20:05:43 +1300 Subject: [PATCH 2601/2606] Add SafeDI --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 20a915881..40afe6941 100644 --- a/README.md +++ b/README.md @@ -682,7 +682,6 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Swinject](https://github.com/Swinject/Swinject) - Dependency injection framework for Swift. - [Reliant](https://github.com/appfoundry/Reliant) - Nonintrusive Objective-C dependency injection. - [Kraken](https://github.com/sabirvirtuoso/Kraken) - A Dependency Injection Container for Swift with easy-to-use syntax. -- [Cleanse](https://github.com/square/Cleanse) - Lightweight Swift Dependency Injection Framework by Square. - [Typhoon](https://github.com/appsquickly/Typhoon) - Powerful dependency injection for Objective-C. - [Pilgrim](https://github.com/appsquickly/pilgrim) - Powerful dependency injection Swift (successor to Typhoon). - [Perform](https://github.com/thoughtbot/Perform) - Easy dependency injection for storyboard segues. @@ -694,6 +693,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [DITranquillity](https://github.com/ivlevAstef/DITranquillity) - Dependency injection framework for iOS applications written in clean Swift. - [Needle](https://github.com/uber/needle) — Compile-time safe Swift dependency injection framework with real code. - [Locatable](https://github.com/vincent-pradeilles/locatable) - A micro-framework that leverages Property Wrappers to implement the Service Locator pattern. +- [SafeDI](https://github.com/dfed/safedi) - Compile-time safe dependency injection in Swift 6. **[back to top](#contributing-and-collaborating)** From ee3ee15dc8893cc5833ab24c5d9e1a9625915f14 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 14 Jan 2025 15:47:27 -0300 Subject: [PATCH 2602/2606] reorganize charts category and remove archived projects --- README.md | 46 +++++++++++++++++++++------------------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index be7f78cde..f179c8a3d 100644 --- a/README.md +++ b/README.md @@ -164,7 +164,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Websocket](#websocket) - [Tools](#tools) - [Tutorials and Keynotes](#tutorials-and-keynotes) -- [UI Templates](#ui-templates) +- [UI Templates](#ui-templates) - [Xcode](#xcode) - [Extensions (Xcode 8+)](#extensions-xcode-8) - [Themes](#themes) @@ -342,43 +342,39 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git ## Charts -*Beautiful, Easy and Fully customized charts* +*Explore beautiful, easy-to-use, and customizable iOS charting libraries, perfect for creating dynamic and stunning data visualizations.* -- [Charts](https://github.com/danielgindi/Charts) - A powerful chart / graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). -- [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS. -- [XJYChart](https://github.com/JunyiXie/XJYChart) - A Beautiful chart for iOS. Support animation, click, slide, area highlight. -- [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. -- [XYPieChart](https://github.com/xyfeng/XYPieChart) - A simple and animated Pie Chart for your iOS app. -- [TEAChart](https://github.com/xhacker/TEAChart) - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart. -- [EChart](https://github.com/zhuhuihuihui/EChart) - iOS/iPhone/iPad Chart, Graph. Event handling and animation supported. -- [FSLineChart](https://github.com/ArthurGuibert/FSLineChart) - A line chart library for iOS. -- [chartee](https://github.com/zhiyu/chartee) - A charting library for mobile platforms. - [ANDLineChartView](https://github.com/anaglik/ANDLineChartView) - ANDLineChartView is easy to use view-based class for displaying animated line chart. -- [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. -- [SwiftCharts](https://github.com/i-schuetz/SwiftCharts) - Easy to use and highly customizable charts library for iOS. +- [Charts](https://github.com/danielgindi/Charts) - A powerful chart/graph framework, the iOS equivalent to [MPAndroidChart](https://github.com/PhilJay/MPAndroidChart). +- [CoreCharts](https://github.com/cagricolak/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products. +- [core-plot](https://github.com/core-plot/core-plot) - A 2D plotting lib which is highly customizable and capable of drawing many types of plots. +- [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. +- [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. +- [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart/graph framework in Objective-C. +- [EChart](https://github.com/zhuhuihuihui/EChart) - iOS/iPhone/iPad Chart, Graph. Event handling and animation supported. +- [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit. - [FlowerChart](https://github.com/drinkius/flowerchart) - Flower-shaped chart with custom appearance animation, fully vector. -- [Scrollable-GraphView](https://github.com/philackm/ScrollableGraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. -- [Dr-Charts](https://github.com/Zomato/DR-charts) - Dr-Charts is a highly customisable, easy to use and interactive chart / graph framework in Objective-C. -- [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generator for iOS. - [FSInteractiveMap](https://github.com/ArthurGuibert/FSInteractiveMap) - A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS. +- [FSLineChart](https://github.com/ArthurGuibert/FSLineChart) - A line chart library for iOS. +- [Graphs](https://github.com/recruit-mtl/Graphs) - Light weight charts view generator for iOS. +- [JBChartView](https://github.com/Jawbone/JBChartView) - iOS-based charting library for both line and bar graphs. - [JYRadarChart](https://github.com/johnnywjy/JYRadarChart) - An iOS open source Radar Chart implementation. -- [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift. -- [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer based pie chart. Fantastically fast and fully customizable. Amazing animations available with MagicPie. +- [MagicPie](https://github.com/AlexandrGraschenkov/MagicPie) - Awesome layer-based pie chart. Fantastically fast and fully customizable. Amazing animations available with MagicPie. +- [PNChart](https://github.com/kevinzhow/PNChart) - A simple and beautiful chart lib used in Piner and CoinsMan for iOS. - [PieCharts](https://github.com/i-schuetz/PieCharts) - Easy to use and highly customizable pie charts library for iOS. -- [CSPieChart](https://github.com/youkchansim/CSPieChart) - iOS PieChart Opensource. This is very easy to use and customizable. -- [DDSpiderChart](https://github.com/dadalar/DDSpiderChart) - Easy to use and customizable Spider (Radar) Chart library for iOS written in Swift. -- [core-plot](https://github.com/core-plot/core-plot) - a 2D plotting lib which is highly customizable and capable of drawing many types of plots. -- [ChartProgressBar](https://github.com/hadiidbouk/ChartProgressBar-iOS) - Draw a chart with progress bar style. +- [Scrollable-GraphView](https://github.com/philackm/ScrollableGraphView) - An adaptive scrollable graph view for iOS to visualise simple discrete datasets. Written in Swift. - [SMDiagramViewSwift](https://github.com/VRGsoftUA/SMDiagramView) - Meet cute and very flexibility library for iOS application for different data view in one circle diagram. - [Swift LineChart](https://github.com/zemirco/swift-linechart) - Line Chart library for iOS written in Swift. - [SwiftChart](https://github.com/gpbl/SwiftChart) - Line and area chart library for iOS. -- [EatFit](https://github.com/Yalantis/EatFit) - Eat fit is a component for attractive data representation inspired by Google Fit. -- [CoreCharts](https://github.com/cagricolak/CoreCharts) - CoreCharts is a simple powerful yet Charts library for apple products. +- [TEAChart](https://github.com/xhacker/TEAChart) - Simple and intuitive iOS chart library. Contribution graph, clock chart, and bar chart. +- [TKRadarChart](https://github.com/TBXark/TKRadarChart) - A customizable radar chart in Swift. +- [TWRCharts](https://github.com/chasseurmic/TWRCharts) - An iOS wrapper for ChartJS. Easily build animated charts by leveraging the power of native Obj-C code. +- [XJYChart](https://github.com/JunyiXie/XJYChart) - A Beautiful chart for iOS. Support animation, click, slide, area highlight. **[back to top](#contributing-and-collaborating)** ## Code Injection - + *Decrease development time with these tools* - [Inject](https://github.com/krzysztofzablocki/Inject) - Hot Reloading for Swift applications! From 8d0b1d277644868e0f4095a2098723e59844f063 Mon Sep 17 00:00:00 2001 From: David Rifkin <50370157+davidlawrencer@users.noreply.github.com> Date: Fri, 24 Jan 2025 14:16:01 -0600 Subject: [PATCH 2603/2606] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f179c8a3d..99e27e11d 100644 --- a/README.md +++ b/README.md @@ -181,6 +181,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. - [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. - [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. +- [Embrace](http://embrace.io) - Mobile observability, built on OpenTelemetry, to find every issue and provide user-focused, reliable apps. - [Emerge Tools](https://www.emergetools.com) - Prevent app size & performance regressions on every pull request, get automated insights on how to improve. - [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. - [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. From bd46f510b48d4671f5636a681491b7383004e46b Mon Sep 17 00:00:00 2001 From: David Rifkin <50370157+davidlawrencer@users.noreply.github.com> Date: Fri, 24 Jan 2025 14:20:09 -0600 Subject: [PATCH 2604/2606] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 99e27e11d..9b0f8f943 100644 --- a/README.md +++ b/README.md @@ -181,7 +181,7 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git - [Bugsnag](https://www.bugsnag.com/platforms/ios-crash-reporting) - Error tracking with a free tier. Error reports include data on device, release, user, and allows arbitrary data. - [Countly](https://count.ly) - Open source, mobile & web analytics, crash reports and push notifications platform for iOS & Android. - [devtodev](https://www.devtodev.com/) - Comprehensive analytics service that improves your project and saves time for product development. -- [Embrace](http://embrace.io) - Mobile observability, built on OpenTelemetry, to find every issue and provide user-focused, reliable apps. +- [Embrace](http://embrace.io) - Mobile observability, built on OpenTelemetry, to provide user-focused, reliable apps. - [Emerge Tools](https://www.emergetools.com) - Prevent app size & performance regressions on every pull request, get automated insights on how to improve. - [Instabug](https://instabug.com) - In-app feedback, Bug and Crash reporting, Fix Bugs Faster through user-steps, video recordings, screen annotation, network requests logging. - [Matomo](https://github.com/matomo-org/matomo-sdk-ios) - The MatomoTracker is an iOS, tvOS and macOS SDK for sending app analytics to a Matomo server. From d3b73bc5ef099ffd79cbc43b30b5a3cd17936674 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Thu, 30 Jan 2025 15:00:07 -0300 Subject: [PATCH 2605/2606] Update README.md --- README.md | 130 ++++++++++++++++++++---------------------------------- 1 file changed, 48 insertions(+), 82 deletions(-) diff --git a/README.md b/README.md index 9b0f8f943..ff09013f0 100644 --- a/README.md +++ b/README.md @@ -2210,101 +2210,67 @@ Most of these are paid services, some have free tiers. ## UI -- [Motif](https://github.com/erichoracek/Motif) - A lightweight and customizable JSON stylesheet framework for iOS. -- [Texture](https://github.com/TextureGroup/Texture) - Smooth asynchronous user interfaces for iOS apps. -- [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. -- [iCarousel](https://github.com/nicklockwood/iCarousel) - A simple, highly customisable, data-driven 3D carousel for iOS and Mac OS. -- [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. -- [ComponentKit](https://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. -- [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. -- [phone-number-picker](https://github.com/hughbe/phone-number-picker) - A simple and easy to use view controller enabling you to enter a phone number with a country code similar to WhatsApp written in Swift. + +- [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. +- [ApplyStyleKit](https://github.com/shindyu/ApplyStyleKit) - Elegant apply style, using Swift Method Chain. +- [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. +- [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion. +- [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views. +- [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. - [BEMCheckBox](https://github.com/Boris-Em/BEMCheckBox#sample-app) - Tasteful Checkbox for iOS. -- [MPParallaxView](https://github.com/DroidsOnRoids/MPParallaxView) - Apple TV Parallax effect in Swift. -- [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications. -- [EZSwipeController](https://github.com/goktugyil/EZSwipeController) - UIPageViewController like Snapchat/Tinder/iOS Main Pages. +- [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect. +- [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux). +- [ClassicKit](https://github.com/Baddaboo/ClassicKit) - A collection of classic-style UI components for iOS. +- [ComponentKit](https://componentkit.org/) - A React-Inspired View Framework for iOS, by Facebook. +- [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app. - [Curry](https://github.com/devinross/curry) - Curry is a framework built to enhance and compliment Foundation and UIKit. -- [Pages](https://github.com/hyperoslo/Pages) - UIPageViewController made simple. -- [BAFluidView](https://github.com/antiguab/BAFluidView) - UIView that simulates a 2D view of a fluid in motion. -- [WZDraggableSwitchHeaderView](https://github.com/wongzigii/WZDraggableSwitchHeaderView) - Showing status for switching between viewControllers. -- [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - An iOS native implementation of a Trello Animated Navagation. -- [Spots](https://github.com/hyperoslo/Spots) - Spots is a view controller framework that makes your setup and future development blazingly fast. -- [AZExpandableIconListView](https://github.com/Azuritul/AZExpandableIconListView) - An expandable/collapsible view component written in Swift. -- [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library. -- [Navigation Stack](https://github.com/Ramotion/navigation-stack) - Navigation Stack is a stack-modeled navigation controller. -- [UIView-draggable](https://github.com/andreamazz/UIView-draggable) - UIView category that adds dragging capabilities. +- [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. +- [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. +- [DrawerKit](https://github.com/babylonhealth/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. +- [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. - [EPSignature](https://github.com/ipraba/EPSignature) - Signature component for iOS in Swift. - [EVFaceTracker](https://github.com/evermeer/EVFaceTracker) - Calculate the distance and angle of your device with regards to your face. -- [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. -- [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. -- [VisualEffectView](https://github.com/efremidze/VisualEffectView) - UIVisualEffectView subclass with tint color. -- [Cacao](https://github.com/PureSwift/Cacao) - Pure Swift Cross-platform UIKit (Cocoa Touch) implementation (Supports Linux). -- [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. -- [DCKit](https://github.com/agordeev/DCKit) - Set of iOS controls, which have useful IBInspectable properties. Written on Swift. -- [BackgroundVideoiOS](https://github.com/Guzlan/BackgroundVideoiOS) - A swift and objective-C object that lets you add a background video to iOS views. -- [NightNight](https://github.com/Draveness/NightNight) - Elegant way to integrate night mode to swift projects. -- [SwiftTheme](https://github.com/wxxsw/SwiftTheme) - Powerful theme/skin manager for iOS. +- [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. - [FDStackView](https://github.com/forkingdog/FDStackView) - Use UIStackView directly in iOS. -- [RedBeard](https://www.redbeard.io/) - It's a complete framework that takes away much of the pain of getting a beautiful, powerful iOS App crafted. -- [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. -- [DistancePicker](https://github.com/qmathe/DistancePicker) - Custom control to select a distance with a pan gesture, written in Swift. -- [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. -- [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. -- [StatusProvider](https://github.com/mariohahn/StatusProvider) - Protocol to handle initial Loadings, Empty Views and Error Handling in a ViewController & views. -- [StackLayout](https://github.com/bridger/StackLayout) - An alternative to UIStackView for common Auto Layout patterns. -- [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. -- [SwiftVideoBackground](https://github.com/dingwilson/SwiftVideoBackground) - Easy to Use UIView subclass for implementing a video background. -- [ConfettiView](https://github.com/OrRon/ConfettiView) - Confetti View lets you create a magnificent confetti view in your app. -- [BouncyPageViewController](https://github.com/BohdanOrlov/BouncyPageViewController) - Page view controller with bounce effect. +- [FlourishUI](https://github.com/thinkclay/FlourishUI) - A highly configurable and out-of-the-box-pretty UI library. +- [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner, Product Show, Welcome/Guide Pages, Screen/ViewController Sliders. +- [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy-to-use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. +- [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. +- [GaugeKit](https://github.com/skywinder/GaugeKit) - Customizable gauges. Easy reproduce Apple's style gauges. +- [HamsterUIKit](https://github.com/Howardw3/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. +- [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. +- [HorizontalDial](https://github.com/kciter/HorizontalDial) - A horizontal scroll dial like Instagram. +- [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - A customizable color picker for iOS in Swift. +- [JDFlipNumberView](https://github.com/calimarkus/JDFlipNumberView) - Representing analog flip numbers like airport/trainstation displays. +- [KPActionSheet](https://github.com/khuong291/KPActionSheet) - A replacement of default action sheet, but has very simple usage. +- [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. +- [LeeGo](https://github.com/wangshengjia/LeeGo) - Declarative, configurable & highly reusable UI development as making Lego bricks. - [LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) - A radio button with a pretty fill animation. - [Macaw-Examples](https://github.com/exyte/Macaw-Examples) - Various usages of the Macaw library. -- [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control. -- [Newly](https://github.com/dhirajjadhao/Newly) - Newly is a drop in solution to add Twitter/Facebook/Linkedin-style new updates/tweets/posts available button. -- [CardStackController](https://github.com/jobandtalent/CardStackController) - iOS custom controller used in Jobandtalent app to present new view controllers as cards. - [Material Components](https://github.com/material-components/material-components-ios) - Google developed UI components that help developers execute Material Design. -- [FAQView](https://github.com/mukeshthawani/FAQView) - An easy to use FAQ view for iOS written in Swift. -- [LMArticleViewController](https://github.com/lucamozza/LMArticleViewController) - UIViewController subclass to beautifully present news articles and blog posts. -- [FSPagerView](https://github.com/WenchaoD/FSPagerView) - FSPagerView is an elegant Screen Slide Library. It is extremely helpful for making Banner、Product Show、Welcome/Guide Pages、Screen/ViewController Sliders. -- [ElongationPreview](https://github.com/Ramotion/elongation-preview) - ElongationPreview is an elegant push-pop style view controller with 3D-Touch support and gestures. +- [Material](https://github.com/CosmicMind/Material) - Material is an animation and graphics framework that allows developers to easily create beautiful applications. +- [MEVHorizontalContacts](https://github.com/manuelescrig/MEVHorizontalContacts) - An iOS UICollectionViewLayout subclass to show a list of contacts with configurable expandable menu items. +- [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. +- [NightView](https://github.com/Boris-Em/NightView) - Dazzling Nights on iOS. +- [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X +- [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. +- [OAStackView](https://github.com/nsomar/OAStackView) - OAStackView tries to port back the stackview to iOS 7+. OAStackView aims at replicating all the features in UIStackView. +- [OverlayContainer](https://github.com/applidium/OverlayContainer) - A library to develop overlay based interfaces, such as the one presented in the iOS 12 Apple Maps or Stocks apps. +- [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. - [Pageboy](https://github.com/uias/Pageboy) - A simple, highly informative page view controller. -- [IGColorPicker](https://github.com/iGenius-Srl/IGColorPicker) - A customizable color picker for iOS in Swift. -- [KPActionSheet](https://github.com/khuong291/KPActionSheet) - A replacement of default action sheet, but has very simple usage. -- [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator. -- [Magnetic](https://github.com/efremidze/Magnetic) - SpriteKit Floating Bubble Picker (inspired by Apple Music). -- [AmazingBubbles](https://github.com/GlebRadchenko/AmazingBubbles) - Apple Music like Bubble Picker using Dynamic Animation. -- [Haptica](https://github.com/efremidze/Haptica) - Easy Haptic Feedback Generator. -- [GDCheckbox](https://github.com/saeid/GDCheckbox) - An easy to use custom checkbox/radio button component for iOS, with support of IBDesign Inspector. -- [HamsterUIKit](https://github.com/Howardw3/HamsterUIKit) - A simple and elegant UIKit(Chart) for iOS. -- [AZEmptyState](https://github.com/Minitour/AZEmptyState) - A UIControl subclass that makes it easy to create empty states. -- [URWeatherView](https://github.com/jegumhon/URWeatherView) - Show the weather effects onto view. -- [LCUIComponents](https://github.com/linhcn/LCUIComponents) - A framework supports creating transient views on top of other content onscreen such as popover with a data list. -- [ViewComposer](https://github.com/Sajjon/ViewComposer) - `let lbl: UILabel = [.text("Hello"), .textColor(.red)]` - Create views using array literal of enum expressing view attributes. -- [BatteryView](https://github.com/yonat/BatteryView) - Simple battery shaped UIView. -- [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView. +- [PageController](https://github.com/hirohisa/PageController) - Infinite paging controller, scrolling through contents and title bar scrolls with a delay. +- [Pages](https://github.com/hyperoslo/Pages) - UIPageViewController made simple. - [Pulley](https://github.com/52inc/Pulley) - A library to imitate the iOS 10 Maps UI. -- [N8iveKit](https://github.com/n8iveapps/N8iveKit) - A set of frameworks making iOS development more fun. - [Panda](https://github.com/wordlessj/Panda) - Create view hierarchies declaratively. -- [NotchKit](https://github.com/HarshilShah/NotchKit) - A simple way to hide the notch on the iPhone X -- [Overlay](https://github.com/TintPoint/Overlay) - Overlay is a flexible UI framework designed for Swift. It allows you to write CSS like Swift code. -- [SwiftyUI](https://github.com/haoking/SwiftyUI) - High performance and lightweight(one class each UI) UIView, UIImage, UIImageView, UIlabel, UIButton, Promise and more. -- [NotchToolkit](https://github.com/AFathi/NotchToolkit) - A framework for iOS that allow developers use the iPhone X notch in creative ways. -- [PullUpController](https://github.com/MarioIannotta/PullUpController) - Pull up controller with multiple sticky points like in iOS Maps. -- [DrawerKit](https://github.com/babylonhealth/DrawerKit) - DrawerKit lets an UIViewController modally present another UIViewController in a manner similar to the way Apple's Maps app works. +- [Reactions](https://github.com/yannickl/Reactions) - Fully customizable Facebook reactions control. +- [RKNotificationHub](https://github.com/cwRichardKim/RKNotificationHub) - Make any UIView a full fledged notification center. +- [SegmentedProgressBar](https://github.com/D-32/SegmentedProgressBar) - Snapchat / Instagram Stories style animated indicator. +- [ShadowView](https://github.com/PierrePerrin/ShadowView) - Make shadows management easy on UIView. - [Shades](https://github.com/aaronjsutton/Shades) - Easily add drop shadows, borders, and round corners to a UIView. -- [ISPageControl](https://github.com/Interactive-Studio/ISPageControl) - A page control similar to that used in Instagram. -- [Mixin](https://github.com/oney/Mixin) - React.js like Mixin. More powerful Protocol-Oriented Programming. - [Shiny](https://github.com/efremidze/Shiny) - Iridescent Effect View (inspired by Apple Pay Cash). -- [StackViewController](https://github.com/seedco/StackViewController) - A controller that uses a UIStackView and view controller composition to display content in a list. -- [UberSignature](https://github.com/uber/UberSignature) - Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style. -- [SwViewCapture](https://github.com/startry/SwViewCapture) - A nice iOS View Capture Swift Library which can capture all content. -- [HGRippleRadarView](https://github.com/HamzaGhazouani/HGRippleRadarView) - A beautiful radar view to show nearby items (users, restaurants, ...) with ripple animation, fully customizable. -- [GDGauge](https://github.com/saeid/GDGauge) - Full Customizable, Beautiful, Easy to use gauge view Edit. -- [STAControls](https://github.com/Stunner/STAControls) - Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C. -- [ApplyStyleKit](https://github.com/shindyu/ApplyStyleKit) - Elegant apply style, using Swift Method Chain. -- [OverlayContainer](https://github.com/applidium/OverlayContainer) - A library to develop overlay based interfaces, such as the one presented in the iOS 12 Apple Maps or Stocks apps. -- [ClassicKit](https://github.com/Baddaboo/ClassicKit) - A collection of classic-style UI components for iOS. -- [Sejima](https://github.com/MoveUpwards/Sejima) - A collection of User Interface components for iOS. -- [UI Fabric by Microsoft](https://github.com/OfficeDev/ui-fabric-ios) - UI framework based on [Fluent Design System](https://www.microsoft.com/design/fluent/#/ios) by Microsoft. -- [Popovers](https://github.com/aheze/Popovers) - A library to present popovers. Simple, modern, and highly customizable. Not boring! +- [SCTrelloNavigation](https://github.com/SergioChan/SCTrelloNavigation) - An iOS native implementation of a Trello Animated Navigation. +- [Splitflap](https://github.com/yannickl/Splitflap) - A simple split-flap display for your Swift applications. +- [STAControls](https://github.com/Stunner/STAControls ) – Handy UIControl subclasses. (Think Three20/NimbusKit of UIControls.) Written in Objective-C. **[back to top](#contributing-and-collaborating)** From 2ef3a44d55735215a75a27436d47cbf737e18386 Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Tue, 4 Feb 2025 10:59:53 -0300 Subject: [PATCH 2606/2606] reorg and clean Command Line section --- README.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index ff09013f0..cb8cbbf15 100644 --- a/README.md +++ b/README.md @@ -442,18 +442,22 @@ Please see [CONTRIBUTING](https://github.com/vsouza/awesome-ios/blob/master/.git *Smart, beautiful and elegant tools to help you create command line applications.* -- [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. -- [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift. +- [Ashen](https://github.com/colinta/Ashen) - A framework for writing terminal applications in Swift. +- [Linenoise](https://github.com/andybest/linenoise-swift) - A pure Swift replacement for readline - [ColorizeSwift](https://github.com/mtynior/ColorizeSwift) - Terminal string styling for Swift. -- [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) Command line framework for Swift. -- [Marathon](https://github.com/JohnSundell/Marathon) - Marathon makes it easy to write, run and manage your Swift scripts. - [CommandCougar](https://github.com/surfandneptune/CommandCougar) - An elegant pure Swift library for building command line applications. -- [Crayon](https://github.com/luoxiu/Crayon) - Terminal string styling with expressive api and 256/TrueColor support. -- [SwiftShell](https://github.com/kareman/SwiftShell) - A Swift framework for shell scripting and running shell commands. -- [SourceDocs](https://github.com/eneko/SourceDocs) - Command Line Tool that generates Markdown documentation from inline source code comments. +- [Commander](https://github.com/kylef/Commander) - Compose beautiful command line interfaces in Swift. +- [Crayon](https://github.com/luoxiu/Crayon) - Terminal string styling with expressive API and 256/TrueColor support. +- [Guaka](https://github.com/nsomar/Guaka) - The smartest and most beautiful (POSIX compliant) command line framework for Swift. - [ModuleInterface](https://github.com/minuscorp/ModuleInterface) - Command Line Tool that generates the Module's Interface from a Swift project. - -**[back to top](#contributing-and-collaborating)** +- [nef](https://github.com/bow-swift/nef) - Command line tool to ease the creation of documentation in the form of Swift Playgrounds. +- [Progress](https://github.com/jkandzi/Progress.swift) - Add beautiful progress bars to your loops. +- [SourceDocs](https://github.com/eneko/SourceDocs) - Command Line Tool that generates Markdown documentation from inline source code comments. +- [Swift Argument Parser](https://github.com/apple/swift-argument-parser) - Straightforward, type-safe argument parsing for Swift +- [SwiftCLI](https://github.com/jakeheis/SwiftCLI) - A powerful framework for developing CLIs in Swift +- [Swiftline](https://github.com/nsomar/Swiftline) - Swiftline is a set of tools to help you create command line applications. +- [SwiftShell](https://github.com/kareman/SwiftShell) - A Swift framework for shell scripting and running shell commands. +- [SwiftyTextTable](https://github.com/scottrhoyt/SwiftyTextTable) - A lightweight library for generating text tables. ## Concurrency

MV#N7o}1+jO~JJG@SN)uv>ri!?X;(_;|jW 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 =`L0YDoye~fP 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 z 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

MV#N7o}1+jO~JJG@SN)uv>ri!?X;(_;|jW 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 =`L0YDoye~fP zjsfS`j#s={746g)%Hzv9s1;kyiuB99{z9bR}^o9o+tuO?)x zxZM-|51q?f3Q4o&cAjjv+Ao{iNk*dbea`i~$aEvL;{Mv2S69$_-#hz=|H^#xaOh7& zJ@G)@ak#;>5#Z46rr3B%$0)3o!;t$Du0vDhMG5$nK3 zB9}P7X$wcXR5k@N{=@*B%~xU`$M#8IrjBjtd7A4?CMg%$1yd~urT%GlS!(Pw>XvPQ zYHaHpzJLEWBQNS?d(j28@*`9`WNk6AC-WS4_wy0`_Du%4hL}h zQ!Ugd&4W0CFk-)a2f1lvJS(d2Cb9qvU*Y2e2;xdp5cCX48}TEjl|I^M}JJ<0eP z5ouI>2ye{{kIwY@N9?b8_g=Wou%Xpg?p1`tD_>U&S?&b`Q${)aaTiugXVsMm`4)2s z*eQA6*NxmMrrkfX#o_gd>YG9>?;|qw0_*Ty+VQ_{okl(#g30a(qVFWRFd3thD-`2R zqVE^5h8Iw+2?&4BBchqhu;w%|1saH0*2G%WsRvzS(#I(P1<_+eSUFL=&AZX%rpd=XuA8!bwcT>fScK}Ej)Y}^un~w(K}3ST&Fg`11KVBSlx9m2 zG}nX_Ul#=;dklXY9hXRSg&19pvJaNFBIe5>3@BiJi&o?kt=Lb03^D2M@F=x zrO69!Zqr51g79_77PC0<76H7KOap*a0X=018g$Vz)l)L{3p#*C-J=GBtkDPE{F=7P zho6x&&R7^>23t#3yJxSM7fxaJVUT%GJs2+}m(E>;14&BP&vul;5K{B85=6BkjMlW) z^Yzd2&++uV@sdX;bMi=&-9~e%5BE(Pls>Bn^Xg1O8;ST=!Ai;OTQwF&Txsx_6v2`n zX%b43xEO9!k*M58nv#j26;V_R zUq+>XUI~wjm;fw1_EXk7PKVd0lm6?j^s+Afp zAcc5!%x)=kkc8`*;Ir;G75=$0^Sy0Zc*_UBKVBBG6a{~MGpWM$`dSk!jx|vHvg<0- zaxn=xPS6%IfpuRgk&~v{pYP0AJ(zOHNqGUFYc5hz8}3RdHRyqcMF$pC<55_wb z7?_g{;KU1LRp&eBNBe#4Ure6oAs;%LT{0-4I=cqaO?CvivRH#kpG8W~+61(7NOdUj zpfRN;m8BY3WzT4g?M7%yP#+lvATL!BtB;+pbGhq zl*;0CYJkS{JlS1CqF;ZDkoh+eiKP??e(mzY*9V^>Irz2HUPCgK1&&e`7B>V%cL!0K zFN(T40%TOLDiZ}^@&ahPs%kc>YLfws>bYM_9IEdje12NPokfu)z(xx1P!k}jI-kd~ z(!Ey6=viFwZCoxAW#EX@V8`Ej4M%2dkxAQyD&eIn_?lm>5K--NSM3^B-9jZ?2*u#p zrw-W8Qcvcb=APtxlW3Teb*!IpvXN-|C+l|78ExJ9o}-?z8w76L0H7Z0Q49^)?F}8(r~WdfJfED$k~LEo1E1pIjs}} zm`6?g(=-B&GCEPg4aiT_wR5vs3+a*@Sy7S z=)-}`uB|cw}I%ZrXU*nl=TTzy*8W~9D=1Wi#^aP+>LWJ z*`Ev>{XOcx`R9~NzZvw-Q2Eh_}p-oo!F-z+x3$9m%2~k z6;XbPkrNWR_b5VX-l4}2|XJ69UK=N;ky`9+BEg|?y9K5XP(6xC>YL>DrO z=zal#j9TW6TK4ofTznz99o4_UTLQrCdtO+5BJp*=bMF~*q8`|tAG7U&J4lUKZH?N} zkDgtRI^~TU^^AH=56JGedph(QU6gt}^}Mh8GEaf%OmnEuz-~|bM538fU#K#nr9YNn zF!s5o{|ZoBRl`;oH&B!}u|7K4bTN5i*J=4gAZFj4+chZi*r_m`BAVM=<6BY|8cLZ3 zWQDoEmPhB{1=X8Qzv^g_bBJG4F;Z~A={+Cbp`P7)>ZY2nJ>04l(waSvn?0SLz3Q30 zz?r+`nmf9fy>ytn>#4o#nS0uryQ-P{M?DXEGmmOC|EN-D>R*cqpXDX0+nks`uMs}* zBO!R6Uzn&R!iD3(7swrFdB4^Y#?Ml6*HY8eVFxTwaWB$r*D@j->w4krGmGCI7P)B_ z`D<%QalbAoe#LsT0O3X9=_!dbQIMoD5HLA^_1@np_MB;N3~z<4sZy_qo8rLfwyPq@0`g{v&T*4(yNbDmf7 zxz|E!*8{d!NyEB`HP>g?)*@$Ct9#d~j8>5_X!J~HRPRQ?c}wr#RX^2rqO{ct_tg@| zjY@ouKF8H!qb*XIt#H+iuIDu|gJD7O>6f;lD-J^|&s!tZOG`H1gC;K-UD4?^(3|OP zwp2rp50;kUD^udjBXM0a;@dwQ5ha)LCH)R&vbf)K4ZbN-s?BuO{G}OsAN?&VjsHE> zcBj&`@bt`T{Pcq7&NuDvcid!&Ub(oC)bPV^ik&NGy}MF|lJgx!hurbn@g;}py8>*} znE5$~H{Vs^)jw7DgnIUtXuhxY$2n|&lF!>)6WK`oHEH6}zBP-99I3>H($AJi z)-7dW>>rn8KS@{8B@Gr=%)cQ|z8(2az2 zcOzW_4&69(@4J@npFJ^B9P-S>5p?`~y>r2jVm=zd;hv<%Xt<%{dm+kbG89COa--XC2 z9u}~EzmA$gygp%x-m7gnW)c3x_4z29R6ol8g6aO7}3w<*p zU7mUUncHOLIm3$66%)A;HyOi%qrTW@D@pTC^iA4G$B-u^P5OtMCs!OVzFz)25`S>2 zXn#rm?1DmkfBNL=m;Rwv`GCihQneQc8vmX6RD7njSf+P5hrYXxf4^_`^ep!Ch4G8S z#Z%>Xl15fhbRYm>xb)5B=?~_ZP7w2X^KL~t(HNUu4x_7Ca^0PAY zM)LhdYNj9Ii*M>tE1m}Kp-~sJ9@kHOXZ-K~&Zszt{yWxTykLuqv3r7GWIa#*oX!5` z^o9N2j+u5|)I}HBuMnO;Jts%1Z_blQ_n-c^H%xW(_C+&V`sma9+cTxx3slQd#EX^C zXNNqBSMhId6Ug9qliK*$grxrksieiFCq7HaOv%B-=4BOTB^5{I6z7)wA4sJryE(qR zv8A>!v#YeJ72DcT**4Jg>REqdMRH#Eo8gSXsrtAV?PD`FZ>yH3XWrrF@|!#7Q$N;? zmwfGgoxb#bt?m2j;eXX-Ltpk!Uah=5{du~)@aO8dSW7hD=bl2$KgxeLlWlBB!wTY+ zh@X#{`l1&FJLG;EY|Dp(*cu{e{hh|rm}Jf`Jl=1NW;YD_sS*fn>!$DNejdyhrkc)- zI@-B8Xk!?1(3t14!x!V8S2sxVJffDkClWs}b<8;-%6w~Dtu~T6)|kQHn#5Wb_89+y z|3m0TV>!!y8{bA&&(7}u!? z9fq@h3T87ZN=bWf-cS_cpHLd8({eoE9TZYpbN@e*weu&DYwe#BUzQ*FecoOVsUR~A zb4itcWcQ^wzvpDUNG2%LhF;+ZOAusXj4tx?e1W~s{+Wt#BwyTIdw|M+w+y{ctBM2mXY{#>@*blG0d z9#MF;N6Ye9au`VW3iY}Ye|dhgPUWR*J{UVb!>xAT{FOsMJSho<1}~YFUx%AJ%a0EW zegmwpJl21;$Gvz*a#mRIe&zxRuFwoNhlG?~x09rqdcBzwvKiQITmA8?yNZoTe1Vlo z#kn*%;@|GEfk=Ktep%DWH?wCnZ**RAx2Cf0eIWSnc4uJf2`jftYM>B5+uFptvIQMu z-=?*(&qX<#3|yb-=bET|vOavCczS*0bHiNn*F7SQx#j7P5xH!NG~Mlzq7`4rJ;Y(w$8vLF8-J?J`+d9( zqXS-+nB4>+e_ZK4-O$b;3{X}5vUy^jX+!awJwcjDaxPgTH=)VJjk~9RKSuO9mU{J} zQu?pT2#aa6^HOTjFL^IQ_Scf@dZY(+^}LuTBOJdJ8W#h@rx{QDoWBE;oTB+p9;}4F zJNzRh2~kK7zom4DB?Pw&9s6avnzD!GCo51k)TQ1oLl`di-8D3-AZaaG&g+8vDh2VR zW=qzU1VKFYWbC{w;T%NQa*AD6iM0zV?dO?RwYHqdpdqAe!jNLCf>Ev&hAs-wJ1oU5x!Xm7@?)RKDRT zxEl6AZJ?exJu;t)Lbb(o;M_};n9_;YyiB5M(GMa1x%d=5YN_cPdCSbT2=MFje?G5V z&V_Q@NX$!_F9g`7yX=y>i!6qjkpB_f@0%>F3fsMi2gKe9LOiuLvMv*jma1Mhj~Z#w zxbQ9nm<=ff(?b5H3LkP*KZ1+IF+9ZgI6b=M`YXR?s1?72q4(j?2$3OK@|de2(&fW> z%bJA9s=GK`RavSLR-spPB2Odk3CycYdw|oLzscW|`b0aQIV`~%m1Zrz$hi1gI8LXF zx6vWZTIdr4Eko?a(p@#&yaq;S{5r5iidN3-?V4B$Mld%UN~ryk@*+RzuLo^LkKBY4 ztv}^sE>#JycLKxWIg1Z-`KIHSUlLyG<14tSoKdd*_mQV{_iNLmq_oo3%PrDLJz;0E z-;%qu!=x%7jn&-dz~M6U@v7}{M(#nM9?P^~o!xFJ;%%DVW@jIK@0HlRX@?A^Bik!)&$Z)%5Bp0q$|dG^_Weu=~e`fJ{`= z7wlkg7c#H|6-O)WLz*{8{m$B#s_@oW+}tnullXCXmNMV_)UcW1uv8XVc?|7RWqpXl zH5caP2f3vohAF+1M>mG}k4=8lEY0><^B>#kjufq}Db704>G-N3dhvubeM_>|eRf#G zKQ7arAsShpc>V4lXsmAH?HznU@@4e{wYY-`gS@O=#N4!DJa1FZ&+j1vK|zi!pKqfR zcVKBjZwYPr<7)^pz1h~@_a)37n)|;x|6X1-k`ZIyK87=t{G3lWODhu?+Qudq*5?H$ zblXt`mO4lDPrOnsAoB|_&@3VUbe%ezCY&64UzVA>e9VbNvNVr|TjqGob2`ITPTh5B z{6RiT*5mJ`FX(=~AuP8S;rC)4xSb|zv7`-6TMm1jbN*kF1?!yY^5mf#D`v`#rghr6 z#S9_LG^<#l%yzA7dIm10Ql-n{8GdQU@Vj#F!HYkyL9d_GOe7856k+!KKfx+jyfc|R^9j-30x{(bqv16@Tofp@0!+5$Zm+CN7aR)P+O zw93A>Xl=>y9jP=*WR1I*ZqvQ!ADlWn6D#<$D!!AvE#L)`JBS>4sFzoIknHFI>XS zcsf>+_zUj6wNxL5Tj_P)KH7DON{?48e4Z8nzhf-O^Jub1s8gCIMMt9&ls(YT%qAg-LE_Wy2n@j{=OG*J(Lbm&T=27y zGPadDEHkPEVsk#`6K==uX#Eh6%N3t5--yr5@q>U|wVE6ly{}A4=FhtL?q19Hw7##& zeaFdj^*=@j<)V+dx+Y&>6xjkK{fxqS`ClT zq+rV=rh1o0f!v{cx1OY&dc6sLS^hDE9e$rx3Zkqm->*h+?q)cQXM>>bajxzUgWN4G z+-+2fID&oEU5f&Ge2wd#plWH?f^rpBpMJMY%eNw~Vz6ZIaf{wX9$vdEq==4HF!wjFjIL75IEeoK0fz(|W`c##FK#HTnzvk)bpR zuFNTJlb%!6gO~H&q!MoJTF@=cIGHWY_v8){@kCQLewmXi+^b)_TFf2ytVbE=P~X(JNV7t(vm*|k2NY^gX$h#9V*fjDD!FrES97iG z6;`e^#mL?os#8mYf?Ig^^M$!Z^0LwP#i5H6My^CxWHBG9$DumEM9*T5Yml0w9z)=6Js5seZdA zj~QslaMhw2iQV`pEwx{NEQ>m)5dq1?-rK4(!DYD+rPIJR;JDR^DSFat#t#(rQ&rJVVBL;5T`>dNU zt27XMx_{wHVV9c!qk3z zwL5M>(^m~AW5%RpC@VfpfWlb&Fpfups`1(({U;|jwZDCIsl)3=3R+T4E!)89GN1&l zP{HepKVLykxr)T4;%e*S_~owTo^L z+-9xH-FMRN_54k9w%|F@A9az&7RWy6mBl(rgd0zbve9WE4hbb|#>D*=S-CRNGH!@; z!M!7r?)^R-+tljSU#LYjwmuaxJDFt3tf<(Wbof#$+4W^`njuL|e`jO+)J^l}iI>q9 z{hy~R!kn9d4IVjN9m&42Dt;2IQ)`oUt^NkX?m&lXTAN&Twr+fNh_+nc?gJ{D0Uf%L z%%je?AKM-h+TeYCbKf><#Ih^BnN#Pteom-KEMJYscWtsMv5(RderIlTxjHhD-QZ?q z$(1}2zgA7e^L$EnwC*%gu;rQf@TW->UvJwR-6Tnsu^(1(ZcH4SSHY6}!y|(e4yLz> zKa7iFCGtR;W0JpX#N<1gmc;{CX_rcKwoBb-;_|f|I|}aB4xf9uj=XG$(?rscA9Kpk zve;C7N6Mc`3XL~pOFgr4HDydzgA7ujj9!+=#;+wIWls5Te!8^%9%zl=x3g_J475EB zo~I{yvaQBXPG4hu-R0a-SD@s6RQH&+Y@XN7lSX3T)%3zWUV`}^klF{?kV}h@Hc%~H zrm(_$xv$&>buYPyV!qT_tnJkcdK7Ls%8gVhr&j+m``qdAn%^*7Hz_&d=x%0W~1pB-K+HMrb9~yl zbO*V_u_#^K zSE!5+C>dvD#jTU^8u`T&0eGUnJlQ9Zvft*(+`cMM|KC8YL=Qex0tg^hvMBt|ytEw@i24AzQ=qM6M!n5RXJA zjLQ)mvBpTZS-rf)O!}7bbtIGA{J$2GI{*iW9MJXM_*AwnEet^*+;Nh7l6dX5f%-Sc zaFRJN1LhzEg`p6J$NTQ{*l&yqeY-Pw+&d_zk%_VDi3A(&d(QQn{e_2MV7?Cf(n@Jh zC6xA~-u%s2|Fx|--fd(&JRN+r>*SqrN;KuSmyTvmPSU$|X8W{O0J5aX?aXaujgOn@ z6&QLiKQ++Yo5*tV`pD}OrOE&AHu+-qQ(o_IlcEB}ao=M*#ZIWCZ7hKk{5!910xMAR z?=9sDzAxqkboyzcY`e&JyS%T!_GC>e@4qVK{(d<~|KHMf8;C*aRJ84&I;cMifBThU zbzPHIM-bTzI;&@N%MeONB0Kx$@MmBQP9Fz6g>*SU6L+|Jmt^-H(;&w@k7mi4Qs zhxbPx=!o`zWE4Y!nQ4i~}8f2DeCE|8Bq3dvt2};Cr|JmC)QR05N)7UK-9m>~8&F0eBPU2Rq%L1NJ^& z`U3CIeT%bbf0{89iy`kyNS7RjSI4pSmiN$@XO+=!!ch0le^045q-NNB+DuSSYv}bM zH*mA4{wiGj80+Ak4YMsJH7>~@Dnwx(e)<`O`)#{>^fPlh>UHad=*(v|(^;-%3YiRX zrdA4{OS{>ud!+l3q7bS%JUb*f`P~Ue`3VCKuwBljXDOj4^tqb!W%T(cA@P(!uXs4_ zUpY4CbT>i9^A4E+zH`1H0JvCCY*0{CbaF~^QnDDc9X^MuXl`DvCy1GYfr%tlELJQ% zH99I-EF>}Id2M}&P@7OlRc%65TFq_k3n8Yqpx~&a=hew1nRWu8k*IiF-OIL4-00GB zQ+1ROn1hO$i-EXzxh`S2zP&>XH(ZTv*qu9AT=_rp_0`ayzpJ_=ixZ?4eBK}OS;Pw` z-?7N`Q~%2O-~>~B(0Ven5USy*YzmrP1pHb4swt~sg#S|Cui$M{T9A3D(1 zrE`9^h_;F5vj24My`(tVKd7u|^=yr9#%E$L!G`w?z#pX=0vz|sL#5baaoG{7`BuXx z3T3Hqp``>_(5Rh6?#`|JQCc7N&BfA$HQrR;Rz@aG&wx@gU0d@P4-K!`4clr?Cve8;OqA77E2o`M zvs`R9e=w0ZbBj>p=5;gYo5}gt{&Ae;-`la}5|)xF5;Qq7=AU0X{GxJZ=EApR4$PUVB94D zkP^e0p0K!CiH$IHv>G0A_35M3={N#A2;r*fHur^Rh$F^W@WmFv@HPMSV^~OT+7XhP zwW+;*>{ocUb~`&#`6=X{j$hj@t**-b=o)Qjb|J@wggEz8!q|zXF4PfCkg1?hFV{)6 zCS?0I8}RA3(6vEEk@bJSTr_z3r@*i|I=n%vN}YN}$!67(lm9T(!bmtKD(PZ{*@>D} zOUPZjhY$b0Q>CFkXns^XrqODu$PY&7anGj<3)iRb-r@xuXqOl*En306+i0;co}A>z zu6YgV^lJ~l1zGR#>X*4EEV3D~lZI9J0I8GM7*X04of`CKutiIpXYIZZHZ$*FB%W*4 zqCA-YYFaG+yTk)5?X&98+H&p43wafVt5aU%3MYt=CK3m@FBK;ed&0?;!0z#L0$SAE zLaIYdCZbS+AreUJ?>dGE!S<6!XU83He6jy-7N@@aBM(lnVS7wD=A}PCkB$QZH*aIW zZH43C0kr9?65+az(oacVG^rZ`z{lVi!1*+e$W3$3WE(x<`Pgs~X9(vU@$Zw~F18IX zc(cdKk3_`%StTCz8V{9gStJ?)ka0-rjzk{SF+gIKJl+#cYDvx&iFxlm0%2n2?!-Yh z5_Ps>x>(}NRf=G70BY~8JUYDp+D}3+9F@*--YmsGQoU~-ESS!>;#jF#I!qSK8?SD; zl^IwcN3pP}IsLhhFv$aIOX@tz2meJFB>s>^Ap&30K1K{pT@x4r{#=Yx$(anp4>Xc} zxCeZd5c;NXoU&Q+&EKf*%?va+nZE4AD~$U;^a4U(yDTp=xf=FUSl{h-p~kM1T8Br5 zKaVGC;T-n$ZSUsCmxNgxpt8c-Za;;m;^yhklfZZ4(<|^ z2<+5T3-y72E;zjLi7|kkmT2Bf#KaK85s80C9|bQUTe0vFQYHtSB8YeVzk~MyX&7bY zUk8eRDs}8Qq=x`~42XbLM-YCXsw2A@BdCeRA`?6Tbqt!66CK}#GlM104X8Pg)e3QH zDRwT-XRsO8c_wGF%oTzXd+w7UFl%>aJeXW)Y#^AISM5KIl;(3PJ80HB@(psZfWLzb z2RUHr3cXWdF4>BEvp-NaOiB<(gYXpU+X=^4TSWsQ+q`wR4)|#j7D2}*o&wG3fiBBz zpauVG{i?%|9ST*f+q+f%q-;fdkBqi|NDWvNLywpsn`F zsrIlIUXYtVwU5a6h9ZEpMwTM6(uqgr(`)1Q(L912^}8RQ9p7G>Kg&7AbNM|FJqIdx z7>8>g%g)8L`mfB|ng67f4HUgEx@XHOP2nc7<97UNFM&1kdHrYg+SRuBJl1P{CE$J_ zqA3gy1*l+@r7XJ*IB|Kv+T`*n0nj)P0=U7L7)kz?CNej4ykvw*+=*fON6*H@v>p62 zqn{Bc&qrZ@$W_TvIN*2&-6KAZ9$0AM`g1i5fNybM?+VgPaC$Vg^jw*3Bogq%3X8O@ zI+GVBFyI|I7(tQ+SSy|dn$ZFoJXx?nu6$~hofm}FhWW+J{lj#yNA{0xIUajSF|A80 zfd>p@#W)dAU%18!BMOi8<<^Mj2^L5^9YIXt-m{Q6SdhrJHh%jtzwq+EM+;W`9FD#; z&09MmhTk!s=~as*g9#$Bs*j=PcPOI~%IiDuW`!Z4m8 z7MI`*dM=+;$yv2FVeWLet=@q6v;&n*dsH8n94sh9V%}V@Kw!gIa6x9R_2i?EB%!gd ze~p-s>k}jYYq5!_oL?PU^x2vJEj98zy8XIbqTbNaHFy~D^kvmu&%*&lmcF^iG52te2Zg3`QFhU{AJdgV09-j>fC-Q#sGk;0 zt+4ehrugz6LY~_iiJ}tQ;0Y|}85P7T!{NMQ2X3-pDNfnLd){8&fBqKYEz5ue3URLH z0NbNpE11%wQ~NQvgHT)(0n2Uw=3?`1?YZtICR4u7G?(w6-s{=Iy4@Fo)f7hJv-hy$ ziOm7ErtgYL=*q6Y>Ek4O*hy|Xp2eBAeE%Y^@YvyH(F;>9F;Lyv&I(^pgX)13!_W-( zscgZK{oU+Hfy(s)k15_nJG3?<&jEIi&SU|;B}+FYNAbN|w&<-k>6oufQA!W)o@-g) zIU$P9pe9ZAKM4`nd)j+7EAQ#t|DD}a`1_;63uB=GW(#YKRiID;Q9A(M_<^bgfYmAL zdWV4UT-g^D#6}0u(3|-TAwIQ*rqUWv*QyPp@EO${c{Ggp=t8W;86lD&&jgnJ1t+#m zK&1`pi*)`mf|L!xw@0I$$pe+@2$-=UQdlq#3LrLAslk!#ehpOZ1W}PESYTbmlnlAy z9-uA~BWW^zky3c`^`DXUIky%cPFZo@598^!2?Udu!tT=A7t+ zTyq5QqIV82St0M(B}=a+dcAGgffX#|CSs29s;iM?6;X&kdikUJ%v1Vjv93>rDK$QHLL(6{e)7QbEd~-wu(1QcgTSL$ zrMW|I`hB=n?(M(;*8#q0RUZmqS_H&O?|%+ueB2GP-gC^u8lLU=dwpZ!Xk$)?2Sm*| z;X8n|Fi?<#v8s}CQjCHG7B8~x+27C{HVgnmKw$_xPjcR<&HGn7@$C=6_^4b}KyD3b zLX+&2I0>2>0zKLade}?AER$FUbz?%qtPKHHY~mfGha=uUZI=Or!lP0qO+aWyoNM9_ z3!1sO<709P=JBk$)RNGl1b2;H!{jH0W`2`E)jX6k46rlIiVw-+GE2$%Q21xXej*@q z*4eZ5ltWd8vVw=A=+`|bitv7i@X`drHyvDZ9abv~64jkl)yj|IU%75@-iwwhBNDed zOm*BO$jtc=iAfD#a|$|$Bd$+tn4AD0Mq>v3V@oIuiZSl_W1wUI zLSA!%{cLe26ztRr03n?t^8&g*fd6BtAfk_#@dQY*V3s+7(^Y%{1Rf<4+*b|1tE3vE z7_>aOO{oL*K4!&BfsQG`mddik{xBa+M`VrpyfVGYQWXry7eWEY!?&O(_=@;4VjKv_ zb0xO-ezosJ!lOi?AT-`FyNUopfPGZpaUMLC7o=?MNKzcDoa7=?1tPcu$>Ok2er8p$ zL97l6Q^UjHRnnmPu%A4JH8qmMdqooS;&1z`%B)grfMRNw;!bthnh#<_C^LM&q7D!G z-K?j%lG^D=Su16q;;+18DK?vMR02r5n_8|}EBzgZ+NcEK%NrT11+E^dlJP?AuwmKs zGaii{yX|khir;jrFSNg@c{X{4<%Z}B1<+me+TSLHZ58Wd_)C{IJ$}`c=V*!xF@hjd z&Z^0Hkwte#ND#E&?+~1~zU8lY?d;wS9$W~bI#nW2s?RLEWwBaDXmS&y=@MXL*pe+} zqy4%uG#;6F{k=w~XpA@l18{{`MXCwLQ|1V@K~Fsc{>oxGP=J+E91l4Vt12t83}RLa za*%}HWuaLxF3~u5kl`K4r22y&fgP${W-rK<25gfQL!FpE8B}vxRO1$-V0@~?HkU>E z9Y)0m#Q5W%vkN}baehiKypDpAErHCbU0CjLC>ZzQx@59TV@)pt`c%9Ua%w#sh>R02 zJT;bY5~M8vc=grC|Mr;nFTY-4FQSi_6D6Z%XMWbi@f|5u#!p(#KwPTUQ2HaRih#TC4to2IpD-F_mw5m}jf z2w!A}_GAdt3Rd=YcsgzSV9$W;7$a+>)1WdXagGbQ(rEp9eC8^V!msPHla*H|T+fo3 zB(~m`p+;Lz5Ac9%Ws(lC9SSD338Hi`08r|N{RJv}{x`n^!trZ-9h?EfKpq5$JfiZf z3oH@fY8D8Pm9#q)o55!UaF}#=6d2-J$-jcntW$ML(6K1mp=I20ss$vt8{*{=Knx+I z4gd!>#*Pg{%M513N$4RU>=J;UJGUs1cXjDNTIx?DkEuwdV8Gr3M$p0quwe}nLmR-@ zhFFN)g=Y>=l}XVT``jG^N=4n`Tds~t)W#ET!?=JER-D2e0FTvh{EC`wM5)kq1LP~! z<#1E&!$i%91hJbv_m`h=y&@Sk?L(JluJaeYk$w~z+kbkUntJJZY{8liO)W_fYjr@# zgS2Wq2g;;K3O;g7qrLuc8(um@Q?=9DQdmC#$tw&|)tFLcC~4PPm%6me_aB(Zvr!Ar zQ}3)K6hO3X=6QBkOPgnS`s0m7K-@a*;abYF<}uXYR;g!Gy)sh~J^2#JP3dnK)o!lK zHV?~wCAP+Yn~l*W+qVIrn1_9$;Ok$n*TvqDvsKEZ01_O53b4Sx>pej=#_o4=RqTY> zhO#dPFrLGM?GiA|-Qp<|V(I_jZkgv`Zrs5LJZA?0TH0>c)2=$#elN{%Otd3DMnTB> z-R-49@3}H17OaB>Q{jNoRS*mbbH{?{j7E_8cnrvq7!QVvk~vaF3=9p(exPxYa3_|I z9~2F_ST470tl`1FpNU~%p$23H@O-hx$+$7QX7MddLo1uukqe+EK5m7Ck-3Y#UVw7k zJrt^$MdCU|!Ium8jBQ{FJ>v*wgP;C@E#15D4F24`r-l1^MFsM!*)7#5gKg_ZHI=7g z#$n%z^)hDdx2K+}+<7E8XS_|QM<-@xEwokrIDYrQKa9_On3UvPfp2j0vpOc7bNN;( zX#3XQ>NRSw)zm&^-hTVhwmj>&Wxsn3trMp?8bTFAhm3-~&!Nv^rW}ATwKQDgj zjG6<9Cym$#5*T$4G582uyEHDLo^i}z`cYtrcIdr@Y$rds`+nJ8b9uk$4J2 zvU@09jxO)>DsP2Mese9{*b&^kmzy&!0#KsyY*&Hh3}vf15Ggp2NIHHe&fP8vATz2^p8*KGUz=P1!%whyxYTV8Rq9!)1KR1PJT;&muGtkdT8#r1h{sOQf2vNW3g>s`?uzOYBp8U|wTpxAwm z&06K}`_V`E%R(S2hyNtvMlT33oeQ7bL;-#V(BS!qxjcxq?LEaRKB)`9N)E<49-8Z$ zyFd8)c?-mcfx-+A*~`9&0$^s_JH4|JL6;;3w3+g6+dAUN9@jfB0ddAa`H%oj7jb+M zlzJ1O_T>g6K&+b!JiANhE`WdxOvrFc2nPb9fW3E>-b}ZQS97BVx>rnw5G@A~%c%h= zzaotMZf%21j~RbwekHBR;z&{cEjU-khG&I%Q@GU=oQfCn2o!aI(|QMjAYl;XnN=kS z?f{}jK&j?TVWnowDDa2(_Yf8Tz`P#=y6nGcw=P|*pC|2!J=oaW|5!7-Y7|H3Px}8{ zg$YrycZ8{w)a3MM(P{D7akbiRx zvAqM`tuO0Hm`L&PpsJ#xo(vpz#&9@`$0G^oe1W(~Z`B^~8AQpS*yL40z+wAS2i?4bqo07vlcEC9?i~>{3u0S5$O5E@7 zULgMqnYUK~5ge5C^_yziFd!P3Nw&m|lraR8UbQ>B!;&1SMLqTx zIWwRTimIU;jraCw0{%obk9khYWEx6YI8+LxoCIO0FJfPEQJn(A+;W>?DwZ*z$=&&B za-{?ajor=6s{rrht&wDsx(nw$?L-2CYT`-u%7-up(7Vz;wwQG|NJv^jMr>xdKQ#RC zj3kR|IE69@<+YC#d>hjMYvMn2QW^tD#ZWhl`h$0_!X7u0kfrI>X3G}st<;BJ$Cukv z1w3yuH>fYPzk~(RRW$u+IjX$v(^CpGYhy?Li%edJ`PI;$#04N=&Oh-Vx2?FmEg8?}_LxdqfO>#H) zyn^Cls3{&Im4IOJISl~v5R0bf!sU!RzMbS%&iHNkoWp>Ex{CsCnAih?3&mr{kX+TU zViZOky@2F*LF^VX^f~V6LOD^32r(DG8W2+#N`pmg2Bks77J0;oS6& zYzJJ2>bC&CCYx0?2Ys$GoF#P53e4=H6l<-=X;=*9z=<`AAcagv2&kZYNiayR zdNW2?;nC;QWd<`}b>`gd=~o|9HfCJ@&E;UB!GCP`G;a(l_XY_9x35&~DQc z-1$3!|6a`zM1C2@A0TRbebH@ke~84H@$A)MVyxc)6WJwYb3F7;9wVJm*!B>iDNcPD{sHJV(EiGaJ{pJ-*t?vGJiMc;qKf_=TS3YLx za9zLYIq#dq%}w1Er@Fqm3I6*D4`#j>`l%)MA7_i@2J&}f;eDc!{~r0b4_&stiGJCI zu&@jKtMl%!CB>WHU1YR)@n3#PCYEP%H9tD_D!4gHQUddzM$%O~fZyUHzwb$fF7%{%f8+41VmIOag>QQXf+DzVx?Io%|V|fq!aF*;%#azk#={H;Cr4Kfi9>|H2v{M7v>1 z&R-@JnAYGy=%2HH5p|T|L@~iOlwI%Gpd<@>ou<7np}%Gw70&y9H0#?ktnaveKaYL48B_wdi9U2PbOo(`m0eGM0OC()C~=F=;8bnJroGUg<~KFC+~%vyWTwZ&wQS;%@RQ2=Yj8_X7|q z-#Y8}n|b{9QfzOwa-7mXkp(0d>+jjmMXi{%D$RS^hARltZ52HVIMA94_YE2Rd{r0z zHo|a|l&f!3x1hjODTcFfnTufF6`vCWOk*~y^pw%~a3q@C@aj2h_HeY8H5;`V)Aj%#bp`*fY;dyIi^_Hu%arMS<;OPq$y4H zL$h=Ub^Cbw%7RIQ--{^`uUVsM1U>$-o0nflu0A;JHV8H@du(jtzBKClq&>rD&eGkw zQV8XT2Wxxfe57vSj;RJ(0f#!>T2Z^&?@|l!*=$m0f-$k$_~qSaR0szs9cv6!zm2Rh z{;r?xly7~51lZt?z;99mDp6Fd$U~)u!*aiZlTD|Ck8!$Aq9(f0%sbl5n^2PW5VkCe zSdk3?MC{;ic_+2^WaR)-#nE}cf!I4}m;=~O_-nz)QNM?PgP%VI6ghah4GFA~Z;O0R z&WW8WoqUJr|8*pfOe+#TIwxkVB2;jBsH0RMX;rhORXU|F9C*w+1e7tZTr>9!=Mv4GpUb`sefD4Dt4?M2 z^_*Ax3XxkJ&t6!G-8o5r+#49&0o{M-s%%cuE4>m}b5rB)0@-utS=$_G5sgSFmXzyY1eUv1Sr|t& zQx?aH<}#T{ae6COzZFO(=7QW2Y|KguP8NXHCd?*@o)4~Nj0FFj2$t=OTfEYb4nZz`3%y$O+V9lI z&p~w4Dyd!RQBipha);*C8T{ryo!k zUYP7Y7t7tj76Sx1@nrhZASXbA=Z|znpq8gG4(96Hw4^X@pv!`!Cn-YQL(>W;{8GhxSALhNf11Rp%4!TY#sF+6t&c;AR;P)< zXe!-#FoPR#Cy{|efnXHO_X9uWBxP7kAU+#JH%Z`+1bIPBAWT`jc$r~r!PF8zu1Y%9 z?Jkgl0D-gOy7H*SJfg21ROXgE^D)aQq#6<`>j zV^$@+w!e7-dEUJ%S$#0C#_^C}?U;fIuf3%Zg6CdZ@azdU@i%|;Ld6`FK8j@nl# z68I$mB)h?Wm3q+U$TZxmSivk7W$D1P$m4TN;19C#33E^FXtffoEz3?uZxeR-9;B>> zFkY1HHyG&Gmqkq2QhT!Q1yx*zCE)TB=d_sHAzCa*5OMv}DhqW%C!@wLP;!^+>^2Ol z%uVXW%>Wb}D&<|Ek}+Z+m?ViOH>6k$^vFu?5>pA|hLn&Szxo<^vCc8Yf35o)XT=I8NQ11}a@d728+@mD>|VHi9p zsWEz%T^P$XhgVTa`?s)^ZlIJ3YXL^M{q3*6q^MZX3K_e)^|A~t`{|;%K@djOPuuF| zrRdRc$q@fpCNz+rl{gmksZG$3-+eraE#?ALD;j@u!8Ri1pfH_lq9~~aIsDL zzadyUJRk&1jI1lX@7FwOO+N9QG{M6PW1{Y>1TF=@eP6{AtGJSONPJOvva9$-3?%%; zL_%%32eovfgal$30b?{?iz!*srGLd4xhM`~3Ai?Wa98{qn_CmR3k1xvOEDXQRZJm| zC5nuv+#~1lYN=k@!uTPv+Du5z`mPJgFHT9ShPO@WH#TsYoavbCG;IDf_hZ8Ndz%Rl z;x!ai zl7)Q^3B<5%uPlnA{x_mW9y}>gnN?djFSvTs;fVu`J=q~xJnK15>QM5?`TxD$6GCZ5 z3k0qA_6c_M%7BEy6s<06U<*H{PKf#&Nl4qO*tbyf`)nMu!$2lN$8|?KxFLq2joyr>AKy^gzZ;|c=Ini zBzdCozlIR2Mh?Ty3VF+IhNe|16)9yii6C)iph zrlJzNQr`?XP_rq?2g*SjIXG~#EfYU`?@t3xD*y}13A#D(V_>)|7A}SZA}b3Yc+s3X z$mJn*{yXjB7H#Gr=d557VYjUci)kTHCfDPF|6XP5En-YNgvrSfSYXN9Ltdf_fq7|Q zStY~x#wsxj#yZTdbI~O$a+qw%8R34Q1AI_m1LJuAe}<1wK|f(*(QD4H?j zC_OYD?cK#8`ZfA6v!MO9d6gZ+QwvB&yeRlJc}+B2obGjV_-4ndVrT0y_J~Di{SAG8 zcYgBHe` zqI5K%VOeqVs zZ)BDg5wo;59Y138B!89F_70DEG7G?Y@`o=b@d@FcQdzT6wLw*|;M4Wlw+L=eprDfr zk6&RVJFV?Y^DU}ma1kzO|HQ_-C>4pCh;K2UY8>bxu(dC(b$ZU+6);hrCY8s>anZu#tZ71%PZ50eCR_Z|;d3=C zuHqv67v-r0jw8A+27q^LR|k|SRJ!9Qc!8owc;?w`gJ0|W_LU9q_vtB&v2Jk0=|Yel z#ezH(tqb>Rkzq5Oi%=88cc9%fw9M67)vo(USiln8wgR3b@S0^4#r8*GK5S9jmmnbm z&5O@4R;Lb=%y&3n2jI|S6*=o85DfFcg00#Lr|if#5?59fh8{%4qm$y*BBm^(mOiC) zVOMS!vt;dsKQ0|pFLe)24gGlw+x80V{d6wB{6c%WHT+AP*Yp!Ydyg0udzGq9Y0cV-*4}#*MeQ1~H?fJm zx1y-kioHo|kB_RYwCGS&>zD6?-}wX1vvc0>`?{~|buIl_usp1zR_$ zNhc3tHlyCNZcHd3wT6$cZrNHfpDtOazP-D5bLB35q)s;g5ZqA=@Pg8LZ>iwTTz~Z1 z#UNE}jFH~nchEqffycV>1CEF7ltF}iBwY__kCR7y=)9p-3Pe1loEi*s=R?5x13}|0 zi8=k9%7^6-Ra6(#hqSKaZtESnMb=B@zch4Fy-MQuS2%ISHpK!bQAcc%tn)Pa=uhGi z`(aZv1>1DC;~+HD+BvH>gULpfyG;RsBVzieLo?obD1 zSv(A+!FkSqH$#PEO{O!q^otPwXh-!ea!maYBqQd_e#T7OG`|xvSouU#R@O_no zXvth~>8(*FtHqL^+U;2^5G;hPFJ(AB5hDl$gPX266rT!MJ>7Ga1m*t7S4eA9exi0c zyPl5wsr*`gO!(}BH?>|Hh?3xE1dX_{*NN~ck^GA`rxyaYnRWgO$4XCr`qJ`-e}%u( ztRnBRzdC`vXnZ!U_)D4XLaqOPP5Jya1NS~FkuDpPMZptht2TRzx7>nha$qv|C|=tq zKaKSSY>G*ku%JC8)KBT^N%+;c=MU*Qf4=bIZJpi(`Ne^e(R*-mjEW5fIX%|$8Z%r<`NXyH&fzUUC&GLUW6d-DT+M+DI~z!Xyd z^}jziI@epFY@6n{8UA2N#X$JZr)uk`yfaYXX=Vh&g~W3v-lLMsN8!AIZPky;#;C;q zm5{+hL&L%%qvJxw0)&!<0s{P_;$kvm(sJ|i{KV3;vlEhpm{SA9#4@9z#EikBu3$uK z8@Sz*g~bzD;-8q3Di&Kj7@CWXsT;{CF0HC7$(XE7Osk0=7z~?7hv^`wsfn0%rc)OD zOEx&E4V=Y*((=90mH)Tc-u(S=IobS6nU-wr;RB(1(C~gTb$J|V?p5pjgsp%on6vy% z&XNA(U@~^m7cz`kNj)cunq%yVFMX=hM$i@1D4Us(MFjk6$~MpJ`LgM) z!}ddd@NkhKnh1$-6#rA<}d7+9v4GOW8KKpYuFPJDY= z&%&T3iNg`g_QtfXPz%c#eI+VIvBgm>4O;xiVcEAOk!9hr%jGY92)~qt)J@bk)^D7!}-&upKXowv&VR|#?p38 zi1!D*CE;>LjBAfFu!m?&C8@j5jEWwpl0GHiwDWl=Xw347mC9M}4Nt~+9MY8HmhWrJ zl*^930JEThT7D>3dlskOqvZJcQOc)kxChOJeC*zC^BpTcw4+*;RK*sv-YL}|d$vvw zG11-LQWp>G7ry;=tt2NVd}fV$11XF+H$3rTji$Y1eoVf8>y~h)7G=;L zp`|aBX;1RR!6#zW-6BVg^a*Q%kpkOxZ^fYV{5y`Cg>2l?f5+3W&TgY+qy};fV)P^) z^FERv&+(Oi7@4p&jdy2DIerp7WgfoxBK0n4BRPOZMy2rXW4ZFXX^frQT97v%T6X{5 z4Z+crPGHrLSwZoyG-*;!APzl_?G65%;mru2FhO&&`Ytr%|Rqhx6o>a+7t<(wMzXh#5V4;66*K_U+ z4%%_P*zPL2KNc{fxXXSWkfVasG>HK`S@vXE+bD-NP2_#$v7g)Cfh!Z8l=^_O^h9Nb z!~^OXO8=){Ch%f27^Xc-hnE@P8}ttxmpq;sgRwBH^w{ZDZO*wY5W|ed6Nl>xt{;6F z!tVk`Ps^s|R{1%()+1@3dQG$Ui|$z60nu2=&LQqaSOxMNrHabFrsZU|X7Vt+XAVB( zn@2BpKAxZafYuh=zkjDR*#BYl!hka{=yGr4Xd>divW^e|(Jh}~EA7(|52~7Yv&YMk zy`V@t8a{3-rlAA%=o_aJi0d822#sl%y~g^PT|E-(+-bj=d4ECD1_?>87(o=)J2FTU zuF=&M;oDIt6G142z@pemBS229ypw?!hWs(O@aryRD`%kgq83NtAo1M#cw*(QWr9ZV z&gw;KoK_{s-g)19@6KC@e8EzaH1BG6{b~(_-*m3z~e6kHw?-|5MeNh%Ngtd-;9h$zZ?(cdHX!p!EL#a zmp}Hapagl53rCuuQfD5YkXk@Z$#46r2<=3&q(XBzI6`x-dhj?NRDu}M#Xq3>5=e~BC4#IMN=-LdPfcE>~!JSPfj_VcK=7taVR&Xnf=H3=*w)DQTB=m-ef^Jnv3iqRaCRJx591?7$-p>=;Q3 z`5Y}1G{y|&M&*__$OO|F=Sj`AxYy8_Huu-8w*BDy-&N@1>Eq;?04|BB9f>YY^YlJ3}}^E|4kKU+IxJZ7${=1AMyw#yA$~ivx=7B$yP5c=9xkQqeWho9+JV$uU zezCcfi9b;hAUkApzHh7lK`P;cYgQ*o;>TM)%o00khWh4q$ZtDCj`~GJU7o%3>wMJoL+H?nuPcI^Q zOi;$$sGG-Db-8rLCeCFdPSFR#Um4UegpOpqQK#)ZydS;d$LRXbBp!8H%kL5yKUFI* z)}4udDJCNE;M{N+t8@K>lb%7vG%qrekxJ8ryV6-Y?yXm>b4+qxU_yMft9oGEn2oZD zd2&EP>I&`5kN9VcK}p8inec=}M)rZH7D;&twI=L^>amG$U9D*2!DAd75HK^P&$Kro zn8)9v)jpBNnJDhX8+(d%abjs{7p=%!Vj%!L2}iYLawJ70F;m(>86qeR=$UPdo%iDI z21Z7$q}+l{Hw~nQa-6S?Qm_0|cjHsnol=7?UL4n^{(j8*uHEolJ&oNs&6D0IkSh9U zCGGSuji%OW;84gnHWHub%u)oGRa>E}z5Wx22vJHul#YT*8J6EirOtzWq2NSV@*zYB zsen+%rPI0w(Y*!vWeY1QT93!VkqRWFTd{s!+M6bsf2q+5l@YgHnU`>vJFA&kpERZX z%!|uRKS?h;H&@0v43lmWV5@nPkLQ=jVDkAfRs876?)=&y z%waaBn>)W{JaH28Sd5ay6G_nCn&ZCo!p=Yj0f3WKbjk;Xgzg)T<#`vcI2c4Le;QE% zcT?mEvcrG2bSl z&t+nM5UGy1L?L-&E{IA_O-rt?O0E#4>+n(nfl~d;EC^#kQ9`8H77QeUPmmULRw!rS zfDR35%LJy7gj=t(0j_1GG7~ywygpt3RR85wAv*tVl(MuRWue>vJ<3qyV>Db)0GL_j zn`EcfO$TveK?wBoHvUYuE*`U^Zuq8BcoHZo46nb5$%T#6RSo)N>%21#RqF!a{ zR%M=8r59LbvsPt$U1euh4X!OsKvu%RVl`h9GcHGY zRg8Ju`65u@&zDop;r>w|YK;Xz!#Ga&56Am=*(m|(QB-pr6Zkuo%9_BWex=%4%2vE{PhCX`Zz5JR%DpZ> z$Mm*wIJmL84%0M&$xLW$sB4_TG>!^1&Gt0nWE&SSO>;*Ytw*Vnu4ODJs3j#pEvp&m zqH&)o-RE8cPS;FeU8R+#~kGAvx(kNzPYK+FuxcknZ4 zP*MG8Js{={lqTZzf;o$T`{`SuNz4ybGg8}#z@jbJW^JyZ*ltWQYkj8TRkqz_l}L-;9-4NTC3R@^b{PNZFrDgnBG_qg)L~1~`NJxq7Dglj z-q~_2Zvi0*Qr_^{5VgJnKL*p-yz$g~OE4PK#M4C}NxaUjljzmeE=}wsYE!ME2ww65 zS0^*$EK5afaRC)KLFrrAJGhejyAuX zipjIBT?@xugKM*24NzT$h=)Lv6owGf zz=~n_-4NqI31WX#hFl}DcrpPea*$92B8?ilm)s3)0|`zK`o;{!zp~&&0b9sk&!EBe z_Q3$hAsH4*l+UQt^x*SCGN%!M2JcA~0Wn(`@g}R4w~R;@4ihOFk$QE<01kpU5GxM4 zo-`U>IJCz*=17OcYyJV*DG{yX78@fKdW444Lp$d0OZyr;W4K+$ohqc2noXNNTsO{7 zPSz(kH8(abtxdkUnXH{|Y_XVX>znLhnR>r5g-wp88MsZJjjT5O2nZpetoVhp0&{E& zaaLKfU-qc-7I6T+(zq<03k{px0I`S+s9EHsmX9pnjQMdB2(zT{=o9WH&#KGKC@Un1 zZzI0x&xn?ed@CG?S(yD6GQ91Z(p*a7GYxQILGguvC@^ce5jAnBa~LwrA*1{74-vi> z6Yul>83|8kCy25zrqn@fx2wP-&@5yhluI)LaD#-XaX|%~T8L4}8jj;?*4MB{8jT*X zA;i0*@q4$IsxueKv(muRbA5z-BMljVi|dxyaF`1(9QdxCQ$jkqCpftw@Zh6(g+tF` zMNO4ON{Pkw;>Qn__G^o_9!pk-kc8THN7G3IR>dntL{3U-8+sKF8KCz|c2b}N|@9_{Y z9sx`QtoUI-JF9d4s)*D~o*WM}pA31P%%-07-keMqpOjrqjge#cXQdk6 zGLE|gR7eOlvP=gD4v_s%kDMg*pUs1BAc0aaA>}TAKCz05YLn#-s(43wjQHobqYJru zPA_PZ__w`>!s6wep+tva#RKL+HLd_aFFU~H1^fC9r8v=oJbL1>(+Z>;v95$7 zp%RoJd(=iW4ya%P!mJRYo-#*v_qS!hINxE1Rl@1xK~Ws&Ybqdo^Rcc46yqxM`rl@r z<+lvII|MBdaxXAW0pMm;hp1!XIJ6L@(yRdcVkC978-8 zeG<4iOm0#7tNoW+5nlzdo=>n|ulqqa{ej`XgCAjiO8Wox{(kxCx8LpWkdohD0&^fi z%Lb9t0$YFv4m5k$UdW4tru4g{`)PhF0^9;ZDNQsg0GcJhS=dJhqdaNRp9d$zLiY$L zj3lymU>UQgwqYdPB9QJn-M1(b$i0keo1>hkXDa>KoO<|!5LD7i9LNo#LqhD4fW*m% z4DdR+z~(^zSqsJd%OB)$G=!WI6kJTq_p0t+(^>W#1OmuI4fe^^|M^C$%a^jt+XB%N z0aAq(NWJ!2Pk%OVHD^=cEw-U#es}2U?ZKkTDJi08SFooiSXnGA3}D7H4M=tJ%kyt_ zz%(?Rd65C42oNGEIW?_`g@pzTRP^?}d*6>87#tcN866uRh>V=*pPnk8ntneYHMqFA zP_g=MWqJM6htK&NeVdb8hudFvca~00u?OFeejZ%mcCli6p*Oj@DQ*Gq?u(esrv2D5f3jvxPtTQ;`#S!?r2_HQ7x&qYrmfBo}=p z+6J3BfF{G3!QorfMoigi+}->=>`o;ZkQHn8FBfgQtV93aGhE8xB*kf^Ld zuC~}bZ6k?pV@1JD$>Oe(jph8DB)SyhugF2I0%RY6$g%5?tkE_Nrx;RNKJ;?^ z{(L6*nOhkN5HD;R7Y$zK8p=FHZgZ13|cW+`pE<8$t zedXwk5B)YZe;dXe_HO}LNkQ#Xj;BTZ<6dD4{lm{#8bzRFQW{NY0JjYz6YWCE+?v+1 z#~~uSKHG8Hnb^g#JLY3K3VQVJ=Kp0P{`^!hJk_BPJ<( zrd5<+QuHVQE`J4i#)iCWsHBf@sB?sA`B7u(dZv-efY5-bk>)MB>$5!=thWTfpT|~F zYx-@W2jDEvL>Vz)n{*T{2+Pf&LqKXAVbx~&d6`w&Z+|q$JYxdnDW_Y97J&Q+Cnbr%;c$#0>B>M#!(QnH1tBD7_Gb_Jb0}!190}m z4ZzE$x8~_$=)GKUsUm215(j@pjFzTa46iSX1Bz%g#nB8~eR$=KT6fk~P2w_<_&Qqm zrXB+bpnA^}U$?K-D>aLrEWwFFrFqTZUD?lHGMRMAE4GCVbF+9iTa$UfGes39DQyC9 zeu_GfEq`!;H1`m^Ca>BbMufyE0x1pde}Apa9a_u$(W9LU;doGZf1D}KJ?!c*^L5z3 z!RxuRLGrhAVb?!;*&h8p)w=QidvjoYetXL`X%z#>D-LaO$0K(%Xw-2Lc$*y9?P(%y zr5EbQxC314yD3OkA=2~)0)$ec9H~(;IlwG8C-y14F9y-IFhE8lt^67LLv}|77rDTs zL_ml_6wD|@a|b>9w$FuvkZwU(;tQUr>%CRZZ#MFG0mC2TVj$xpG5oX^#4=v7V%kVx zf?%|YcC5>V(HkIYVe%360*DIPfj9z%`kP^yyFCu@r21^q$Hu7pS;E}4&rzgze>^^r zKL*s~P}XizQR_jr@#$z4U=|mXiB^Jw#@g2%O3BaW5+&0%~cF4fyz^ zkrRdTDiR_8g{FiipVUzx@>XA%pi9f5O+B}N*HI)?M!|;uY2FyuevD@9wBu$*{-n0P zxSx!Ul@U$uvI<(fY+}Yacs@r+wt94Jo-n@aqr9Bksv1PUiN=AQ#3X)8uQC^qinik+ zJzSkTyND-4Q3?{F6&SSPUEba{F@$_{07fK=iba7~P=wn6yfu4wPDH6UHL?z}pf1Cy z89^Wxud!c$D1LX%4gyxUI{b)LdlXFRr-S;h03^(UDTAhdYG0coSne*|QwzXl8cC?PK4+wwtIuUoJG z5ITUm&=bMhZQoi>MgREAiOG>qq*$mx3%xe5@TGyQ%cof%n6Y%N(!z2HsF?0}62eMc1mvVc${vX#jyzu4 z2nLZba~Jr@0vq*Z9j~q8vBbKVkJ(=w>4O`Vhzkj{VQ>7rXt%q%17E7x^i8yFAgD`v;eDPd9EA_SHqKmDns zkB|AJZo!bQbD;%l6sY|e#%iie$%Ivc^m#?nqd5VhLlneoesLaxC4j^$!0Q>-c^+Ib zec)Op6&R5}7dmM#nelPykTVm`HR>>ii8;M1G!uPoGz}W~p0m7xud!d9w!Ks1{$r%r zXK-m^Pud1VoySH-stA>+1v(2=yMYZXz-!`2qFFOXX2mX7f20f;9Dy)vALH*|wvDEzE#~SPhQK z17kY>D<$ab{YfvsDE?O#676vFf=3q_O>HIjXc(GHo7ze289zRJko5H?>xdX_eOp9Ctub1 z7gK9Jj!Uk<`W{Ck{M8FG9X9q^~ln*N1*r4 zBC($rfcll3U1HL+qqh)i__G559`pf1#Kleo3GAvQJdL2P{A!BGQy6`U22!Q|{*8#) z8@CfqL~O8sKImc~()-uQbvLgI1C+Z)=!_nL&U}_tX84|`)%E^QVY3SVoA?U~94A1c~!!7vEipYbLa$8ls0R-nJ;JwdAT*`C zb|4{6G$5b=zyW*60f5H=Sc(u(rn6ny5{l{Zg=|45GTBCV@R3yN*{3ef3Lxvlu(N>V zZ{^y*Y;}?rNw{j*4Pg=RaTJ|;%Di+0Jzomt4r(zzWvMG=4UYOO9ljGEv8^7lypr-I zFE!ooCG^c5|JdZAGvDI{LZl1m(Mu+A#al2^grQR(-|7VF;h`}Gz~E9qWIQJGkWhjV zL~aAnE>N2dgML80+}rfT@C8=5SWy*+=R3qKD1cvt1yvQmX$lw}ydqTq-|%U&>bX%< z-hKZYZo%P6C&B_p^8JN_sr6!=1DRY)S&ds_$x8v&Emcz$T0%z^UKGITMR@E(iQ9jA z2m+`?Sg4SU9bmA9D;;7BWTpoq@FIls5*TbL@UTm>d#N}hflwp^tM3DWQoHBrun7+Q ztDss6Vy_kG3d#hGO#v9zrqiB}=bSHpz!;xFr$$2R;r3NXNJt<|2nTMHc64k7XFT?>YS3i|2_r_~GbWn*e%B+ZMO+P@tZ(YhUuWWV#$jPW+sv!Z|& zkc2lUJua*@h|s4391`d;*a@$jM{9_{s9V6){L-}iAea|{0TSqVNyubM04a^h7V$S3 z15tZr=;RSSiBIEN@npt@rU`qYju#5G*<==>?RGv zM-SB!h_&8i@!9}#?N5`bf|EEs!mw(lS2UE@Ma%$LbPEKv0ZA$3M4@4I3m{hwS{j^! zdj^|a@GbbYbgoh)lb9Ycm?y`&G8@rDYe|_Gg`nYe$_r}4<7hSTjlu#r5CW)vmJP8( z1JJ9|?9~cmpi%=3Z6@@t=fz|yd8>mmYGhcbOEHb6wcqcvr$P(buGmxkoV+BRJdK>v zztmHayw_YHw1YycJYYG)Hh_4rcw z?`U6SEz&0c&1G@@Td0C)seDnCV3edk)=Z|1=2#Uey zYVXUGc5KtQZV_{DRb9doV?RPaovRrQP*b-+U4!qir^8?Xdc{Bx8U#(_A>g$EDS3g* zb~W&YN-wzD7QYZjBxXc^sn<1kPWeJ%86cgNSfAt8k=Ija!dzczM(NhsQB~hz_p09B zyutF4_I#^32;|_>AEEdAT4i)kesIVdYA5#QN$ST6h z{sBy&2ja(p7zO-EQA858U}Aj!Ia}3#SXGS+RB+KqrSMz~!QDM}EA-j~&>7c7VBeZ~ z!Lr*(0Gu&_QAit-nR^OEERtcvNT!1YDWM@sTd>pvc;>l;eJNn;Xl=FtWkq_kAS*aB zWc|+=`L_T`O~9-a3TXi~caR3)Kz3-bfK9n-Fice0bDl2K6-$cbg1&2ja~{L>f@0PT z;}!&%QMT{Qwm?(4P;>V(KScd_A&oOk;4|bnt!9pn&_}-NHd3i$cMZK~d77dpCuA+CyUQ zL-&)1&{2$&n(b_51|P%VE$?Ug}F-A1F$T0KCJ@Yr7f|J14apq&U5J7(qAPS z`^9Ssah|mb0Ix%A>88&m)cwKP!~TIvmiLeHPhax0q9L>>Sm7XPWk8MI1PKW@lwJWu z@&K;fBB0)_%59^X2V%hoBxo_v9ItU@n{s0pz+O+Y?BiJHXC@61V2Uul{I29@DlEG~ zAgh zA*uU)v!7~bzgoH1+!}b?ppfv2VviQ@1`d6h8rjfi{t-TU@)%?XD_oWP(B12 z(>L~tFv|EU(#Rb;6Ozp1>Ghm=Lwdv>XvhWKdDa4mybi0fVUq_ti#&ZoG>gFzQnx_N z(eJX@;neT&H!ayeA0dQW02%N5CwM<|3%Ce1X%tNoLkG4$>&|HrL{s*2e+5+yj`e!e zB|U#JwG2{1Lg*cZGdc062^i1R@We41MB6~N+)n(N)?NW4k|N!cFWfW#w)cd5|53=^(`Fru zuzfqvy=e#1zW>PPHQplb2R7!$>7WSi$-*`kNiJm$zN{0vx;Nt9eOS6L);RcyN{dMp z$yXBy{w2QsMz77yu#4Pg({vBi8KS?91KhblC<9@||A^seOD)(ZWBAHX9g>7TB{&i~ zu|G~|i2vP>g?hp4Q7+qp#IK40;$pU5EkNYUB65pW*N=qZAsMixaR)1b0cC^F^h#qt zhA6#m{O!T_%MgZ?bN;xT3DXzb1bc`BTQNK1wkr371Ty?#*G-#l5d-=zpu2gyXS4f# zLhvNw+qV`ZomR(nSHkswHaqkiIz5=rUI?B6kIrD$XYlY-*M_r;JDp^oPHm3mU+5}$ zY&t|z9`J5~)O3Y>GtYx&NwRCsQ^W{hZru^hjMWP7i5w5}k733NMsCzzar)6Qt+X8Z z5MqTlGQKLjl*UT{AWEt1>=mYH*=B$~U;9lCoOyb_G;$F|JdGAE82YZO%1;GS65Ik& zA1p>ue$SZ+<+PchM!xsAL7OTO?TCU#9uj9(e_E)g){{|xxSc-RN9|ntD{+BE%nODR z@^V&EQU0JRqyiU0K4r?Lk4|4uh%|8*2jIAx?$0l@yfGmD`SY+V(7b%E>gn&dXXHGpTP4T z2Ge>gWV=6lagr2Sajij#a6mw55Wdzb*DzQT7+h@)gXMq~Nz#D+ja5>6voX zDjL*Plc~a{sfjY@j$8$l-rMfoZ9F=8@)4SAGGZ<&MWQLyTCzV6^lN0wzPo>UdbCiW z-D)PJX;^FYTC2f7w8xNN|BdNTYRVTe51mxj&yz*3sIWz1cn#3&ux0{gPAz&C8qa;Y zso}rIork--fkprdIO4-tWTOe>-G3h>AZ5{XETs2keJQ6<#8ho?m+e*}B69st+EG}s;@!e}YJ&$sPK;3>3EG&M@4FN!%RR+I1|q(773O0Xux@)n?JxX`FlWg_G@ z>L;oGm@F8_Q5rp|50BI&L)w$Ll%*gswJg3LZWST+q+Tu#V}C_C9|b%UpsdVy0$jkN zE+$lJ*15?Sv z#6o8_Yu0ShY~K_2VBZB~HNQrSY=6$}E&s!rN&5Npb8|cfMD)kTo+6Aw%Uzxjo|--a zL@Iv$`+H05T@G61mp65{anSVArA27p`#(p=NAGXG%%^3UoV|S=cC)Ne)&KXOGReP- z-~Io%o5ElYCBOg}OR$+1K{WjdJW-A%w%c=M8M3+D7mbQaj=y(&wnZtOPP69sTE&yn za6nip3Z_1*(8y_ZF3FvM==%nc-;&UA%3U&3kSY+9dc}v!1;!XxRY2*2M~LGT%Jx~c z0m~or(!xK>f+15B0qX0$@yo+wcbg~xVlszVyTN9ia-x0e3JE8LE@Nbp4}uY_DY?ZW zpvy;Af2d6I(I}q|R*|qHZ31&(cx=y#SML*anKu1tWWS_(3?D9wHV0-3df7l_+KUy* zjTrHuO_9eNrF?4nir|kL&d%4{1-q4#*;NKy4I$jB7GN!7j=JpHK1ZRKt2`EWbaLM$ zbBk2$PT76?p8HO&`hJw_l!ItyE>67avG@vAO}ft$W?2aBkyw-|WQ*9T5VF^)Q9?hC z@`GT;@J{w7l ztqkx0wd6=7$fCE}WDIlvT0a5fV#aendt%9%L#)ZevcY`unyV*xqPa2ox#h25Hbr@i`n5 zN|lRtWOo#x%Jgx6$nYr8?V8aPR0C_iK|*Y@xJIbPx9pmnU^<>Q=c8}G9w27oU1&x z*oGD6QA_1$rTUTXQa0p`XLfm`KX>kGkOqxC_7_cibz{%-I&hNG^?tIooITU4%PE^! zqEND4(c6mrRVP*DmvfPw`{IAxvz^0U<}YfuORjg%2F8jN{krR1G?G74L+kW-R1Pb` ze2t6OZ7*k-Ieh&5ZomB6kHSB4?T>m9xRBAGl@ec_H3BdnMO%LsiG>~+qy^7c&x+MQ z`FkYDihC99-`?n~b8NPLz0|cC|96xY3$hLzKs1ZQo|3rRJ-J*SyW1 zpZ|V3NxeUne-XC)>JxApfV~wui{upI-sItqo0>U`eQ@)c^0h?TrqWd4AM;PJG3f!R z=JV7Cw_=~z`UA%azj=3=74CA*1y0Jm|DG{M^!jd^Q)8OUOtjj~zVux8Y(TL|PBfDy zTabTeoaa{uYx6a=n$8coEv8%acEUaB5sX6U-KybS3IcEnS~1vo5T^e^B#F__yIu(W&pP%qGR1-`E4ovsY?; zMUcPm@*Do1qtp6!xtkSB)-BItdF8flQ-fyN{{6t5-fYOT1>?l5eulBV`|@<|dNA|f z&*~RE;vT}2)hVIhyXM|~3!r%4BE^3=9~Qj)8eg1e{`b=S-ox{l{tzPOM_1Eo50?u* zJ>S#%bbX5pc=(I8i*s!*V5pCx|8nffztj}OFQF&>6N>M{(%-V}of-$-*#GqZC3N<d|T|QQ9uiWU%O!+-L*Fm}l^qkGp}ILsTXvQ5GvPR*atP z>7Jnn!3}D$O>cu7<71uU!`xhAJy&AA#$$c(bV%{Is(`qbxVSdwxS*A|wgB-1Nh9;i zm}ryR_}DxbsnQ9#H3?A%ak+;H`SA%^j9L*Z zFXI9eYx5FQA3u{>iPk!drrJ+@5+7}-o@C^b)Ww(73Qro`_w61}QsRy7SxGXLih0ZE z7L~`_vmaW&l018v{Fx>eWrE_4k6h@A{B4{f5SX%Y8Mihbxf!2ApO>=Dh+1b%{ZHM0 z?=odKFZG3Es#i|3sk9ExB<&(F4N(~{vXXkZlJ?~=6*8W7dzf}Qp1Ko=KI20}yHiPt z&~$ldxGS1cCY?GVxvG+CIzEl5JDo*FOK$sR8%?sNbkY!C#^`0z>%0suqU3?N48gkF zj9z%=@MQ?EX@-z%rWJeI&vEg4E9nofGHdeUrMuF+#}g8qv+PZ>%DWP@RujQfw>lM8HFh@fsTfZ*L*fi&PP>y0=m%pEtT}6PJ^lmGNno3%Ql^GgSyOm5Z&FiCmWp2xJv?+cLK2|GcVDV5(G-t$ZY# zlcZLuj;Yk_snniKmtU*YW2!Qct$LQ2_`s~n1XE?!Q)NNy^n|9wlBwEGw%Wn0n$V@% z1yk+TQ|<1?X|q=C#Z==XTchk|WUN^eh^Yzgsfo~V3c0R9G1W$z-A4WVQ5_Xr8;_|? zlnn~#sZG7EMKjgi$)SrCsLKhi%fr-tU#!Kf)fHdYl?HniGU3I^`f5zAOkjO|PkrNL zeZ^XR3sXZ|PnCv#-J9TsE=+^db$!oT1D>W@>e_&nZ5%dhwC<+qb8Ezx%1p~f9j`Rv zn3_I*iIHY+oDXhV!8Co&ZCqPx+PrS+lB8ZDZr(L(-Y1Sdz%+m9X+AVVpIkSeF}-&F z()``*^+oV&hJ@GGJ+E&toEH;KfAMV0=gq)_7TBwn6|)w2Zwu-3Mw;suO6FGT2d%W` zt@N*284FsOdRtl6Tkrg7MKZT>JZR%GZ{vB@##hiL(A#!*ow7~%Pn!ty8_@@E#LeF@ zGQ$D(D+nIn6b{@4@J|bb9Rv{GqCz91qGMv?;>p62l2cOC(CHar(aDi1p_#c!`FK)a zTt-n$Nmdl57E@4ARajG)l~Y<&-tfA*y(+u4sRdt$-P~AQnb+4lFfbh7IoUsl`|xpo zY9?o>ap-;9O7`@ptRi?YG zY7BFizj-76lyf%qtLHx!O>rmPcqPsc!(HvQ^EE#)N=2FyT(jXf`;HmJX$Mc5?*;IX z6}SnkG|Dv83ms)M;9_6g_BR)41^l<#6PT2`9W3=t^08RQh3aw&pY~uBLF6Fs+1cW7 zGyOqPNXwaoVMex6*g;;~!9>xcq#TmxZ${hKw2xWMpGqiZdxT#5)yrNSt}m={=uDa2 z{q`x)l7OxGOmt%Ooy;4ZVgu7CAEyiLNg=f|33-(m~?6S+8TA4noRvhbgK9MNk2 z&+K9Q@ULGY1^h?=zneq&c5;bjUav%3OD_`UPAhB<6+H8}4TlaJ%q2!aCvXg%2htIE!Rc z82M7vyt@tzGo9R~xlwMKoTagvZpJlQlFM9~`KEP<{6+60eoM1SUdQyj_n4#n&VP9> z#;&l6ZNJ{0BaRBz$;-p1yoqLOZQY_(MOF9x+@8G&HPR4j8IzA%d^O_Ja5pGv(BGx- zQ+d|i?g|H;iN*bOgNwYPWU~BHPciRm zrpjx{Dq&Z*A19h#o!lg;s`t8S1xpdsxS{IfykIphWV~WOF*dn$(Kq+L@keQRuch7R z*xZVaPJWJuQr!v!b@z6IYb<`Gb2b!K?)1Q#YlfA1gs&qiq9nUp3)3dW>xJEf{0A)A zPWYN25uv{(tL8A0!=Y*{FTd&Tkl*Mwi(UL#fACxTcR|guMfZtGeQ-7~$D#xXvVB=^TnqWQUYgu&*xrYKPjjO0L;jb@KyS_8^60PN!rU~SSlOx& z$9e|Z(f`)~X-7k_&;l~hF0X%NB-IqRj)?!V|7I**FNgQy5T#L+4(RkY@vp1$d~omxo&O|5!T9sHonzZBM`i-7@4L zNF&{XbO}gzcX#K|jYD@ym(n31L#Iloq%??#sK8Iy9XR>wAdhU*e!Ydr_*0{;NT+k~1;}kMcp5 zwH;7gZ71X3X6Fu%W{7CMk5}Jk|(B&O=>~YKe?$lK-38Sxp>s@1MTUSEbZRLg6 zus#6+zU;N#@yZP`wdC(@d3IT5+xtONKejS*186H=qv7%-L_Z4twKK5svr^=Xk>u|d zIb6nq+4UF%Vl!^`1lW32eym4(FRIv90qQi|w8oJP&_;#zYzARYBGda2!)7~y8i5TuMlQhic zN2T6WxQaXPtA~6D?-eo;oMls5y^{x|v-5u;wDz^BQ9U`LWd=-1&YID>i_6Joc zKXcSmovCg6l8}9s<^EH8)m7c!hp+}+1mz8 z1cPf^>?mrm0MMFX3F(K5?SVu{fLxw&ORxs^T}=A|~2g{$|<3+WT$IBY%K_yIOC zi;g?j--U~X;?BJ-8}PyLL#E60fv_jcSrLO^lK9aro{{51q{? zYtM0ODjka-VO6mbcVUp48gyvS(Ov*P_sSFV;y{ICO3Pl8fJ=VX@1u@#hWGDM-%yIT zP|ZGE{_dMvYDVX{z2x!Cc+Vi4oNoEw^3w{@1P$|_SL&ZF@c#4U;-N}wR%Gv0+V}b- zc63=qJaew`)1X1=!!my8gX3V*^!>t6yoke!r1)16LV><`ev?|GC5IRAxL4aJZhzKE z4u^jv{x%6{Nc*aKOsKa328r}*OLg4mQrA{F{A{T@JT?pwZnXOIqe!gtQn0khRg=Or zB4Qvl(luaPI8$^qT)ShiK(fXe(n+n))xJru|GqS!=JlAcLjjrTy9@*ON~r?R7cYzX zV&Z>u7v*m3GKhbP9}|2RmvZ9O*Q-*saZ7ei^VOlgX#J@3Zpt#E+;N7B_7SVn8}B6_ zm0zYO0*9{$rD%NBq0bJ&R|zQ^I=we)W3Q_xV`!_q)x%m$Oci z+rK~le*fR!Zz$gJ?8Wu9hu4d~o6n_hTX@WZP6rZ4Ua&noCHhNu)Q~?hwNB)O%TF#D z^zTPG@xY1l%lm~QEdH6O|IF~y{YszoWohKVh2zWrHUyb}#gp{(}<2y6`XaJqY z@b<^htpE2-5%JvI5|WGP0M?%+L&w$Mg3l7(6D?1?|JmpXJzWL;p!G}M;BljI6L9mbqL)67_eJkIPk&Z-A{I*qqm!(NZKcZzp{#k=OmJFmriP$w7%#d(P( zI6B1#i6!{6Cs_6**c&B8OeT0v#+gtjMyn+HvB%lg#Uao@EbdxR%X03w9qyDBMVS1Uc~N4II~Mz8)& zrU8=D?~Tw9=QMIY5Vjal_sD6?z)Il6CPg?|P)y0tKDn34g0EX@vevs#$d+tEj50Qu zd(x`Tn(jlMOlddJ<0`pF49JJbVgh6dBCeU6`M-pAYA7xj5+1vwt7xxwq%fv34ai2N{kepphrcR{|R z^Fw~5cwWe9UH~F5N<1%}qrk8iv?~Tgv;dh^d>CCU*e`(vVthx7cV`yE17_o7&+(UAWG$f^A?h%BOe?t|UNyJrUA0|ut?pTM;%Q@ONG(RJr24Gp z&uN)=VgA?Pg4+9PjrFPrtZaHC=lOk8H(uk1`x;`kDyNO6+~72z)&rEQQniQAzwySu z_B52%#YH?Q^JBbjHcTs8JB&5Nj%(HBS}o>n8w1HN>1-=#Ag2DcL<($PEePf}X>pS*eh+UDKr|v| zve`_lI^Q+(b5(QnHP|L~chFQ%Pq*p1G~k=|^ft8eH8$d%Ka?%vHOv0j?#S6;e^w*< zqC3;HmfN&l4zD9~Gez39@!5->R+rL3$#N(fSgNeHG9D0=3lGEqT4?*^y>LOucsewo zr>O5;UtfPppAHh&u?6@a-|Ja@?UV*>SDUbHkTK+SUEXnLVOGf z{weL?=jobgaSS-DHIEBZxmgS2E_fB%J6q8FDY@Ojq}#j&BtR1C7VRn_LO^H*?JSB# zkYIfvKrH0+Nh*NV4T#$^%>8-z>7QX9ZlDGV*^%?$PPzV0*ziRzCB^vaqupN>lS)N0 zv-<8n)Od?fS`2WjXh8i>mV4i*aBxc_XL)kbAcbo!xog{5aLK@F$$@x5N>U5GX{mAQ z7-Q(TBV9@NS??*l)W*1#(5>zCF54%y$?c+BP_jo|ZQ>r@i%Tikr|bi)8hu*Y0tsadQe3P8p;UBwMF)xzdkryKgG zn?6t1n*rElc=JN)CN|0G8hlm2{+ujsX&W<`u{wtoZboBE#9TdY->8Oq%WB_X@GM4d zrdc(lo3pWPa;@9%tlC#%!YQmRhU@*d*~1w5Y-_yhn6+w?xkOp@Mgyr?_qYj$By95Z zqS;v;b7S^C%&ci83b8Vv!`TxdhmSagZO4y8h7{3 z>5{AX(vsRIMUzjc&A}ftwHNi10(~GlFDP!B6CZiZ#5^2}991-mRmLW-=H{xoaTzes zI`#R8ztdFMcl>~#vE;~e3Ib!vhkj!!G9n=`-d3W&)ide55s}cofCWe^VV zrIdleq*={B3&VE}I?nIE&=!1nHkLR$rfa-1I{nF>u)5>Eb)#u)!nrlNf79g8M*oKi z&p%ZLc%MzvK1DZ9gl^=b3YLBDCT+}XKjKXVb8X5uFX9z8rNhT9+%{LvHb=vkyq$-p z?Cl>Ptu)wD67H@kolKQH0}*LVgUg2_|E_Y)0%`cL{%8n7CRQOI$O5oHPVh3h#qpqC zlSheQn}Dk2xEyo4ghU_>Ko`r0x}Rs*mq6i*C9RkPO-b9Ol|hFPrE-e34DdC#PY&YCIjy&ieJ zz6?@R->Agfs36>6ylh(g(AbPOxcjX6xW2T4p%?OOJZ)-g;p>w6z}YU{(#Mi5i>(Ro zGc0Xm=<2`9hJP5~vsT&7&r9Yjh658J_n%YgKDAr4jxj8?C$0n{jgG>%$$}#*+mZ5PCC=`o1*^)%`s?GS`yrnM_8D#-M=Yv^w-K~ z5U$T($;|;T0DGd;nJF@tpDh4zuS@&?G?n7R?0|&ux@mshpy4y!S;>3{&%1!Xdsgen#*dH%j^4y z^abg+PdFhdwV}AJoA+-R0npu3v9vE8mQ7A25CW^!uRRxB$U7D!fPA+yKV@*VC)J(i zrh|UPW$K!4E>Zeymeb?&K@MT%TZSI;nAr=S&~- zgeT@D7v{y6#1RW!bRgCbkw0zAqXY9PJpJC~KdX znZ$-9|8HWu)b^${Asl2xzO}ux&9u9-|K-cRKmd*5;la`I<<=pSxzSJa+u!%Ue*OOQ z=fAT!D`ZT}5ZqZs-6*PhPa1Vgr-XC+$r2Xw4PMi!?BuJ?HYlgb@ z$%|y3|AxX;eaB*{0;!h@G8~4Zz;x6%&itc9F_ipljo!@1{`O5|=c z*DlKM+xpP0K@};bJ9US8_=VA%@jJw!4Zr~gLsxX1VxiwEMgt~l38tAgGo|!>G7nMk zW<2u|Jy$S|Sr(ZQXq+42y)~eO5Vgb0<3#kz``^2%i+jp-6+Z$1MX<&5cg>=@0R>?d z-&W0&sWeX%zeqvttR~Ev z?D$4(nEy}%41jC=at7+v%N0s+lS7s?GX3mVS#kcPC;-dayo?F}Yo`DNr5zgTYi6A6 z#cK~6Ed!ZvWfzJxgvy5?)D6a!(z-_ljxp#b9Q#r#^ahi;w4V>x@&lhf1fc+zJc}nn zWi6sRRb$nAN{~F8LRkR3Zk)!oc8-6?jWE)^kG-NOgz;Z$u)4ZlQa zDR9NM$by##uBYN0a*I7C(5*991+mLnKdh&OeDX#@{;g-*73x1wF*^J}34&%~MtE;a9(2GcU z7X0pCCL?#_+$4PT7Q*zsSlDrqKQmBeUmJ|KYBE88e^O=ZvF*`f<*M1c+wy)#Ci~Ge zVdR^#|LzmmXx(#`pcfmXB#6`vl-l^*+>V8Ou`q@nfT$x^XwYnwmXS zJMPtv<#Max_<%DzP6MWpA#j=5V`0aj42?$~O<9vR`W!YWupDU=o`WCmyMX{LO+PL$ z;6Vu!McNYu4A?F9FzUiNrcU=^(T-;qF-%~B$pGZ*z@)fanor2yM+>T9NLbF@ug$ql0DM&h-Ni%a-JkZ zV>cAxr7bVy+^5rZ`9x>ha7tm6l}8u_1YPOS1RS#RnSTlvwMm9)t+b}4ras|9M;%~y zU0Ni96oc{$IJ8UBIRDOhk>p0BSHNsZf+(B^9wQZng-3FPD=OB^`_=y?1`IUbyaX5m zhMcH;Q07Z}M9cDOf{Z@0{Oj%ES0f;;s=(4uR_>|tFx{lNw*KgGr-)B|cvRGw6w&A_ zRJ|YTB;9_lje$elhY&j!)1WkIA!N9X;0Kr!JCLIo>rh>+aC0LEV9mMDFxP}zoO{DU zEW0&gxKqV)ySR8&NL;FN6i{rp%i@U~n3OK&rMoVGhlL5`NP^BgL*W*)4vB}IU=Uu( zi&W}wNi_RMV45wlEJhfRDv2CaU{`_6OBkp#DZ{lJBu_Hy43g@U!OPr5@i(C=aI(^8 zwmIWS*LciK56|!}THu6hOkgr>NeuTR%@TjM6<9@sTN4rVu5bRVy>jG4Nx4X_Y)FH; zf!SWnWREg_C?^H4v8_jt2Rv>lz1{@(00F%PqG%4(j_TTa-g7UA^hFvnC&*P8r z6oN&px(F9r7Gp`-kss8hh9ClfBf(jJu$(3?qX-E~7b6abYkhfKO5gzQZziT80pxS= zfi>MYz_zG%cTN%%AqpXizSej0oOPzlQ76OEWjU_rS&_?qO<#V+EGaTM$li~JCAT<;l!4u&thS>ce*c|%^Nr!&?xg0pU z)-@0OxXUaQjZ}Q@5=9Sai6Wdt64Ds_k}5lop0*g{MRXlVBreeh~gU{^<_=W*H%+>)U44t&lP# zPPxk#aPJkbS|wy?EcMP^4gJGTyY}GQ_u46_rOBsoBGan)PEi9A)Z5)=pLfAG7b@#S zfWM}_FmvFT$Wi704QwB2050c1-_*>Q1xOLWJ70-`fu~U(Dl)MLxlw|tsMetNLtu`= z_o|2aRR#h5VcekiS71;_H8zi)vi5f0xRNP8(aRD> zDKkP+9dLB%EXupQk1&6=dXbuK`5BJX`Xs>o8hA9P<|7*942r08jZAw=+Fx01}|DV>5$G9m~#)n@w@8#7jqx zm|ui}DAYBqSP-B@dK;~&EGZ$7wX1>jq<7hMiEz{B!rZ_#GS~7 z2~)WdHdZ^7p)X8?DxPNv;L9pfFbpK`p)uBqdn5)|#o!6f0d1`SH`pK%wpWC7w6Zpd zu}NbVgDcv>*i=L}yaU~0LVdCThKX^G<4{jFV6wIS1x(ydac0BfQdlfLxQp|D$9>e_It8^d1vLusydz! z8I{|c8{uJgUhz}f?0fe#TZjf01B7erR`}oU~)ZP(Od|yg)V>~ue zE5NuAOv%d+Aua#KrU!@bKaeLE9|(t85j&WBJj$9#^7L{)_0w%?t`jpIi#VZ-2f=Uh zhC6cBVJyIrpYkw`Lx@X4HHcUbTBt)~l?7y0l-J<{urEKPbLj)*S8?>%oVBSy3>^$_ zTI>|69)q3zZLR_Y*K~Y*p@Z7AFT5aFNF2SDLstdJZUtnnP~sFIzgSR8r0gh|UrH_x zr-v(#h?igo+qiSUIp@qQRHpJ_ESD;;SuW6oFGf_aY@|L8EkNHnl|_K3nsXDF;1~~U z<6-i0GmRH@24ufe40eWVzCXx?J&?7sZ)8AnWH{4f zauR=wVH>y1u*qWxkR)+EMv9Ed7SdDxI|KFXRQq)Xhs~nx>1~Nj!d6X6zcn%Aq$C)Rl)# z5rHiHVIo4sq`SUAJ|Gx{16lV^ML7xvHR=07jIUxlwE+r<5;lYwCp<3A0Cp}``~s_x z=EHiZL9-#HLU2X=HDeniMnammWnJ-RF+q*K@mDu-og{!P<%%X@;_Ka-e?B$XAKtU6 zet)gTepdCtNf5qB++gVaWQ7T*_93A&uThbc0K#0;L!SBtDy&ZmdgTuh^P#5mf(+Y5 zKXT0_jcVh$N>B#dlJA){9v9vVSpgcvn7=E8TZLdje}?56tX(X~qD_o7+$ zkuPugfPYM=UCvnlK)i&=Ba9kl|L#)t4?hn4PU`df`7N;hGqYE-^0U0kIwR({B6rUP zu241JWT)&vO}66BJzyd$V5nCFvKv%hL-0{Gdb+L|y$IyF5~bnur{O4lM*b9x7Z*5( zXPW60Pl*>P2!3iP_9CGtWCV5*+zdxO53Uq-wvwkkZDQ!vp+e!_{t$)c_V)UKMr3<% zF=d)ZW!uw&Ni`X`NML^4Lytg9I!^B!gON8jCvV(}`co-He{xo+auCy%N8C@tnNg;n zQl7qd?9|*3fl9ufE^lGlt6E6Zf-AL08zo)^hUSyd9AyD{<@FZH@tM&~H}>uo@HE3# zpdqGEe8jC&IU5=PA@HO497s;Eo4;}E>e`Fp(gO8)!S+@_WZXmkB)lMijmVJ3`O)ix z&|n}ldE#1++O%Z^jGdW8mgG8wL#^X?k^9sLY2m8Er~6JI32&uL3Y{eCfQ_0duj^VC zk*sD?;8n=dVp~lLI%UVURM7#FaAA~jx>kMGF2K;su8h2AD5H#~05`FVA;~nVGXrPV zA+4VV?&;W5l=T2F7Nq|O>HE|g*QDmZ>SE_P;+N5-^Su`+4}*`X;w4eVSU1^poC6b9 zn(Im8Jmliai$pnsp$sx;*hXAwdAVV`%5><|_#A$=S=NHLYRj*ws}#ETURHl;vNs;P z@&@GaSht*wik9pORcWyI2U%bn9J@a`%SdqR~)PT>jGYD^3Qv2sj}@NLvCsH zFKr7nZZ>&sZQ4hEnI}D#F-ON#3{gYTnq#bdiaspn^)c6-(x%3i&;hpTW#ZH7DC7+( zgCcC~-~nP&$m-Ur?zm62=al7A1gA}#N|y2HMaa|1=;-VM?N&##AoSr^lj2KyKDcjR zMUQ2peLH5LK9mfJ5c|#w+zA7`r)hE6YORM?&%aK%`-Ngt`C=SOq|+L}K#7l4W^=*H zEZE9^uLmj%16K<1R#f}CT%&tJC%M<5R>fR6RwFFa_VO*!p~vzUds#cM1wRdf@{#^x zv~qEs?mqS- zJZcQ(r#cv?!b(0d%T-9q=nZ{61Y8vY`qaBYzLOJ_R~@m2g=?{ct8$OI5=iX_c{3g? zd?>06fpg~f)y4XAKSe)%%%(b8eR_vP{I}NLLNCLsQ$Q17A+P0?ZY&%4ZtMQhhFYZs zu{n#SzIx}QG+hZf{A`pgfo^%+6k|?NhMEo;A3%OBy~`S)-vmrf^~=wlQucOQ)reMBckaBDp@GV{c&<^cbpZMl~C z^a;RU3mSoOl;4GV1d&RC0G-PqvIP*1&nEt?6>04>u_^QWX6l!fLff|R?J@d5B-JCs z^=oyTesfZB0V(J&a%YSudpyZgAHeg06VQ1}lv57g!RuZe3L(0#1g+3X-LA(Ev6sU-cRiN&5MwOY>ly%PRo0|i8 z|4G_EgHy@uUwp9FipTTZdXx3%OIg>pl!woi+Li0T)%tF~{QK45wTJCb4UMaPrVFAq z0|}Iv>eRC3nTFGvSoe86+Zob0zDKc%IPHnr!gOgZ?nsO|G4%RCSkPIzfIga%2?+?m zuE34dtB!+5Zi1^e#E3)nsjZI9P=2OHP92}OORg*ZF#VVPBLYceOsjGV$1tINEfo4g7_HmVdh5Wv9U4HiHR{rDM@JwNpXo# z1P?hm9Wa0g2n^(5rXznM2!tl5*Qca4yozhg$V_-+&P7hEp+QUM2;~|C^_BoM5YW_C z?7XdMa;Cj){sWXwkT606z9C! zg#R`Ors#!uja4=Cfr|(*BKTTXb1aW#37M}Qo?@`t(+V7^7dSLGerKz1Y-dU}un*5q zJzphe=MERDN#4i&2YDLS<4HnD*1)>9O9b5?tCS}ul8Qw}e#reA>TrUAL4G+9WO%cQ zCjz*f>^FyVODP$Mv!+{QNaMSd?3`>++!=r zBZaI~&a3Q%50q3sYl(q5*31}=jgrc}tmDMV5ZivCv|R# zb}INTjIL49M>4y?g!hK5A8`H3^L2ASX1UU2;<{=?5>@HTKw9vsu^{AJ^w*c}64@p_ zxI7zL9*v~<$L}t>TsI3GA=OThE(OPL1LT0!INE)uB?oe6tEjhrU`cVS#MPwwt6|5~ zIc49c`wOwOj?~moqAt?v7^0~{Px<8hU5wGWGzG&YL$t5kUrn=c7Vio`38F^wEF1tb zjN{0*VaSWN&j(>^{*zyZfkf;xkvlkA$Mgg(VtXa;VgXj!TroyBf>I`bb|9;_{38&n zZse~un}iY)0ODWM?1o$S*MMP-LfaA;G+WD1>hJR78fN2f8h$KL9ED5S?+Zt7O)pvB zlf1(L7RD2xm7iks@7ac$!EkVKdGC=ejOo$axNVkoM2(`|8y5%JgddW-GZ-GS! zgO5adwNmbc-Wck6B{dm(lkFHP9am=(UO*thD?Mj(-sD=~kTa9Ja?cdwuw?}_szd6kK4Fi#00H@+6 znNhPFnQdQ)Qp=7QpCzP-cy9j-18ltl9ys~v>D+kLFD(w47C?r-v{-c-_8%qhW$>;L z8B=fF?1KBc93BU$x#Nc6sG9(vB1oX2ZRDXDPH(B$MdPv6w9zFoeL{GKK&#GJGC!UL4N#PTXLKlJs>J4B?TcH zZ)+}<7-btlv6Lp~SNHf;9+3JBAsh^0;(w<&47=36k z=ys{%be^Cpd7MnQ_@$C7eiD%hGuvZbP!{5;ZN9K;Jk8F+a3KZ22sDXB9|{1!{rOhM zY3B))wjM_C!u;>d5=1W#!NEP|Ul6s`Ta!n%Vc!6z&ma1Ub6wA+cf+l_U8-BN9<#+qRN%qAWKm)7zp!$SZT6ov^qCXAV0y_02!TbayL!?lT+bX3>b{k1|#R*k~sfi zY6sznJ%`|(%52eg&IKV!^)s5uh-`T3D-5_AHieFq96@4ET#O>oLXG+S7r&_b0EH ztWRa|bO)jYZ>Tuv+3D{e=R~_y-Q!Ix;OnqjZBn5P*eGB?aEM6)lZq^U&FiG@g`W=h z--$o=`n7j;Yq;Cw7$UDb3`74SK%yPHL@Zw5Ll7TMD;$aQW&AC`U2P=!&Fyn?>S1~u zt#&FDW?8~nUV)I}4!;(c+SsWsDoD$X} z6f904ei@W6x8&C8Q)Qb#R+;FWSlzW;|I96pf9)TMqL1bfZ$s#TrGGi& zfK?d1u#a#JEk#nCf3b5JK5lX(=BO7u4cw`3xV;v&D5t8d06;(#wvrFBb7ndvbOwQ5 zm&6hY`LL?ir9dRCIH!z|_+&l(PeKpRFfnngs*`e-FZon^UH6I<#N|8i%cF@@c5#|k zlA87EqDYJ~St*bxpq>_G&x_Dvf5W^$c#>wTFV^o8w8#^@ zabUIvWFWfTCv?^FFfnBnf20W;Qh(eR!Yb5}qPx_!DIj z5@#4RrsB#5grP&dA91Kw$i15n>xl|fsh}Vk3e=90sylGHF2@(tmU7VszVLD_V50s2 zRv$N1#gz$Mx{l9TavZe_i326n8pf6Jzb z=}3WFfX`7~g+IJAU_vA=V;^YG#B0PJuGwXDD$h|xVf;##B9bYHch9UOFi|g&T@wPD z_Ep980!aha=M{|R0}@s#sdU!@1(9ma%%NTr8LA}q`3sDFl11)(2f8FiEY$S&qEF|yB*Y^%%vcm?NP2fbMB)+{hI=PZw^~idp*JYa=drt zk>FRyC*|**luZm^P~30`0XJQRLP;){eE|#m9gboKlD-EUmYB|egxms1pZBe-027oYNMy)D9 zLZT{j&*Z(`Q(!!xN~aiOSOuA)z}g%9v^e#Q0ID+L{c_~%arq~)GBb<9|_!s$5PGN^i*~kOql)OS8fqJuMd;Y&z5R@ zOkNSkFokr+y8Mm>Yh|+0P`R48AAo|Kv{lIfrZgm)*+LNFBtoQCb#}I2XabmwPt{9> z+zA6*YoPb+=)!HXtNZbze)J=IDcZ4^9nE@_Ce0HOlaCsnfU z3}IS4V`_0^e9h)FB!XyQiB|VTK;W@;HxLOp6X*`11^hU)vl0Q(mxF{`aEMxPIFZ0o zFO!F1Iip>muvZV3X{giUjardFhk~52WP2?z8z0bcm#w(GyF-X1!nGS@1$|3ll+cHR z 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