Skip to content

A collaborative list of awesome Swift libraries and resources. Feel free to contribute!

License

Notifications You must be signed in to change notification settings

chquanquan/awesome-swift

 
 

Repository files navigation

Awesome Swift

iOS App Awesome Linux Projects Updated
Download on the App Store Awesome 🐧 889 October 09, 2018

Contents

指南

一个超棒的Swift相关的指南.

通讯

回到顶部

官方指南

回到顶部

Style 指南

回到顶部

第三指南

回到顶部

模版

REPL

编写支持

你最喜爱的编辑器支持.

Emacs

回到顶部

  • swift-mode - 支持 Emacs, 包括支持部分 flycheck 错误检查.

Vim

back to top

Benchmark

  • xcprofiler - 优化编译时间的命令行工具.

转换

  • Swiftify - 在线实时转化Objective-C 为 Swift, 还可以做为 Xcode 的扩展.

其他超棒的列表

查看这些项目的 apps:

  • Awesome iOS Interview - 一个有助你准备面试的问题列表.
  • awesome-macOS - 一个展示有关应用,软件,工具和 masOS 小东西的列表..
  • example-ios-apps - 对于初学者和学习ios开发的人员以及需要任何示例应用程序或特性的ios开发人员来说,这是一个很棒的列表.
  • open-source-ios-apps - 开源iOS应用程序的协作列表.

依赖管理

Swift依赖管理工具.

  • Carthage - 一个全新的依赖管理工具.
  • CocoaPods - 最多人用的依赖管理工具.
  • Mint - 一个安装和运行 Swift 的包管理工具.
  • swift-package-manager - SPM 是 Swift 编程语言的包管理器.

Patterns

Misc

各种各样与 Swift 相关的项目

  • Beak - 一个为 Swift 脚本开发命令行窗口.
  • SwagGen 🐧 - 一个命令行工具,用于基于Stencil模板,遵守Swagger规范生成REST API.
  • swift-compiler-crashes - 一个有关编译器的测试用例崩溃集合.
  • SwiftGen - 一个可以为你的项目种类资源文件(asset)自动生成代码的一套工具.
  • SwiftPlate - Easily generate cross platform framework projects from the command line 方便为工程构建跨平台库文件的命令行.
  • Toybox - 让 Xcode 的 Playground 管理变得简单.
  • Tuist - 一个开源的命令行工具,应用于规模化创建,维护以及与你的 Xcode项目互动方面的事情.
  • XcodeGen - 用于从YAML文件和你的项目目录生成Xcode项目的工具.
  • xcodeproj - 用于读取,更新和写入 Xcode 项目和 workspaces 的库.

Libs

在这里你能找到一系列可应用于你 Swift项目的代码片断和库.

Accessibility

回到顶部

  • Capable - 提升你app的可访问性,针对一些需要辅助功能的人.

AI

有关AI的基础项目(机器学习,神经网络等). 回到顶部

  • CoreML-Models - 一些独特的Core ML模型.
  • MLKit - 一个简单的机器学习框架.

算法

回到顶部

  • Algorithm - 用于编写算法和概率模型的工具集.
  • swift-algorithm-club - 一个带有说明的算法和数据结构库.
  • SwiftLCS 🐧 - 最长公共子序列(LCS)算法的实现.

分析

关联分析库用以跟踪用户对你app的使用 回到顶部

动画

对动画有帮助的库 回到顶部

  • Advance - 一个提供给iOS, tvOS和macOS的给力的动画库.
  • ChainPageCollectionView - 一个棒棒的有关布局和动画的二级集合.
  • DKChainableAnimationKit - 易于读写的可链接动画.
  • Ease - 轻易给任何东西添加动画.
  • EasyAnimation - 一个把 UIView.animateWithDuration(_:, animations:...) 提升到新的高度的库.
  • FlightAnimator - 基于自然块的核心动画框架.
  • Gemini - Gemini 是一个丰富地基于滚动的动画框架.
  • IBAnimatable - IBAnimatable 可以在视图构建界面上为需要上架App Store的应用提供设计,原型界面,交互,导航,转场和动画.
  • Interpolate - Interpolation 框架为创建可交互的手势驱动动画而生.
  • Kinieta - 一个简单的iOS动画引擎,具有直观的API和高可读代码.
  • Pastel - 动画像Instagram的渐变动画效果.
  • Poi - Poi 可使你的卡片视图像tinder一样,使用方法跟tableView方法差不多.
  • Presentation - 一个帮助你制作教程,发布说明和动画页面的库.
  • Pulsator - 一个 iOS 的脉冲动画.
  • Sica - 一个简单的核心动画界面,无论是按顺序还是一起执行都是类型安全的.
  • Spring - 一个把iOS 动画简单化的库.
  • SpriteKitEasingSwift - 使 SpriteKit 更易于使用.
  • spruce-ios - 屏幕上的排列显示动画.
  • Stellar - 一个物理动画库.
  • SwiftyAnimate - 易于合成的动画.
  • TheAnimation - CAAnimation封装,预防赋值错误的数值类型.
  • ViewAnimator - 只需一行代码就可以使你的UI变得鲜活生动.
  • YapAnimator - 献给你的更快,更友好的基于物理的动画系统.

接口

Quick libs to get access to third party API services back to top

App Routing

Internal app routing systems. back to top

  • Appz - Launch external apps and deeplink with ease.
  • Compass - Compass helps you setup a central navigation system for your application.
  • Crossroad - 🚍 Crossroad is an URL router focused on handling Custom URL Schemes.
  • LightRoute - Routing between VIPER modules.
  • Linker - Lightweight way to handle internal and external deeplinks for iOS.
  • RxFlow - RxFlow is a navigation framework for iOS applications based on a Reactive Flow Coordinator pattern.
  • SwiftRouter - A URL Router for iOS.
  • URLNavigator - Elegant URL Routing.

App Store

Libs to help with apple app store, in app purchases and receipt validation. back to top

  • InAppPurchase - A Simple, Lightweight and Safe framework for In App Purchase.
  • merchantkit - A modern In-App Purchases management framework for iOS.
  • SwiftyStoreKit - Lightweight In App Purchases framework.

音频

有关音频的库 回到顶部

  • AudioKit - 强大的音频合成、处理和分析库, 没有陡峭的学习曲线.
  • AudioPlayer - AVPlayer的封装, 具有一些很酷的特性.
  • AudioPlayerSwift - AudioPlayer是一个简单的类,用于在iOS、OS X和tvOS应用程序中播放音频(提供基本的高级的用法).
  • Beethoven - 一种用于音乐信号基音检测的音频处理库.
  • MusicKit - 音乐的合成和转换的框架.
  • SwiftySound - 一个简单的库, 让你用一行代码播放声音.
  • TuningFork - 一个简单的iOS调谐器.
  • voice-overlay-ios - 在可定制UI中获取用户语音权限和把语音转为文本的覆盖层.

Augmented Reality

back to top

  • ARKit-CoreLocation - Combines the high accuracy of AR with the scale of GPS data.
  • ARKit-Navigation - Navigation in augmented reality with MapKit.
  • ARVideoKit - Capture & record ARKit videos, photos, Live Photos, and GIFs.
  • ARVoxelKit - Voxel graphic framework using ARKit.
  • Poly - Unofficial Google Poly SDK – explore the world of 3D.

Authentication

Easy way to manage auth in your apps. back to top

  • Cely - A Plug-n-Play login framework.
  • InstagramLogin - Simple way to authenticate Instagram accounts.
  • LoginKit - LoginKit is a quick and easy way to add a Login/# UX to your iOS app.
  • ReCaptcha - [In]visible ReCaptcha for iOS.
  • Simplicity - A simple way to implement Facebook and Google login in your iOS and OS X apps.
  • SpotifyLogin - Authenticate with the Spotify API.

Bots

Libs to build bot back to top

  • Telegram Bot SDK 🐧 - Unofficial SDK.
  • Telegrammer 🐧 - Open-source framework for Telegram Bots developers. It was built on top of Apple/SwiftNIO which help to demonstrate excellent performance.

缓存

回到顶部

  • AwesomeCache - 轻松管理缓存.
  • Cache - 就是缓存.
  • Cachyr - 一个用于iOS、maOS和tvOS的轻量键-值 数据缓存.
  • Carlos - 一个简单且灵活的缓存.
  • EVURLCache - 如果你希望使你的app在离线时依然可用.

Chart

