GitHub第三方资源库整理(OC篇)

2023-05-16

http://www.jianshu.com/p/a1c3b7d5bab1

随着GitHub star 的项目越来越多,而且之前也没有整理,所以找起来特别麻烦,于是就有了这篇文章,一是方便我自己查找,都作了分类,而且都作了标注,对应找起来容易得多;二是分享出来,资源共享。这篇文章会持续更新,有好的GitHub项目就会加进来,并且会把更新说明写在文末。

更直观更方便的内容形式,请访问本文的GitBook地址:GitHub第三方资源库整理(OC篇)。

网络

AFNetworking:mattt大神的网络事件处理框架。

XMPPFramework:XMPP,主要用于即时通讯。

CocoaAsyncSocket:异步socket请求框架。

Reachability:用来检查应用当前的网络连接状况,是苹果Reachability类的直接替代品,支持ARC,支持block,使用GCD方法来通知网络接口的变化。

SocketRocket:WebSocket协议是一种网络协议,它的Web设计实现了浏览器与服务器的双向通讯。通过使用WebSockets,你可以重复使用现有的工具建立网页,就像大多数移动应用程序重复使用他们API中的HTTP协议一样。

CocoaSPDY:Twitter出品的一款关于HTTP请求的框架。

OHHTTPStubs:测试篡改你app的网络数据响应时间响应代码和头文件,非常容易就摧毁你的网络请求。

综合

ReactiveCocoa:简称RAC,函数响应式编程框架。

YYKit:ibireme写的一款综合框架,包含YYModel、YYCache、YYImage、YYWebImage、YYText、YYKeyboardManager、YYDispatchQueuePool、YYAsyncLayer、YYCategories。

AsyncDisplayKit:facebook出品,被应用于Paper,是一款能够保持界面流畅性的iOS开源框架,即使是最复杂的用户界面,也可以让其流畅运行并快速响应。

RestKit:旨在与RESTful web服务的交互变得更简单快速,具有强大的特性:

  • 简单高层次的HTTP请求/响应系统;
  • 框架支持切换服务器以及环境;
  • Core Data支持;
  • 对象映射系统;
  • 生成数据库文件;
  • 可插入解析层。

NewsBlur:是一个个人的新闻阅读器,将人们聚在一起谈论世界。

动画

动画引擎

POP:facebook出品,动画引擎(推荐)。

Canvas:动画引擎,最喜欢的就是它关联Runtime Attribute了,可以在SB添加KeyPath直接加动画。

JazzHands:作用于UIKitkeyframe-based动画框架,具有良好的表现。

动画引擎使用

Popping:使用pop动画引擎做的动画合集。

AGGeometryKit-POP:结合Pop的一个动画框架,带有力学动画效果。

FastAnimationWithPOP:SB快速导入动画,以前用过的,不过推荐使用Canvas。

转场动画

VCTransitionsLibrary:控制器之间的转场动画。

FDFullscreenPopGesture:全屏POP的手势动画。

VVBlurPresentation:王巍写的一款简单过渡到另外一个控制器,但是保持原来控制器的视图并模糊化,这对于一些提示比较有用。

LNPopupController:弹窗效果present到另外一个控制器,就像Apple Musicapp和Podcastsapp里的效果一样。

KMNavigationBarTransition:不需要写任何代码就可实现对不同风格导航的转场动画管理。

AnimatedTransitionGallery:许多种不同的转场动画风格。

其他动画

RGCardViewLayout:City Guide App的卡片滑动动画效果。

iCarousel:卡片样式的旋转木马动画效果。

BCGenieEffect:实现了在Mac OS 中最小化或最大化窗口时的过渡效果。

自动布局

Masonry:自动布局,目前在用(推荐)。

PureLayout:自动布局,OCSwift皆可用。

SDAutoLayout:自动布局代码精简化,支持CellTableView高度自适应。

OAStackView:UIStackView iOS9之后的控件,对于自动布局这块非常方便,OAStackView就是兼容iOS7+系统的框架。

FDStackView:百度知道团队出品,兼容UIStackView iOS6+系统,FDStackView Part1、FDStackView Part2、FDStackView Part3这三篇文章是作者分析FDStackView的设计实现过程(推荐)。

