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


  • 2021-02-03 16:52:27

    ios静态库和动态库区别

    Framework 是 Cocoa/Cocoa Touch 程序中使用的一种资源打包方式,可以将代码文件、头文件、资源文件(nib/xib、图片、国际化文本)、说明文档等集中在一起,方便开发者使用。Framework 其实是资源打包的方式,和静态库动态库的本质是没有什么关系。

  • 2021-02-03 16:57:34

    iOS中的动态库和静态库分析

    由于最近研究组件化后调试时二进制映射源码的功能,发现需要对开发中的动态库和静态库需要有一些了解。所以就有了这篇文章,由于只是了解,并没有深入到编译层面,所以本篇文章只是简单了解一些库的知识,并不深入。

  • 2021-02-03 16:58:39

    iOS静态库与动态库的区别与打包

    这篇主要是记录一下 iOS 下静态库与动态库的打包流程,以便以后用到时快速查阅,供自己也供大家学习记录。同时也简述了一下 动态库 与 静态库 的区别。

  • 2021-02-03 16:59:59

    iOS 静态库和动态库全分析

    库就是程序代码的集合,将 N 个文件组织起来,是共享程序代码的一种方式。从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。

  • 2021-02-03 17:01:30

    iOS库 .a与.framework区别

    静态库:连接时完整地拷贝至可执行文件中,被屡次使用就有多份冗余拷贝。 动态库:连接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。

  • 2021-02-03 17:13:58

    iOS - 封装静态库

    静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝,.a的静态库 .framework的静态库

  • 2021-02-03 17:16:07

    iOS 中的动态库、静态库和 framework

    首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用。 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件。另外一种情况是,对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以把它打包成库,因为库是已经编译好的二进制了,编译的时候只需要 Link 一下,不会浪费编译时间。

  • 2021-02-03 17:17:53

    iOS 同一个工程下打包不同的app

    应用图标,启动画面,应用启动后的首页都不一样。 有些课程(例如公务员考试和高考)是有目标考试的概念,不同的目标考试大纲是不一样的。拿高考来举例,北京的高考和上海的高考,就有着完全不一样的考试大纲。高考的文科和理科,又有着完全不同的考试科目。 有些课程会有一些自定义的界面,例如高考的应用可以设置昵称,有些课程的真题练习中是有推荐真题模块的,而有些课程又没有。 有些课程有扫描答题卡功能,有些课程有考前冲刺功能,有些课程有大题专项查看功能,而有些课程又没有上述功能。另外还有一些微小细节,但是解决方法和类似,所以就不一一展开说明。