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-03-19 19:50:31

    用vue做的跟随鼠标移动的div

    随鼠标移动的动画效果,之前一直使用angular和react,没怎么接触过vue,先做一个vue的简单例子,然后再整合。

  • 2020-03-20 13:35:55

    随便想到,群聊天的数据库简单设计

    拆分成两个表,一个是消息的流水表,一个是每个人的配置表。 记录每个群下面的这个用户的最后读取的消息last_msg_id,然后在计算消息未读数据。 这样优化之后数据将减少好多,数量是 m+n条数据。不在是成倍增长了。

  • 2020-03-20 13:39:50

    类似与微信朋友圈功能数据库如何实现

    每次发圈子的时候,给关注我的每个uuid,发一个内容id。 大概表的设计就是 uuid,idlist 这样的,idlist是按照时间顺序的。 然后定期删除idlist过多的老圈子。

  • 2020-03-21 00:11:38

    Android卡片布局(圆角阴影)的几种实现及分析

    在开发中,为了界面美观,圆角view和阴影效果是开发中经常遇到的UI场景,比如银行卡效果,卡片式itemView布局,Banner图等,开发中我们通过各种方式实现了这种效果,但是哪种方案最好呢,接下来本文将比较几种常见的圆角阴影布局实现,并从内存占用角度分析它们的优缺点.

  • 2020-03-21 12:05:24

    android 自定义组件,使用AttributeSet

    首先要在res/values目录下建立一个attrs.xml(名字可以自己定义)的文件,并在此文件中增加对控件的属性的定义.其xml文件如下所示:

  • 2020-03-21 12:09:59

    Android使用AttributeSet自定义控件的方法

    我们可以在attrs.xml中声明自己控件的属性,在布局xml文档中声明自己的命名空间,这时就可以对设置自己想要的值了,然后在AttributeSet这个属性中获取对应的值。好了不多说,我们来看下代码,一切尽在不言中:

  • 2020-03-22 21:16:07

    用vue做的跟随鼠标移动的div

    最近接到一个任务,就是在既存用electron-vue开发的桌面端程序上追加随鼠标移动的动画效果,之前一直使用angular和react,没怎么接触过vue,先做一个vue的简单例子,然后再整合。