OC学习资料整理

    首先推荐一个GitHub账户start项目查看器dashboard

一、音频、及时通讯

    1、码农人生

        1)、音频学习

    2、XMPPFramework

        An XMPP Framework in Objective-C for Mac and iOS。现在做个实时聊天,XMPP协议算是很成熟的方案了。XMPPFramework一个很不错的选择,可以直接和OpenFire服务器打交道。项目不大人手不多的话,可以看看这个。

二、动画

    1、动画学习

        1)、IOSAnimationDemo

            IOS动画总结:本案例主要实现的IOS侧滑菜单、IOS基础动画、关键帧动画、组动画、过渡动画和三个综合案例(仿造Path菜单,仿造dingding菜单,和烟花点赞效果等功能)。

        2)、JazzHands

            Jazz Hands是UIKit一个简单的关键帧基础动画框架,可通过手势、scrollView,kvo或者ReactiveCocoa控制动画。非常适用于APP初次使用时的介绍和引导信息。

        3)、UIKitDynamics

            学习动力学动画的11个Demo

        4)、awesome-ios-animation   awesome-animation   pop   Animations   JHChainableAnimations  AwesomeMenu

常见动画总结

    2、TableView动画

        QuickRearrangeTableView TableView移动动画

    3、slideIn动画

        JVMenuPopover

    4、CoreLaunch

        启动动画,一句代码即可集成,4种效果可选.

    5、水波动画

        KYWaterWaveView实现波浪正弦动画并带有小鱼跳跃溅起水花。

        BAFluidView

        PulsingHalo

        FillableLoaders

        WaveLoadingView

    6、Label动画

        RQShineLabel

        ZCAnimatedLabel

        LTMorphingLabel

        UICountingLabel  数字动态化

        CharacterText

    7、卡片式交互

        MDCSwipeToChoose

        Koloda

    8、Bubble效果

        BubbleTransition

        JTMaterialTransition

    9、点赞动画

        DOFavoriteButton

    10、图片变化动画

        TBIconTransitionKit

        NVActivityIndicatorView

        DGActivityIndicatorView

        TKAnimatedCheckButton

    11、button动画

        KYGooeyMenu

        ZFRippleButton

        SpreadButton

        NumberMorphView

    12、gif动画

        FLAnimatedImage

    13、加载动画

        FeSpinner

        NVActivityIndicatorView        

三、日历、时间、日期

    1、日历

        FSCalendar

        JTCalendar

        PDTSimpleCalendar

    2、日期

        1)、

四、进度加载框、提示框

    1、RKNotificationHub

        快速为UIView添加通知标记,标记可带有弹动效果,可自定义标记的颜色和位置。

    1、ProgressHUD

    2、JHUD

    3、FillableLoaders

    4、M13ProgressSuite

    5、NJKWebViewProgress

    6、TYWaterWaveView水波纹

    7、MBCircularProgressBar UAProgressView环形进度

    8、MRProgress  WSProgressHUD

    9、Win7LoadingBar   YLProgressBar长条型进度条

    10、MBProgressHUD

五、键盘

    1、MMNumberKeyboard

        一个简单的iOS数字输入键盘:MMNumberKeyboard,可选支持小数点。

    2、STEmojiKeyboard

        emoji表情键盘/信息输入框

    3、TPKeyboardAvoiding

六、视频、音频

    1、视频

        1)、ZFPlayer

            基于AVPlayer,支持横屏、竖屏(全屏播放还可锁定屏幕方向),上下滑动调节音量、屏幕亮度,左右滑动调节播放进度

        2)、KRVideoPlayer

            类似Weico的播放器,支持竖屏模式下全屏播放 。

        3)、ijkplayer

            Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.

        4)、DOUAudioStreamer

        5)、VideoSplashKit

            登陆页播放视频

    2、音频

        1)、ESTMusicPlayer

            类似于网易云音乐的完整Demo,值得一看

        2)、TheAmazingAudioEngine

            很多音频类APP应用这个框架作开发

