An open API service indexing awesome lists of open source software.

Awesome-iOS

A curated list of most common & awesome iOS frameworks, libraries, tools, components and much more.
https://github.com/ElfSundae/Awesome-iOS

Last synced: 9 days ago
JSON representation

App

Database, ORM, Cache

  • MJExtension - A fast, convenient and nonintrusive conversion framework between JSON and model.
  • PINCache - Fast, non-deadlocking parallel object cache for iOS, tvOS and OS X
  • MMKV - An efficient, small mobile key-value storage framework developed by WeChat.
  • SPTPersistentCache - Everyone tries to implement a cache at some point in their iOS app’s lifecycle, and this is ours.
  • WCDB - WCDB is a cross-platform database framework developed by WeChat.
  • FMDB - A Cocoa / Objective-C wrapper around SQLite.
  • SAMKeychain - Simple Objective-C wrapper for the keychain that works on Mac and iOS.
  • UICKeyChainStore - UICKeyChainStore is a simple wrapper for Keychain on iOS, watchOS, tvOS and macOS. Makes using Keychain APIs as easy as NSUserDefaults.
  • JQFMDB - FMDB的封装,操作简单,线程安全,扩展性强,直接操作model或dictionary
  • CTPersistance - iOS Database Persistence Layer with SQLite
  • LKDBHelper - 全自动的插入,查询,更新,删除, an automatic database operation thread-safe and not afraid of recursive deadlock
  • SQLitePersistentObjects - Persistent Objects for Cocoa & Cocoa Touch that using SQLite.

Data/File Archive & Unarchive

  • SSZipArchive - ZipArchive is a simple utility class for zipping and unzipping files on iOS, macOS and tvOS.
  • FastCoding - A faster and more flexible binary file format replacement for NSCoding, Property Lists and JSON
  • GZIP - A simple NSData category for gzipping/unzipping data in iOS and Mac OS.
  • LzmaSDKObjC - Lzma SDK for Swift and Objective-C ( iOS & MacOS ) based on extended functionality of the C++ LZMA SDK code.
  • UnrarKit - Easily read RAR archives on Mac and iOS
  • SARUnArchiveANY - A very useful library for Unarchiving the .zip, .rar, .7z files for iOS.
  • CocoaSecurity - Encrypt/Decrypt: AES. Hash: MD5, SHA(SHA1, SHA224, SHA256, SHA384, SHA512). Encode/Decode: Base64, Hex.