键盘交互管理

YYKeyboardManager:YYKit的组成部分,针对键盘管理(推荐)。

TPKeyboardAvoiding:键盘交互事件。

IQKeyboardManager:键盘交互管理。

加载指示、HUD

MBProgressHUD:加载进程指示框架,都知道。

SVProgressHUD:轻量的HUD

NJKWebViewProgress:显示webView交互进程的控件。

Shimmer:facebook出品,给APP的任何view添加shimmering动画效果,这个框架最初就是作为Paper加载动画的。

PQFCustomLoaders:很有趣的自定义加载器。

DGActivityIndicatorView:很nice的加载指示器,有32种不要的加载指示风格。

数据处理

数据库

realm-cocoa:Realm是Core Data和SQLite的代替品,操作移动数据库更加直接、快捷、耐用。

MagicalRecord:对于使用Core Data做了非常好的封装,用Core Data值得一试。

fmdb:对SQLite进行了封装。

存储

YTKKeyValueStore:唐巧写的Key-Value方式存储数据。

UICKeyChainStore:对Keychain的封装,让你使用Keychain APIsNSUserDefaults一样简单。

转换

MJExtension:李明杰写的一款JSONModel的框架。

Mantle:一款model层的框架,为什么唱吧iOS 6.0选择了Mantle。

JSONModel:一个解析服务器返回的Json数据,然后快速创建JSON 数据模型。同Mantle类似,不过JSONModel使用较为简单,但Mantle似乎更为强大,看个人选择。

Underscore.m:一个小型实用工具库,可以帮助开发者更方便地处理Objective-C中常见的数据结构

解析

JSONKit:主要用于JSON数据处理解析。

Ono:mattt大神写的一款关于处理XMLHTML的框
架。

hpple:解析XML/HTML的框架。

Categories

iOS-Categories:非常有用的Objective-C Categories,涉及到FoundationUIKitCoreDataQuartCoreCoreLocationMapKit等。

octave:UI 操作音效,UIControl的category。

LTNavigationBar:动态改变UINavigationBar的显示状态,类似手机QQ中QQ空间的导航效果。

FlatUIKit:扁平化的UI视图集合。

UIKit

UI视图

JSQMessagesViewController:一款优雅的关于聊天信息的UI框架。

SDCycleScrollView:无限循环图片轮播器。

CoreLock:高仿支付宝手势密码。

日历视图

JTCalendar:自定义的日历视图。

GLCalendarView:同上,一款日历视图。

图表、绘图

PNChart:周凯文写的一款很好的图表框架。

core-plot:也是一款2D的绘图框架。

引导页、状态页

Onboard:只需少量代码就可创建非常nice的引导页。

DZNEmptyDataSet:没有请求到网络数据或者请求失败的视图展示,就好像web的404页面一样。

View

CRPixellatedView:UIView的子类,做像素化的动画处理。

SwipeView:水平分页滑动视图。

Alert、Sheet

MMPopupView:高度可定制的alert、sheet。

TSMessages:提示信息、通知信息控件。

RKDropdownAlert:基于facebook的app Slingshot的alert,灵感取自于SVProgressHUD的一个提示框架。

SCLAlertView:具有非常赞的动画的Alert View

CMPopTipView:是一个开源的泡泡风格文本提示框控件。

TableView

FXForms:非常容易创建table数据形式,用于设置页面非常理想。

VVeboTableViewDemo:VVebo剥离的TableView绘制,对TableView进行流畅度优化。

RETableViewManager:数据驱动tableView进行内容管理。

TextView

SlackTextViewController:文本输入视图,对于消息编辑非常有用,类似于微信发送消息的那个输入框。

Menu

RESideMenu:左右侧视图视差效果menu,不过很久没有commit了。

AwesomeMenu:Path2.0里面的menu效果。

Button

VBFPopFlatButton:使用pop做的不同状态具有平缓过渡动画效果的扁平化button。

BEMCheckBox:一款可自定义的具有非常nice动画效果的checkbox

TextField

JVFloatLabeledTextField:编辑就会出现浮动的提示label,效果不错。

Label

TTTAttributedLabel

RQShineLabel:类似于Secret的文字闪烁动画。

Font、Color