七、布局

    1、FDStackView

        无需配置,没有代码侵染,扔到工程里后直接用系统 UIStackView 的 API 即可,同时兼容 Storyboard 。

    1.1、BSImagePicker

    2、Masonry

        Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性。

    3、WHC_AutoLayoutKit

        一行代码对xib或者storyboard上的所有UI控件智能识别约束关系,并自动添加好相应约束条件;masonary拥有的功能WHC_AutoLayoutKit都有,同时包含一行代码计算Cell高度使用比masonary更方便快捷;拥有UIStackView(WHC_StackView)功能使用更简单直接;新增api 2.0 兼容masonary用户使用习惯一行代码进行布局

    4、MyLinearLayout

        一套功能强大的iOS布局库,他不是在自动布局的基础上进行的封装,而是一套原生的基于对frame设置的封装,通过重载layoutSubview函数来实现子视图的布局,因此可以无限制的运行在任何版本的iOS系统中。

    5、介绍自动布局的博客

        AutolayoutDetail

    6、SDAutoLayout

八、导航栏、导航切换、tabVC

    1、JZNavigationExtension

        当控制器做Push/Pop时无缝、平滑地显示、隐藏、扩展导航栏。

    2、模态

        ZFDragableModalTransition 自定义动画展示模态视图控制器,可从左边、右边或者底部推出模态视图。

        CNPPopupController 底部弹出视图

    3、navigation-stack

        入栈太深不好返回最初的VC,可以试试这个

    4、手势切换

        FDFullscreenPopGesture  全屏POP手势动画,包含带顶栏标题和不带顶栏标题两种。        

    5、CYLTabBarController

        最低只需传两个数组即可完成主流App框架搭建,【低耦合集成TabBarController】

    6、转场动画(包括collectionview)

        RZTransitions 

        RMPZoomTransitionAnimator  collectionview相关的转场动画

        HYBControllerTransitions   自定义转场动画API封装类库,使用简便。使用者不需要了解太多转场动画知识,即可轻松接入项目使用。

        KMNavigationBarTransition

        TKSubmitTransition   提交按钮相关的转场动画

        BubbleTransition

        IBAnimatable

九、图片选择、图片模糊、相机使用、图像处理

    1、ZLPhotoLib

        集成图片选择、图片浏览、相机连拍的一套图片库

    2、MWPhotoBrowser

        MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。它同时依赖DACircularProgress ,MBProgressHUD ,SDWebImage,所以为了功能单一化,尽量不要使用这个库了。

    3、ZLPhotoBrowser

        图片浏览器:方便易用的相册多选框架,支持预览/相册内拍照、预览快速多选相片,单选gif及video;相册混合选择;原图功能;支持多语言国际化(中文简/繁,英语,日语);在线下载iCloud端图片;自定义最大选择量及最大预览量;自定义照片升序降序排列;自定义照片显示圆角弧度

    4、图片浏览器

        oc: IDMPhotoBrowser 

        swift:SKPhotoBrowser   ImageViewer 

    5、图片选择

        oc:CTAssetsPickerController    QBImagePicker   CorePhotoBroswerVC   BSImagePicker  ImagePickerSheetController  ALCameraViewController

        swift:BSImagePicker   ImagePicker

    6、FXBlurView

        模糊背景类库, 可以方便的根据底层显示的状态生成模糊效果。

    7、相机使用

        DBCamera DBCamera is a simple custom camera with AVFoundation

    8、图像处理

        1)、GPUImage

            如果你要做图像(照片或者视频)的相关处理 或者只是简单的想做个像Camera360一样的拍照滤镜 那么你一定要研究一下GPUImage。如它的名字所述 GPUImage是基于GPU的图像处理框架 我们都知道 GPU是提升性能的关键 这也就是GPUImage如此重要 如此受欢迎的原因。

九.一、网络加载图片

    1、图片加载,并有动画

        RJImageLoader

        PINRemoteImage  支持swift和oc

    2、SDWebImage

    3、Kingfisher  swift,这个项目深受SDWebImage的欢迎

    4、YYWebImage

    5、Nuke

