Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/FabrizioBrancati/BFKit

BFKit is a collection of useful classes and categories to develop Apps faster.
https://github.com/FabrizioBrancati/BFKit

bfkit carthage cocoapods foundation ios objective-c objective-c-extensions uikit xcode

Last synced: 25 days ago
JSON representation

BFKit is a collection of useful classes and categories to develop Apps faster.

Awesome Lists containing this project

README

        

BFKit Banner

[![Build Status](https://travis-ci.com/FabrizioBrancati/BFKit.svg?branch=master)](https://travis-ci.com/FabrizioBrancati/BFKit)
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
[![Version](https://img.shields.io/cocoapods/v/BFKit.svg?style=flat)][CocoaDocs]
[![Language](https://img.shields.io/badge/language-Objective--C-blue.svg)](https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html)
[![Platform](https://img.shields.io/badge/platform-iOS-ffc713.svg)][CocoaDocs]
[![License](https://img.shields.io/badge/license-MIT-lightgrey.svg)](https://github.com/FabrizioBrancati/BFKit/blob/master/LICENSE)

---


Swift Version
What does it do
Language support
Requirements
Communication
Contributing
Installing and Usage
Documentation
Changelog
Demo
Todo
Author
License

---

Swift Version
=============

If you are looking for Swift version check it out here: **[BFKit Swift](https://github.com/FabrizioBrancati/BFKit-Swift)**

What does it do
===============

BFKit is a collection of useful classes to **develop Apps faster**.
For example you can use every iOS font with just an enum!
It also adds some useful method to some classes like:

### BFKit:
- [BFApp](http://cocoadocs.org/docsets/BFKit/1.10./Classes/BFApp.html)
- [BFButton](http://cocoadocs.org/docsets/BFKit/1.10./Classes/BFButton.html)
- BFDataStructures ([List](http://cocoadocs.org/docsets/BFKit/1.10./Classes/List.html) - [Queue](http://cocoadocs.org/docsets/BFKit/1.10./Classes/Queue.html) - [Stack](http://cocoadocs.org/docsets/BFKit/1.10./Classes/Stack.html))
- [BFLog](http://cocoadocs.org/docsets/BFKit/1.10./Classes/BFLog.html)
- [BFPassword](http://cocoadocs.org/docsets/BFKit/1.10./Classes/BFPassword.html)
- [BFSystemSound](http://cocoadocs.org/docsets/BFKit/1.10./Classes/BFSystemSound.html)
- [BFTouchID](http://cocoadocs.org/docsets/BFKit/1.10./Classes/BFTouchID.html) (iOS 8 or later)

### Foundation:
- [NSArray](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSArray+BFKit.html)
- [NSDate](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSDate+BFKit.html)
- [NSDictionary](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSDictionary+BFKit.html)
- [NSFileManager](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSFileManager+BFKit.html)
- [NSMutableArray](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSMutableArray+BFKit.html)
- [NSMutableDictionary](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSMutableDictionary+BFKit.html)
- [NSNumber](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSNumber+BFKit.html)
- [NSObject](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSObject+BFKit.html)
- [NSProcessInfo](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSProcessInfo+BFKit.html)
- [NSString](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSString+BFKit.html)
- [NSThread](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSThread+BFKit.html)

### UIKit:
- [UIBarButtonItem](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UIBarButtonItem+BFKit.html)
- [UIButton](http://cocoadocs.org/docsets/BFKit/1.10./Categories/NSArray+BFKit.html)
- [UIColor](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UIColor+BFKit.html)
- [UIDevice](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UIDevice+BFKit.html)
- [UIFont](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UIFont+BFKit.html)
- [UIImage](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UIImage+BFKit.html)
- [UIImageView](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UIImageView+BFKit.html)
- [UILabel](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UILabel+BFKit.html)
- [UINavigationBar](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UINavigationBar+BFKit.html)
- [UIScreen](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UIScreen+BFKit.html)
- [UIScrollView](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UIScrollView+BFKit.html)
- [UITableView](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UITableView+BFKit.html)
- [UITextField](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UITextField+BFKit.html)
- [UITextView](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UITextView+BFKit.html)
- [UIToolbar](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UIToolbar+BFKit.html)
- [UIView](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UIView+BFKit.html)
- [UIWindow](http://cocoadocs.org/docsets/BFKit/1.10./Categories/UIWindow+BFKit.html)

Language support
================

- Brazilian Portuguese (pt-Br)
- English (en)
- Indonesian (id)
- Italian (it)
- Russian (ru)
- Simplified Chinese (zh-Hans)
- Swedish (sv)
- Traditional Chinese (zh-Hant)
- Traditional Turkish (tr-TR)
- Ukrainian (uk)
- Vietnamese (vi)

Requirements
============

- iOS SDK **7.0** if you copy the Framework files (Source folder)
- iOS SDK **8.0** if you use it as a Framework
- **Xcode 7.0** or later
- **ARC**

Communication
=============

- If you need help, use Stack Overflow.
- If you found a bug, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute, see [Contributing](https://github.com/FabrizioBrancati/BFKit#contributing-octocat) section.

Contributing :octocat:
======================

See [CONTRIBUTING.md](https://github.com/FabrizioBrancati/BFKit/blob/master/.github/CONTRIBUTING.md) file.

Installing and Usage
====================

### iOS 7 or later compatible
#### Manual
- Copy the **Source** folder to the project
- Add the following frameworks to the project:
- **UIKit**
- **Foundation**
- **CoreImage**
- **CoreGraphics**
- **QuartzCore**
- **Accelerate**
- **AudioToolbox** (if you want to use **BFSystemSound** class)
- **LocalAuthentication** (if you want to use **BFTouchID** class, and set it as weak if your App runs on iOS 7)
- Import BFKit with ```#import "BFKit.h"```
- Enjoy!

#### CocoaPods
##### Pro version
- ```pod 'BFKit'```
- Import the Framework with ```import BFKit```
- Enjoy!

##### Newbie version
- Create a **Podfile** in your **project directory**
- Write:

```ruby
platform :ios, '7.0'
xcodeproj 'Project.xcodeproj'

pod 'BFKit'
```
- Change **"Project"** with your **real project name**
- Open **Terminal**, go to **project directory** and type: ```pod install```
- Import the Framework with ```#import ```
- Enjoy!

### iOS 8 or later compatible
#### Manual
- Open the **BFKit** folder and build the Framework from the project
- Import BFKit.framework into your project
- Add the following frameworks to the project:
- **UIKit**
- **Foundation**
- **CoreImage**
- **CoreGraphics**
- **QuartzCore**
- **Accelerate**
- **AudioToolbox** (if you want to use **BFSystemSound** class)
- **LocalAuthentication** (if you want to use **BFTouchID** class, and set it as weak if your App runs on iOS 7)
- Import the Framework with ```import BFKit```
- Enjoy!

#### Carthage
##### Pro version
- ```github "FabrizioBrancati/BFKit"```
- Import the Framework with ```import BFKit```
- Enjoy!

##### Newbie version
- Create a **Cartfile** in your **project directory**
- Write:

```ruby
github "FabrizioBrancati/BFKit"
```
- Open **Terminal**, go to **project directory** and type: ```carthage update```
- **Include the created Framework** in your project
- **Add Build Phase** with the following contents:

```sh
/usr/local/bin/carthage copy-frameworks
```

Add the paths to the Queuer framework under **Input Files**

```sh
$(SRCROOT)/Carthage/Build/iOS/BFKit.framework
```

Add the paths to the copied frameworks to the **Output Files**

```sh
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/BFKit.framework
```

This script works around an [App Store submission bug](http://www.openradar.me/radar?id=6409498411401216) triggered by universal binaries and ensures that necessary bitcode-related files are copied when archiving
- **(Optional)** Add Build Phase with the following contents

```sh
/usr/local/bin/carthage outdated --xcode-warnings
```

To automatically warn you when one of your dependencies is out of date
- Import the Framework with ```import BFKit```
- Enjoy!

Documentation
=============

### [CocoaDocs] - 100% Documented

Changelog
=========

To see what has changed in recent version of BFKit, see the **[CHANGELOG](https://github.com/FabrizioBrancati/BFKit/blob/master/CHANGELOG.md)**

Demo
====

Open and run the BFKitDemo project in Xcode and see BFKit in action!

Todo
====

- :heavy_minus_sign: Create great tests and add Coveralls badge
- :heavy_minus_sign: Add support to macOS, watchOS and tvOS
- :heavy_minus_sign: Create a new Example App that shows all the functionalities of BFKit
- :heavy_check_mark: Add Carthage support
- :heavy_check_mark: Add to CocoaPods
- :heavy_check_mark: Create a great documentation

Author
======

**Fabrizio Brancati**

[![Website](https://img.shields.io/badge/website-fabriziobrancati.com-4fb0c8.svg)](http://www.fabriziobrancati.com)


[![Email](https://img.shields.io/badge/email-fabrizio.brancati%40gmail.com-green.svg)](mailto:[email protected])

License
=======

BFKit is available under the MIT license. See the **[LICENSE](https://github.com/FabrizioBrancati/BFKit/blob/master/LICENSE)** file for more info.

[CocoaDocs]: http://cocoadocs.org/docsets/BFKit/1.10./