Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here


A collection of iOS components.

Subscribe to updates I use YYKit

Statistics on YYKit

Number of watchers on Github 13569
Number of open issues 267
Average time to close an issue 6 days
Main language Objective-C
Average time to merge a PR about 20 hours
Open pull requests 33+
Closed pull requests 18+
Last commit over 3 years ago
Repo Created over 7 years ago
Repo Last Updated 4 months ago
Size 55.6 MB
Organization / Authoribireme
Page Updated
Do you use YYKit? Leave a review!
View open issues (267)
View YYKit activity
View on github
Book a Mock Interview With Me (Silicon Valley Engineering Leader, 100s of interviews conducted)
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating YYKit for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


License MIT  Carthage compatible  CocoaPods  CocoaPods  Support  Build Status

YYKit is a collection of iOS components.

It's so huge that I split it into several independent components:

  • YYModel High performance model framework for iOS.
  • YYCache High performance cache framework for iOS.
  • YYImage Image framework for iOS to display/encode/decode animated WebP, APNG, GIF.
  • YYWebImage Asynchronous image loading framework.
  • YYText Powerful rich text component for iOS.
  • YYKeyboardManager Access keyboard view and track keyboard animation.
  • YYDispatchQueuePool iOS utility class to manage global dispatch queue.
  • YYAsyncLayer iOS utility classes for asynchronous rendering and display.
  • YYCategories A set of useful categories for Foundation and UIKit.

Demo Project

See Demo/YYKitDemo.xcodeproj



  1. Add pod 'YYKit' to your Podfile.
  2. Run pod install or pod update.
  3. Import <YYKit/YYKit.h>.


  1. Add github "ibireme/YYKit" to your Cartfile.
  2. Run carthage update --platform ios and add the framework to your project.
  3. Import <YYKit/YYKit.h>.
  4. Notice: carthage framework doesn't include webp component, if you want to support webp, use CocoaPods or install manually.


  1. Download all the files in the YYKit subdirectory.
  2. Add the source files to your Xcode project.
  3. Add -fno-objc-arc compiler flag to NSObject+YYAddForARC.m and NSThread+YYAdd.m.
  4. Link with required frameworks:
    • UIKit
    • CoreFoundation
    • CoreText
    • CoreGraphics
    • CoreImage
    • QuartzCore
    • ImageIO
    • AssetsLibrary
    • Accelerate
    • MobileCoreServices
    • SystemConfiguration
    • sqlite3
    • libz
  5. Add Vendor/WebP.framework(static library) to your Xcode project if you want to support WebP.
  6. Import YYKit.h.


Full API documentation is available on CocoaDocs.
You can also install documentation locally using appledoc.


This library requires iOS 6.0+ and Xcode 8.0+.


I want to use the APIs as if it was provided by system, and I don't add prefix in these categories. I do not recommend using the YYKit directly, you should try the separated components first.


YYKit is provided under the MIT license. See LICENSE file for details.

============== YYKit iOS

============== Demo/YYKitDemo.xcodeproj



  1. Podfile pod 'YYKit'
  2. pod install pod update
  3. <YYKit/YYKit.h>


  1. Cartfile github "ibireme/YYKit"
  2. carthage update --platform ios framework
  3. <YYKit/YYKit.h>
  4. : carthage framework webp webp CocoaPods
  1. YYKit
  2. YYKit ()
  3. NSObject+YYAddForARC.m NSThread+YYAdd.m -fno-objc-arc
  4. frameworks:
    • UIKit
    • CoreFoundation
    • CoreText
    • CoreGraphics
    • CoreImage
    • QuartzCore
    • ImageIO
    • AssetsLibrary
    • Accelerate
    • MobileCoreServices
    • SystemConfiguration
    • sqlite3
    • libz
  5. WebP Vendor/WebP.framework()
  6. YYKit.h

============== CocoaDocs API appledoc

============== iOS 6.0 Xcode 8.0

============== API API Category API API Category YYKit

============== YYKit MIT LICENSE

============== iOS

