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: 19 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'.
    • KVOController - Simple, modern, thread-safe key-value observing.
  • 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.短信验证码输入框,支持密文模式