back to top

  • Charts - Beautiful charts for iOS/tvOS/OSX (port of MPAndroidChart).
  • PNChart-Swift - A simple and beautiful chart lib with animation.
  • ScrollableGraphView - Adaptive scrollable graph view for iOS to visualise simple discrete datasets.
  • SwiftChart - A simple line and area charting library for iOS. Supports multiple series, partially filled series and touch events.
  • SwiftCharts - Highly customizable charts for iOS.
  • TKRadarChart - A customizable radar chart.

Chat

Libs to get access to build chat app back to top

  • Chatto - A lightweight framework to build chat applications.
  • InputBarAccessoryView - A simple and easily customizable InputAccessoryView for making powerful input bars with autocomplete and attachments.
  • MessageKit - A community-driven replacement for JSQMessagesViewController.
  • MessengerKit - A UI framework for building messenger interfaces.

颜色

与颜色管理相关的实用且有趣代码片段. 回到顶部

  • Chameleon - Chameleon 是一个轻量级且功能强大的iOS颜色框架.
  • ChromaColorPicker - 一个直观有趣的iOS颜色选择器.
  • Colorify - Colorify 是一个简单且功能强大的颜色库.
  • DynamicColor - 一个易于操作颜色的扩展.
  • FlatUIColors - 平滑UI调色板.
  • Gradients - 精选超过180个渐变集合.
  • HexColor - 用哈希值定义颜色.
  • Hue - Hue 是一个你值得拥有的颜色工具合集.
  • PrettyColors - 带有样式和颜色的ANSI的Terminal转义码, 符合ECMA标准48.
  • SwiftGen-Colors - 一个自动把你的 UIColor 常量自动生成Swiftenums的工具.
  • SwiftHEXColors - 作为 UIColor的扩展处理HEX颜色.
  • UIColor-Hex-Swift - 把Hex 转化为 UIColor.
  • UIGradient - 一个简单而强大的库,用于创建渐变图层、图像、颜色.

Command Line

Create command line applications. back to top

  • Commander 🐧 - Compose beautiful command line interfaces.
  • CommandLine 🐧 - Library for creating command-line interfaces.
  • LineNoise 🐧 - A zero-dependency replacement for readline.
  • Progress.swift 🐧 - Add beautiful progress bars to your command line.
  • SwiftCLI 🐧 - A powerful framework that can be used to develop a CLI.
  • Swiftline - A set of tools to help you create command line applications.
  • SwiftyTextTable 🐧 - A lightweight library to generate text tables.

Concurrency

Easier ways to work with concurrency. back to top

  • AsyncNinja - A complete set of concurrency and reactive programming primitives.
  • Futures 🐧 - Lightweight promises for iOS, macOS, tvOS, watchOS, and server-side.
  • GroupWork 🐧 - Easy concurrent, asynchronous tasks.
  • Hydra - Promises & Await - Write better async code.
  • Kommander - Manage the task execution in different threads through Kommands.
  • Queuer 🐧 - A queue manager, built on top of OperationQueue and Dispatch (aka GCD).
  • Venice 🐧 - Communicating sequential processes (CSP), Linux ready.

Currency

back to top

  • Money - Currency formatter.

Data Management

back to top

Core Data

No more pain with Core Data, here are some interesting libs to handle data management. back to top

  • AERecord - Super awesome Core Data wrapper library for iOS.
  • AlecrimCoreData - Simple Core Data wrapper library.
  • Cadmium - Framework that hides the complexity of managed object contexts.
  • CoreStore - simple and elegant way to handle Core Data.
  • DataKernel - DataKernel is a minimalistic wrapper around Core Data stack to ease persistence operations. No external dependencies.
  • Graph - An elegant data-driven framework for Core Data.
  • JSQCoreDataKit - A swifter Core Data stack.
  • JustPersist - Easiest and safest way to do persistence on iOS with Core Data support out of the box.
  • QueryKit - An easy way to play with Core Data filtering.
  • Records - In just a few minutes, setup a fully functioning CoreData implementation that embraces the static, type-safe nature of Swift.
  • Skopelos - A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data.
  • SugarRecord - Helps with Core Data and Realm.

JSON

Struggling using json data? Here are some interesting ways to handle it. back to top

  • AlamofireObjectMapper - An Alamofire extension which converts JSON response data into objects using ObjectMapper.
  • Alembic - Functional JSON parsing, mapping to objects, and serialize to JSON.
  • Argo - JSON parsing library.
  • Arrow - Elegant JSON Parsing.
  • Decodable 🐧 - JSON parsing.
  • Elevate - JSON parsing framework that makes parsing simple, reliable and composable.
  • EVReflection - Reflection based JSON encoding and decoding. Including support for NSDictionary, NSCoding, Printable, Hashable and Equatable.
  • Freddy - A reusable framework for parsing JSON.
  • Genome - A simple, type safe, failure driven mapping library for serializing JSON to models.
  • Gloss 🐧 - Shiny JSON parsing library.
  • HandyJSON - A handy Swift JSON-object serialization/deserialization library.
  • Himotoki - A type-safe JSON decoding library.
  • JASON - JSON parsing with outstanding performances and convenient operators.
  • JSONCodable - Hassle-free JSON encoding and decoding.
  • JSONHelper - Lightning fast JSON deserialization and value conversion library for iOS & OS X.
  • JSONNeverDie - Auto reflection tool from JSON to Model, user friendly JSON encoder / decoder, aims to never die.
  • ObjectMapper - JSON object mapper.
  • PMJSON - Pure Swift JSON encoding/decoding library.
  • SwiftyJSON - A lib for JSON with error handling.
  • SwiftyJSONAccelerator - OSX app to generate models for JSON.
  • Unbox - The easy to use JSON decoder.

Key Value Store

back to top

  • Default - Modern interface to UserDefaults + Codable support.
  • DefaultsKit - Simple, Strongly Typed UserDefaults for iOS, macOS and tvOS.
  • Palau - Typesafe NSUserDefaults with custom rules.
  • Prephirences - Manage application preferences, NSUserDefaults, iCloud, Keychain and more.
  • Storez - Safe, statically-typed, store-agnostic key-value storage.
  • SwiftStore - A Key-Value store backed by LevelDB.
  • SwiftyUserDefaults - Cleaner, nicer syntax for NSUserDefaults.
  • UserDefaultsStore - Why not use UserDefaults to store Codable objects 😉.
  • Zephyr - Effortlessly synchronize NSUserDefaults over iCloud.

MongoDB

back to top

  • MongoKitten 🐧 - MongoDB Connector.
  • Perfect-MongoDB 🐧 - A stand-alone wrapper around the mongo-c client library, enabling access to MongoDB servers.

Multi Database

Data management layers that involve multiple sources. back to top

  • Shallows - Your lightweight persistence toolbox.
  • StorageKit - Your Data Storage Troubleshooter 🛠.

ORM

back to top

  • fluent 🐧 - Simple ActiveRecord implementation.
  • Perfect-CRUD 🐧 - CRUD is an object-relational mapping (ORM) system using Codable protocol.

Other Data

Other ways to persist data back to top

  • CSVParser 🐧 - Fast parser for CSV.
  • Disk - Delightful framework for iOS to easily persist structs, images, and data.
  • EVCloudKitDao - Simplified access to CloudKit with support for subscriptions and local caching.
  • KeyPathKit - KeyPathKit provides a seamless syntax to manipulate data using typed keypaths.
  • LeetCode-Swift - Solutions to LeetCode interview questions.
  • Pencil - Write any value to file.
  • StorageManager - Safe and easy way to use FileManager as Database.

Realm

back to top

  • Realm - Realm is a mobile database: a replacement for Core Data & SQLite.
  • Realm+JSON - A concise Mantle-like way of working with Realm and JSON.

SQL drivers

back to top

  • MySQL Swift 🐧 - MySQL client library.
  • Perfect-MySQL 🐧 - A stand-alone wrapper around the MySQL client library, enabling access to MySQL servers.
  • Perfect-PostgreSQL 🐧 - A stand-alone wrapper around the libpq client library, enabling access to PostgreSQL servers.

SQLite

Are you interested in storing your app data using SQLite? Here are some interesting resources. back to top

XML

If you prefer to manage XML data formatted entries, here are some helpful libs back to top

  • AEXML - xml wrapper.
  • CheatyXML - A powerful framework designed to manage XML easily.
  • SwiftyXML - The most swifty way to deal with XML.
  • SWXMLHash - Simple XML parsing.

