All Projects → BB9z → RFKit

BB9z / RFKit

Licence: other
Toolkit for daily Cocoa development. Since 2012.

Programming Languages

objective c
16641 projects - #2 most used programming language
c
50402 projects - #5 most used programming language
ruby
36898 projects - #4 most used programming language
swift
15916 projects
shell
77523 projects

Projects that are alternatives of or similar to RFKit

Swifterswift
A handy collection of more than 500 native Swift extensions to boost your productivity.
Stars: ✭ 10,706 (+53430%)
Mutual labels:  tvos, watchos, extensions, uikit
WebPKit
A framework that extends a variety of Cocoa APIs with capabilities for encoding and decoding WebP files for all of Apple's platforms.
Stars: ✭ 29 (+45%)
Mutual labels:  tvos, watchos, uikit
SwiftCurrent
A library for managing complex workflows in Swift
Stars: ✭ 286 (+1330%)
Mutual labels:  tvos, watchos, uikit
Swiftyutils
All the reusable code that we need in each project
Stars: ✭ 490 (+2350%)
Mutual labels:  tvos, watchos, extensions
Cocoalumberjack
A fast & simple, yet powerful & flexible logging framework for Mac and iOS
Stars: ✭ 12,584 (+62820%)
Mutual labels:  log, tvos, watchos
Swiftui
A collaborative list of awesome SwiftUI resources. Feel free to contribute!
Stars: ✭ 774 (+3770%)
Mutual labels:  tvos, watchos, uikit
Iso8601
ISO8601 date parser and writer
Stars: ✭ 213 (+965%)
Mutual labels:  tvos, watchos
Human Interface Guidelines Extras
Community additions to Apple's Human Interface Guidelines
Stars: ✭ 225 (+1025%)
Mutual labels:  tvos, watchos
Fire
🔥A delightful HTTP/HTTPS networking framework for iOS/macOS/watchOS/tvOS platforms written in Swift.
Stars: ✭ 243 (+1115%)
Mutual labels:  tvos, watchos
wwdc2018
You read my developer triceraptus migration notes from dub dub dc 2018
Stars: ✭ 48 (+140%)
Mutual labels:  tvos, watchos
Objc Sdk
LeanCloud Objective-C SDK
Stars: ✭ 186 (+830%)
Mutual labels:  tvos, watchos
Swiftui Sliders
🚀 SwiftUI Sliders with custom styles
Stars: ✭ 241 (+1105%)
Mutual labels:  tvos, watchos
WWDCNotes
WWDCNotes.com content
Stars: ✭ 343 (+1615%)
Mutual labels:  tvos, watchos
Cache
Swift caching library
Stars: ✭ 210 (+950%)
Mutual labels:  tvos, watchos
Htmlkit
An Objective-C framework for your everyday HTML needs.
Stars: ✭ 206 (+930%)
Mutual labels:  tvos, watchos
Wwdc
You don't have the time to watch all the WWDC session videos yourself? No problem me and many contributors extracted the gist for you 🥳
Stars: ✭ 2,561 (+12705%)
Mutual labels:  tvos, watchos
Ios Crash Dump Analysis Book
iOS Crash Dump Analysis Book
Stars: ✭ 158 (+690%)
Mutual labels:  tvos, watchos
Ramda Adjunct
Ramda Adjunct is the most popular and most comprehensive set of functional utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation.
Stars: ✭ 550 (+2650%)
Mutual labels:  toolkit, extensions
Futures
Lightweight promises for iOS, macOS, tvOS, watchOS, and Linux
Stars: ✭ 59 (+195%)
Mutual labels:  tvos, watchos
ScaledFont
ScaledFont - Using custom fonts with dynamic type
Stars: ✭ 50 (+150%)
Mutual labels:  tvos, watchos

RFKit

CocoaPods Build Status Codecov CocoaPods Carthage Compatible

English 简体中文 🇨🇳

RFKit is a useful toolkit for daily Cocoa development.

Requirements

RFKit Version Minimum Xcode Version Minimum iOS Target Minimum macOS Target Minimum watchOS Target Minimum tvOS Target
2.5+ Xcode 9 iOS 9 macOS 10.9 watchOS 2.0 tvOS 9.0
2.4 Xcode 8 iOS 8 macOS 10.8 watchOS 2.0 tvOS 9.0
2.0-2.3 Xcode 8 iOS 6 macOS 10.8 watchOS 2.0 tvOS 9.0
1.7 Xcode 7 iOS 6 macOS 10.8 watchOS 2.0 tvOS 9.0
1.6 Xcode 8 iOS 6 N/A watchOS 2.0 N/A

Install

CocoaPods

To install using CocoaPods, add the following to your project Podfile:

pod 'RFKit'

Specify develop branch to install the lastest version:

pod 'RFKit', :git => 'https://github.com/BB9z/RFKit.git', :branch => 'develop'

A more complex sample:

pod 'RFKit',
    :git => 'https://github.com/BB9z/RFKit.git',
    :subspecs => ['Default', 'Category/NSDateFormatter']

Carthage

Although I recommend using CocoaPods, Carthage is still supported.

Specify RFKit in your Cartfile:

github "BB9z/RFKit"

Manual

You can always import RFKit by adding source code into your project. Just copy any files you needs.

dout

dout contains a set of convenient log toolcha, which was designed for debugging.

Features:

  • Out out format is better than NSLog(), and more faster.

  • Auto add expression before the results.

    e.g.:

    int a = 10;
    dout_int(101+a)  // Output: 101+a = 111
  • Optimized for multiple threads debugging, you can easily find the output come from which thread.

  • Support add position information in log output to help tracking location of log statements. Set DOUT_FALG_TRACE as 1 to active.

  • Special log methods for warning and error. Can change theirs behave to throw exception or assert fail.

  • Behavior can be highly customizable through the switch.

  • As macro, usually no performance loss.

Details: dout Document(in Chinese)

RFRuntime

Handle build or runtime differences. Provides an unified and simple interface for upper components. Contains:debugging switch define, default header file, RFARC and language extensions.

Debugging switch

RFDEBUG, RFKit debug mode switch. Set as 1 to active. If it´s not defined, will defined as 1 when DEBUG is true and NDEBUG not defined.

RFDebugLevel, controlling debugging behavior. If it´s not defined, will be defined as 2 if RFDEBUG is true, otherwise 1.

Default header file

UIKit and Foundation header is included in RFRuntime by default.

RFFeatureSupport

Defined some fake protocols for declaring a class support something or not.

RFDispatch

Some helper function for GCD.

Language extensions

Include some components from libextobjc:

  • metamacros.h, macros for metaprogramming.
  • EXTKeyPathCoding, allows compile-time verification of key paths.
  • EXTScope, several tools relative to scope.

@keypathClassInstance is similar with @keypath, but accept a class as parameter instead of a instance variable.

UIKit & Foundation Categories

Important part of RFKit. They contains many useful methods.

RFKitDefaultCategories.h defends which extension is imported by default.

See each header file to know the specific features.

RFGeometry

Add new methods and constants for geometry structures: CGPoint, CGSize, CGRect. Add an new CGAngle angle structure.

RFResizeAnchor and RFAlignmentAnchor provides a reference for resizing and aligning.

RFPerformance & doutkit

Performance toolkit.

Others

Some external components were placed under external folder.

Change log

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].