FontAwesomeKit:字体框架,支持Font-AwesomeFoundation iconsZocialionicons

Chameleon:类似颜色板一样,具有很多超赞的颜色可供直接使用。

Colours:和Chameleon功能类似。

DKNightVersion:对颜色的管理,融合了白天和黑夜的主题效果。

Cell

SWTableViewCell:滑动Cell的内容视图,出现功能按钮。(推荐)

MGSwipeTableCell:功能同上。

UITableView-FDTemplateLayoutCell:sunnyxx写的,自动计算cell动态高度。

CoreText、AttributeText

DTCoreText:允许使用HTML代码的Core Text框架。

YYText:非常强大的富文本显示和编辑框架。(推荐)

Image

GPUImage:GPUImage 是iOS下一个开源的基于GPU的图像处理库,提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。

图片加载、缓存

SDWebImage:异步图片下载处理,支持缓存,我相信大部分开发者都用过。

PINRemoteImage:对图片下载、加载、缓存的管理,线程安全且快速,对于网络图片具有很好的表现力。

Haneke:轻量的图片缓存框架。

AsyncImageView:异步图片处理的一个简单Extension。

Concorde:下载和解码JPEGs格式图片。

GIF

FLAnimatedImage:Gif引擎框架。

YLGIFImage:异步Gif解码,播放Gif图片,占用内存少。

Camera、视频

XCDYouTubeKit:YouTube视频播放框架。

ZFPlayer:基于AVPlayer支持横屏、竖屏的视频播放器。

kxmovie:使用ffmpeg制作的一款视频播放器。

PBJVision:一款camera的引擎,支持录屏慢动作获取图片等特性,且camera可自定义。

MWPhotoBrowser:一款优雅的图片、视频资源浏览器。

瀑布流

CHTCollectionViewWaterfallLayout:UICollectionView的瀑布流。

Objective-C与JS交互

JSPatch:JSPath充当Objective-C
Javascript 交互的桥梁。

WebViewJavascriptBridge:Objective-C
Javascript 交互通信过程中,和JSPath一样充当桥梁。

地图、地理位置信息、LBS

LocationManager:非常容易获取设备当前地理位置信息的框架。

ReactiveCocoa

ReactiveCocoa:简称RAC。

MVVMReactiveCocoa:使用ReactiveCocoa结合MVVM模式做的一个Demo。

Runtime

RuntimeBrowser:有关运行时操作的工具,你有权使用运行时所有的类。

iOS-Runtime-Headers:使用RuntimeBrowser导出的iOSframework的头文件。

Block

BlocksKit :对于使用Block来说更加方便、高效,不过好久没有commit了。

KVO

KVOController:facebook出品,它是一个简单安全的 KVO工具,构建了一个基于 Cocoa 的 time-tested key-value 监控实现,提供简单方便、线程安全的 API。

AOP、Method Swizzling

Aspects:一个简洁高效的用于使iOS支持AOP面向切面编程的库。

路由器、Deep Link

JLRoutes:引入路由器的概念handle complex URL schemesdeep link(推荐)。

DeepLinkKit、routable-ios、HHRouter:功能同上。

测试

Kiwi:iOS的BDD框架。

specta:轻量的TDD/BDD测试框架。

KIF:全称是Keep It Functional,来自Square,是一款专为iOS设计的移动应用测试框架

日志

CocoaLumberjack:是Mac和iOS上一个集快捷、简单、强大和灵活于一身的日志框架。

工具、Xcode插件

工具

Alcatraz:Xcode插件管理神器,当然还有些其他的包管理功能。

FLEX:一款很好的调试工具,同样是Flipboard出品。

PonyDebugger:原生app使用Chrome开发工具进行远程的网路和数据debug

xctool:facebook出品的取代Apple's xcodebuild,让编译和测试更简单。

Tweaks:facebook出品的快速原型开发工具,能在应用上实时调整参数并测试效果。

EarlGrey:google出品的UI自动测试工具。

GitUp:用于Git交互。

插件

injectionforxcode:运行中的程序,然后在Xcode中动态插入代码,你可以实时看到编译器中的变动。

CATweaker:创建CAMediaTimingFunction曲线的一个帮助工具,该插件可以实时观看你创建的曲线,而且可调整。