YAML

back to top

  • YamlSwift - Load YAML and JSON documents.
  • Yams 🐧 - Sweet YAML parser.

ZIP

back to top

  • Zip - Framework for zipping and unzipping files.
  • Zip Foundation - A library to create, read and modify ZIP archive files.

Date

Handle data formatting easily. back to top

  • AnyDate - Date & Time API inspired from Java 8 DateTime API.
  • Chronology - Building a better date/time library.
  • DateHelper - Simple date helper.
  • Datez - Library for dealing with NSDate, NSCalendar, NSDateComponents, and NSTimeInterval.
  • Datify - Easypeasy date functions.
  • NVDate - Date extension library.
  • SwiftDate - Easy NSDate Management.
  • SwiftMoment - A time and calendar manipulation library.
  • Time - Type-safe time calculations, powered by generics.
  • Timepiece - Intuitive NSDate extensions.
  • TrueTime.swift - Get the true current time impervious to device clock time changes (NTP library).

依赖注入

依赖注入库 回到顶部

  • Cleanse - 一个来自Square 的轻量级依赖注入库.
  • Corridor - 一种类核心依赖注入μFramework.
  • Deli - Deli 一个易用的依赖注入库.
  • Dip - 一个简单的依赖注入容器。.
  • DITranquillity - 稳定的依赖注入框架.
  • Pure - Swift 纯净依赖注入
  • Swinject - 一个依赖注入框架.
  • Typhoon - 依赖注入工具包。.
  • Weaver - 声明性、易用性和安全性依赖注入框架.

设备

一个识别你的设备的库集合. 回到顶部

  • Device - 检测当前设备和屏幕尺寸的轻量工具.
  • Device.swift - 超轻量级用来检测你的设备的库.
  • DeviceKit - DeviceKit 是值类型的用来替代UIDevice.
  • Luminous - 获取任何你想知道的关于设备的信息.
  • Thingy - 一个先进的设备检测和查询库.
  • UIDeviceComplete - UIDevice 的扩展,填充一些缺失的功能.

文档

为Swift 代码创建文档 back to top

  • jazzy - 高端的文档.
  • SourceDocs - 生成与你代码联动的Markdown引用文档.

电子邮件

回到顶部

嵌入式系统

在RaspberryPi、BeagleBone、C.H.I.P.和其他board上构建嵌入式Linux项目. 回到顶部

  • SwiftyGPIO 🐧 - 在ARM上与Linux GPIO/SPI/PWM交互.

外设

与特定外设交互. 回到顶部

事件

替代通知中心(NSNotificationCenter), 健值观察(Key-Value-Observation), 或代理(delegation). 回到顶部

  • Bond - 绑定框架.
  • BrightFutures - Promise 和 future 库.
  • EasyFutures - 🔗Futures & Promises. 易于使用. 高度可组合的.
  • EmitterKit - 事件触发器和侦听器的实现.
  • FutureKit - Future/Promises 库.
  • Katana - 用 React 和 Redux的方式开发apps.
  • NoticeObserveKit - NoticeObserveKit是类型安全的NotificationCenter的封装,它将通知类型与信息类型相关联.
  • Notificationz - 通过提供一个简单的、可定制的适配器,帮助你掌控NSNotificationCenter.
  • Observable - 值观察最简单的方法.
  • PMKVObserver - 先进的线程安全/类型安全的值观察用于Swift 和Objective-C.
  • PromiseKit - 异步 promise 编程库.
  • ReactiveCocoa - ReactiveCocoa (RAC) 是一个 Cocoa framework 灵感来自Functional Reactive Programming. 它提供了值更新而触发的事件流接口.
  • ReactorKit - 一种响应式的和单向的应用架构的框架.
  • ReSwift - 单向数据流.
  • RxReduce - 状态容器模式(如ReDux)的响应式实现。它基于状态不变性和单向数据流的简单概念.
  • RxSwift - 微软响应式扩展(RX), 应用 于Swift和iOS/OSX平台.
  • Signals - 替换代理和通知.
  • Snail - 一个可用于观察的框架。.
  • SwiftEventBus - 为iOS优化的发布/订阅事件总线.
  • Tempura - 一个着眼全局的iOS开发框架,灵感来自 Redux 和 MVVM.
  • Tomorrowland - Swift 和 Obj-C 的轻量级Promise.
  • TopicEventBus - 发布-订阅设计模式实现框架,具有按主题发布事件的能力.
  • VueFlux - 单向数据流状态管理架构, 受Vuex和Flux的启发。.
  • When - Promises和轻量级实现.

Files

back to top

  • FileBrowser - Powerful file browser for iOS.
  • FileKit - Simple and expressive file management.
  • FileProvider - FileManager replacement for Local, iCloud and Remote (WebDAV/FTP/Dropbox/OneDrive/SMB2) files for iOS/tvOS and macOS.
  • KZFileWatchers - A micro-framework for observing file changes, both local and remote.
  • PathKit 🐧 - Effortless path operations.

Fonts

A collection of font related snippets. back to top

  • FontAwesome.swift - Use FontAwesome in your projects.
  • FontBlaster - Programmatically load custom fonts into your iOS app.
  • Inkwell - An inkwell to use custom fonts on the fly.
  • IoniconsKit - Use ionicons as UIImage / UIFont in your projects.
  • OcticonsKit - Use Octicons as UIImage / UIFont in your projects.
  • OpenSansSwift - OpenSans.
  • SwiftIconFont - Fontawesome, Iconic, Ionicons, Octicon ports.
  • SwiftIcons - Library for Font Icons: dripicons, emoji, font awesome, icofont, ionicons, linear icons, map icons, material icons, open iconic, state, weather.
  • UIFontComplete - Font management (System & Custom) for iOS and tvOS.

Game Engine

back to top

2D

back to top

Games

back to top

  • Sage 🐧 - A cross-platform chess library.

Gesture

back to top

  • DBPathRecognizer - db path recognizer for letters.
  • PeekPop - Framework for backwards-compatible Peek and Pop.
  • ShowTime - Show off your iOS taps and gestures for demos and videos with just one line of code.
  • SwiftyGestureRecognition - UIGestureRecognizers in Xcode Playgrounds.
  • SwipyCell - UITableViewCell implementing swiping to trigger actions (known from the Mailbox App).

Hardware

A category dedicated to hardware related libs back to top

3D Touch

Easy handle new 3D Touch / Force Touch feature thanks to these libs. back to top

蓝牙

围绕 CoreBluetooth 的封装 回到顶部

  • BlueCap - 围绕 CoreBluetooth 的封装,但不止这些.
  • Bluejay - 致力于构建可靠的LE蓝牙apps的框架.
  • BluetoothKit - 让在iOS/maxOS之间的BLE设备通讯更简单.
  • RxBluetoothKit - 为RxSwift 开发的iOS & OSX蓝牙框架.
  • SwiftyBluetooth - 围绕CoreBluetooth的简单和可靠的封装.

相机

超棒的相机库 回到顶部

条形码

条形码, 二维码, 其他码的读取 回到顶部

触觉反馈

涉及触觉反馈的库 回到顶部

  • Haptica - 简单的触觉反馈生成器.

iBeacon

对将iBeacon应用于你的Swift项目感兴趣,这里有一些有趣的资源. back to top

传感器

用一种更快更简单的方式来管理你手机的传感器 回到顶部

图片