十、网络

    1、网络状态检测

        RealReachability

        Reachability   可达性

    2、YTKNetwork

        YTKNetwork 是猿题库 iOS 研发团队基于 AFNetworking 封装的 iOS 网络库,其实现了一套 High Level 的 API,提供了更高层次的网络访问抽象。

    2.2、Pitaya

        从 Alamofire 和 JustHTTP 偷了一些创意和代码。看看就行。

    3、MJRefresh

        下拉刷新框架:一行代码搞定。其他还有DGElasticPullToRefresh(皮筋式的下拉刷新动画)

    4、MJExtension

        转换速度快、使用简单方便的字典转模型框架。其他框架还有mantle 、YYModel

    5、加载框

        FeSpinner 等待加载的精美过度界面

    6、网络监测

        NetworkEye NetworkEye是一个网络调试库,可以监控App内HTTP请求并显示请求相关的详细信息,方便App开发的网络调试。可以检测到包括网页,NSURLConnection,NSURLSession,AFNetworking,第三方库,第三方SDK等的HTTP请求,非常方便实用。并且可以统计App内流量

    7、json转模型类型的插件,或桌面程序

        1)、JSONExport

            JSONExport is a desktop application for Mac OS X which enables you to export JSON objects as model classes with their associated constructors, utility methods, setters and getters in your favorite language.

        2)、ESJsonFormat-Xcode 

            XCode插件,通过Alcatraz安装

十一、蓝牙

    1、BabyBluetooth

十二、自定义组件

    1、按钮

        1)、DownloadButton

            DownloadButton 是可自定义的 App Store 风格的下载按钮。可自定义设计组件,用 IB 进行编辑。

    2、UISlider

        1)、ASValueTrackingSlider

            ASValueTrackingSlider 是 UISlider 的子类,即时显示了滑块的指示数字,可进行各种效果定制。示例可参考示例

    3、弹出框

        1)、MMPopupView

            MMPopupView 就是弹出框的基类 所有的弹出框只要继承自这个类 就具备了显示的能力 用户只要关注于弹出框本身的表现就行了。

    4、Alert

        1)、AMSmoothAlert

        2)、CXCardView

        3)、LGAlertView

        4)、PMAlertController

    5、ActionSheet

        1)、JMActionSheetDescription

        2)、ZPActionSheet

    6、webView

        1)、NJKWebViewProgress

        2)、RNCachingURLProtocol

        3)、TOWebViewController

    7、小红点

        WZLBadge

    8、switch button

        paper-switch

    9、通知

        Whisper

        CRToast

        JDStatusBarNotification

    10、标签视图

        SKTagView

    11、分类、类别

        JKCategories   常用的各种分类

十三、图表

    1、PNChart

        较为简单易用的图表框架,作者是秒视CEO

    2、常用图表介绍

        awesome-ios-chart

    3、k线

        Y_KLine

        YYStock

十四、菜单

    1、顶部菜单切换

        YZDisplayViewController 顶部标题切换界面效果,并且带有非常炫酷的效果,利用点时间给广大的攻城狮们提供了这样一个框架,集成了当前比较主流的几种效果,网易新闻(字体缩放+颜色渐变),今日头条(颜色填充),喜马拉雅,糗事百科(下标),腾讯视频(蒙版)等。

        HAHAKea/HACursor 一个对横向ScrollView中的视图进行管理的UI控件。只要几行代码就可以集成类似于网易新闻对主题页面进行排序,删除操作的功能。

        PageMenu

        SLPagingView 类似Twitter选项栏

        PagingMenuController

        HACursor

        YSLContainerViewController

        CarbonKit

        WMPageController

        GuillotineMenu   自定义推的顶菜单栏,刀砍式转场动画

        TKDotSegment

    2、侧滑菜单

        WXGSlideMenuDemo

    3、弹出菜单、下拉菜单

        kxmenu类似微信点击加号弹出的选项视图

        LMDropdownView下拉菜单

        JSDropDownMenu  DOPDropDownMenu-Enhanced类似美团首页下拉菜单

        BTNavigationDropdownMenu

    4、树形菜单

        TreeTableView

    5、文本操作菜单

        QBPopupMenu文本长按后的拷贝等操作

    5、

    6、

十五、进度加载框、提示框

    1、MBProgressHUD

        实现了很多种样式的提示框。

    2、ProgressHUD

    3、加载框

        FeSpinner等待加载的精美过度界面

    4、Toaster

    5、WSProgressHUD 

        比ProgressHUD多了点动画

    6、MJAlertView

        比ProgressHUD多了点动画