KSImageNamed-Xcode:自动call imageNamed:获取图片资源名字填充,且相应图片在左侧可见。

XAlign:自动代码对齐插件。

VVDocumenter-Xcode:王巍写的一款编写文本的插件,用于注释非常方便。

SCXcodeSwitchExpander:自动填充Switch语句的枚举case值。

RTImageAssets:给定一张@3x的图片,自动生成其他像素的图片,也可以给定一张@2x的图自动片生成@3x的图片。

ESJsonFormat-Xcode:将JSON格式化输出为模型的属性插件。

FuzzyAutocompletePlugin:代码索引、自动补全代码的插件。

ColorSense-for-Xcode:主要针对RGB颜色值,可实时查看RGB颜色。

API、SDK

facebook-ios-sdk:facebook的sdk,使用它可以集成facebook的一些API。

octokit.objc:GitHubAPI。

其他

PKRevealController:是一个iOS平台上的视图控制器集合,通过展现多个视图控制器来进行控制器之间的切换,设置简单,高度灵活。

nimbus:旨在落实Three20,但是提供文档放在第一位,其次才是功能。

Chameleon:就像是一个港口,有iPhoneiPadMac几个分支,用于处理不同平台。

iOS-Artwork-Extractor:可以把所有图片和emoji符号提取出来,并导入png文件。

Bolts-ObjC:集成多任务处理的,和GCD、NSOperation的作用有点类似。

资料

iOSInterviewQuestions:ios面试题集锦。

open-source-ios-apps:关于iOS开发一些开源的资源集锦,涉及iOS开发的各个方面。