一个有趣的跟图片相关的库的列表. 回到顶部

  • Agrume - 一个全新的的图片游览器.
  • AlamofireImage - AlamofireImage是Alamofire框架的图片组件.
  • APNGKit - 在iOS的高性能和轻量级的APNG格式图片展示框架..
  • ATGMediaBrowser - 一个有多种预定义风格转场,也可以方便地自定义新风格转场的图片浏览视图.
  • AXPhotoViewer - iPhone / iPad照片库查看器,用于查看任意数量的图片.
  • BlockiesSwift - 独特的 块状识别/轮廓 图像生成器.
  • CTPanoramaView - 用触摸或基于运动的控制,显示球形或圆柱形全景图的库.
  • DTPhotoViewerController - 一个可以完全自定义的图片查看控制器无论是单张或多张图片,灵感来自Facebook的图片查看器.
  • FacebookImagePicker - Facebook相簿图片选择器.
  • FlexibleImage - 一个简单的图片查看方式.
  • FMPhotoPicker - 一个现代的、简单的、零依赖的照片选择器,并且有一个优雅和可定制的图像编辑器.
  • gifu - 让iOS支持的高性能GIF.
  • GPUImage 2 - GPUImage 2 是一个BSD许可的Swift框架,使用GPU加速视频和图像处理.
  • GPUImage 3 - GPUImage 3 是一个BSD许可的Swift框架,使用GPU加速视频和图像处理,它是使用Metal框架的.
  • HanekeSwift - 一个iOS的通用缓存框架,尤其是在图片缓存方面.
  • ImageDetect - 一个使用iOS 11 Vision 接口的人脸探测和剪裁器,也可用于二维码和图片中的文本的探测.
  • ImageLoader - iOS的一个轻量和快速的图片加载器.
  • ImageScout - fastimage 的实现,支持PNG, GIF和JPEG.
  • ImageViewer - 一个类似 Twitter的图片浏览器.
  • JLStickerTextView - 一个 UIImageView 允许你在其上添加多个label(多行文本支持),您可以用一根手指编辑、旋转、调整label的大小,然后在图片上呈现出来.
  • Kingfisher - 图片的下载和缓存.
  • LetterAvatarKit - 一个UIImage扩展可以生成基于字母的图象.
  • Lightbox - 一个为你的iOS app准备的方便和易于使用的图片浏览器.
  • MapleBacon - 图片下载和缓存库.
  • MCScratchImageView - 一个自定义的ImageView,用于覆盖其他视图的表面,如刮卡,用户可以刮开覆盖物以查看下面的视图.
  • Moa - 一个image view的下载扩展,可应用于iOS, tvOS和macOS.
  • Nuke - 用于加载、缓存、处理、显示和预加载图片的先进框架。.
  • PassportScanner - 扫描护照的MRZ代码,并提取姓名、姓氏、护照号码,.
  • Sharaku - 类似 Instagram的图片滤镜UI库.
  • Snowflake - 使用 SVG.
  • SwiftGen-Assets - 为你所有的UIImages图片资源目录自动年成enums枚举.
  • SwiftGif - 一个让UIImage支持GIF的小扩展.
  • SwiftSVG - 一个单向的SVG解析器提供多个选项(String, NS/UIBezierPath, CAShapeLayer, 和 NS/UIView).
  • SwiftyGif - 高性能GIF引擎.
  • TinyCrayon - 一个为移动app开发的,智能和易用的图片覆盖和剪切SDK.
  • Toucan - 图片处理 API.
  • UIImageColors - iTunes 风格的图片颜色拾取器.
  • Viewer - 支持本地和远程视频和图像的查看器(或灯箱)。.
  • Vulcan - 具有优先级的图片下载器.
  • ZImageCropper - 以任意形状剪切图片.

Key Value Coding

Libraries for key-value coding back to top

Keyboard

Do you want to create your own customized keyboard? Here are some interesting resources back to top

  • IHKeyboardAvoiding - An elegant solution for keeping any UIView visible when the keyboard is being shown. No UIScrollView required.
  • IQKeyboardManager - Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView.
  • KeyboardHideManager - Codeless manager to hide keyboard by tapping on views for iOS.
  • Typist - Small, drop-in UIKit keyboard manager for iOS apps-helps manage keyboard's screen presence and behavior without notification center.

Kit

Libraries for coding with a simplified API back to top

  • BFKit-Swift 🐧 - A collection of useful classes, structs and extensions to develop Apps faster.
  • C4iOS - Harnesses the power of native iOS programming with a simplified API.

布局

帮你布局的库. 回到顶部

  • BrickKit - 以一种简单的方式创建复杂的响应式的布局.
  • FlexLayout - 友好/干净并且高度优化的Facekbook yoga的实现.
  • LayoutKit - 一个快速布局的库,可用于iOS, macOS, tvOS.
  • LayoutLess - 编写更少的UI代码.
  • ManualLayout - 易于使用的灵活的布局,可替代iOS 8+,支持 AsyncDisplayKit.
  • Neon - 一个功能强大的UI布局框架.
  • PinLayout - 不需要auto layout的快速布局。没有魔法,纯净的代码,完全的控制和快速的上手。简洁的语法,直观的,可读的和可链式调用. [iOS/macOS/tvOS]
  • Static - 一个简单的静态iOS tableView.
  • Stevia - 优雅的iOS布局框架.

Auto Layout

Bored of using storyboard? Give a try to declarative auto layout libs. back to top

  • Bamboo - Auto Layout (and manual layout) in one line.
  • Cartography - Declarative auto layout lib for your project.
  • Cassowary - A linear constraint solving library using the same algorithm as AutoLayout.
  • Cupcake - An easy way to create and layout UI components for iOS.
  • DeviceLayout - AutoLayout can be set differently for each device.
  • EasyPeasy - Auto Layout made easy.
  • KVConstraintKit - An Impressive Autolayout DSL for iOS, tvOS & OSX.
  • MisterFusion - DSL for AutoLayout, supports Size Class.
  • Mortar - A concise but flexible DSL for creating Auto Layout constraints and adding subviews.
  • NorthLayout - Fast path to layout using Visual Format Language (VFL) with extended syntax.
  • PureLayout - The ultimate API for iOS & OS X Auto Layout.
  • SnapKit - Autolayout DSL for iOS & OS X.
  • Swiftstraints - Powerful auto-layout framework that lets you write constraints in one line of code.
  • TinyConstraints - TinyConstraints is the syntactic sugar that makes Auto Layout sweeter for human use.

Localization

Frameworks that helps with localizing your app back to top

  • BartyCrouch - Incrementally update/translate your Strings files from Code and Storyboards/XIBs.
  • IBLocalizable - Localize your views directly in Interface Builder with IBLocalizable.
  • L10n-swift - Localization of an application with ability to change language "on the fly" and support for plural forms in any language.
  • LocalizationKit - Realtime dynamic localization of your app with remote management so you can manage maintain and deploy translations without resubmitting app.
  • Localize - Localize apps using e.g. regular expressions in Localizable.strings.
  • Localize-Swift - Localize apps using e.g. regular expressions in Localizable.strings.
  • NoOptionalInterpolation - Get rid of "Optional(...)" and "nil" in string interpolation. Easy pluralization.
  • Swifternalization - Localize apps using e.g. regular expressions in Localizable.strings.
  • SwiftGen-L10n - A tool to auto-generate enums for all your Localizable.strings keys (with appropriate associated values if those strings contains printf-format placeholders like %@).

Location

back to top

日志

读写设备日志的实用工具 回到顶部

  • AEConsole - 可自定义UI的调试日志层,浮在iOS app的顶部.
  • CleanroomLogger - 可配置和可扩展的高级日志API,它简单、轻量级、性能好.
  • Dotzu - 一个提供给iOS开发者的调试工具,展示app使用过程的日志,网络请求,设备信息,崩溃信息.
  • Duration 🐧 - 轻量级日志库侧重于报告操作的时序。.
  • HeliumLogger 🐧 - IBM的轻量级日志框架.
  • Printer - 你下一个app的想要的日志记录器.
  • Puree - iOS的日志收集器.
  • QorumLogs - 可用于 Xcode 和谷歌文档的实用日志工具.
  • Rainbow 🐧 - 轻量的控制台输出.
  • SwiftyBeaver 🐧 - 开发和发布都可用的多平台支持日志工具.
  • TinyConsole - 一个小型控制台,显示app使用的信息.
  • TraceLog 🐧 - 超简单,作用就是输出日志,适用于 iOS macOS, Linux.
  • Watchdog - 监听主线程是否过度使用导致阻塞的日志工具.
  • WatchdogInspector - 在状态栏展示app当前运行的帧率(fps).
  • Willow - Willow 是一个强大且轻量的日志库.
  • XCGLogger - 具有日志级别、时间戳和行号的全功能和可配置日志记录实用程序.

Maps

back to top

  • Cluster - Easy Map Annotation Clustering.
  • FlyoverKit - FlyoverKit enables you to present stunning 360° flyover views on your MKMapView with zero effort while maintaining full configuration possibilities.
  • GEOSwift - Make it easier to work with geographic models and calculate intersections, overlapping, projections etc.
  • LocoKit - A location and activity recording framework for iOS.
  • MapViewPlus - Use any custom view as custom callout view for MKMapView with cool animations. Use any image as annotation view.

数学

回到顶部

Natural Language Processing

back to top

Network