十六、切面编程、响应式(链式)编程

    1、Aspects

        Aspects是Cocoa中面向方面编程的简单开源库,你可以通过它为现有的类的方法或者实例添加代码,同时考虑插入点位置,比如before/instead/after。Aspects比常规的方法混用更为简单。

    1.1、jrswizzle

        方法swizzling很简便

    2、EasyReact

        RxSwift 和 ReactiveCocoa 中的 functor、applicative、monad 感到困惑不解?没关系,那些概念太复杂了,以至于并没有多少人真的在实际项目中使用它们。有没有简单易用的响应式编程方式呢?EasyReact 就是为此而生的,来试试吧。

    3、ReactiveCocoa

    4、RxSwift 、 Bond

    5、PromiseKit  swift与oc

十七、数据存储、数据持久化

    1、YTKKeyValueStore

        将数据直接使用Key-Value式的存储到。

    2、钥匙串(keychain)

        SAMKeychain   Simple Objective-C wrapper for the keychain that works on Mac and iOS

十八、MVC、MVVM

    1、HZExtend

        应用快速开发架构集合了MVC和MVVM的:1.减少控制器压力以及耦合;2.带有请求状态(请求中,请求后,无网络)的网络框架;3.无网仍有数据的缓存体系;4.与表映射能操作数据库的Model;5.支持URL跳转

十九、XCode插件、MAC使用

    1、WHC_DataModelFactory

        工具说明:可以把json或者xml字符串自动生成模型类.m和.h文件内容剩出创建模型类的麻烦而且零错误率大大提高了开发效率

    2、Mac使用

        如何配置一个高效的 Mac 工作环境

    3、iOS-Runtime-Headers

        对于每一个iOS开发者而言,iOS-Runtime-Headers这个iOS运行时头文件项目绝对值得收藏。除了iOS运行时头文件之外,iOS-Runtime-Headers还附带搜索及版本对比功能。通过它,开发者可以调用苹果允许调用及禁止的一切函数。

    4、xctool

        自动打包。

    5、injectionforxcode

        超级强烈的推荐,只需要ctl + =你就能使模拟器展示代码效果

    6、Cakebrew

        Homebrew量身定做的图形界面应用,可以方便查看Homebrew下载过的软件包具体信息,并可对其进行安装,卸载等操作

二十、适配

    1、iOS9Adapt

二十一、学习资料

    1、trip-to-iOS

        johnlui博客文章整理。

    2、iOS-Core-Animation-Advanced-Techniques

        动画学习知识点

    3、awesome-ios 

        iOS生态系统的精选列表,包括Objective-C和Swift项目

二十二、图文混排

    1、TYAttributedLabel

    2、MLLabel

    3、MLEmojiLabel

    4、SECoreTextView

    5、YYText

    6、TTTAttributedLabel

    7、TYAttributedLabel

    8、

二十三、手势

    1、手势密码

        CoreLock

二十四、轮播

    1、轮播图

        1)、SDCycleScrollView

        2)、TAPageControl

        3)、iCarousel   高度可定制,效果很炫酷

二十五、scrollView

    1、MediumScrollFullScreen  AMScrollingNavbar   TLYShyNavBar

        功能栏滚动隐藏

    2、MBTwitterScroll

        scrollview上滑时隐藏topview

    3、欢迎界面、引导页

        LGSublimationView  Onboard   KDIntroView   BWWalkthrough

    4、WLPageViewController

        可以滑动的页面视图

    5、带头视图

        APParallaxHeader 带头视图,且下拉放大

        ARSegmentPager  带头视图

    6、RainbowNavigation

        UINavigationBar颜色变化的十分优秀的解决方案

二十六、tableView

    1、MMParallaxCell

        滚动的时候cell有视差

    2、cell侧滑菜单

        JASwipeCell

        SWTableViewCell  包括左滑、右滑

        MGSwipeTableCell  包括左滑、右滑

