SlideShare a Scribd company logo
Hızlı Cocoa Geliştirme
        @sarperdag
GitHub
https://github.com/languages/Objective-C
AFNetworking
    https://github.com/AFNetworking/AFNetworking

NSURL	
  *url	
  =	
  [NSURL	
  URLWithString:@"https://alpha-­‐api.app.net/stream/0/posts/stream/global"];
NSURLRequest	
  *request	
  =	
  [NSURLRequest	
  requestWithURL:url];
AFJSONRequestOperation	
  *operation	
  =	
  [AFJSONRequestOperation	
  
JSONRequestOperationWithRequest:request	
  success:^(NSURLRequest	
  *request,	
  NSHTTPURLResponse	
  
*response,	
  id	
  JSON)	
  {
	
  	
  	
  	
  NSLog(@"App.net	
  Global	
  Stream:	
  %@",	
  JSON);
}	
  failure:nil];
[operation	
  start];
FSNetworking
                 https://github.com/foursquare/FSNetworking
NSURL	
  *url	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  =	
  ...;	
  //	
  required
NSDictionary	
  *headers	
  	
  	
  	
  	
  =	
  ...;	
  //	
  optional
NSDictionary	
  *parameters	
  	
  =	
  ...;	
  //	
  optional

FSNConnection	
  *connection	
  =
[FSNConnection	
  withUrl:url
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  method:FSNRequestMethodGET
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  headers:headers
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  parameters:parameters
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  parseBlock:^id(FSNConnection	
  *c,	
  NSError	
  **error)	
  {
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return	
  [c.responseData	
  dictionaryFromJSONWithError:error];
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }
	
  	
  	
  	
  	
  	
  	
  completionBlock:^(FSNConnection	
  *c)	
  {
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  NSLog(@"complete:	
  %@n	
  	
  error:	
  %@n	
  	
  parseResult:	
  %@n",	
  c,	
  c.error,	
  
c.parseResult);
	
  	
  	
  	
  	
  	
  	
  }
	
  	
  	
  	
  	
  	
  	
  	
  	
  progressBlock:^(FSNConnection	
  *c)	
  {
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  NSLog(@"progress:	
  %@:	
  %.2f/%.2f",	
  c,	
  c.uploadProgress,	
  
c.downloadProgress);
	
  	
  	
  	
  	
  	
  	
  	
  	
  }];

[connection	
  start];
RestKIT
                              https://github.com/RestKit/RestKit

@interface	
  Tweet	
  :	
  NSObject
@property	
  (nonatomic,	
  copy)	
  NSNumber	
  *userID;
@property	
  (nonatomic,	
  copy)	
  NSString	
  *username;
@property	
  (nonatomic,	
  copy)	
  NSString	
  *text;
@end

RKObjectMapping	
  *mapping	
  =	
  [RKObjectMapping	
  mappingForClass:[RKTweet	
  class]];
[mapping	
  addAttributeMappingsFromDictionary:@{
	
  	
  	
  	
  @"user.name":	
  	
  	
  @"username",
	
  	
  	
  	
  @"user.id":	
  	
  	
  	
  	
  @"userID",
	
  	
  	
  	
  @"text":	
  	
  	
  	
  	
  	
  	
  	
  @"text"
}];

RKResponseDescriptor	
  *responseDescriptor	
  =	
  [RKResponseDescriptor	
  responseDescriptorWithMapping:mapping	
  pathPattern:nil	
  
keyPath:nil	
  statusCodes:nil];
NSURL	
  *url	
  =	
  [NSURL	
  URLWithString:@"http://api.twitter.com/1/statuses/public_timeline.json"];
NSURLRequest	
  *request	
  =	
  [NSURLRequest	
  requestWithURL:url];
RKObjectRequestOperation	
  *operation	
  =	
  [[RKObjectRequestOperation	
  alloc]	
  initWithRequest:request	
  
responseDescriptors:@[responseDescriptor]];	
  
[operation	
  setCompletionBlockWithSuccess:^(RKObjectRequestOperation	
  *operation,	
  RKMappingResult	
  *result)	
  {
	
  	
  	
  	
  NSLog(@"The	
  public	
  timeline	
  Tweets:	
  %@",	
  [result	
  array]);
}	
  failure:nil];