A list of libs that allow you to decrease the amount of time spent dealing with http requests. back to top

  • Alamofire 🐧 - Elegant networking.
  • APIKit - Library for building type-safe web API client.
  • Ciao - Publish and discover services using mDNS (Bonjour, Zeroconf).
  • Conduit - Robust networking for web APIs.
  • Dots - Lightweight Concurrent Networking Framework.
  • Dratini - A neat network layer.
  • Heimdallr.swift - Easy to use OAuth 2 library for iOS.
  • Just 🐧 - HTTP for Humans (a python-requests style HTTP library).
  • Malibu - A networking library built on promises.
  • Moya - Network abstraction layer.
  • MultiPeer - A wrapper for the MultipeerConnectivity framework for automatic offline data transmission between devices.
  • NEKit - A toolkit for Network Extension Framework.
  • NetClient - Versatile HTTP networking library.
  • Netfox - A lightweight, one line setup, network debugging library.
  • OAuth2 - oauth2 auth lib.
  • OAuthSwift - OAuth library for iOS.
  • PeerKit - Framework for building event-driven, zero-config Multipeer Connectivity apps.
  • PerfectAPIClient - An API Client based on a network abstraction layer for the Perfect Server-Side Framework.
  • Pitaya 🐧 - HTTP / HTTPS networking library just incidentally execute on machines.
  • PMHTTP - Swift/Obj-C HTTP framework with a focus on REST and JSON.
  • Postal - Framework providing simple access to common email providers.
  • Reachability.swift - A replacement for Apple's Reachability with closures.
  • ResponseDetective - A non-intrusive framework for intercepting any outgoing requests and incoming responses between your app and server for debugging purposes.
  • ShadowsocksX-NG - A fast tunnel proxy that helps you bypass firewalls.
  • Siesta - Elegant abstraction for REST APIs that untangles stateful messes. An alternative to callback- and delegate-based networking.
  • SolarNetwork - Elegant network abstraction layer.
  • SwiftHTTP - NSURLSession wrapper.
  • SwiftyOAuth - A small OAuth library with a built-in set of providers.
  • TRON - Lightweight network abstraction layer, written on top of Alamofire.
  • Wormholy - iOS network debugging, like a wizard 🧙‍.

HTML

Need to manipulate contents from html easily? back to top

  • Fuzi - A fast & lightweight XML/HTML parser with XPath & CSS support.
  • Ji - XML/HTML parser.
  • Kanna - Another XML/HTML parser.
  • SwiftSoup 🐧 - HTML Parser, with best of DOM, CSS, and jquery.
  • WKZombie - Headless browser.

Messaging Protocol

back to top

Socket

back to top

  • BlueSocket 🐧 - IBM's low level socket framework.
  • DNWebSocket - Object-Oriented, Autobahn tested WebSocket Library (RFC 6455) for Swift-compatible Platforms.
  • RxWebSocket - Reactive WebSockets.
  • Socket.IO 🐧 - Socket.IO client for iOS/OS X.
  • sockets 🐧 - TCP, UDP; Client, Server; Linux, OS X.
  • Starscream - Websockets for iOS and OSX.
  • SwiftDSSocket - Asynchronous socket framework built atop DispatchSource.
  • SwiftSocket - Simple TCP socket library.
  • SwiftWebSocket - A high performance WebSocket client library .

Webserver

Would you like host a webserver in your device? Here you can find how to do it. back to top

  • Ambassador - Super lightweight web framework based on SWSGI.
  • Curassow 🐧 - HTTP server using the pre-fork worker model.
  • Embassy 🐧 - Super lightweight async HTTP server library.
  • Kitura 🐧 - IBM's web framework and server for web services.
  • Lightning 🐧 - Multiplatform Single-threaded Non-blocking Web and Networking Framework.
  • Noze.io 🐧 - Evented I/O streams like Node.js.
  • Perfect 🐧 - Server-side Swift. The Perfect library, application server, connectors and example apps.
  • swifter 🐧 - Http server with routing handler.
  • Vapor 🐧 - Elegant web framework that works on iOS, OS X, and Ubuntu.
  • Zewo 🐧 - Server-Side Swift.

OCR

back to top

  • SwiftOCR - Neural Network based OCR lib.

Optimization

back to top

PDF

back to top

  • PDFGenerator - A simple Generator of PDF. Generate PDF from view(s) or image(s).
  • SimplePDF - Create a simple PDF effortlessly.
  • UXMPDFKit - A PDF viewer and annotator that can be embedded in iOS applications.

Quality

back to top

  • IBLinter - A linter tool for Interface Builder.
  • SwiftLint - A tool to enforce coding conventions.
  • Swimat - Xcode plugin to format code.
  • Tailor 🐧 - Cross-platform static analyzer that helps you to write cleaner code and avoid bugs.

Scripting

back to top

  • Marathon - Easy way to create and manage scripts.
  • Swift for Scripting - A hand-curated collection of useful and informative scripting material.

SDK

back to top

Security

back to top

Cryptography