Foundation

  • Nimbus - Nimbus is an iOS framework whose feature set grows only as fast as its documentation.
  • CocoaLumberjack - A fast & simple, yet powerful & flexible logging framework.
  • LxDBAnything - Automate box any value! Print log without any format control symbol!
  • libextobjc - A Cocoa library to extend the Objective-C programming language.
  • PromiseKit - Promises for Swift & ObjC.
  • ISHPermissionKit - A polite and unified way of asking for permission on iOS.
  • LocationManager - Easily get the device's current location on iOS.
  • MGJRouter - 一个高效/灵活的 iOS URL Router
  • ZIKRouter - Interface-oriented router for discovering modules, and injecting dependencies with protocol in Objective-C and Swift.
  • JLRoutes - URL routing library for iOS with a simple block-based API
  • DeepLinkKit - A splendid route-matching, block-based way to handle your deep links.
  • MMWormhole - Message passing between iOS apps and extensions.
  • XExtensionItem - Easier sharing of structured data between iOS applications and share extensions
  • libPhoneNumber-iOS - iOS port from libphonenumber (Google's phone number handling library)
  • ESFramework - ESFramework is an efficient, lightweight foundational framework for iOS, macOS, watchOS, and tvOS.
  • YYKit - A collection of iOS components.
  • ProtocolKit - Protocol extension for Objective-C
  • NullSafe - NullSafe is a simple category on NSNull that returns nil for unrecognised messages instead of throwing an exception
  • fishhook - A library that enables dynamically rebinding symbols in Mach-O binaries running on iOS.
  • KKJSBridge - 一站式解决 WKWebView 支持离线包,Ajax 请求,表单请求和 Cookie 同步的问题 (基于 Ajax Hook 和 Cookie Hook)
  • WebViewJavascriptBridge - An iOS/OSX bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews.
  • TDTouchID - TDTouchID是一个封装好的指纹验证库,可以用来做iOSAPP的登录/支付等验证。
  • QTEventBus - iOS事件总线,支持AppDelegate解耦,支持基于响应链的局部总线
  • BeeHive - 🐝 BeeHive is a solution for iOS Application module programs, it absorbed the Spring Framework API service concept to avoid coupling between modules.
  • YBTaskScheduler - iOS task scheduler, reduce the burden of CPU and memory. / iOS 任务调度器,为 CPU 和内存减负(用于性能优化)
  • coobjc - coobjc provides coroutine support for Objective-C and Swift.
  • BMChineseSort - 列表中文分组排序工具,支持字符串数组&模型数组 (支持swift)
  • getClientInfo - iOS中获取各种设备信息ID的方法总结(iPhone 11 已更新)
  • MotionOrientation - An observer to notify the orientation of iOS device changed, using CoreMotion for taking the orientation in 'Orientation Lock'.

Media

  • SwiftyCam - A simple, Snapchat-style iOS Camera framework for easy photo and video capture.
  • KSYDiversityLive_iOS - 金山云SDK多样化接入方式,提供直播全链路数据开放,支持第三方连麦、录屏、美颜、贴纸、摄像头等多媒体处理方案提供商接入,共建移动直播大生态。
  • StreamingKit - A fast and extensible gapless AudioPlayer/AudioStreamer for OSX and iOS (iPhone, iPad)
  • LFLiveKit - LaiFeng IOS Live Kit,H264 and AAC Hard coding,support GPUImage Beauty, rtmp transmission,weak network lost frame,Dynamic switching rate
  • HTTPLiveStreaming - iOS / Mac OSX H.264 / AAC Hardware Encoding and Streaming over RTP / RTSP using Video Tool Box
  • GStreamer - a flexible, fast and multiplatform multimedia framework.
  • ZFPlayer - Support customization of any player SDK and control layer(支持定制任何播放器SDK和控制层)
  • PBJVision - iOS Media Capture – features touch-to-record video, slow motion, and photography
  • SCRecorder - iOS camera engine with Vine-like tap to record, animatable filters, slow motion, segments editing
  • GoPlay - GoPlay is a media player framework for iOS. Based on FFmpeg and OpenGL ES 2.0. support all formats and custom your own filters by GLSL.
  • novocaine - An analgesic for high-performance audio on iOS and OSX.
  • mobile-ffmpeg - FFmpeg for Android, iOS and tvOS
  • AudioKit - Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS
  • TheAmazingAudioEngine - Core Audio, Cordially: A sophisticated framework for iOS audio applications, built so you don't have to.
  • SRGMediaPlayer - The SRG Media Player library provides a simple way to add universal audio / video playback support to any application.
  • SGPlayer - A powerful media play framework for iOS, macOS, and tvOS.
  • KSYLive_iOS - 金山云直播SDK [ iOS推流+播放 ]融合版 支持美颜滤镜(Beauty Filter)、美声(Beauty Voice)、软硬编(Software/Hardware Encoder) 、网络自适应(Network Auto Adapt)、混音(Audio Mixer)、混响(Reverb)、画中画(PIP)
  • KSYMediaPlayer_iOS - 金山云iOS播放SDK(KSYUN Live Streaming player SDK),支持RTMP HTTP-FLV HLS 协议(supporting RTMP HTTP-FLV HLS protocol),直播延时2-3秒(Living delay 2 or 3 seconds)
  • AppRTC - iOS implementation of the Google WebRTC Demo.
  • SRS - SRS is a RTMP/HLS/WebRTC/SRT/GB28181 streaming cluster, high efficiency, stable and simple.
  • DOUAudioStreamer - A Core Audio based streaming audio player for iOS and macOS
  • FreeStreamer - A low-memory footprint streaming audio player for iOS and OS X
  • AWLive - 最简单的iOS 推流代码,视频捕获,软编码(faac,x264),硬编码(aac,h264),横屏直播,美颜,flv编码,rtmp协议
  • LiveVideoCoreSDK - iOS 的手机视频直播,基于开源videocore进行了改进
  • LFRtmp - 一个全开源的纯OC实现的RTMP推流SDK支持AAC、H264、美颜滤镜、AMF编解码。
  • rtmp-wrapper - librtmp wrapper class for iOS use
  • re - Generic library for real-time communications with async IO support
  • ijkplayer - Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
  • SuperPlayer - 超级播放器是基于腾讯云播放器SDK的播放器,能快速的集成视频信息拉取、横竖屏切换、清晰度选择、弹幕、直播时移等功能。
  • PLPlayerKit - PLPlayerKit 是一个适用于 iOS 的音视频播放器 SDK,可高度定制化和二次开发,特色是支持 RTMP, HTTP-FLV 和 HLS 直播流媒体播放。
  • SJVideoPlayer - 短视频播放器 可接入 ijkplayer aliplayer alivodplayer plplayer
  • JSQSystemSoundPlayer - A fancy Obj-C wrapper for Cocoa System Sound Services
  • KTVHTTPCache - A powerful media cache framework.
  • WAVideoBox - 秒级! 三行代码实现iOS视频压缩、变速、混音、合并、GIF水印、旋转、换音、裁剪 ! 支持不同分辩率,支持你能想到的各种混合操作!
  • MCamera - CameraViewController which allows to take photos, set filters, peform image blurring and more
  • SDAVAssetExportSession - AVAssetExportSession drop-in replacement with customizable audio&video settings
  • SuperPlayer - 超级播放器是基于腾讯云播放器SDK的播放器,能快速的集成视频信息拉取、横竖屏切换、清晰度选择、弹幕、直播时移等功能。
  • GoPlay - GoPlay is a media player framework for iOS. Based on FFmpeg and OpenGL ES 2.0. support all formats and custom your own filters by GLSL.
  • HaishinKit - Camera and Microphone streaming library via RTMP, HLS for iOS, macOS, tvOS.

Networking

  • AFNetworking - A delightful networking framework.
  • SDWebImage - Asynchronous image downloader with cache support as a UIImageView category.
  • CocoaAsyncSocket - Asynchronous socket networking library for Mac and iOS.
  • Starscream - A conforming WebSocket (RFC 6455) client library in Swift.
  • RMStore - A lightweight iOS library for In-App Purchases
  • ESAPIClient - An API client library built on top of AFNetworking and AFNetworkingExtension.
  • YBNetwork - 基于 AFNetworking 网络中间层,注重性能,设计简洁,易于拓展
  • Jetfire - WebSocket RFC 6455 client library for iOS and OSX.
  • PocketSocket - Objective-C websocket library for building things that work in realtime on iOS and OS X.
  • Mars - Mars is a cross-platform network component developed by WeChat.
  • NEKit - A toolkit for Network Extension Framework
  • SocketRocket - A conforming Objective-C WebSocket client library.
  • YTKNetwork - A high level request util based on AFNetworking

Test

  • Quick - The Swift (and Objective-C) testing framework.
  • KIF - Keep It Functional - An iOS Functional Testing Framework
  • OHHTTPStubs - Stub your network requests easily! Test your apps with fake network data and custom response time, response code and headers!

Tools

  • XcodeGen - A command line tool written in Swift that generates your Xcode project using your folder structure and a project spec.
  • XcodeProj - Read, update and write your Xcode projects
  • Chisel - Chisel is a collection of LLDB commands to assist debugging iOS apps.
  • MTHawkeye - Profiling / Debugging assist tools for iOS. (Memory Leak, OOM, ANR, Hard Stalling, Network, OpenGL, Time Profile ...)
  • Space Commander - Commit fully-formatted Objective-C as a team without even trying.
  • NSLogger - A modern, flexible logging tool
  • MLeaksFinder - Find memory leaks in your iOS app at develop time.
  • FBRetainCycleDetector - An iOS library that finds retain cycles using runtime analysis.
  • DWURecyclingAlert - Optimizing UITableViewCell For Fast Scrolling
  • NWPusher - OS X and iOS application and framework to play with the Apple Push Notification service (APNs)
  • Knuff - The debug application for Apple Push Notification Service (APNs).
  • Appium - Appium is an open source, cross-platform test automation tool for native, hybrid and mobile web and desktop apps.
  • Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages. https://buck.build
  • Fui - Find unused Objective-C imports.
  • LLDebugTool - LLDebugTool is a debugging tool for developers and testers that can help you analyze and manipulate data in non-xcode situations.
  • JSDebugger - JavaScript-Based Debugger For Inspecting Running State Of Your Application
  • WBWebViewConsole - In-App debug console for your UIWebView & WKWebView
  • Uncrustify - A source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA
  • Flipper - A desktop debugging platform for mobile developers.
  • Aspects - Delightful, simple library for aspect oriented programming in Objective-C and Swift.
  • Stinger - Stinger is a high-efficiency library with great compatibility, for aop in Objective-C, using libffi.
  • LSSafeProtector - 强大的防止crash框架,不改变原代码支持KVO自释放,可以检测到dealloc时未释放的kvo,等19种crash
  • TimeProfiler - Recording all OC methods in the main thread takes time
  • XXShield - It's a library can avoid some crash in iOS project written by Objective-C.
  • JSPatch - JSPatch bridge Objective-C and Javascript using the Objective-C runtime.
  • Mango - MangoFix is a DSL which syntax is very similar to Objective-C,MangoFix is also an iOS App hotfix SDK.
  • ANYMethodLog - Log any method call of object in Objective-C 打印 Objective-C 对象中的任何方法
  • MessageThrottle - A lightweight Objective-C message throttle and debounce library.
  • iOSMixProject - 马甲包混淆工程
  • KLGenerateSpamCode - iOS 马甲应用工具:垃圾代码生成器
  • WHC_Scan - 高效强大扫描分析iOS和Android项目里没有使用的类Mac开源工具,清理项目垃圾类,让项目结构干净清爽
  • WBBlades - 基于Mach-O解析技术的包大小占比分析、基于反汇编的Objective-C & Swift无用代码(冗余类)检测、点对点崩溃解析
  • FLEX (Flipboard Explorer) - A set of in-app debugging and exploration tools for iOS development.
  • DoraemonKit - 简称 "DoKit" 。一款功能齐全的客户端( iOS 、Android、微信小程序 )研发助手,你值得拥有。
  • xcconfigs - Common Xcode configuration files/settings.

UI Components

  • SVProgressHUD - A clean and lightweight progress HUD for your iOS and tvOS app.
  • MBProgressHUD - an iOS drop-in class that displays a translucent HUD with an indicator and/or labels while work is being done in a background thread.
  • NVActivityIndicatorView - A collection of awesome loading animations
  • MJRefresh - An easy way to use pull-to-refresh.
  • FLAnimatedImage - Performant animated GIF engine for iOS
  • IQKeyboardManager - Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView.
  • TPKeyboardAvoiding - A drop-in universal solution for moving text fields out of the way of the keyboard in iOS
  • Harpy - Notify users when a new version of your app is available and prompt them to upgrade.
  • UIScrollView-InfiniteScroll - Infinite scroll implementation as a category for UIScrollView.
  • XLForm - XLForm is the most flexible and powerful iOS library to create dynamic table-view forms.
  • InAppSettingsKit - Easily add in-app settings to your iPhone apps.
  • DZNEmptyDataSet - A drop-in UITableView/UICollectionView superclass category for showing empty datasets whenever the view has no content to display
  • TORoundedButton - A high-performance button control with rounded corners for iOS.
  • VBFPopFlatButton - Flat button with 9 different states using POP
  • BEMCheckBox - Beautiful, highly customizable, animated checkboxes for iOS.
  • STULabel - A faster and more flexible label view for iOS
  • TTTAttributedLabel - A drop-in replacement for UILabel that supports attributes, data detectors, links, and more
  • ZSSRichTextEditor - A beautiful rich text WYSIWYG editor for iOS with a syntax highlighted source view
  • RSKGrowingTextView - A light-weight UITextView subclass that automatically grows and shrinks.
  • ZCAnimatedLabel - UILabel replacement with fine-grain appear/disappear animation
  • LCActionSheet - 一款简约而不失强大的 ActionSheet,微博、微信和 QQ 都采用了极其类似的样式,完全支持 Swift。
  • RMActionController - This is an iOS control for presenting any UIView in an UIAlertController like manner
  • PageMenu - A paging menu controller built from other view controllers placed inside a scroll view (like Spotify, Windows Phone, Instagram)
  • VTMagic - A page container library for iOS
  • FFPopup - Presenting custom views as a popup in iOS.
  • LNPopupController - LNPopupController is a framework for presenting view controllers as popups of other view controllers, much like the Apple Music and Podcasts apps.
  • FSCalendar - A fully customizable iOS calendar library, compatible with Objective-C and Swift
  • Context-Menu - You can easily add awesome animated context menu to your app.
  • TOCropViewController - A view controller for iOS that allows users to crop portions of UIImage objects.
  • IDMPhotoBrowser - IDMPhotoBrowser is a new implementation based on MWPhotoBrowser.
  • UITableView-FDTemplateLayoutCell - Template auto layout cell for automatically UITableViewCell height calculating
  • CHTCollectionViewWaterfallLayout - The waterfall (i.e., Pinterest-like) layout for UICollectionView.
  • FDWaveformView - Reads an audio file and displays the waveform
  • IQAudioRecorderController - A drop-in universal library allows to record audio within the app with a nice User Interface.
  • XLPaymentHUD - 支付宝支付动画
  • IIGuideViewController - A Library for making animated tutorials inside your app (新手引导、新手教程、功能介绍、功能引导)
  • TTGTagCollectionView - showing different size tag views in a vertical or horizontal scrollable view. 标签流显示控件,同时支持文字或自定义View
  • BLKFlexibleHeightBar - Create condensing header bars like those seen in the Facebook, Square Cash, and Safari iOS apps.
  • ContainerView - ContainerView is designed to add a cool swim from the bottom to the animation with the effect of scale, controlled by the help of a gesture, scrollView also takes control.
  • LMForm - iOS表单配置框架
  • MGBoxKit - Simple, quick iOS tables, grids, and more
  • UFKit - 快速集成表单
  • SCIndexView - SCIndexView provide a index view like Wechat.
  • LYEmptyView - 一行代码集成空白页面占位图(无数据、无网络占位图)
  • SPButton - 自定义按钮,图片可在上、左、下、右,可调整图文间距
  • BButton - Twitter Bootstrap buttons for iOS.
  • HJCornerRadius - A category for UIImageView with support for cornerRadius automatically
  • HYBImageCliped - 高效处理圆角的扩展
  • YXYDashLayer - Colorful Rounded Rect Dash Border
  • M80AttributedLabel - Another attributed label using CoreText
  • MPITextKit - Powerful text framework for iOS to display rich text based on TextKit.
  • TYAttributedLabel - 简单,强大的属性文本控件(无需了解CoreText),支持图文混排显示,支持添加链接,image和UIView控件,支持自定义排版显示
  • YBAttributeTextTapAction - 一行代码添加文本点击事件/a fast way to implement click event text
  • MarqueeLabel - A drop-in replacement for UILabel, which automatically adds a scrolling marquee effect when the label's text does not fit inside the specified frame.
  • UUMarqueeView - Customizable marquee view. #Marquee,MarqueeView,跑马灯,滚屏,上翻,左滑,多行,自定义
  • RollingNotice - 滚动公告、轮播广告,支持灵活自定义cell
  • EBBannerView - Just 1 line:Show a banner the same as iOS 9~13 Notification, or show a custom view.
  • GrowTextView - 一个比较完美的高度自适应输入框
  • SHSPhoneComponent - UITextField and NSFormatter subclasses for formatting phone numbers. Allow different formats for different countries(patterns).
  • CRBoxInputView - Verify code input view. Support security type for password.短信验证码输入框,支持密文模式
  • WLUnitField - 一种验证码输入 UI 控件