trip-to-iOS:iOS学习资料整理。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GitHub第三方资源库整理(OC篇) 的相关文章

  • NGINX LOCATION规则

    语法规则 xff1a location 61 uri 首先匹配 61 xff0c 其次匹配 其次是按文件中顺序的正则匹配 xff0c 最后是交给 通用匹配 当有匹配成功时候 xff0c 停止匹配 xff0c 按当前匹配规则处理请求 符号 含
  • -bash:lsnrctl:command not found错误

    哎 xff0c 这个错误折腾了我一下午 xff0c 网上搜索了半天 xff0c 没一个用得上的 现在终于知道为什么了 在linux下 xff0c 使用切换用户命令su切换到ORACLE用户时要加 xff0c 否则ORACLE下的命令全都无效
  • Docker-compose+Dockerfile构建并启动php7.4镜像

    利用官方镜像 43 Dockerfile构建符合自己要求php7 4镜像 DockerFile apt官方源太慢时 xff0c 切换apt源该dockerfile支持的php额外扩展 bcmatch event exif gd mysqli
  • docker-compose快速部署pptp,用于办公环境

    由于pptp安装部署涉及到防火墙 xff0c 路由转发 xff0c 系统内核的相关问题较为复杂 xff0c 且难以排查 xff0c 此处直接使用docker compose快速部署pptp version 39 3 39 services
  • MySQL 手动主从同步不锁表

    本文只能保证锁表时间不会太久 可能会出现从库需要跳过很多语句的情况 备份主库 mysqldump skip lock tables single transaction flush logs hex blob uroot pXXXX mas
  • 实战踩坑---MFC---CreateEvent

    使用事件CreateEvent注意事项 HANDLECreateEvent LPSECURITY ATTRIBUTESlpEventAttributes 安全属性 BOOLbManualReset 复位方式 BOOLbInitialStat
  • ARM指令中如何判断一个立即数是有效立即数

    声明 xff1a 1 本文内容为本人学习嵌入式linux所遇问题后 xff0c 为方便以后学习查阅转载所得 xff0c 若能助人 xff0c 也算报答前人之恩 xff01 2 如若侵犯原创作者权益 xff0c 请与我联系 xff0c 本人愿
  • 8.C++中的拼接字符串

    用sprintf 函数将一个变量从int类型转换到字符串类型 为了正确地完成这个任务 xff0c 你必须确保证目标缓冲区有足够大空间以容纳转换完的字符串 此外 xff0c 还必须使用正确的格式化符 如果使用了不正确的格式化符 xff0c 会
  • 左闭右开的由来(比如python等的range)

    转自 xff1a https www jianshu com p 5eaa330788e8 为了表示 2 3 12 这样一个序列 xff0c 有四种方法 xff1a 2 i lt 13 xff08 左闭右开区间 xff09 1 lt i 1
  • iOS之UITableViewController使用详解(一)tableview上移

    tableview上移解决 xff1a self edgesForExtendedLayout 61 UIRectEdgeNone if 64 available iOS 11 0 UIScrollView appearance setCo
  • matlab中各对象的position属性的相对位置

    1 figure 对象 units属性为 piexls position属性的位置 x y weight height 就是整个屏幕上的显示位置 xff1b 如 xff1a 我的屏幕分辨率是 1366 x 768 则创建figure对象时
  • 【matlab】拟合直线的方法

    1 hough变换 图像空间 gt 参数空间 图像空间的点 xff08 直角坐标系 xff09 在参数空间是一条曲线 xff08 极坐标系 xff09 曲线 xff1a 由垂直每条 过直角坐标中的点的任意斜率的直线相交 xff0c 获得角度
  • Verilog学习之数据常量表达与位宽

    本文原创内容 xff0c 转载请标明出处 原文链接 xff1a https blog csdn net Cixil article details 89422200 Verilog的表示形式 Verilog中整数 xff0c 整型常量即整常
  • matlab曲线拟合方法和函数拐点查找

    拟合曲线 polyfit 曲线拟合函数 a span class token operator 61 span span class token function polyfit span span class token punctuat
  • VS2017:用c++通过occi 读取oracle字符串数据时报错

    问题现象 xff1a 表数据 控制台的输出 xff1a 问题描述 xff1a 编译正常通过 xff0c 也能成功连接上数据库 xff0c 成功从数据库中查询数据到occi结果集 xff0c 从结果集中用getInt取整型字段的数据能成功 x
  • matlab:app designer 之组件 UIAxes 隐藏坐标轴

    问题 xff1a 用坐标轴显示图像时 xff0c 默认显示坐标轴 xff0c 影响美观 xff0c 那如何才能隐藏呢 xff1f 有人可能直接将坐标轴的颜色设置为背景颜色 xff0c 这样我们就看不见了 xff01 不否定这是一种方法 我的
  • 使用pip install安装 whl 文件出现 is not a supported wheel on this platform 解决办法

    报错提示 ERROR span class token operator span rasterio span class token operator span span class token number 1 1 span span
  • jni 环境搭配+第一个测试demo(全流程)

    我的环境搭配 myEclipse 2014 43 vs2017 直接下载正常安装即可 这里需要注意的是配置系统环境变量 xff0c 由于工作需要 xff08 java零基础 43 半吊子c 43 43 xff09 了解学习JNI xff0c
  • JNI中文乱码

    java gt jni gt c 43 43 c 43 43 gt jni gt java 中文显示出现乱码 主要是 Java 和 c 43 43 的编码不一致 xff0c 修改一致即可 修改Java端的看JNI中文乱码 修改c 43 43
  • JNI native函数名称问题

    本地 c 43 43 函数名称是规则是 xff1a Java 包名称 xff08 或类名称 xff09 函数名称 如 xff1a c 43 43 对应的函数名称为 xff1a Java NumberJNICpp average 61 61

