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收集的相对较少,这些库也是自己现在所了解到的,当然还有很多优秀的三方库自己也未发现和接触,我以后会不断在这篇博客中更新优秀的三方开源库。


  • 2018-04-18 15:56:00

    linux下如何实现mysql数据库每天自动备份定时备份

    备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的!

  • 2018-04-18 20:44:19

    $(...).live is not a function

    jquery中的live()方法在jquery1.9及以上的版本中已被废弃了,如果使用,会抛出TypeError: $(...).live is not a function错误。

  • 2018-04-19 16:31:03

    mysql双机热备的实现

    准备两个mysql,A和B,A为主,B为从。前提是这两个数据库现在的表结构要一模一样,否则不成功。这个要锁表处理了。

  • 2018-04-19 16:32:47

    mysql binlog_do_db参数设置的坑

    在配置文件中想当然地配置成binlog_do_db=test,xx,jj,以为是三个库。结果无论什么操作都没有binlog产生

  • 2018-04-20 02:11:58

    Android中finish掉其它的Activity

    在Android开发时,一般情况下我们如果需要关掉当前Activity非常容易,只需要一行代码 this.finish;即可。 那么,如果是想要在当前Activity中关掉其它的Activity应该怎么实现呢? 比如更改了某个设定,程序需要重新运行并加载新的配置文件,就要用到restart或finish让程序重启。

  • 2018-04-20 09:12:07

    如何在 7 分钟内黑掉 40 家网站?

    去年夏天我开始学习信息安全与黑客技术。在过去的一年中,我通过参加各种战争游戏、夺旗以及渗透测试模拟,不断提高我的黑客技术,还学习了很多关于“如何让计算机偏离其预期行为”的新技术。

  • 2018-04-25 00:46:48

    Android开发笔记——SharedPreferences 存储实体类以及任意类型

    我们常常要用到保存数据,Android中常用的存储方式有SQLite,sharedPreferences 等,当然也有各自的应用场景,前者适用于保存较多数据的情形,后者责倾向于保存用户偏好设置比如某个checkbox的选择状态,用户登录的状态等等,都是以键值对的形式进行的文件读取,可以存储String,int,booean等一些基本数据类型等等。

  • 2018-04-25 11:48:44

    Java泛型详解

    泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用。本文我们将从零开始来看一下Java泛型的设计,将会涉及到通配符处理,以及让人苦恼的类型擦除。