[operation	
  start];
MBProgressHUD
https://github.com/jdg/MBProgressHUD
               MBProgressHUD	
  *hud	
  =	
  [MBProgressHUD	
  
               showHUDAddedTo:self.view	
  animated:YES];
               hud.mode	
  =	
  MBProgressHUDModeAnnularDeterminate;
               hud.labelText	
  =	
  @"Loading";
               [self	
  
               doSomethingInBackgroundWithProgressCallback:^(float	
  
               progress)	
  {
               	
  	
  	
  	
  hud.progress	
  =	
  progress;
               }	
  completionCallback:^{
               	
  	
  	
  	
  [MBProgressHUD	
  hideHUDForView:self.view	
  
               animated:YES];
               }];
SVPullToRefresh
 https://github.com/samvermette/SVPullToRefresh
[tableView	
  addPullToRefreshWithActionHandler:^{
	
  	
  	
  	
  //	
  prepend	
  data	
  to	
  dataSource,	
  insert	
  cells	
  at	
  top	
  of	
  table	
  view
	
  	
  	
  	
  //	
  call	
  [tableView.pullToRefreshView	
  stopAnimating]	
  when	
  done
}];
ColorSense
  https://github.com/omz/ColorSense-for-Xcode

      Plugin for Xcode to make working with
                 colors more visual

http://www.youtube.com/watch?v=eblRfDQM0Go
NUI
https://github.com/tombenner/nui
NUI
@primaryFontName:	
  HelveticaNeue;
@secondaryFontName:	
  HelveticaNeue-­‐Light;
@primaryFontColor:	
  #333333;
@primaryBackgroundColor:	
  #E6E6E6;

Button	
  {
	
  	
  	
  	
  background-­‐color:	
  @primaryBackgroundColor;
	
  	
  	
  	
  border-­‐color:	
  #A2A2A2;
	
  	
  	
  	
  border-­‐width:	
  @primaryBorderWidth;
	
  	
  	
  	
  font-­‐color:	
  @primaryFontColor;
	
  	
  	
  	
  font-­‐color-­‐highlighted:	
  #999999;
	
  	
  	
  	
  font-­‐name:	
  @primaryFontName;
	
  	
  	
  	
  font-­‐size:	
  18;
	
  	
  	
  	
  corner-­‐radius:	
  7;
}
NavigationBar	
  {
	
  	
  	
  	
  background-­‐tint-­‐color:	
  @primaryBackgroundColor;
	
  	
  	
  	
  font-­‐name:	
  @secondaryFontName;
	
  	
  	
  	
  font-­‐size:	
  20;
	
  	
  	
  	
  font-­‐color:	
  @primaryFontColor;
PSTCollectionView
   https://github.com/steipete/PSTCollectionView
Open Source, 100% API compatible replacement of UICollectionView for iOS4.3+



UICollectionViewFlowLayout	
  *flowLayout	
  =	
  
[UICollectionViewFlowLayout	
  new];
PSTCollectionView	
  *collectionView	
  =	
  
[PSTCollectionView	
  alloc]	
  
initWithFrame:self.view.bounds	
  
collectionViewLayout:
(PSTCollectionViewFlowLayout	
  *)flowLayout];
