im ti n fernandgaliana Friday, May 17, 13
May 13, 2015
bigdeal?
Not even Ruby!
Still need to learn IOS
Can’t use my xxx gem ;-(
Write once, run once
Friday, May 17, 13
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *myString = [prefs stringForKey:@"bumbleblee_tuna"];
Friday, May 17, 13
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *myString = [prefs stringForKey:@"bumbleblee_tuna"];
Friday, May 17, 13
NSUserDefaults.standardUserDefaults. objectForKey("bumblebee_tuna")
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *myString = [prefs stringForKey:@"bumbleblee_tuna"];
Friday, May 17, 13
NSUserDefaults.standardUserDefaults. objectForKey("bumblebee_tuna")
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *myString = [prefs stringForKey:@"bumbleblee_tuna"];
Friday, May 17, 13
NSUserDefaults.standardUserDefaults. objectForKey("bumblebee_tuna")
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *myString = [prefs stringForKey:@"bumbleblee_tuna"];
App.user_cache[:bumblebee_tuna]
Friday, May 17, 13
NSUserDefaults.standardUserDefaults. objectForKey("bumblebee_tuna")
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *myString = [prefs stringForKey:@"bumbleblee_tuna"];
App.user_cache[:bumblebee_tuna]
bubble
-wrapped
Friday, May 17, 13
NSUserDefaults.standardUserDefaults. objectForKey("bumblebee_tuna")
NSUserDefaults *prefs =
[NSUserDefaults standardUserDefaults];
NSString *myString =
[prefs stringForKey:@"bumbleblee_tuna"];
App.user_cache[:bumblebee_tuna]
bubble
-wrapped
Friday, May 17, 13
UIColor.colorWithRed( 50/255.0, green:50/255.0, blue:50/255.0, alpha:0.5 )
0x5b5b5b.uicolor
Friday, May 17, 13
UIColor.colorWithRed( 50/255.0, green:50/255.0, blue:50/255.0, alpha:0.5 )
0x5b5b5b.uicolor
sugarc
ubed
Friday, May 17, 13
✓Rails integration
✓Collections
✓Third party services
✓Autolayout
✓Web views
✓Social connect
✓Pods
✓RM Gems
✓Custom Views
✓Custom Alerts
✓Notifications
✓Styling
✓Gestures
Friday, May 17, 13
localwebdef viewDidLoad super
@content = UIWebView.alloc.initWithFrame( [[0,0],[300,300]] ) @content.loadHTMLString( html, baseURL:base_url ) view.addSubview( @content )end
def base_url @base_url ||= NSURL.fileURLWithPath( App.resources_path )end
def html<<HTML <html> <head> <link rel="stylesheet" type="text/css" href="css/font-awesome.css"/> <link rel="stylesheet" type="text/css" href="css/app.css"/> </head> ... </html>HTMLend
Friday, May 17, 13
networking
app.pods do pod 'AFNetworking' end
def self.shared $instance ||= begin BlownSpeakerClient.alloc.initWithBaseURL( base_url ).tap do |client| client.registerHTTPOperationClass( AFJSONRequestOperation ) client.setDefaultHeader( 'Accept', value:'application/json' ) end end end def fetch_proposals(&cb) getPath( "/confs/#{App.delegate.conf_id}.json", parameters: {}, success: ->(operation, response) { cb.call response, nil }, failure: ->(operation, error) { cb.call nil, error } ) end
def self.base_url @url ||= begin uri = Device.simulator? ? "http://localhost:3000" : "http://192.168.122:3000" NSURL.URLWithString( uri ) end end
def setup( talk ) ... @mug_shot.setImageWithURL( NSURL.URLWithString( talk.speaker.avatar ), placeHolderImage: place_holder_img ) end
Rakefile
Friday, May 17, 13
|[visual]-20-[constraints]|
@content.translatesAutoresizingMaskIntoConstraints = false
def setup_constraints metrics = { 'sp' => 5 } contentView.addConstraints NSLayoutConstraint.constraintsWithVisualFormat "V:|-ps-[mug_shot(100)][scorer(20)][speaker(30)]-ps-", options: 0, metrics: metrics, views: @views )) ...end
Friday, May 17, 13
soopastyling!
I don’t usually pimp out my UI’s, but when I do...
I use stylesheets!
Friday, May 17, 13
appstore
✓ Distribution profile
✓App screenshots x-devices
✓ Icons (@2x) - rinse and repeat for devices!
✓ ITune connect
✓rake archive:distribution
✓Application loader
Friday, May 17, 13