iOS优秀Objective-C开源库集锦

2020-02-16 17:13:34

参考地址 iOS优秀Objective-C开源库整理

一、前言

自己从事iOS开发工作接近两年左右的时间了,在自己工作之余,收集整理了一些优秀的三方开源框架,自己整理的这些三方开源库涵盖了iOS开发面很多方面的知识。非常感谢这些开源库的作者们,正是因为这些库,提高了我们的开发效率,同样也是我们学习进步的源泉。现将这个整理工程文件分享出来,希望能给需要的朋友一些帮助,同时也自己也做下收集记录。

Github:WBCollectOCThirdLib

二、Objective-C三方开源库

A collection of iOS components.

YYKit - 12185 star

  • LOG工具
    CocoaLumberjack - 10382 star

  • 输入框占位符

    一个实用的设置UITextView占位文字分类
    UITextView-Placeholder - 797 star  
    RPFloatingPlaceholders - 1115 star  
    SZTextView - 652 star

  • 分类
    JKCategories - 2770 star

  • 图像处理
    GPUImage - 17606 star

    A view controller for iOS that allows users to crop portions of UIImage objects

    TOCropViewController - 3153 star

  • iOS开发知识集合
    iOS-Tips - 2187 star  
    iOS-InterviewQuestion-collection - 1019 star

  • 安全防护

    强大的防止crash框架,不改变原代码支持KVO自释放,可以检测到dealloc时未释放的kvo,等19种crash

    LSSafeProtector - 505 star

    常用crash防护框架,配置简便,推荐集成使用

    JJException - 829 star

    It's a library can avoid some crash in iOS project written by Objective-C

    XXShield - 612 star

    Swizzle commonly used function of Foundation container to prevent nil crash

    NSObjectSafe - 416 star

  • 表单

    XLForm - 5555 star

  • 富文本相关

    富文本创建链式调用

    SJAttributesFactory - 347 star

    一个富文本编辑器

    ZSSRichTextEditor - 3285 star

  • 截屏

    一句代码保存截图,将 UIScrollView UITableView UICollectionView UIWebView WKWebView 网页 保存 为 长图 查看

    TYSnapshotScroll - 505 star

  • 界面动态化方案

    Tangram is a modular UI solution for building native page dynamically, including Tangram for Android, Tangram for iOS and even backend CMS. This project provides the sdk on iOS platform.

    Tangram-iOS - 1551 star

    An iOS ScrollView to resolve the problem of reusability in views.

    LazyScrollView - 1655 star

  • 框架搭建

    AxcAE_TabBar,特效TabBar,以开放为封装核心的TabBar组件,尽量将属性、API等参数全部开放给使用者,能够很方便快速使用的一个TabBar选项卡组件

    AxcAE_TabBar - 371 star

    【中国特色 TabBar】一行代码实现 Lottie 动画TabBar,支持中间带+号的TabBar样式,自带红点角标,支持动态刷新。

    CYLTabBarController - 5730 star

  • 瀑布流

    标签流显示控件,同时支持文字或自定义View

    TTGTagCollectionView - 1186 star

    A data-driven UICollectionView framework for building fast and flexible lists.

    IGListKit - 10490 star

  • 启动屏

    一行代码实现启动广告页

    LSLaunchAD - 18 star

    开屏广告、启动广告解决方案-支持静态/动态图片广告,mp4视频广告,全屏/半屏广告、兼容iPhone/iPad.

    XHLaunchAd - 3022 star

  • 筛选

    仿京东/美团电商筛选菜单 电商筛选菜单 电商通用筛选菜单

    GHDropMenu - 424 star

  • 数据加密解密

    一个用于代码混淆和字符串加密的Mac小Demo

    MJCodeObfuscation - 322 star

    Encrypt/Decrypt: AES. Hash: MD5, SHA(SHA1, SHA224, SHA256, SHA384, SHA512). Encode/Decode: Base64, Hex.

    CocoaSecurity - 1040 star

    多种加密解密

    Encryptions - 322 star

  • 索引&分组

    SCIndexView provide a index view like Wechat.

    SCIndexView - **422 **

  • 网页进度条

    AXWebViewController is a webViewController to browse web content inside applications. It’s a lightweight controller on iOS platform based on WKWebView (UIWebView would be the base Kit under iOS 8.0).

    AXWebViewController - 698 star

    RxWebViewController - 1273 star

  • 响应式编程

    The 2.x ReactiveCocoa Objective-C API: Streams of values over time

    ReactiveObjC - 2020 star

    EasyReact 是一个简单易用的响应式编程库。

    EasyReact - 1579 star

  • 协程编程

    coobjc provides coroutine support for Objective-C and Swift. We added await method、generator and actor model like C#、Javascript and Kotlin. For convenience, we added coroutine categories for some Foundation and UIKit API in cokit framework like NSFileManager, JSON, NSData, UIImage etc. We also add tuple support in coobjc.

    coobjc - 3378 star

  • 学习框架推荐

    高仿微信

    TLChat - 710 star

    VVebo剥离的TableView绘制

    VVeboTableViewDemo - 2676 star

    iOS project of collected some demos for iOS App, use Objective-C

    iOSProject - 5123 star

  • 组件化开发

    The mediator with no regist process to split your iOS Project into multiple project.

    CTMediator - 2846 star

    URL routing library for iOS with a simple block-based API

    JLRoutes - 5112 star

    一个高效/灵活的 iOS URL Router

    MGJRouter - 2029 star

  • AOP

    Delightful, simple library for aspect oriented programming in Objective-C and Swift

    Aspects - 7513 star

  • QMUI

    QMUI iOS——致力于提高项目 UI 开发效率的解决方案

    QMUI_iOS - 4745 star

  • Web网页H5

    VasSonic is a lightweight and high-performance Hybrid framework developed by tencent VAS team, which is intended to speed up the first screen of websites working on Android and iOS platform.

    VasSonic - 10168 star

    An iOS/OSX bridge for sending messages between Obj-C and JavaScript in UIWebViews/WebViews

    WebViewJavascriptBridge - 12663 star

  • 贝塞尔曲线

    Provides an iOS view controller allowing a user to draw their signature with their finger in a realistic style.

    UberSignature - 1040 star

  • 工具

    Mac上iOS开发辅助工具,快速把json/xml数据转换生成对应模型类属性,省去麻烦手动创建,提高开发效率。

    WHC_DataModelFactory - 1040 star

    📱📲iOS中获取各种设备信息🆔的方法总结(iPhone XS Max 已更新)

    iOS-getClientInfo - 598 star