QuickDialog
https://github.com/escoz/QuickDialog
BlockAlerts
https://github.com/gpambrozio/BlockAlertsAnd-
                  ActionSheets
                   BlockAlertView	
  *alert	
  =	
  [BlockAlertView	
  alertWithTitle:@"Alert	
  Title"
                   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  message:@"This	
  is	
  a	
  very	
  long	
  
                   message,	
  designed	
  just	
  to	
  show	
  you	
  how	
  smart	
  this	
  class	
  is"];

                   [alert	
  addButtonWithTitle:@"Do	
  something	
  cool"	
  block:^{
                   	
  	
  	
  	
  //	
  Do	
  something	
  cool	
  when	
  this	
  button	
  is	
  pressed
                   }];

                   [alert	
  setCancelButtonWithTitle:@"Please,	
  don't	
  do	
  this"	
  block:^{
                   	
  	
  	
  	
  //	
  Do	
  something	
  or	
  nothing....	
  This	
  block	
  can	
  even	
  be	
  nil!
                   }];

                   [alert	
  setDestructiveButtonWithTitle:@"Kill,	
  Kill"	
  block:^{
                   	
  	
  	
  	
  //	
  Do	
  something	
  nasty	
  when	
  this	
  button	
  is	
  pressed
                   }];
SEHumanizedTimeDiff
  https://github.com/sarperdag/SEHumanizedTimeDiff
//1	
  minute
myLabel.text	
  =	
  [[NSDate	
  dateWithTimeIntervalSinceNow:-­‐360]
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  stringWithHumanizedTimeDifference:NSDateHumanizedSuffixNone
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  withFullString:NO];
//This	
  will	
  return	
  @"1m"

//2	
  days
myLabel.text	
  =	
  [[NSDate	
  dateWithTimeIntervalSinceNow:-­‐3600*24*2]
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  stringWithHumanizedTimeDifference:NSDateHumanizedSuffixAgo
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  withFullString:YES];
//This	
  will	
  return	
  @"2	
  days	
  ago"
HPSocialNetworkManager
https://github.com/Hipo/HPSocialNetworkManager


  iOS framework for handling authentication to
  Facebook and Twitter with reverse-auth support.
STTweetLabel
           https://github.com/
   SebastienThiebaud/STTweetLabel/
  STTweetLabel	
  *tweetLabel	
  =	
  [[STTweetLabel	
  alloc]	
  initWithFrame:CGRectMake(20.0,	
  
  60.0,	
  280.0,	
  200.0)];

  	
  	
  	
  	
  [tweetLabel	
  setFont:[UIFont	
  fontWithName:@"HelveticaNeue"	
  size:17.0]];
  	
  	
  	
  	
  [tweetLabel	
  setTextColor:[UIColor	
  blackColor]];
  	
  	
  	
  	
  [tweetLabel	
  setDelegate:self];
  	
  	
  	
  	
  [tweetLabel	
  setText:@"Hi.	
  This	
  is	
  a	
  new	
  tool	
  for	
  @you!	
  Developed	
  by-­‐
  >@SebThiebaud	
  for	
  #iPhone	
  #ObjC...	
  ;-­‐)	
  My	
  GitHub	
  page:	
  https://t.co/pQXDoiYA"];
  	
  	
  	
  	
  [self.view	
  addSubview:tweetLabel];
DTCoreText
https://github.com/Cocoanetics/DTCoreText
iRate
https://github.com/nicklockwood/iRate
  iRate is a library to help you promote your iPhone and
  Mac App Store apps by prompting users to rate the
  app after using it for a few days. This approach is one
  of the best ways to get positive app reviews by
  targeting only regular users (who presumably like the
  app or they wouldn't keep using it!).
iOSImageFilters
https://github.com/esilverberg/ios-image-filters
                                  #import	
  "ImageFilter.h"
                                  UIImage	
  *image	
  =	
  [UIImage	
  
                                  imageNamed:@"landscape.jpg"];
                                  self.imageView.image	
  =	
  [image	
  sharpen];
                                  //	
  Or
                                  self.imageView.image	
  =	
  [image	
  saturate:
                                  1.5];
                                  //	
  Or
                                  self.imageView.image	
  =	
  [image	
  lomo];
CorePlot
http://code.google.com/p/core-plot/
Hızlı Cocoa Geliştirme (Develop your next cocoa app faster!)
TestFlight
https://testflightapp.com/
CocoaControls
http://www.cocoacontrols.com
BinPress
Good artists copy; great artists steal
                                     Steve Jobs

More Related Content

PDF
Search and play more than 50 clips
PDF
Containers & Dependency in Ember.js
PDF
Making the Most of Your Gradle Build
PDF
Présentation de HomeKit
PDF
Making the Most of Your Gradle Build
KEY
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
PDF
Everybody Loves AFNetworking ... and So Can you!
PDF
Working with AFNetworking
Search and play more than 50 clips
Containers & Dependency in Ember.js
Making the Most of Your Gradle Build
Présentation de HomeKit
Making the Most of Your Gradle Build
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Everybody Loves AFNetworking ... and So Can you!
Working with AFNetworking

What's hot (20)

PDF
Javascript call ObjC
PPTX
Workshop: Async and Parallel in C#
PDF
Future of Web Apps: Google Gears
PDF
Developing iOS REST Applications
PPTX
The Many Ways to Build Modular JavaScript
PDF
Aplicações assíncronas no Android com
Coroutines & Jetpack
PDF
Droidcon ES '16 - How to fail going offline
PDF
V2 and beyond
PDF
Arquillian Constellation
PDF
Aplicações assíncronas no Android com
Coroutines & Jetpack
PPTX
Python Code Camp for Professionals 2/4
PPTX
10 tips for making Bash a sane programming language
PDF
Google Back To Front: From Gears to App Engine and Beyond
PDF
Django Celery - A distributed task queue
PDF
Flask Introduction - Python Meetup
PPTX
Async Frontiers
PDF
Zenly - Reverse geocoding
PDF
Python Flask app deployed to OPenShift using Wercker CI
PDF
Something about Golang
PDF
[JCConf 2020] 用 Kotlin 跨入 Serverless 世代
Javascript call ObjC
Workshop: Async and Parallel in C#
Future of Web Apps: Google Gears
Developing iOS REST Applications
The Many Ways to Build Modular JavaScript
Aplicações assíncronas no Android com
Coroutines & Jetpack
Droidcon ES '16 - How to fail going offline
V2 and beyond
Arquillian Constellation
Aplicações assíncronas no Android com
Coroutines & Jetpack
Python Code Camp for Professionals 2/4
10 tips for making Bash a sane programming language
Google Back To Front: From Gears to App Engine and Beyond
Django Celery - A distributed task queue
Flask Introduction - Python Meetup
Async Frontiers
Zenly - Reverse geocoding
Python Flask app deployed to OPenShift using Wercker CI
Something about Golang
[JCConf 2020] 用 Kotlin 跨入 Serverless 世代
Ad

Similar to Hızlı Cocoa Geliştirme (Develop your next cocoa app faster!) (20)

KEY
UIWebView Tips
PDF
Webエンジニアから見たiOS5
PPTX
Mobile App Development: Primi passi con NativeScript e Angular 2
PDF
303 TANSTAAFL: Using Open Source iPhone UI Code
PDF
Pioc
ODP
ActiveWeb: Chicago Java User Group Presentation
PDF
Cocoa Heads Tricity - Design Patterns
PDF
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
PDF
iOS 2 - The practical Stuff
PDF
JavaScript APIs - The Web is the Platform
PDF
Three20
PDF
Android Best Practices
PDF
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
PPT
Play!ng with scala
PDF
REST/JSON/CoreData Example Code - A Tour
PDF
I Phone On Rails
PPT
Meetup uikit programming
PDF
The 2016 Android Developer Toolbox [MOBILIZATION]
PDF
Beginning icloud development - Cesare Rocchi - WhyMCA
KEY
I phone勉強会 (2011.11.23)
UIWebView Tips
Webエンジニアから見たiOS5
Mobile App Development: Primi passi con NativeScript e Angular 2
303 TANSTAAFL: Using Open Source iPhone UI Code
Pioc
ActiveWeb: Chicago Java User Group Presentation
Cocoa Heads Tricity - Design Patterns
09 - express nodes on the right angle - vitaliy basyuk - it event 2013 (5)
iOS 2 - The practical Stuff
JavaScript APIs - The Web is the Platform
Three20
Android Best Practices
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Play!ng with scala
REST/JSON/CoreData Example Code - A Tour
I Phone On Rails
Meetup uikit programming
The 2016 Android Developer Toolbox [MOBILIZATION]
Beginning icloud development - Cesare Rocchi - WhyMCA
I phone勉強会 (2011.11.23)
Ad

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
A Presentation on Artificial Intelligence
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Teaching material agriculture food technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Encapsulation_ Review paper, used for researhc scholars
The Rise and Fall of 3GPP – Time for a Sabbatical?
A Presentation on Artificial Intelligence
The AUB Centre for AI in Media Proposal.docx
Network Security Unit 5.pdf for BCA BBA.
20250228 LYD VKU AI Blended-Learning.pptx
NewMind AI Monthly Chronicles - July 2025
Per capita expenditure prediction using model stacking based on satellite ima...
Understanding_Digital_Forensics_Presentation.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Encapsulation theory and applications.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Advanced methodologies resolving dimensionality complications for autism neur...

Hızlı Cocoa Geliştirme (Develop your next cocoa app faster!)

  • 3. AFNetworking https://github.com/AFNetworking/AFNetworking NSURL  *url  =  [NSURL  URLWithString:@"https://alpha-­‐api.app.net/stream/0/posts/stream/global"]; NSURLRequest  *request  =  [NSURLRequest  requestWithURL:url]; AFJSONRequestOperation  *operation  =  [AFJSONRequestOperation   JSONRequestOperationWithRequest:request  success:^(NSURLRequest  *request,  NSHTTPURLResponse   *response,  id  JSON)  {        NSLog(@"App.net  Global  Stream:  %@",  JSON); }  failure:nil]; [operation  start];
  • 4. FSNetworking https://github.com/foursquare/FSNetworking NSURL  *url                                =  ...;  //  required NSDictionary  *headers          =  ...;  //  optional NSDictionary  *parameters    =  ...;  //  optional FSNConnection  *connection  = [FSNConnection  withUrl:url                                method:FSNRequestMethodGET                              headers:headers                        parameters:parameters                        parseBlock:^id(FSNConnection  *c,  NSError  **error)  {                                return  [c.responseData  dictionaryFromJSONWithError:error];                        }              completionBlock:^(FSNConnection  *c)  {                      NSLog(@"complete:  %@n    error:  %@n    parseResult:  %@n",  c,  c.error,   c.parseResult);              }                  progressBlock:^(FSNConnection  *c)  {                          NSLog(@"progress:  %@:  %.2f/%.2f",  c,  c.uploadProgress,   c.downloadProgress);                  }]; [connection  start];
  • 5. RestKIT https://github.com/RestKit/RestKit @interface  Tweet  :  NSObject @property  (nonatomic,  copy)  NSNumber  *userID; @property  (nonatomic,  copy)  NSString  *username; @property  (nonatomic,  copy)  NSString  *text; @end RKObjectMapping  *mapping  =  [RKObjectMapping  mappingForClass:[RKTweet  class]]; [mapping  addAttributeMappingsFromDictionary:@{        @"user.name":      @"username",        @"user.id":          @"userID",        @"text":                @"text" }]; RKResponseDescriptor  *responseDescriptor  =  [RKResponseDescriptor  responseDescriptorWithMapping:mapping  pathPattern:nil   keyPath:nil  statusCodes:nil]; NSURL  *url  =  [NSURL  URLWithString:@"http://api.twitter.com/1/statuses/public_timeline.json"]; NSURLRequest  *request  =  [NSURLRequest  requestWithURL:url]; RKObjectRequestOperation  *operation  =  [[RKObjectRequestOperation  alloc]  initWithRequest:request   responseDescriptors:@[responseDescriptor]];   [operation  setCompletionBlockWithSuccess:^(RKObjectRequestOperation  *operation,  RKMappingResult  *result)  {        NSLog(@"The  public  timeline  Tweets:  %@",  [result  array]); }  failure:nil]; [operation  start];
  • 6. MBProgressHUD https://github.com/jdg/MBProgressHUD MBProgressHUD  *hud  =  [MBProgressHUD   showHUDAddedTo:self.view  animated:YES]; hud.mode  =  MBProgressHUDModeAnnularDeterminate; hud.labelText  =  @"Loading"; [self   doSomethingInBackgroundWithProgressCallback:^(float   progress)  {        hud.progress  =  progress; }  completionCallback:^{        [MBProgressHUD  hideHUDForView:self.view   animated:YES]; }];
  • 7. SVPullToRefresh https://github.com/samvermette/SVPullToRefresh [tableView  addPullToRefreshWithActionHandler:^{        //  prepend  data  to  dataSource,  insert  cells  at  top  of  table  view        //  call  [tableView.pullToRefreshView  stopAnimating]  when  done }];
  • 8. ColorSense https://github.com/omz/ColorSense-for-Xcode Plugin for Xcode to make working with colors more visual http://www.youtube.com/watch?v=eblRfDQM0Go
  • 10. NUI @primaryFontName:  HelveticaNeue; @secondaryFontName:  HelveticaNeue-­‐Light; @primaryFontColor:  #333333; @primaryBackgroundColor:  #E6E6E6; Button  {        background-­‐color:  @primaryBackgroundColor;        border-­‐color:  #A2A2A2;        border-­‐width:  @primaryBorderWidth;        font-­‐color:  @primaryFontColor;        font-­‐color-­‐highlighted:  #999999;        font-­‐name:  @primaryFontName;        font-­‐size:  18;        corner-­‐radius:  7; } NavigationBar  {        background-­‐tint-­‐color:  @primaryBackgroundColor;        font-­‐name:  @secondaryFontName;        font-­‐size:  20;        font-­‐color:  @primaryFontColor;
  • 11. PSTCollectionView https://github.com/steipete/PSTCollectionView Open Source, 100% API compatible replacement of UICollectionView for iOS4.3+ UICollectionViewFlowLayout  *flowLayout  =   [UICollectionViewFlowLayout  new]; PSTCollectionView  *collectionView  =   [PSTCollectionView  alloc]   initWithFrame:self.view.bounds   collectionViewLayout: (PSTCollectionViewFlowLayout  *)flowLayout];
  • 13. BlockAlerts https://github.com/gpambrozio/BlockAlertsAnd- ActionSheets BlockAlertView  *alert  =  [BlockAlertView  alertWithTitle:@"Alert  Title"                                                                                              message:@"This  is  a  very  long   message,  designed  just  to  show  you  how  smart  this  class  is"]; [alert  addButtonWithTitle:@"Do  something  cool"  block:^{        //  Do  something  cool  when  this  button  is  pressed }]; [alert  setCancelButtonWithTitle:@"Please,  don't  do  this"  block:^{        //  Do  something  or  nothing....  This  block  can  even  be  nil! }]; [alert  setDestructiveButtonWithTitle:@"Kill,  Kill"  block:^{        //  Do  something  nasty  when  this  button  is  pressed }];
  • 14. SEHumanizedTimeDiff https://github.com/sarperdag/SEHumanizedTimeDiff //1  minute myLabel.text  =  [[NSDate  dateWithTimeIntervalSinceNow:-­‐360]                                stringWithHumanizedTimeDifference:NSDateHumanizedSuffixNone                                withFullString:NO]; //This  will  return  @"1m" //2  days myLabel.text  =  [[NSDate  dateWithTimeIntervalSinceNow:-­‐3600*24*2]                                stringWithHumanizedTimeDifference:NSDateHumanizedSuffixAgo                                withFullString:YES]; //This  will  return  @"2  days  ago"
  • 15. HPSocialNetworkManager https://github.com/Hipo/HPSocialNetworkManager iOS framework for handling authentication to Facebook and Twitter with reverse-auth support.
  • 16. STTweetLabel https://github.com/ SebastienThiebaud/STTweetLabel/ STTweetLabel  *tweetLabel  =  [[STTweetLabel  alloc]  initWithFrame:CGRectMake(20.0,   60.0,  280.0,  200.0)];        [tweetLabel  setFont:[UIFont  fontWithName:@"HelveticaNeue"  size:17.0]];        [tweetLabel  setTextColor:[UIColor  blackColor]];        [tweetLabel  setDelegate:self];        [tweetLabel  setText:@"Hi.  This  is  a  new  tool  for  @you!  Developed  by-­‐ >@SebThiebaud  for  #iPhone  #ObjC...  ;-­‐)  My  GitHub  page:  https://t.co/pQXDoiYA"];        [self.view  addSubview:tweetLabel];
  • 18. iRate https://github.com/nicklockwood/iRate iRate is a library to help you promote your iPhone and Mac App Store apps by prompting users to rate the app after using it for a few days. This approach is one of the best ways to get positive app reviews by targeting only regular users (who presumably like the app or they wouldn't keep using it!).
  • 19. iOSImageFilters https://github.com/esilverberg/ios-image-filters #import  "ImageFilter.h" UIImage  *image  =  [UIImage   imageNamed:@"landscape.jpg"]; self.imageView.image  =  [image  sharpen]; //  Or self.imageView.image  =  [image  saturate: 1.5]; //  Or self.imageView.image  =  [image  lomo];
  • 25. Good artists copy; great artists steal Steve Jobs