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:fabrizio.brancati@gmail.com) 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./