二十七、collectionview

    1、CSStickyHeaderFlowLayout

        UICollectionView替代UITableView,甚至更像Parallax Header,Sticky Section Header,适用于iOS 7.

    2、CKWaveCollectionViewTransition

        Cool Wave实现两个UICollectionView跳转间的过渡

    3、StickyCollectionView

        实现了cell在滚动时吸附在顶端并且之后的单元在其上方覆盖的效果

二十八、书籍

    1、禅与Objective-C编程艺术

    2、中文版 Apple 官方 Swift 教程《The Swift Programming Language》

    3、iOS9适配教程   iOS11AdaptationTips

    4、Facebook开源的Parse源码分析  说明了线程的高级用法

    5、我的职业是前端工程师   repractise   全栈增长工程师指南   全栈增长工程师实战   一个全栈增长工程师的练手项目集    自己动手设计物联网   架构应用开发指南

    6、GitHub 漫游指南

    7、李智维的PPT分享(涉及单元测试和的WebSocket)

    8、LearnRxSwift(淀青的RxSwift教学)    

二十九、常用UI效果

    1、Material-Controls-For-iOS  类安卓效果

    2、awesome-ios-ui  常用UI效果

    3、fantastic-ios-animation  常用UI效果

    4、FlatUIKit  常用UI效果

    5、JXT_iOS_Demos

        一些相关的iOS的Demo汇总,比如:一些关于navigationBar的非常规的但是较为实用的操作,包括利用毛玻璃、动态透明、动态隐藏,以及头视图的动态缩放,并同时涉及了statusBar的动态设置(换色)。

三十、测试

    1、Quick

        The Swift (and Objective-C) testing framework.

    2、Kiwi

        Simple BDD for iOS

    3、KIF

        一个开源的用户界面UI测试框架。使用KIF,并使用iOS中的辅助功能API,您将能够编写模拟用户输入,例如点击,触摸和文本输入,自动化的UI测试

    4、specta

        A light-weight TDD / BDD framework for Objective-C & Cocoa

三十一、二维码、条码

    1、ZXingObjC

        zxing是Google出品的二维码扫描组件 原本是Java编写的 现在也有了各种语言的移植版 而ZXingObjC就是其中之一zxing支持各种主流的一维码二维码扫描 简单易用 小厂如果要实现二维码扫描这个功能 基本都会选择zxing。不过iOS7已内置了二维码摄像头扫描 而iOS8也已内置了二维码静态图扫描 以后可能再也不需要用到ZXing了

三十二、日志、调试

    1、CocoaLumberjack

        A fast & simple, yet powerful & flexible logging framework for Mac and iOS。CocoaLumberjack是个Log工具,号称是可以提供企业级Log,使用者也挺多。

    2、NSLogger

        从名字可以看出 NSLogger也是一个log系统 其特点是附带了一个功能强大的Desktop Viewer 可以让你方便的查看APP产生的日志(支持分级筛选等等 甚至可以直接log一张图片)

    3、调适

        1)、PonyDebugger  Remote network and data debugging for your native iOS app using Chrome Developer Tools。PonyDebugger看上去是一个不错的调试工具,可以在电脑浏览器上远程调试iOS程序、查看试图层次、网络等等。

        2)、FLEX

            An in-app debugging and exploration tool for iOS。(LLDB式的调试工具,界面可视化)

三十三、socket

    1、CocoaAsyncSocket

        CocoaAsyncSocket无疑是目前封装得最完善的Socket库了:支持异步TCP/UDP,支持GCD,Objective-C接口封装。

###、未分类

    1、talk-os

        简聊开源版。简聊所有业务代码的开源版本,可作任意修改。简聊 - 产品项目包含了简聊由开始到现在的所有开发历程,设想,和设计资源.

    2、SXNews

        模仿网易新闻做的精仿网易新闻 。

    3、MessageDisplayKit

        一个类似微信App的IM应用,拥有发送文字、图片、语音、视频、地理位置消息,管理本地通信录、分享朋友圈、漂流交友、摇一摇和更多有趣的功能。

    4、TableView优化

        VVeboTableViewDemo VVebo剥离的TableView优化方案的demo

    5、DKNightVersion

        主题切换demo

    6、LBTagView

        可移动的标签demo

你可能感兴趣的:(OC学习资料整理)