YYKit open issues Ask a question     (View All Issues)
  • about 4 years 微博cell 点击图片崩溃
  • about 4 years 关于YYDispatchQueuePool的一句代码
  • about 4 years 大神,有一个关于结构体和属性的问题想请教下。
  • about 4 years YYKit demo Archive成功后,进行validate,报错:error: -[__NSArrayM objectForKey:]: unrecognized selector sent to instance 0x7fe9c3cf57f0
  • about 4 years YYTextView 对语音输入支持有问题
  • about 4 years iOS 10 系统emoji表情字符串 计算时 一行的最后总是空一格 计算size 不正确
  • about 4 years 关于YYLabel 设置约束自动换行的问题
  • about 4 years YYDemo调试出现的问题
  • about 4 years /Users/**/**/GitHub/**/Pods/Headers/Public/YYKit/YYCGUtilities.h:49:23: Static declaration of 'RadiansToDegrees' follows non-static declaration
  • about 4 years errSecItemNotFound
  • about 4 years YYPhotoGroupView 不支持(双击)放大吗?
  • about 4 years YYLabel highlightTapAction
  • about 4 years YYLabel右对齐失效的问题
  • about 4 years 负16进制时BOOL suc = [scan scanHexInt:&num];返回NO,解析失败
  • about 4 years 什么时候可以适配下iOS10
  • about 4 years YYTextView设置textVerticalAlignment为YYTextVerticalAlignmentCenter时,设置dataDetectorTypes不能触发相应的点击事件代理
  • about 4 years ios10下,使用yylabel文字显示不全 (文字多,且分行的情况下)
  • about 4 years ios 10 emoji 表情键盘不能显示emoji表情
  • about 4 years app时间用长了,YYTextView输入文本的时候会有点卡
  • about 4 years YYLabel在iOS10上显示emoji没有垂直居中,导致底部有一点点遮盖
  • about 4 years 64位操作系统结构体对齐用8个字节,而且64位下long为64位
  • about 4 years Podfile中反注释use_frameworks!后YYLabel报属性重复定义
  • about 4 years 提交app store的时候遇到使用Non-public API的问题
  • about 4 years YYPhotoGroupView 预览大尺寸图片模糊问题
  • about 4 years 监听到真实的网络状态
  • about 4 years fadeOnAsynchronouslyDisplay label还是会闪动
  • over 4 years YYKit中UIView分类问题
  • over 4 years 可以把'sqlite3'的依赖去掉吗?
  • over 4 years yylabel的问题
  • over 4 years 关于网络图片加载的问题
YYKit open pull requests (View All Pulls)
  • 一个fps标签显示的状态和图片浏览器demo
  • add HitTest
  • Cocoapods Swift Dynamic Framework 编译错误
  • bug fix @200
  • 修改某些情况下退出全屏浏览图片的时候NavigationBar闪动bug
  • adjust the annotation
  • 修复YYTimer, 当 repeats == NO 时, selector 不执行的问题.
  • 清除一个警告
  • add type inference
  • fix bug for vertical form of YYLabel
  • refine coding
  • 修复YYText Demo 在iPhone7上点击Text Edit跳转崩溃的问题;
  • [UIDevice+YYKit] Add new devices support
  • 图片URL为空字符串时请求异常
  • fix bug on YYText by iOS 11
  • Fix warning and adaptive OS
  • Fix keyboard Bug
  • correct spelling error
  • 添加自定义粘贴图片的处理
  • fix the bug of the demo about the UIVisualEffectView in YYTextAsyncEx…
  • fix yykeychain leaks
  • 获取代码
  • UIDevice modelName
  • Update NSObject+YYModel.m
  • fix UIColor hexStrToRGBA RGB RGBA
  • fix YYWeakProxy 处理方法转发
  • fix issues #497 NSObject+YYAdd.m
  • add dayOfYear for NSDate
  • add property copy and customize encoding/decoding methods
  • fix [Text Edit page] UIVisualEffectView add subviews directly
  • 替换即将被废弃的NSURLConnection
  • 解决yylable在autolayout下自适应时设置对齐方式之后文本intrinsicContentSize计算错误的数值返回导致文本看…
  • Update UIDevice+YYAdd.m
YYKit list of languages used
Other projects in Objective-C
Powered by Autocode - Instant Webhooks, Scripts and APIs
Autocode logo wordmark