There's a lot of good third-party frameworks on GitHub.

Source: Internet
Author: User
Tags image filter oauth

Writing iOS programs often requires support from a number of third-party frameworks, which can significantly reduce workload and focus on the logic of the software itself.

GitHub has a lot of good third-party frameworks, and License is friendly to business. Take a look at some of the frameworks that almost every project wants to integrate.

Sdwebimageview

1. Mantle

Mantle allows us to simplify the model layer of COCOA and Cocoa Touch applications. To put it simply, a network request is often made in the program, and the request is generally a JSON string, and we typically build a model class to hold the data. This requires that we write a series of serialization code to convert the JSON to Model. This is time-consuming, error-prone, and not easy to modify. Mantle is a good solution to this problem and is easier to use.

    • Github:https://github.com/mantle/mantle

    • Reference:

      Tool article: Mantle
      SOURCE article: Mantle

    • Cocoapod integration: Pod ' mantle ', ' ~> 1.5.4 '

2. Masonry

In the IB era, if you're still using the code, the absolute layout is too low. With Apple released IPhone6, IPhone 6 Plus. IOS devices will have an increasingly rich screen size, and it's not possible to make a layout based on each size. Therefore, it is necessary to use AutoLayout. In storyboard, it can be very convenient to use AutoLayout, but in order to better co-development, some companies are still in the handwriting layout, frustrating is Apple provides the AutoLayout syntax is obscure, very impact on efficiency (you can dynamically see here AutoLayout's syntax). Masonry is designed to solve complex handwritten autolayout. How to use AutoLayout gracefully, and look at masonry.

    • Github:https://github.com/masonry/masonry

    • Reference: How to use, please see the README

    • Cocoapod integration: Pod ' masonry ', ' ~> 0.6.1 '

3. reachability

In the era of mobile internet, there should be few applications that do not require a network connection. Monitoring network connection status is almost an essential part. Reachability can do the job perfectly.

    • Github:https://github.com/tonymillion/reachability

    • Reference: The use of the method is very simple, see the README

    • Cocoapod integration: Pod ' reachability ', ' ~> 3.2 '

4. Blockskit

Blockskit is definitely the intimate companion of Objective-c, which provides a powerful Block syntax support for OC classes, making it comfortable, fast, and elegant to write OC code. Anyway I was absolutely inseparable from it.

    • Github:https://github.com/zwaldowski/blockskit

    • Reference: Block usage summary, using block in arc, how to prevent circular referencing (ZZ)

    • Cocoapod integration: Pod ' blockskit ', ' ~> 2.2.5 '

5. Kvocontroller

If you use KVO in your project, then Kvocontroller is definitely a good choice. It is a KVO enhanced framework for Facebook open source. There are several features:

    • Use Blocks, custom Actions, or nskeyvalueobserving callbacks for notifications.

    • No exception when Observer is removed

    • Implicit observer removal from controller Dealloc

    • Improve performance with nskeyvalueobservinginitial

    • Thread-safe and provides additional protection when the observer recovers

      Is there any reason not to use Kvocontroller?

    • Github:https://github.com/facebook/kvocontroller

    • Reference: Kvocontroller:facebook Open source KVO (key-value observing) tool

    • Cocoapod:pod ' Kvocontroller ', ' ~> 1.0.3 '

6. Mbprogresshud

A veteran, classic notification component, if you do not specifically design the art of waiting and notification view, then use it!

    • Github:https://github.com/jdg/mbprogresshud

    • Reference

    • Cocoapod:pod ' Mbprogresshud ', ' ~> 0.9 '

7. Odrefreshcontrol

Many companies design their own pull-up refresh view, such as the NetEase news IOS client, drop down when there will be ads. If you just need a drop-down refresh, then consider the Odrefreshcontrol, which is the original iOS6 on the rubber candy refresh style, very interesting. Now there are a lot of big apps in use, such as shrimp music and QQ client.

    • Github:https://github.com/sephiroth87/odrefreshcontrol

    • Reference

    • Cocoapod:pod ' Odrefreshcontrol ', ' ~> 1.1.0 '

8. Pop

Facebook is also open source. The famous pop, do animation is the perfect choice. Accept it.

    • Github:https://github.com/facebook/pop

    • Reference: Facebook Pop usage Guide popping (use instance of Pop)

    • Cocoapod:pod ' Pop ', ' ~> 1.0.7 '

9. afnetworking

OBJECTIVE-C the network Request library.

    • Github:https://github.com/afnetworking/afnetworking

    • Reference

    • Cocoapod:pod ' afnetworking ', ' ~> 2.5.0 '

Svprogresshud Hint effect

Github:https://github.com/samvermette/svprogresshud

Svprogresshud and Mbprogresshud have the same effect, but don't need to use protocols, and you don't need to declare instances.

The call can be made directly from the class method:

[Svprogresshud Method]

You can use the following methods to display the status:

+ (void) show;+ (void) Showwithmasktype: (svprogresshudmasktype) masktype;+ (void) Showwithstatus: (nsstring*) string;+ ( void) Showwithstatus: (nsstring*) string Masktype: (Svprogresshudmasktype) Masktype;

If you need clear progress, use the following methods:

+ (void) ShowProgress: (cgfloat) progress;+ (void) ShowProgress: (cgfloat) Progress Status: (nsstring*) status;+ (void) ShowProgress: (cgfloat) Progress Status: (nsstring*) status Masktype: (Svprogresshudmasktype) Masktype;

To hide a hint by using the dismiss method:

+ (void) dismiss;

In addition, the following methods are available for displaying the status and automatically hiding the hint after 1 seconds (the icon used from glyphish:http://www.glyphish.com/):

+ (void) Showsuccesswithstatus: (nsstring*) string;+ (void) Showerrorwithstatus: (NSString *) string;+ (void) ShowImage: ( uiimage*) Image status: (nsstring*) string; Use 28x28 white PNGs
Zaactivitybar Hint effect

Github:https://github.com/zacaltman/zaactivitybar

Zaactivitybar and Svprogresshud are very similar, providing a more concise API to show the effects of hints.

The animation effect used by Zaactivitybar is derived from zkbounceanimation (https://github.com/khanlou/SKBounceAnimation), and the success and failure status icons are derived from Pictos ( http://pictos.cc/).

Show Load Status:

[Zaactivitybar showwithstatus:@ "Loading ..."];

Show success and failure status:

[Zaactivitybar showsuccesswithstatus:@ "Success!"]; [Zaactivitybar showerrorwithstatus:@ "Failure!"];

Hidden hints:

[Zaactivitybar dismiss];

Official: http://sbjson.org/

Github:https://github.com/stig/json-framework

Uiactivityindicator-for-sdwebimage display loading effect for Sdwebimage

Github:https://github.com/jjsaccolo/uiactivityindicator-for-sdwebimage

To display the load effect (Uiactivityindicatorview implementation) when loading a picture for sdwebimage in Uiimageview, it provides the following methods:

-(void) Setimagewithurl: (nsurl *) URL Usingactivityindicatorstyle: (uiactivityindicatorviewstyle) activityStyle;-( void) Setimagewithurl: (nsurl *) URL placeholderimage: (UIImage *) placeholder Usingactivityindicatorstyle: ( Uiactivityindicatorviewstyle) activitystyle;-(void) Setimagewithurl: (nsurl *) URL placeholderimage: (UIImage *) Placeholder options: (sdwebimageoptions) options Usingactivityindicatorstyle: (Uiactivityindicatorviewstyle) activitystyle;-(void) Setimagewithurl: (nsurl *) URL completed: (sdwebimagecompletedblock) Completedblock Usingactivityindicatorstyle: (Uiactivityindicatorviewstyle) activitystyle;-(void) Setimagewithurl: (NSURL *) URL Placeholderimage: (UIImage *) placeholder completed: (sdwebimagecompletedblock) Completedblock Usingactivityindicatorstyle: (Uiactivityindicatorviewstyle) activitystyle;-(void) Setimagewithurl: (NSURL *) URL Placeholderimage: (UIImage *) placeholder options: (sdwebimageoptions) options completed: (Sdwebimagecompletedblock) Completedblock Usingactivityindicatorstyle: (uiactiVityindicatorviewstyle) activitystyle;-(void) Setimagewithurl: (nsurl *) URL placeholderimage: (UIImage *) placeholder Options: (Sdwebimageoptions) Options Progress: (Sdwebimagedownloaderprogressblock) Progressblock completed: ( Sdwebimagecompletedblock) Completedblock Usingactivityindicatorstyle: (uiactivityindicatorviewstyle) ActivityStyle ;
Uiimage+resize Resizing a picture

Github:https://github.com/coryalder/uiimage_resize

There are a number of ways to set transparency, fillet, crop, resize, and so on for a picture:

-(UIImage *) imagewithalpha;-(UIImage *) Transparentborderimage: (Nsuinteger) bordersize;-(UIImage *) Roundedcornerimage: (Nsinteger) cornersize bordersize: (Nsinteger) bordersize;-(UIImage *) Croppedimage: (CGRect) bounds;-(UIImage *) thumbnailimage: (nsinteger) thumbnailsize          transparentborder: (nsuinteger) bordersize               Cornerradius: (nsuinteger) Cornerradius       interpolationquality: (cginterpolationquality) quality;-(UIImage *) Resizedimage: (cgsize) newSize     interpolationquality: (cginterpolationquality) quality;-(UIImage *)  Resizedimagewithcontentmode: (uiviewcontentmode) Contentmode                       bounds: (cgsize) bounds         interpolationquality :(cginterpolationquality) quality;

For more detailed use see: http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/

Imagecacheresize loading pictures, caches, and resizing asynchronously

Github:https://github.com/toptierlabs/imagecacheresize

Integrates the functions of sdwebimage and uiimage+resize for asynchronous loading, caching, and resizing of images and displaying them on Uiimageview after the download is complete.

The following APIs are available for loading pictures and resizing pictures when loading is complete:

-(void) Setimagewithurl: (nsurl *) URL andcroptobounds: (cgrect) bounds;-(void) Setimagewithurl: (nsurl *) URL andresize: ( cgsize) Size Withcontentmode: (uiviewcontentmode) mode;-(void) Setimagewithurl: (nsurl *) URL placeholderimage: (UIImage *) Placeholder andcroptobounds: (cgrect) bounds;-(void) Setimagewithurl: (nsurl *) URL placeholderimage: (UIImage *) Placeholder options: (sdwebimageoptions) Options  andresize: (cgsize) size;-(void) Setimagewithurl: (nsurl *) URL Placeholderimage: (UIImage *) placeholder options: (sdwebimageoptions) Options  andresize: (cgsize) size Withcontentmode: (uiviewcontentmode) mode;-(void) Setimagewithurl: (nsurl *) URL placeholderimage: (UIImage *) Placeholder options: (sdwebimageoptions) Options  andcroptobounds: (cgrect) bounds;

The method of use is as simple as sdwebimage, as in the following official example:

[ImageView setimagewithurl:[nsurl urlwithstring:@ "HTTP://T0.GSTATIC.COM/IMAGES?Q=TBN: And9gcqfrahpiabjey8iddbe9ouqyhmtwfuav9zrr0rykuovf_epe8fp5a "] Andresize:cgsizemake (WithContentMode): Uiviewcontentmodescaleaspectfit]; Proportionally scale [ImageView setimagewithurl:[nsurl urlwithstring:@ http://t0.gstatic.com/images?q=tbn: And9gcqfrahpiabjey8iddbe9ouqyhmtwfuav9zrr0rykuovf_epe8fp5a "] Andcroptobounds:cgrectmake (0, 0, 100, 100)]; Cut into 100x100 size

Stableviewcontroller drop-down refresh, pull-up load more

Github:https://github.com/shiki/stableviewcontroller

Stableviewcontroller is more than Pulltorefresh a pull-up load more features, use is almost simple, need to inherit from Stableviewcontroller, and then implement some methods:

-(void) viewdidload{[Super Viewdidload];  Self.title = @ "Stableviewcontroller Demo";    [Self.tableview Setbackgroundcolor:[uicolor Lightgraycolor];    You need to create two custom views to show "drop-down Refresh", "Pull up load more" Self.headerview = Headerview;  Self.footerview = Footerview;    } #pragma mark-pull to refresh-(void) pinheaderview{[Super Pinheaderview];    The drop-down refresh view shows some load animations}-(void) unpinheaderview{[Super Unpinheaderview]; Drop-down refresh view stop animation}-(void) Headerviewdidscroll: (BOOL) willrefreshonrelease ScrollView: (Uiscrollview *) scrollview{//  The drop-down refresh view displays the status information if (willrefreshonrelease)//hv.title.text = @ "Refresh after release ..."; else//hv.title.text = @ "drop-down Refresh ...";} -(BOOL) refresh{if (![    Super Refresh]) return NO;  Drop-down refresh load data [self performselector: @selector (additemsontop) Withobject:nil afterdelay:2.0]; return YES;} #pragma mark-load more-(void) willbeginloadingmore{//Pull up load more view load animation}-(void) loadmorecompleted{[Super Loadmorecomple  Ted]; Pull up load more view stop animation if (!self.canloadmore) {////No more data when executing code ...}} - (BOOL) loadmore{if (![    Super Loadmore]) return NO;  Pull-up loads more data [self performselector: @selector (additemsonbottom) Withobject:nil afterdelay:2.0]; return YES;}    -(void) additemsontop{//Load data ...    [Self.tableview Reloaddata]; Data load completion notification pull-up view [self refreshcompleted];}  -(void) additemsonbottom{//load more data ...    [Self.tableview Reloaddata];    By judging whether the setting can load more//self.canloadmore = NO; Data load completion notification drop-down view [self loadmorecompleted];}
Svpulltorefresh drop-down refresh, pull-up load more

Github:https://github.com/samvermette/svpulltorefresh

Contains Svpulltorefresh + svinfinitescrolling for UITableView to provide drop-down refresh, pull-up load more features.

It is also quite simple to use, as long as the following methods are implemented in Uitableviewcontroller:

-(void) viewdidload {    [super viewdidload];    __weak Svviewcontroller *weakself = self;        Set the drop-down refresh    [Self.tableview addpulltorefreshwithactionhandler:^{        [weakself insertrowattop];    }];            Set pull-up to load more    [Self.tableview addinfinitescrollingwithactionhandler:^{        [weakself insertrowatbottom];    }];} -(void) Viewdidappear: (BOOL) animated {    [TableView Triggerpulltorefresh];} -(void) Insertrowattop {    //Get data ....        Stop animation    [Self.tableView.pullToRefreshView stopanimating];} -(void) Insertrowatbottom {    //Get data ....        Stop animation    [WeakSelf.tableView.infiniteScrollingView stopanimating];}
Cmpoptipview Tip Information

Github:https://github.com/chrismiles/cmpoptipview

Cmpoptipview is used to display prompt information on some views:

Self.tipview = [[Cmpoptipview alloc] initwithmessage:@ "prompt message"];self.tipview.delegate = self; [Self.tipview Presentpointingatview:anybutton InView:self.view Animated:yes]; Click the button to display [Self.tipview Presentpointingatbarbuttonitem:barbuttonitem animated:yes]; Click the Navigation bar button to display    #pragma mark Cmpoptipviewdelegate methods-(void) Poptipviewwasdismissedbyuser: (Cmpoptipview *) Poptipview {  //cleanup resource  Self.tipview = nil;}

Github:https://github.com/vicpenap/prettykit

Custom UI components such as UITableViewCell, Uinavigationbar, Uitabbar, Uitoolbar, etc., are more aesthetically pleasing than the system itself.

Github:https://github.com/sobri909/mgbox2

Providing some custom UI components makes it easier and faster to create tables, grid layouts, Rich text rendering, block-based event mechanisms, etc., including: Mgbox, Mgtablebox, mgtableboxstyled, Mgscrollview, Mgbutton, Mgevents, Mgeasyframe, mgline, etc., where Mgbox also supports the screenshot method.

Github:https://github.com/jverkoey/nimbus

The well-known framework provides a very rich set of UI components that can make development easier and more efficient.

Github:https://github.com/grouper/flatuikit

A flat design UI component, similar to WP or IOS7 style.

Github:https://github.com/muccy/mukmediagallery

Media Library effects, support for pictures, videos, and audio.

Ptshowcaseviewcontroller

Github:https://github.com/exalted/ptshowcaseviewcontroller

Also a media library effect, supported by more formats, including: Pictures, videos, PDFs, etc.

Github:https://github.com/mwaterfall/mwphotobrowser

Image display effect, support local and remote pictures, use is also relatively simple, as long as the implementation of the Mwphotobrowserdelegate protocol:

@interface Testviewcontroller () <mwphotobrowserdelegate>{nsarray *_photos;}        -(void) doAction {Nsmutablearray *photos = [[Nsmutablearray alloc] init]; For (...) {mwphoto* photo = [MWPhoto photowithurl:[nsurl urlwithstring:url];//Set picture address Photo.caption = Descr Iption;        setting description [photos Addobject:photo];        } _photos = photos;        Mwphotobrowser *browser = [[Mwphotobrowser alloc] initwithdelegate:self];                Browser.displayactionbutton = YES;        Uinavigationcontroller *NC = [[Uinavigationcontroller alloc] initwithrootviewcontroller:browser];        Nc.modaltransitionstyle = Uimodaltransitionstylecrossdissolve; [Self presentmodalviewcontroller:nc animated:yes];}    #pragma mark-mwphotobrowserdelegate-(Nsuinteger) Numberofphotosinphotobrowser: (Mwphotobrowser *) PhotoBrowser { return _photos.count;} -(MWPhoto *) Photobrowser: (Mwphotobrowser *) Photobrowser Photoatindex: (nsuinteger) Index {if (index &LT    _photos.count) return [_photos Objectatindex:index]; return nil;}
Ios-image-filters

Github:https://github.com/esilverberg/ios-image-filters

offers a variety of image filter effects.

PDF Reader Core for IOS

Github:https://github.com/vfr/reader

PDF Reader Core.

Github:https://github.com/cocoanetics/dtcoretext

Support for rich text display such as HTML.

Github:https://github.com/fuerteinternational/ftcoretext

Rich Text view

Github:https://github.com/akosma/coretextwrapper

Support for multi-column text views

Github:https://github.com/nicklockwood/base64

Provides BASE64 encoding of a string

Github:https://github.com/rnapier/rncryptor

Provides AES encryption method

From the community member li_zhi0123 share:
Member Blog:
http://blog.csdn.net/wstarx/article/details/6317779
http://iosdeveloper.diandian.com/post/2011-05-21/932272

Develop several common open source class libraries and:
1.jsonjson encoding and decoding
2.GTMBASE64 base64 encoding and decoding
3.TouchXML parsing
4.SFHFKeychainUtils safely save user password to Keychain
5.MBProgressHUD Awesome one loading wait effect frame
6.ASIHTTPRequest and other related protocol encapsulation
7.EGORefreshTableHeaderView drop-Down refresh code
8.AsyncImageView asynchronously loads a picture and caches the code
9. The erection of similar setting is also a column procedure 
10.mbprogresshud--Progress Indicator repertoires
11.flurry--Detailed usage statistics
12.coreplot--2d graphic Plotter
13.GData Client--iphone All Google related services on the class library
14.sdwebimage--Simplified Network image processing
15.regexkitlite--Regular Expression support

Libraries that may be used:
1.EXIF:SVN Checkout Http://iphone-exif.google.code.com/svn/trunk/iphone-exif
2. Image processing: SVN checkout http://simple-iphone-image-processing.googlecode.com/svn/trunk/ Simple-iphone-image-processing-read-only


AppStore software ranking related, 工欲善其事, its prerequisite.
1. Download ranking Related: AppAnnie
2. User Behavior Analysis: Flurry
3.majicrank-Countries Ranking query tool (recommended)
4.appviz-app Sales Statistics software (recommended)
5.podviz-user reviews and other viewing tools
6.appfigures-Report Statistics Analysis tool

Develop several common open source class libraries and: Reference 1.json JSON encoding decoding 2. GTMBASE64 base64 encoding decoding 3. Touchxml XML parsing 4. Sfhfkeychainutils safely save user password to keychain in 5. Mbprogresshud is a great loading wait effect frame 6. ASIHTTPRequest HTTP and other related protocols encapsulation 7. Egorefreshtableheaderview drop-down refresh code 8. Asyncimageview asynchronously loads the picture and caches the code 9. Similar to the setting of the erection of the column procedure

Scan WiFi Information:
http://code.google.com/p/uwecaugmentedrealityproject/
http://code.google.com/p/iphone-wireless/

Barcode Scanning: http://zbar.sourceforge.net/iphone/sdkdoc/install.html

TCP/IP communication protocol: http://code.google.com/p/cocoaasyncsocket/

VOIP/SIP:
http://code.google.com/p/siphon/
http://code.google.com/p/asterisk-voicemail-for-iphone/
http://code.google.com/p/voiphone/

Three20:https://github.com/facebook/three20

Google gdata:http://code.google.com/p/gdata-objectivec-client/

720 Panorama Display panoramagl:http://code.google.com/p/panoramagl/

Jabber client:http://code.google.com/p/ichabber/

plblocks:http://code.google.com/p/plblocks/

Image processing
http://code.google.com/p/simple-iphone-image-processing/

JSON encoded decoding: http://code.google.com/p/json-framework

Base64 encoding decoding: http://code.google.com/p/google-toolbox-for-mac/source/browse/trunk/Foundation/?r=87

XML parsing: Https://github.com/schwa/TouchXML

Safely save user password to keychain: Https://github.com/ldandersen/scifihifi-iphone

Load wait effects framework (Private API): Https://github.com/jdg/MBProgressHUD

HTTP and other related protocols encapsulation: Http://allseeing-i.com/ASIHTTPRequest

Drop-Down Refresh code: Https://github.com/enormego/EGOTableViewPullRefresh

Load the picture asynchronously and cache the code: http://www.markj.net/iphone-asynchronous-table-image/

iphone Tts:https://bitbucket.org/sfoster/iphone-tts

iphone cook book Source: https://github.com/erica/iphone-3.0-cookbook-
iphone Regular expression: http://regexkit.sourceforge.net/RegexKitLite/

OAuth Authentication: http://code.google.com/p/oauth/
http://code.google.com/p/oauthconsumer/

GitHub has a large number of excellent third-party frameworks

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.