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-11-22 23:25:56

    Dagger2源码解析inject过程

    添加inject后,通过编译生成的DaggerMainComponent类来导入,说明编译以后生成了一些类,那到底生成了什么类呢。 Module和Component又是什么,该怎么里理解 在这篇文章后里将一一讨论。

  • 2020-11-22 23:27:28

    dagger学习教程

    dagger android 学习(一):dagger基础使用 dagger android 学习(二):AndroidInjector的使用 dagger android 学习(三):ContributesAndroidInjector的进一步优化 dagger android 学习(四):基于dagger2的mvp架构

  • 2020-11-22 23:31:22

    Dagger2与AndroidInjector详解

    相信使用过Dagger开发Android应用的小伙伴会知道(如果你还不是很了解Daager,可以先看我之前的一篇基本介绍:Dagger2使用攻略),我们会在Activity或Fragment的生命周期方法中执行成员注入。比如这样:

  • 2020-11-23 08:52:59

    asm.js 和 Emscripten 入门教程

    asm.js 就是为了解决这两个问题而设计的:它的变量一律都是静态类型,并且取消垃圾回收机制。除了这两点,它与 JavaScript 并无差异,也就是说,asm.js 是 JavaScript 的一个严格的子集,只能使用后者的一部分语法。

  • 2020-11-23 09:11:07

    爬虫——记一次破解前端加密详细过程

    从最初使用webdriver+selenium爬虫到现在利用http请求解析html,经历过各种各样的问题,webdriver+selenium这种办法虽然万能,而且可以用JS写解析脚本方便调试,

  • 2020-11-24 19:18:43

    nuxtjs打成用于webview的相对路径

    路径为绝对路径,当项目的域名为二级域名的时候,就不能打包为这绝对路径了。 nuxt不同于vue项目,思索了许久,终于找到了配置的地方

  • 2020-11-24 23:22:59

    eruda,移动端网页调试神器

    webapp或者移动端网页需要嵌入到app时候,尤其是在APP内置的webView上加载我们的页面,想要查看手机浏览器信息是非常困难的事,当出现问题的时候,你又不能查看日志,一般会连接本地测试环境,然后在alert来打印日志