Deal with cryptography method easily back to top

  • CryptoSwift 🐧 - Crypto related functions and helpers.
  • IDZSwiftCommonCrypto - A wrapper for Apple's Common Crypto library.
  • JOSESwift - A framework for the JOSE standards JWS, JWE, and JWK.
  • RNCryptor - CCCryptor (Apple's AES encryption) wrappers for iOS and Mac.
  • SCrypto - Elegant Swift interface to access the CommonCrypto routines.
  • Siphash - Simple and secure hashing with the SipHash algorithm.
  • Swift-Sodium - Interface to the Sodium library for common crypto operations for iOS and OS X.
  • Themis - Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on.

Keychain

back to top

  • keychain-swift - Helper functions for saving text in Keychain securely for iOS, OS X, tvOS and watchOS.
  • KeychainAccess - Simple wrapper for Keychain that works on iOS and OS X.
  • Latch - A simple Keychain Wrapper for iOS.
  • Locksmith - A powerful, protocol-oriented library for working with the iOS Keychain.
  • SwiftKeychainWrapper - Simple static wrapper for the iOS Keychain to allow you to use it in a similar fashion to user defaults.

Streaming

back to top

  • Live - Demonstrate how to build a live broadcast app.

样式

回到顶部

  • Ambience - 无需编码的亮度感知主题切换.
  • Stylist - 在可热加载的外部yaml或json文件来定义UI样式.
  • SwiftTheme - iOS8+ 上的强大的主题和皮肤管理.
  • Themes - 主题管理.

System

back to top

Testing

A collection of testing frameworks. back to top

  • DVR - A simple network testing framework.
  • Erik - An headless browser to access and manipulate webpages using javascript allowing to run functional tests.
  • Fakery - Fake data generator.
  • Nimble - A matcher framework.
  • OHHTTPStubs - A testing library designed to stub your network requests easily.
  • PinpointKit - Lets your testers and users send feedback with annotated screenshots and logs using a simple gesture.
  • Quick 🐧 - Quick is a behavior-driven development framework.
  • Sizes - Test your app on different device and font sizes
  • Spectre 🐧 - BDD Framework.
  • SwiftCheck - A testing library that automatically generates random data for testing program properties.
  • UI Testing Cheat Sheet - Answers to common "How do I test this with UI Testing?" questions with a working example app.

Mock

回到顶部

  • Cuckoo - 第一个免费的mocking框架.
  • Kakapo - 动态Mock服务器行为和响应.
  • Mockingjay - 一个优雅的库,用于破解HTTP请求。.
  • Mockit - 一个简单的mocking框架,灵感来自著名的 Java 框架 McCito.

Text

A collection of text projects. back to top

  • Atributika - Easily build NSAttributedString by detecting and styling HTML-like tags, hashtags, mentions, RegExp or NSDataDetector patterns.
  • Attributed - Modern µframework for attributed strings.
  • AttributedTextView - Easiest way to create an attributed UITextView with support for multiple links, hashtags and mentions.
  • BonMot - Beautiful, easy attributed strings for iOS.
  • Croc - A lightweight Emoji parsing and querying library.
  • edhita - Fully open source text editor for iOS.
  • Format - Formatting kit for numbers, addresses and colors.
  • MarkdownKit - A simple and customizable Markdown Parser.
  • MarkdownView - iOS Markdown view.
  • MarkyMark - Converts Markdown into native views or attributed strings.
  • Notepad - A fully themeable markdown editor with live syntax highlighting.
  • Parsey - Parser combinator framework that supports source location tracking, backtracking prevention, and rich error messages.
  • Pluralize.swift - Great String Pluralize Extension.
  • PredicateFlow - PredicateFlow is a builder that allows you to write amazing, strong-typed and easy-to-read NSPredicate.
  • PrediKit - An NSPredicate DSL for iOS & OS X inspired by SnapKit.
  • PySwiftyRegex - Easily deal with Regex in a Pythonic way.
  • Regex by crossroadlabs 🐧 - Very easy to use Regular Expressions library with rich functionality. Features both operator =~ and method based APIs. Unit tests covered.
  • RichEditorView - RichEditorView is a simple, modular, drop-in UIView subclass for Rich Text Editing.
  • Roman 🐧 - Seamless Roman numeral conversion.
  • Sprinter - A library for formatting strings.
  • SwiftRichString - Elegant & Painless Attributed Strings Management Library.
  • SwiftVerbalExpressions - VerbalExpressions porting.
  • SwiftyAttributes - Extensions that make it a breeze to work with attributed strings.
  • SyntaxKit - TextMate-style syntax highlighting.
  • TextAttributes - An easier way to compose attributed strings.

线程

线程、基于任务的或异步编程、大中央调度(GCD)封装 回到顶部

  • Async - 大中央调度(GCD)语法糖.
  • AwaitKit - ES7 异步/等待 控制流.
  • Chronos - 大中央调度(GCD)工具.
  • Each - Each 是 NSTimer 桥接库.
  • EKI - 使大中央调度(GCD)易于使用(队列、任务、组、定时器和信号量).
  • GCDTimer - 一个经过很好测试的 GCD 定时器.
  • Schedule 🐧 - 一个你缺少的轻量级任务高度器, 拥有人性化的语法.
  • SwiftyTimer - 提供 NSTimer 的接口.

UI

A collection of pre-packaged transitions & cool ui stuffs. back to top

  • AECoreDataUI - Core Data driven UI.
  • AGCircularPicker - Helpful component for creating a controller aimed to manage any calculated parameter.
  • AMScrollingNavbar - Scrollable UINavigationBar that follows the scrolling of a UIScrollView.
  • BreakOutToRefresh - A playable pull to refresh view using SpriteKit.
  • BulletinBoard - Generates and manages contextual cards displayed at the bottom of the screen.
  • ClassicKit - A collection of classic-style UI components.
  • CostumeKit - Base types for theming an app.
  • CountryPickerView - A simple, customizable view for efficiently collecting country information in iOS apps.
  • CustomSegue - Custom segue for OSX Storyboards with slide and cross fade effects.
  • DeckTransition - A library to recreate the iOS 10 Apple Music now playing transition.
  • Dodo - A message bar for iOS.
  • DropDown - A Material Design drop down for iOS.
  • Element - Programmatic UI framework for macOS.
  • Elissa - Displays a notification on top of a UITabBarItem or any UIView anchor view to reveal additional information.
  • EstMusicIndicator - Music play indicator like iTunes.
  • Family - A child view controller framework that makes setting up your parent controllers as easy as pie.
  • FAQView - An easy to use FAQ view for iOS.
  • Fashion - Fashion accessories and beauty tools to share and reuse UI styles.
  • FlagKit - Beautiful flag icons for usage in apps and on the web.
  • FloatRatingView - Floating rating system.
  • Fluid Slider - A slider widget with a popup bubble displaying the precise value selected.
  • GaugeKit - Customizable gauges. Easy reproduce Apple's style gauges.
  • Geometry - extensions for UIView.
  • GMStepper - A stepper with a sliding label in the middle.
  • GradientProgressBar - A customizable gradient progress bar (UIProgressView).
  • GRMustache - Flexible Mustache templates.
  • GrowingTextView - UITextView that supports auto growing, placeholder and length limit.
  • Hexacon - A new way to display content in your app like the Apple Watch SpringBoard.
  • HGCircularSlider - A custom reusable circular slider control for iOS application.
  • HorizontalDial - A horizontal scroll dial like Instagram.
  • IGColorPicker - A customizable color picker for iOS.
  • ImagePicker - A nicely designed and super easy to use ImagePicker.
  • InfoView - Simple information view with pointed arrow.
  • InstantSearch iOS - A library of widgets and helpers to build instant-search features on iOS.
  • KALoader - Beautiful animated placeholders for showing loading of data.
  • KDInteractiveNavigationController - A UINavigationController subclass that support pop interactive UINavigationBar with hidden or show.
  • 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.
  • KMPlaceholderTextView - A UITextView subclass that adds support for multiline placeholder.
  • LeeGo - Declarative, configurable & highly reusable UI development as making Lego bricks.
  • LicensePlist - A command-line tool that automatically generates a Plist of all your dependencies.
  • LiquidLoader - Spinner loader components with liquid animation.
  • Macaw - Powerful and easy-to-use vector graphics library with SVG support.
  • Magnetic - SpriteKit Floating Bubble Picker (inspired by Apple Music).
  • Mandoline - An iOS picker view to serve all your 'picking' needs.
  • MantleModal - A simple modal resource that uses a UIScrollView to allow the user to close the modal by dragging it down.
  • Material - Express your creativity with Material, an animation and graphics framework for Google's Material Design and Apple's Flat UI.
  • MaterialKit - Material design components.
  • MediaBrowser - Simple iOS photo and video browser with optional grid view, captions and selections.
  • MediumScrollFullScreen - Medium scroll style menubar.
  • MPParallaxView - Apple TV Parallax effect.
  • MXParallaxHeader - Simple parallax header for UIScrollView.
  • MZFormSheetPresentationController - Provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup controller size and feel form sheet.
  • NextGrowingTextView - The next in the generations of 'growing textviews' optimized for iOS 7 and above.
  • NVActivityIndicatorView - Collection of nice loading animations.
  • PanelKit - A UI framework that enables panels on iOS.
  • PPAssetsActionController - Highly customizable Action Sheet Controller with assets preview.
  • PullToDismiss - You can dismiss modal viewcontroller by pulling scrollview or navigationbar.
  • RangeSeekSlider - A customizable range slider like a UISlider for iOS.
  • Reel search - Option list managed as a reel.
  • RetroProgress - Retro looking progress bar straight from the 90s.
  • SAHistoryNavigationViewController - iOS task manager like UI in UINavigationContoller.
  • SectionedSlider - Control Center Slider.
  • SelectionDialog - Simple selection dialog.
  • ShadowView - Make shadows management easy on UIView.
  • Shiny - Iridescent Effect View (inspired by Apple Pay Cash).
  • SkeletonView - An elegant way to show users that something is happening and also prepare them to which contents he is waiting.
  • SKPhotoBrowser - Simple PhotoBrowser/Viewer inspired by facebook, twitter photo browsers.
  • Spots - Spots is a view controller framework that makes your setup and future development blazingly fast.
  • SpreadsheetView - Full configurable spreadsheet view user interfaces for iOS applications.
  • StarryStars - Display & edit ratings, fully customizable from interface builder.
  • StatefulViewController - Placeholder views based on content, loading, error or empty states.
  • StepProgressView - Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView.
  • SwiftyUI - High performance and lightweight UIView, UIImage, UIImageView, UIlabel, UIButton and more.
  • SYBlinkAnimationKit - A blink effect animation framework.
  • TagListView - Simple but highly customizable iOS tag list view.
  • Toaster - Notification toasts.
  • TouchVisualizer - Lightweight touch visualization library with a single line of code.
  • Twinkle - Easy way to make elements in your iOS app twinkle.
  • UIPheonix - Easy, flexible, dynamic and highly scalable UI framework + concept for reusable component/control-driven apps.
  • URLEmbeddedView - Automatically caches the object that is confirmed the Open Graph Protocol, and displays it as URL embedded card.
  • Wallet - A replica of the Apple's Wallet interface. Add, delete or present your cards and passes.
  • Windless - Windless makes it easy to implement invisible layout loading view.
  • WSTagsField - An iOS text field that represents different Tags.
  • YNSearch - Awesome fully customizable search view like Pinterest.

Alert

Libs to display alert, action sheet, notification, popup. back to top

  • Alertift - Modern, easy UIAlertController wrapper.
  • Alerts Pickers - Advanced usage of UIAlertController with TextField, DatePicker, PickerView, TableView and CollectionView.
  • CDAlertView - Highly customizable alert/notification/success/error/alarm popup.
  • CFNotify - A customizable framework to create draggable alert views.
  • EZAlertController - Easy UIAlertController.
  • GSMessage - A simple style messages/notifications for iOS 7+.
  • Hokusai - A library for a cool bouncy action sheet.
  • Jelly - Jelly provides custom view controller transitions with just a few lines of code.
  • Kamagari - Simple UIAlertController builder class.
  • KRAlertController - A beautiful alert controller for your iOS.
  • NotificationBanner - The easiest way to display highly customizable in app notification banners in iOS.
  • PMAlertController - PMAlertController is a great and customizable substitute to UIAlertController.
  • PopupDialog - A simple, customizable popup dialog. Replaces UIAlertController alert style.
  • SCLAlertView - Animated Alert view.
  • Sheet - Actionsheet with navigation features such as the Flipboard App.
  • StatusAlert - Display Apple system-like self-hiding status alerts without interrupting user flow.
  • SweetAlert - Alert system.
  • Swift-Prompts - Design custom prompts with a great scope of options to choose from.
  • SwiftEntryKit - A simple and versatile pop-up presenter.
  • SwiftMessages - A very flexible message bar for iOS.
  • SwiftOverlays - various popups and notifications.
  • SwiftyDrop - Lightweight dropdown message bar.
  • Whisper - Messages and in-app notification made easy.
  • XLActionController - Fully customizable and extensible action sheet controller.
  • Zingle - An alert will display underneath your UINavigationBar.

ApplicationDelegate

back to top

  • SuperDelegate - SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle.

Blur

back to top

Button

back to top

  • DOFavoriteButton - Cute Animated Button.
  • ExpandableButton - Customizable and easy to use expandable button.
  • Floaty - Floating Action Button for iOS.
  • LGButton - A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code.
  • LTHRadioButton - A radio button with a pretty animation.
  • MultiToggleButton - A UIButton subclass that implements tap-to-toggle button text (like the camera flash and timer buttons).
  • NFDownloadButton - Revamped Download Button. It's kinda a reverse engineering of Netflix's app download button.
  • PMSuperButton - A powerful UIButton with super powers, customizable from Storyboard.
  • SwiftShareBubbles - Animated social share buttons control for iOS.
  • TransitionButton - UIButton subclass for loading and transition animation.

Calendar

back to top

  • CalendarKit - Fully customizable calendar day view.
  • DateTimePicker - A nicer iOS UI component for picking date and time.
  • JTAppleCalendar - UI calendar handler.
  • Karmadust - Unidirectional Calendar Component with Native Events Support.
  • Koyomi - Simple customizable calendar component.
  • Workaholic - A GitHub-like work contribution timeline.

Cards

back to top

  • CardParts - A reactive, card-based UI framework built on UIKit for iOS developers.
  • VerticalCardSwiper - A marriage between the Shazam Discover UI and Tinder, built with UICollectionView.

表单

回到顶部

  • Eureka - 优雅的iOS表单构建者.
  • Former - 一个可以完全自定义的 UITableView基础表单构建库.
  • SwiftForms - 现在你构建表单就像写1-2-3一样简单.
  • SwiftyFORM - 可以验证数据的表单.

HUD

回到顶部

Label

回到顶部

  • ActiveLabel - UILabel的替代,可识别和响应点击, 支持#,@符号和URLs.
  • AnimatedMaskLabel - 漂亮的带有渐变动画的label遮罩,可以方便地给任何view添加闪烁效果.
  • CountdownLabel - 简单地倒计时UILabel,带有转变动画,和一些有用的方法.
  • FloatLabelFields - 文本输入控制组件内建有标题,所以你不必为第一个输入框单独添加标题.
  • GlitchLabel - 带有干扰效果的iOS UILabel.
  • IncrementableLabel - UILabel的子类,可增/减数值.
  • KDEDateLabel - 一个UILabel子类, 自动更新,可以简单地显示已经过去了多少时间.
  • LTMorphingLabel - UILabel优美的变形效果.
  • NumberMorphView - 用于显示数字的label,该数字可以使用称为数字吐温或数字变形的技术转换或动画化.
  • SMIconLabel - 让UILabel 在左边或右边添加图片.
  • Translucid - 轻量级库将图像设置为文本背景.
  • TriLabelView - 一个为iOS写的三角形的角落标签视图A.

Menu

back to top

Pagination

back to top

  • CHIPageControl - A set of cool animated page controls to replace boring UIPageControl.
  • FlexiblePageControl - A flexible UIPageControl like Instagram.
  • Pageboy - A simple, highly informative page view controller.
  • PageController - Infinite paging controller.
  • SlideController - It is a nice alternative for UIPageViewController built using power of generic types. Swipe between pages with an interactive title navigation control. Configure horizontal or vertical chains for unlimited pages amount.

Payment

back to top

  • Caishen - A Payment Card UI & Validator for iOS.
  • iCard - Bank Card Generator using SnapKit DSL.
  • MFCard - Easily integrate Credit Card payments in iOS App.

Permissions

back to top

  • AREK - AREK is a clean and easy to use wrapper over any kind of iOS permission.
  • Permission - A unified API to ask for permissions on iOS.
  • PermissionScope - A Periscope-inspired way to ask for iOS permissions.

StackView

back to top

开关

回到顶部

  • MJMaterialSwitch - 一个 iOS 可定制的开关控件,灵感来自谷歌的材料设计.
  • Switch - 一个开关控件,支持在视图构建界面使用.

Tab

back to top

  • Adaptive Tab Bar - Adaptive tab bar.
  • Animated Tab Bar - RAMAnimatedTabBarController is a Swift module for adding animation to tab bar items.
  • ColorMatchTabs - Interesting way to display tabs.
  • DTPagerController - Container view controller to display a set of ViewControllers in a horizontal scroll view.
  • ESTabBarController - A highly customizable TabBarController component, which is inherited from UITabBarController.
  • HHTabBarView - A lightweight customized tab bar view.
  • Tabman - A powerful paging view controller with indicator bar.
  • TabPageViewController - Paging view controller and scroll tab view.

Template

back to top

TextField

back to top

  • CBPinEntryView - Easy to use, very customisable pin entry.
  • DTTextField - DTTextField is a custom textfield with floating placeholder and error label.
  • HTYTextField - A UITextField with bouncy placeholder.
  • PasswordTextField - A custom TextField with a switchable icon which shows or hides the password and enforces good password policies.
  • SkyFloatingLabelTextField - A beautiful and flexible text field control implementation of "Float Label Pattern".
  • StyledTextKit - Declarative building and fast rendering attributed string library.
  • TextFieldCounter - UITextField character counter with lovable UX.
  • TextFieldEffects - Several ready to use effects for UITextFields.
  • UITextField-Navigation - UITextField-Navigation adds next, previous and done buttons to the keyboard for your UITextFields. Highly customizable.

Transition

back to top

  • BubbleTransition - Bubble transition in an easy way.
  • Cards XI - Awesome iOS 11 AppStore's Card Views.
  • EasyTransitions - A simple way to create custom interactive UIViewController transitions.
  • Hero - Elegant transition library for iOS.
  • MusicPlayerTransition - Custom interactive transition like Apple Music iOS App.
  • PinterestSwift - Pinterest style transition.
  • RevealingSplashView - A Splash view that animates and reveals its content, inspired by the Twitter splash.
  • StarWars.iOS - Transition animation to crumble view-controller into tiny pieces.
  • Transition - Easy interactive interruptible custom ViewController transitions.

集合视图(UICollectionView)

回到顶部

  • AZCollectionViewController - 简单地在集合视图中集成分页和格式视图,使Instagram 探索在几分钟内完成.
  • Blueprints - 用于在使用集合视图流布局时简化您的工作的框架.
  • BouncyLayout - 集合视图布局使你的cell具体弹性.
  • CardsLayout - 漂亮的可自定义的卡片集合视图.
  • CenteredCollectionView - 一个轻量级的集合视图布局,让cell在中间展示并且分页.
  • CollectionViewShelfLayout - 一个集合视图布局子类,以行的方式展示其元素, 就像App Store类似, 不需要列表视图和w集合视图的嵌套.
  • CollectionViewSlantedLayout - 集合视图布局展示倾斜的内容.
  • Drag and Drop UICollectionView - 在多个集合图片中拖拽数据.
  • FSPagerView - 优雅的屏幕轮播库。它对制作横幅视图、产品展示、欢迎/指南页、屏幕/视图控制器幻灯片非常有帮助.
  • GravitySlider - 漂亮的可替代标准集合视图流布局的库.
  • RAReorderableLayout - 一个可以拖拽来移动元素的视图集合布局.
  • ShelfView-iOS - iOS上的可自定义你书架上的书籍展示布局.
  • SimpleSource - 易用且类型安全的列表和集合视图.
  • SwiftSpreadsheet - 可完全自定义的电子表格集合视图布局.
  • TagCellLayout - 具有左、中、右对齐的标签的集合视图布局.
  • VegaScroll - 完全用Swift编写的轻量级动画流程布局.

UITableView

back to top

  • AZTableViewController - Elegant and easy way to integrate pagination with placeholder views.
  • DTTableViewManager - Protocol-oriented UITableView management, powered by generics and associated types.
  • ExpandableCell - Fully refactored YNExapnadableCell with more concise, bug free. Easiest usage of expandable & collapsible cell for iOS. You can customize expandable UITableViewCell whatever you like. ExpandableCell is made because insertRows and deleteRows is hard to use. Just inheirt ExpandableDelegate.
  • ExpyTableView - Make your table view expandable just by implementing one method.
  • folding-cell - Folding cell transition.
  • GridView - Can be customized as a time table, spreadsheet, paging and more.
  • HGPlaceholders - Nice library to show placeholders and Empty States for any UITableView/UICollectionView in your project.
  • OKTableViewLiaison - Framework to help you better manage UITableViews
  • ParallaxHeader - Simple way to add parallax header to UIScrollView/UITableView.
  • Persei - Animated top menu for UITableView / UICollectionView / UIScrollView.
  • PullToRefreshSwift - PullToRefresh library.
  • QuickTableViewController - A simple way to create a UITableView for settings.
  • ReverseExtension - UITableView extension that enables the insertion of cells the from bottom of a table view.
  • SectionScrubber - A component to quickly scroll between collection view sections.
  • Shoyu - Easier way to represent the structure of UITableView.
  • SwiftyComments - Nested hierarchy of expandable/collapsible cells to easily build elegant discussion threads.
  • SwipeCellKit - Swipeable UITableViewCell based on the stock Mail.app.
  • YNExpandableCell - Awesome expandable, collapsible tableview cell for iOS.

Walkthrough

back to top

  • AwesomeSpotlightView - Create tutorial or coach tour.
  • BWWalkthrough - A class to build custom walkthroughs for your iOS App.
  • Gecco - Spotlight view for iOS.
  • Instructions - A library to create app walkthroughs and guided tours.
  • SwiftyOnboard - An iOS framework that allows developers to create beautiful onboarding experiences.
  • SwiftyWalkthrough - The easiest way to create a great walkthrough experience in your apps.

Utility

Some interesting utilities to help you in your projects back to top

  • AlexaSkillsKit - Develop custom Alexa Skills.
  • Basis - Pure Declarative Programming.
  • Butterfly - A lightweight library for integrating bug-report and feedback features with shake-motion event.
  • CallbackURLKit - Implementation of x-callback-url (Inter app communication).
  • Closures - Swifty closures for UIKit and Foundation.
  • Curry - Function currying.
  • DeepDiff - Fast diff library.
  • Delegated - Closure-based delegation without memory leaks.
  • DifferenceKit - 💻 A fast and flexible O(n) difference algorithm framework for Swift collection.
  • Differific - A fast and convenient diffing framework.
  • Dollar - Similar to Lo-Dash or Underscore in Javascript.
  • EtherWalletKit - Ethereum Wallet Toolkit for iOS - You can implement Ethereum wallet without a server and blockchain knowledge.
  • EZSwiftExtensions - How standard types and classes were supposed to work.
  • FluentQuery 🐧 - Powerful and easy to use Swift Query Builder.
  • FluxCapacitor - FluxCapacitor makes implementing Flux design pattern easily with protocols and typealias.
  • Focus - Optics library (includes Lens, Prisms, and Isos) that is inspired by Haskell's Lens library.
  • Highlighter - Highlight whatever you want! Highlighter will magically find UI objects such as UILabel, UITextView, UITexTfield, UIButton in your UITableViewCell or other Class.
  • LifetimeTracker - Surface retain cycle / memory issues right as you develop your application.
  • Lumos - An easy-to-use API for Objective-C runtime functions.
  • ObjectiveKit - API for Objective C runtime functions.
  • OpenSourceController - The simplest way to display the librarie's licences used in your application.
  • Popsicle - Delightful, extensible value interpolation framework.
  • protobuf-swift - ProtocolBuffers.
  • Prototope - Library of lightweight interfaces for prototyping, bridged to JS.
  • R.swift - Tool to get strong typed, autocompleted resources like images, cells and segues.
  • RandomKit 🐧 - Random data generation.
  • ReadabilityKit - Preview extractor for news, articles and full-texts.
  • ResourceKit - Enable autocomplete use resources.
  • Result - Type modelling the success/failure of arbitrary operations.
  • Runes - Functional operators: flatMap, map, apply.
  • Solar - Calculate sunrise and sunset times given a location.
  • SpriteKit+Spring - SpriteKit API reproducing UIView's spring animations with SKAction.
  • Sugar - Something sweet that goes great with your Cocoa.
  • swift-protobuf 🐧 - A plugin and runtime library for using Google's Protocol Buffer.
  • SwifterSwift - A handy collection of more than 500 native Swift extensions to boost your productivity.
  • SwiftGen-Storyboard - A tool to auto-generate enums for all your Storyboards, Scenes and Segues constants + appropriate convenience accessors.
  • SwiftLinkPreview - It makes a preview from an url, grabbing all information such as title, relevant texts and images.
  • SwiftRandom - A tiny generator of random data.
  • SwiftRater - A utility that reminds your iPhone app's users to review the app.
  • SwiftTweaks - Tweak your iOS app without recompiling.
  • Swiftx - Functional data types and functions for any project.
  • SwiftyUtils - All the reusable code that we need in each project.
  • Swiftz - Functional programming.
  • Then - Super sweet syntactic sugar for initializers.
  • TSAO - Type-Safe Associated Objects in Swift.
  • URLQueryItemEncoder - An Encoder for encoding any Encodable value into an array of URLQueryItem.
  • UTIKit - an UTI (Uniform Type Identifier) wrapper.
  • Vaccine - Make your apps immune to recompile-decease.
  • WhatsNew - Showcase new features after an app update similar to Pages, Numbers and Keynote.
  • WhatsNewKit - Showcase your awesome new app features.
  • XestiMonitors - An extensible monitoring framework.

Validation

A collection of validation libs. back to top

  • FormValidatorSwift - Allows you to validate inputs of text fields and text views in a convenient way.
  • Input Mask - Pattern-based user input formatter, parser and validator for iOS.
  • RxValidator - Simple, Extensible, Flexible Validation Checker.
  • SwiftValidator - A rule-based validation library.
  • SwiftValidators - String validation for iOS (inspired by validator.js).
  • Validator - Drop in user input validation for your iOS apps.

手机数字

回到顶部

  • PhoneNumberKit - 一个解析,格式化和验证国际手机号码的框架,灵感来自谷歌的libphonenumber.

版本控制

回到顶部

视频

回到顶部

  • BMPlayer - 一个基于AVPlayer的iOS视频播放器,支持横竖屏播放,支持声音和亮度调整,支持拖动调整进度.
  • Cabbage - 一个基于 AVFoundation的视频合成框架.
  • MMPlayerView - 可以视图和转场上自定义的AVPlayer 层,效果像在Youtube 和 Facebook一样好.
  • MobilePlayer - 在 iOS 上的强大的可完全自定义的媒体播放器.
  • NextLevelSessionExporter - 导出和转码媒体.
  • Player - iOS播放器,可简单地做为组件拖拽,可播放流媒体.
  • PlayerView - 像会用UIView一样使用视频播放器,可管理播放速度,可截图,通过代码回调播放状态.
  • PryntTrimmerView - 剪切视频.
  • SwiftVideoBackground - 使用一个UIView子类去实现一个视频背景.
  • VGPlayer - 一个简单的视频播放器,支持播放本地和网络视频,支持后台播放模式,播放时自动缓存.

Contributing

请首先快速游览一下 contribution guidelines. 如果你在这里看到某个包或项目已经不在维护或者已经不合适了.请提交Pull请求来优化这个列表,感谢你们. contributors; you rock!!

Releases

No releases published

Packages

No packages published

Languages

  • Swift 82.2%
  • Ruby 12.4%
  • JavaScript 4.0%
  • Shell 1.4%