Giter Site home page Giter Site logo

fabriziobrancati / bfkit Goto Github PK

View Code? Open in Web Editor NEW
798.0 46.0 125.0 17.59 MB

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

Home Page: https://www.fabriziobrancati.com

License: MIT License

Ruby 0.22% Objective-C 99.78%
bfkit objective-c carthage xcode cocoapods uikit foundation objective-c-extensions ios

bfkit's Introduction

BFKit Banner

Build Status Carthage compatible Version Language Platform License


Swift VersionWhat does it doLanguage supportRequirementsCommunicationContributingInstalling and UsageDocumentationChangelogDemoTodoAuthorLicense


Swift Version

If you are looking for Swift version check it out here: 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:

Foundation:

UIKit:

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 section.

Contributing :octocat:

See 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:

    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 <BFKit/BFKit.h>

  • 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:

    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:

    /usr/local/bin/carthage copy-frameworks

    Add the paths to the Queuer framework under Input Files

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

    Add the paths to the copied frameworks to the Output Files

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

    This script works around an App Store submission bug triggered by universal binaries and ensures that necessary bitcode-related files are copied when archiving

  • (Optional) Add Build Phase with the following contents

    /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

Demo

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

Todo

  • ➖ Create great tests and add Coveralls badge
  • ➖ Add support to macOS, watchOS and tvOS
  • ➖ Create a new Example App that shows all the functionalities of BFKit
  • ✔️ Add Carthage support
  • ✔️ Add to CocoaPods
  • ✔️ Create a great documentation

Author

Fabrizio Brancati

Website
Email

License

BFKit is available under the MIT license. See the LICENSE file for more info.

bfkit's People

Contributors

ashrafabubakr avatar bontangster avatar davidjelliott avatar duc-ios avatar durul avatar emersonbroga avatar emptyway avatar fabiosoft avatar fabriziobrancati avatar gabrielpeart avatar hiralin avatar insanoid avatar pontus-andersson avatar ramonvic avatar vanson avatar zxm9988 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bfkit's Issues

bug in NSFileManager+BFKit.m

" [self moveLocalFile:[NSString stringWithFormat:@"%@-Settings.plist", settings] fromDirectory:DirectoryTypeMainBundle toDirectory:DirectoryTypeLibrary withFolderName:@""] " in (id)getSettings:(NSString *)settings objectForKey:(NSString *)objKey and (BOOL)setSettings:NSString *)settings object:(id)value forKey:(NSString *)objKey;

if "withFolderName:@""" the %@-Settings.plist will be a folder with the name "/Library/App-Settings.plist/",isn't a file

([[NSFileManager defaultManager] copyItemAtPath:originPath toPath:destinationPath error:nil]) will fail because there has had a file " %@-Settings.plist ",but it's a folder,can not be read as a pist

the same bug in swift version

UIWebView deprecated issue in ObjectiveC Pod file

Actually, i'm using this pod file for my ObjectiveC projects. and, it's contains UIWebView classes.
As per the apple guidelines this is deprecated & you guys are fixed this issue on Swift pod file.

pod 'BFKit'
Could you please update this for ObjectiveC Pod file?

Support Language Issues

When I used BFKit, my app support language on appstory changed to 10 types. I think it's the BFKit language file. Do you have any good Suggestions to solve this problem? I'm not sure it's a BFKit problem. Thank you very much!
image

Error "Type of expression is ambiguous" between Timer and NSObject extension

Hello,

I'm getting a compiler error "Type of expression is ambiguous without more context".
Basically, it's the conflict between NSObject.isValid() and Timer.isValid.

I've noticed that 'isValid' is quite commonly used in some other third party libraries, e.g: Firebase. I wonder if it should be renamed to something else to avoid this conflict.

Cheers.

Fuc 'reversedArray' return wrong

  • (NSArray )reversedArray:(NSArray)array
    {
    NSMutableArray *arrayTemp = [NSMutableArray arrayWithCapacity:[array count]];
    NSEnumerator *enumerator = [array reverseObjectEnumerator];

    for(id element in enumerator) [arrayTemp addObject:element];

    return array;
    }

correct:
return arrayTemp;

NSString+BFKit maybe crash

  • (NSString *)searchInString:(NSString *)string charStart:(char)start charEnd:(char)end

This method,if I enter two identical characters,it will crash;

For example:
NSString *search = @"Search in #this# string!";
BFLog(@"Search: %@", [search searchCharStart:'#' charEnd:'#'])
it will crash.
I did a little bit of repair.

  • (NSString *)searchInString:(NSString *)string charStart:(char)start charEnd:(char)end
    {
    int inizio = 0, stop = 0;

    for(int i = 0; i < [string length]; i++)
    {
    if([string characterAtIndex:i] == start && inizio == 0)
    {
    inizio = i+1;
    i += 1;
    continue;
    }
    if([string characterAtIndex:i] == end)
    {
    stop = i;
    break;
    }
    }

    stop -= inizio;

    return [[string substringFromIndex:inizio] substringToIndex:stop];
    }

spelling error

Hi

just an FYI

for the first month of the year in english its January not Genuary which is misspelt in the NSDate category and in the localised file for english

:)

Use of @import when modules are disabled

Hey dude,

when i add BFKit folder to my project and #import "BFKit.h"
the errors pop:
Use of "@import" when modules are disabled

and i checked my build settings, it's all good, and i added all the required frameworks, so it's very weird
image

pod

could you plz make it pod

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.