三、结语

上面这些三方开源库按照自己的理解分类整理了一遍,其中OC语言库居多,自己现在也是基于OC开发,Swift收集的相对较少,这些库也是自己现在所了解到的,当然还有很多优秀的三方库自己也未发现和接触,我以后会不断在这篇博客中更新优秀的三方开源库。


  • 2020-12-14 15:06:50

    youtube-dl视频下载神器

    youtube-dl 是一款命令行下的视频下载工具,看着名称像是 YouTube 下载工具,其实这款工具不仅支持 YouTube ,还支持非常多的视频网站,比如优酷、爱奇艺、 bilibili 等,在写这篇日志的时候,暂时不支持腾讯视频。

  • 2020-12-15 20:06:43

    更多WebTorrent例子

    WebTorrent是第一个运行在浏览器的Torrent客户端。是的,没错。就是浏览器! 它完全是用JavaScript编写的,并使用WebRTC实现了真正的点对点传输。不需要浏览器插件、扩展或安装。 使用开放的Web标准,WebTorrent将网站用户连接在一起,形成一个分布式的、分散的Browser-to-browser网络,以实现高效的文件传输。

  • 2020-12-16 06:43:06

    WebRTC 实现Android点到点互连(含Demo)

    WebRTC被誉为是web长期开源开发的一个新启元,是近年来web开发的最重要创新。WebRTC允许Web开发者在其web应用中添加视频聊天或者点对点数据传输,不需要复杂的代码或者昂贵的配置。目前支持Chrome、Firefox和Opera,后续会支持更多的浏览器,它有能力达到数十亿的设备。

  • 2020-12-16 22:04:03

    基于本地代理的边下边播技术分析

    我们熟知的边下边播技术,是迅雷提供的,还有之前的快播、快车等工具,它们使用的技术基本上都是P2P下载技术。 P2P下载技术,本质上它并不是C-S的架构,P2P----> Peer to Peer,实际上它将各个客户端的资源调度起来,给上传资源种子,方便后续的下载者可以快速有效的下载资源,这种方式需要服务器整合各个Client,在有用户需要下载的情况下,服务器能及时调度资源,开始给下载者提供资源信息,保证下载者下载资源越快越好。P2P的下载方式后面我们专门介绍一下。这儿不继续展开了。

  • 2020-12-16 22:07:44

    Android视频点播-边播边缓存

    一些知名的视频app客户端(优酷,爱奇艺)播放视频的时候都有一些缓存进度(二级进度缓存),qq,微信有关的小视频,还有一些短视频app,都有边播边缓的处理。还有就是当文件缓存完毕了再次播放的话就不再请求网络了直接播放本地文件了。既节省了流程又提高了加载速度。 今天我们就是来研究讨论实现这个边播边缓存的框架,因为它不和任何的业务逻辑耦合。

  • 2020-12-16 22:46:44

    基于coturn项目的stun/turn服务器搭建

    webrtc是google推出的基于浏览器的实时语音-视频通讯架构。其典型的应用场景为:浏览器之间端到端(p2p)实时视频对话,但由于网络环境的复杂性(比如:路由器/交换机/防火墙等),浏览器与浏览器很多时候无法建立p2p连接,只能通过公网上的中继服务器(也就是所谓的turn服务器)中转。示例图如下:

  • 2020-12-16 23:06:05

    Rocket.Chat推送信息

    Rocket.Chat推送消息 Rocket.Chat是一个开源实时通讯平台, 支持Windows, Mac OS, Linux. 支持聊天, 文件上传, 视频通话, 语音通话功能. 向Rocket.Chat推送消息 以下示例可以转为别的语言的版本, 本示例使用Linux平台的curl测试, curl非常强大. 登陆 首先需要登陆Rocket.Chat服务器