随机推荐

  • 如何升级PowerShell

    https www cnblogs com wenBlog p 6198354 html 安装Windows PowerShell 3 0 1 安装Microsoft NET Framework 4 0的完整安装版本 xff08 dotNe
  • 系统添加根证书

    How to add CA to system root Reference KERIOOverview If you want to send or receive messages signed by root authorities
  • C++备忘录092:简单的enum到string的方法?

    godbolt span class token macro property span class token directive keyword include span span class token string lt strin
  • 用递归算法计算鸭子数

    问题描述 xff1a 一个人赶着鸭子去每个村庄卖 xff0c 每经过一个村子卖去所赶鸭子的一半又一只 这样他经过了七个村子后还剩两只鸭子 xff0c 问他出发时共赶多少只鸭子 xff1f 经过每个村子卖出多少只鸭子 xff1f xff08
  • 解决Linux下同时使用有线和无线/4G网络时,网络连接的优先级问题

    1 查看当前网关信息 ip route show 显示如下 xff1a 可以看到前两行default开头的就是默认网关 192 168 1 1是我的有线网关 xff0c 172 28 0 1是wifi网关 原来是有线网关的优先级更高导致的问
  • iOS UITableViewCell 高度自适应的解决方案

    span class token comment 设置预加载cell高度 span tableView span class token punctuation span estimatedRowHeight span class toke
  • Swift REPL

    swift 打开终端 xff0c 输入swift xff0c 启动swift swift Welcome to Apple Swift version 5 2 4 swiftlang 1103 0 32 9 clang 1103 0 32
  • xmpp 注册Registration

    在客户端上开发xmpp的注册功能 xff0c 即带内注册 带内注册指的是未在服务器上开通账号的用户可以通过xmpp协议注册新账号 相反的概念是带外注册 xff08 out of band registration xff09 xff0c 例
  • 六招让你的Ubuntu马上提速

    Ubuntu的启动速度非常快 xff0c 按了开机键之后很快就进入桌面 但我们仍然可以充分利用内存 xff0c 通过多种方法让开机速度更快 某些方法真的可以提速 xff0c 对于旧电脑的效果尤其明显 选用轻量级的桌面环境 xff0c 关闭不
  • 缺少libtinfo.so.5解决办法

    svn error svn This client is too old to work with working copy 39 39 You need to get a newer Subversion client or to dow
  • UITableViewCell动态高度设置

    UITableViewCell的高度在默认状态下能表现的的东西很少 xff0c 而且在复用的时候由于需要展示的信息不一定 xff0c 所以需要动态的调节Cell的高度来满足我们对不同内容的展示 在IOS8之前 xff0c 这需要手动进行计算
  • iOS: CGContext的函数CGContextAddQuadCurveToPoint

    void CGContextAddQuadCurveToPoint CGContextRef c CGFloat cpx CGFloat cpy CGFloat x CGFloat y
  • 怎样在android各级打印backtrace

    如何在android各层打印backtrace http janbarry0914 blogspot hk 2014 07 androiddump call stack html C 43 43 中 xff1a include lt uti
  • HOG特征(Histogram of Gradient)学习总结

    最近在做的项目有用到HOG 43 SVM这一方面的知识 xff0c 参考相关论文和网上一些博文在此对HOG特征进行下总结 参考资料 xff1a HOG的经典论文 xff1a Dalal N Triggs B Histograms of or
  • 递归-角谷定理

    问题描述 xff1a 角谷定理 输入一个自然数 xff0c 若为偶数 xff0c 则把它除以2 xff0c 若为奇数 xff0c 则把它乘以3加1 经过如此有限次运算后 xff0c 总可以得到自然数值1 求经过多少次可得到自然数1 如 xf
  • iOS之自定义导航按钮UIBarButtonItem的样式

    在一个APP中导航的重要性和方便性自然不需要多说了 xff0c 由于系统的导航用起来实在不怎么友好 xff0c 一直想抽个时间把导航学习下 由于投入到工作的时间多些 xff0c 懒懒散散的一直都是用的时候才去找度娘 xff0c 一直没来个总
  • IOS学习之一个示例弄懂代理(delegate)和协议

    转自http blog csdn net pony maggie article details 25655443 代理和协议的语法这里不赘述 xff0c 自己查资料 这个demo的思路是这样的 xff0c 有一个A类 xff0c 这个类不
  • ios中使用 NSJSONSerialization对 json数据的解析

    ios5中apple增加了解析JSON的api NSJSONSerialization 通过该类 xff0c 我们可以完成JSON数据与 NSDictionary 和 NSArray 之间的转化 网上已经有人做过测试 xff0c NSJSO
  • 【Xcode】undefined symbols错误总结

    http blog csdn net nextstudio article details 8919241 今天在使用ZBar的时候 xff0c 报了很多undefined symbols错误 特意总结一下这类错误 1 framework缺
  • GitHub第三方资源库整理(OC篇)

    http www jianshu com p a1c3b7d5bab1 随着GitHub star 的项目越来越多 xff0c 而且之前也没有整理 xff0c 所以找起来特别麻烦 xff0c 于是就有了这篇文章 xff0c 一是方便我自己查