AVAudioPlayer. avtouch Application

Size: px
Start display at page:

Download "AVAudioPlayer. avtouch Application"

Transcription

1 AVAudioPlayer avtouch Application iphone Application Index 1. iphone Application 1) iphone Application 2) iphone Application Main Method 3) iphone Application nib(.xib) 2. avtouch Application 1) avtouch 2) avtouch Classes & Resources 3) avtouchappdelegate 4) avtouchviewcontroller 5) avtouchcontroller 1) nib(.xib) 2) 3) 4) 5) / 6) / 7) 8) 9) 10)

2 iphone Application 1. iphone Application 2. iphone OS Application main() 5. Primary thread 6. UIApplicationMain() 7. UIApplication 8. info.plist 9. MainWindow.xib 10. xib iphone Application Main Method #import <UIKit/UIKit.h> nil Info.plist xib MainWindow.xib xib File s Owner UIApplication. int main(int argc, char *argv[]) NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retval = UIApplicationMain(argc, argv, nil, nil); // argc, argv C main // nil : // nil : [pool release]; return retval; nil UIApplicationMain() > MainWindow.xib > avtouch App Delegate. iphone UI UI ( iphone main UIApplicationMain )

3 iphone Application nib(.xib) iphone Application main UIApplicationMain nib(.xib) : File s Owner, First Responder, avtouch App Delegate, Window UIApplicationMain UIApplication File s Owner = UIApplication nib MainWindow.xib UIApplication MainWindow.xib File s Owner. UIApplication. avtouch Application Application avtouch / /

4 avtouch ClassesClasses & Resources avtouch & Resources AudioViews : avtouchappdelegate : avtouch avtouchviewcontroller : avtouch avtouchcontroller : avtouch main.m : avtouch audio main : avtouch images : avtouch avtouchviewcontroller.xib : avtouch MainWindow.xib : avtouch xib Info.plist : MainWindow.xib AudioToolbox : AVFoundation : AVAudioPlayer avtouchviewcontroller UI UI avtouchviewcontroller UISlider *progressbar; UILabel *filename; UILabel *currenttime; UILabel *duration; CALevelMeter *lvlmeter_in; UILabel UISlider *repeatfrom; UIButton *volumeslider; UILabel UIButton *rewbutton; UIButton UIButton *playbutton; *ffwbutton; *repeatbtn; *repeatto;

5 avtouch iphone Application 1. File > New Project iphone OS > Application View-based Application.

6 iphone Application 2. avtouchappdelegate, avtouchviewcontroller (header, implement ). - avtouchappdelegate :, xib,,. - avtouchviewcontroller :. * avtouch2 avtouch. avtouchappdelegate avtouch MainWindow.xib avtouchviewcontroller viewcontroller avtouchappdelegate.h avtouchappdelegate.m #import avtouchappdelegate : NSObject <UIApplicationDelegate> IBOutlet UIWindow *window; // viewcontroller IBOutlet avtouchviewcontroller (nonatomic, retain) IBOutlet UIWindow (nonatomic, retain) IBOutlet avtouchviewcontroller #import "avtouchappdelegate.h" #import viewcontroller; - (void)applicationdidfinishlaunching:(uiapplication *)application // viewcontroller mainwindow [window addsubview:viewcontroller.view]; [window makekeyandvisible]; - (void)dealloc [viewcontroller release]; [window release]; [super

7 avtouchviewcontroller avtouchappdelegate avtouch avtouchcontroller controller avtouchviewcontroller.h avtouchviewcontroller.m #import avtouchviewcontroller : UIViewController IBOutlet avtouchcontroller #import "avtouchviewcontroller.h" #import avtouchviewcontroller - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceorientation // Return YES for supported orientations return (interfaceorientation == UIInterfaceOrientationPortrait); - (void)didreceivememorywarning [super didreceivememorywarning]; // Releases the view if it doesn't have a superview // Release anything that's not essential, such as cached data - (void)dealloc [super iphone Application * avtouchappdelegate.m applicationdidfinishlaunching - ios 4.0. void BOOL return YES;.. - (void)applicationdidfinishlaunching:(uiapplication *)application // Override point for customization after app launch [window addsubview:viewcontroller.view]; [window makekeyandvisible]; ios (BOOL)application:(UIApplication *)application didfinishlaunchingwithoptions:(nsdictionary *)launchoptions // Override point for customization after application launch. // Add the view controller's view to the window and display. [window addsubview:viewcontroller.view]; [window makekeyandvisible]; ios 4.0 return YES;

8 iphone Application * avtouch,. Frameworks (control + ) Add > Existing Frameworks Add. ( command ) - AudioToolbox.framework : - AVFoundation.framework : - QuartzCore.framework : - OpenGLES.framework : iphone Application xib * Resource avtouchviewcontroller.xib MainWindow.xib. View-based ViewController xib. - MainWindow.xib - avtouchviewcontroller.xib * MainWindow.xib, iphone MVC,,.

9 iphone MainWindow.xib Application avtouch2appdelegate : NSObject <UIApplicationDelegate> UIWindow *window; avtouch2viewcontroller (nonatomic, retain) IBOutlet UIWindow (nonatomic, retain) IBOutlet avtouch2viewcontroller *viewcontroller; avtouchappdelegate.h [window addsubview:viewcontroller.view]; avtouchappdelegate.m avtouchappdelegate? avtouchviewcontroller viewcontroller, IBOutlet. IBOutlet Interface Builder Outlet, (.xip ) GUI. MainWindow.xib avtouchviewcontroller. avtouchviewcontroller. iphone avtouchcontroller Application 3. avtouchcontroller, avtouchviewcontroller.h. - File > New File iphone OS Cocoa Touch Class > Objective-C class (Subclass of NSObject) Next, avtouchcontroller Finish.

10 iphone avtouchcontroller Application 3. avtouchcontroller, avtouchviewcontroller.h. - Class avtouchcontroller. - avtouchviewcontroller.h avtouchcontroller controller IBOutlet. avtouchviewcontroller.xib avcontroller. #import avtouch2viewcontroller : UIViewController IBOutlet avtouchcontroller avtouchviewcontroller.h... #import "avtouchcontroller.h"... avtouchviewcontroller.m avtouchviewcontroller.xib iphone Application 4. controller. avtouchviewcontroller.xib Tools > Inspector Library. Inspector Library. Library. avtouchcontroller. UISlider *progressbar; UILabel *filename; UILabel *currenttime; UILabel *duration; CALevelMeter *lvlmeter_in; UILabel *repeatfrom; UIButton *repeatbtn; UISlider *volumeslider; UILabel *repeatto; UIButton *rewbutton; UIButton *ffwbutton; UIButton *playbutton;

11 iphone avtouchcontroller.h Application 4.., xib,,. AppDelegate ViewController. import. #import <UIKit/UIKit.h> #import <AudioToolbox/AudioToolbox.h> #import <AVFoundation/AVFoundation.h>. IBOutlet UILabel *filename; IBOutlet UIButton *playbutton; IBOutlet UIButton *ffwbutton; IBOutlet UIButton *rewbutton; IBOutlet UISlider *volumeslider; IBOutlet UISlider *progressbar; IBOutlet UILabel *currenttime; IBOutlet UILabel *duration; IBOutlet UILabel *repeatfrom; IBOutlet UILabel *repeatto; IBOutlet UIButton *repeatbtn; IBOutlet CALevelMeter *lvlmeter_in; AVAudioPlayer *player; UIImage *playbtnbg; UIImage *pausebtnbg; NSTimer *updatetimer; NSTimer *rewtimer; NSTimer *ffwtimer; NSMutableArray *soundfiles; NSTimeInterval repeata,repeatb; kselectstate repeatstate; - (IBAction)playButtonPressed:(UIButton*)sender; // - (IBAction)rewButtonPressed:(UIButton*)sender; // - (IBAction)rewButtonReleased:(UIButton*)sender; // - (IBAction)ffwButtonPressed:(UIButton*)sender; // - (IBAction)ffwButtonReleased:(UIButton*)sender; // - (IBAction)volumeSliderMoved:(UISlider*)sender; // - (IBAction)progressSliderMoved:(UISlider*)sender; // - (IBAction)onRepeat; // avtouchcontroller.h avtouch, AudioToolbox, AVFoundation import #import <UIKit/UIKit.h> #import <AudioToolbox/AudioToolbox.h> #import <AVFoundation/AVFoundation.h> // typedef enum TimeNone=0,TimeFromSelected,TimeToSelected kselectstate; avtouchcontroller.h avtouchcontroller : NSObject <UIPickerViewDelegate, AVAudioPlayerDelegate> // IB IBOutlet UILabel *filename; IBOutlet UIButton *playbutton;... // UI - (IBAction)playButtonPressed:(UIButton*)sender; - (nonatomic, (nonatomic, *filename; value setter/getter

12 xib iphone Application nib(.xib) avtouchcontroller. /, /,,,. avtouch.. - xib , View Controller controller,. awakefromnib,.

13 nib(.xib) awakefromnib : AVAudioPlayer UI,, - (void)awakefromnib // AVAudioPlayer soundfiles = [[NSMutableArray alloc] initwithcapacity:3]; avtouchcontroller.mm playbtnbg = [[UIImage imagenamed:@"play.png"] retain]; pausebtnbg = [[UIImage imagenamed:@"pause.png"] retain]; [playbutton setimage:playbtnbg forstate:uicontrolstatenormal]; // updatetimer = nil; rewtimer = nil; AVAudioPlayer fileurl ffwtimer = nil;... // NSURL *fileurl = [[NSURL alloc] initfileurlwithpath: [[NSBundle mainbundle] pathforresource:@"mu02" oftype:@"mp3"]]; self.player = [[AVAudioPlayer alloc] initwithcontentsofurl:fileurl error:nil]; if (self.player) //, filename.text = [NSString (%d ch.)", [[player.url relativepath] lastpathcomponent], player.numberofchannels, nil]; [self updateviewforplayerinfo:player]; // [self updateviewforplayerstate:player]; // / player.numberofloops = 1; // player.delegate = self; // OSStatus result = AudioSessionInitialize(NULL, NULL, NULL, NULL); //... [fileurl release]; iphone Application 6.. 1, /. :,. currenttime.text = [NSString stringwithformat:@"%d:%02d", (int)p.currenttime / 60, (int)p.currenttime % 60, nil]; progressbar.value = p.currenttime; //progressbar,.. if (p.playing) // [playbutton setimage:((p.playing == YES)? pausebtnbg : playbtnbg) forstate:uicontrolstatenormal]; [lvlmeter_in setplayer:p]; updatetimer = [NSTimer scheduledtimerwithtimeinterval:.01 target:self selector:@selector(updatecurrenttime) userinfo:p repeats:yes]; else // [playbutton setimage:((p.playing == YES)? pausebtnbg : playbtnbg) forstate:uicontrolstatenormal]; [lvlmeter_in setplayer:nil]; updatetimer = nil;

14 : - avtouchcontroller.mm // -(void)updatecurrenttimeforplayer:(avaudioplayer *)p // ( : ) currenttime.text = [NSString stringwithformat:@"%d:%02d", (int)p.currenttime / 60, (int)p.currenttime % 60, nil]; progressbar.value = p.currenttime; //progressbar // / - (void)updateviewforplayerstate:(avaudioplayer *)p [self updatecurrenttimeforplayer:p]; if (updatetimer) [updatetimer invalidate]; if (p.playing) // [playbutton setimage:((p.playing == YES)? pausebtnbg : playbtnbg) forstate:uicontrolstatenormal]; [lvlmeter_in setplayer:p]; updatetimer = [NSTimer scheduledtimerwithtimeinterval:.01 target:self selector:@selector(updatecurrenttime) userinfo:p repeats:yes]; else // [playbutton setimage:((p.playing == YES)? pausebtnbg : playbtnbg) forstate:uicontrolstatenormal]; [lvlmeter_in setplayer:nil]; updatetimer = nil; 7., iphone. void RouteChangeListener( void * inclientdata, AudioSessionPropertyIDinID, UInt32 indatasize, const void * indata) avtouchcontroller* This = (avtouchcontroller*)inclientdata; if (inid == kaudiosessionproperty_audioroutechange) CFDictionaryRef routedict = (CFDictionaryRef)inData; NSNumber* reasonvalue = (NSNumber*)CFDictionaryGetValue (routedict, CFSTR(kAudioSession_AudioRouteChangeKey_Reason)); int reason = [reasonvalue intvalue]; if (reason == kaudiosessionroutechangereason_olddeviceunavailable) [This pauseplaybackforplayer:this.player]; avtouchcontroller.mm

15 8. avtouch :,. //. - (void)audioplayerdidfinishplaying:(avaudioplayer *)p successfully:(bool)flag avtouchcontroller.mm if (flag == NO) NSLog(@"Playback finished unsuccessfully"); [p setcurrenttime:0.]; [self updateviewforplayerstate:p]; p, flag yes, no //. - (void)audioplayerdecodeerrordidoccur:(avaudioplayer *)p error:(nserror *)error NSLog(@"ERROR IN DECODE: %@\n", error); // - (void)audioplayerbegininterruption:(avaudioplayer *)p NSLog(@"Interruption begin. Updating UI for new state"); // the object has already been paused, we just need to update UI [self updateviewforplayerstate:p]; // - (void)audioplayerendinterruption:(avaudioplayer *)p NSLog(@"Interruption ended. Resuming playback"); [self startplaybackforplayer:p]; p, error p p / /

16 iphone / Application. 9. / IBAction.,. if (player.playing == YES) [self pauseplaybackforplayer: player]; else [self startplaybackforplayer: player];,. -(void)pauseplaybackforplayer:(avaudioplayer*)p -(void)startplaybackforplayer:(avaudioplayer*)p < > < > / / : -, - // - (IBAction)playButtonPressed:(UIButton *)sender if (player.playing == YES) // [self pauseplaybackforplayer: player]; // else [self startplaybackforplayer: player]; // avtouchcontroller.mm // -(void)pauseplaybackforplayer:(avaudioplayer*)p [p pause]; [self updateviewforplayerstate:p]; // -(void)startplaybackforplayer:(avaudioplayer*)p if ([p play]) [self updateviewforplayerstate:p]; else NSLog(@"Could not play %@\n", p.url); / p player

17 / (playbuttonpressed ) startplaybackforplayer / pauseplaybackforplayer updateviewforplayerstate updatecurrenttimeforplayer avtouchappdelegate avtouchcontroller applicationdidfinishlaunching: awakefromnib RouteChangeListener viewcontroller : window soundfiles : fileurl :,, dealloc: viewcontroller, window release player : AVAudioPlayer playbuttonpressed: player player startplaybackforplayer: pauseplaybackforplayer: updateviewforplayerinfo: p p avtouchviewcontroller updateviewforplayerstate: Controller : UI updatecurrenttimeforplayer: updatecurrenttime iphone / Application 10. /. / IBAction. rewtimer =[NSTimer scheduledtimerwithtimeinterval:skip_interval target:self selector:@selector(rewind) userinfo:player repeats:yes]; rewtimer = nil; rewtimer =[NSTimer scheduledtimerwithtimeinterval:skip_interval target:self selector:@selector(ffwd) userinfo:player repeats:yes]; rewtimer = nil; /. - (void)rewind - (void)ffwd < / >

18 / / : / /, nil avtouchcontroller.mm // - (IBAction)rewButtonPressed:(UIButton *)sender if (rewtimer) [rewtimer invalidate]; rewtimer = [NSTimer scheduledtimerwithtimeinterval:skip_interval target:self selector:@selector(rewind) userinfo:player repeats:yes]; // - (IBAction)rewButtonReleased:(UIButton *)sender if (rewtimer) [rewtimer invalidate]; rewtimer = nil; // - (void)rewind AVAudioPlayer *p = rewtimer.userinfo; p.currenttime-= SKIP_TIME; [self updatecurrenttimeforplayer:p]; // - (IBAction)ffwButtonPressed:(UIButton *)sender if (ffwtimer) [ffwtimer invalidate]; ffwtimer = [NSTimer scheduledtimerwithtimeinterval:skip_interval target:self selector:@selector(ffwd) userinfo:player repeats:yes]; // - (IBAction)ffwButtonReleased:(UIButton *)sender if (ffwtimer) [ffwtimer invalidate]; ffwtimer = nil; // - (void)ffwd AVAudioPlayer *p = ffwtimer.userinfo; p.currenttime+= SKIP_TIME; [self updatecurrenttimeforplayer:p]; / / (rewbuttonpressed/ffwbuttonpressed ) -rewtimer / -ffwtimer -rewind / -ffwd updatecurrenttimeforplayer avtouchappdelegate avtouchcontroller applicationdidfinishlaunching: awakefromnib RouteChangeListener viewcontroller : window soundfiles : fileurl :,, ffwbuttonreleased: ffwbuttonpressed: dealloc: viewcontroller, window release player : AVAudioPlayer rewbuttonpressed: rewtimer rewbuttonreleased: updateviewforplayerinfo: player nil ffwtimer avtouchviewcontroller updateviewforplayerstate: p rewind: player nil Controller : UI updatecurrenttimeforplayer: updatecurrenttime p ffwd:

19 iphone Application 11. IBAction. volume. player.volume = [sender value]; < > // volumeslider player volume sender - (IBAction)volumeSliderMoved:(UISlider *)sender player.volume = [sender value]; avtouchcontroller.mm (volumeslidermoved ) player avtouchappdelegate avtouchcontroller applicationdidfinishlaunching: awakefromnib RouteChangeListener viewcontroller : window soundfiles : fileurl :,, dealloc: viewcontroller, window release player : AVAudioPlayer volumeslidermoved: avtouchviewcontroller Controller : UI updateviewforplayerinfo: updateviewforplayerstate: updatecurrenttimeforplayer: updatecurrenttime

20 iphone Application 12. IBAction.. player.currenttime = sender.value; [self updatecurrenttimeforplayer:player]; < > // progressslider player currenttime sender - (IBAction)progressSliderMoved:(UISlider *)sender player.currenttime = sender.value; [self updatecurrenttimeforplayer:player]; (progressslidermoved ) avtouchcontroller.mm player updatecurrenttimeforplayer avtouchappdelegate avtouchcontroller applicationdidfinishlaunching: awakefromnib RouteChangeListener viewcontroller : window soundfiles : fileurl :,, dealloc: viewcontroller, window release player : AVAudioPlayer progressslidermoved: avtouchviewcontroller updateviewforplayerinfo: updateviewforplayerstate: player Controller : UI updatecurrenttimeforplayer: updatecurrenttime

21 iphone Application 13. (from~to). from, to, reset IBAction. avtouchcontroller.h kselectstate.. typedef enum TimeNone=0, TimeFromSelected, TimeToSelected kselectstate; onrepeat. if (repeatstate == TimeNone) From else if (repeatstate == TimeFromSelected) to else reset if (repeatstate == TimeToSelected && player.currenttime >= repeatb) < > : (from~to) avtouchcontroller.mm - (IBAction)onRepeat if (repeatstate == TimeNone) // A.. From repeata repeata = player.currenttime; [repeatfrom settext:[nsstring stringwithformat:@"from : %.2d:%.2d",((int)repeatA / 60), ((int)repeata%60)]]; [repeatto settext:@"to : "]; [repeatbtn settitle:@"repeat to" forstate:uicontrolstatenormal]; [repeatbtn settitle:@"repeat to" forstate:uicontrolstatehighlighted]; repeatstate = TimeFromSelected; else if (repeatstate == TimeFromSelected) // B. To repeatb = player.currenttime; [repeatto settext:[nsstring stringwithformat:@"to : %.2d:%.2d",((int)repeatB / 60), ((int)repeatb%60)]]; [repeatbtn settitle:@"reset repeat" forstate:uicontrolstatenormal]; [repeatbtn settitle:@"reset repeat" forstate:uicontrolstatehighlighted]; repeatstate = TimeToSelected; else // [repeatto settext:@"to : "]; [repeatfrom settext:@"from : "]; [repeatbtn settitle:@"repeat from" forstate:uicontrolstatenormal]; [repeatbtn settitle:@"repeat from" forstate:uicontrolstatehighlighted]; repeatstate = TimeNone; if (repeatstate == TimeToSelected && player.currenttime >= repeatb) player.currenttime = repeata;

22 (volumeslidermoved ) player avtouchappdelegate avtouchcontroller applicationdidfinishlaunching: awakefromnib RouteChangeListener viewcontroller : window soundfiles : fileurl :,, dealloc: viewcontroller, window release player : AVAudioPlayer onrepeat: player avtouchviewcontroller Controller : UI updateviewforplayerinfo: updateviewforplayerstate: updatecurrenttimeforplayer: updatecurrenttime 14. : release. - (void)dealloc [super dealloc]; [filename release]; [playbutton release]; [ffwbutton release]; [rewbutton release]; [volumeslider release]; [progressbar release]; [currenttime release]; [duration release]; [lvlmeter_in release]; [updatetimer release]; [player release]; [playbtnbg release]; [pausebtnbg release]; avtouchcontroller.mm

23 Xib control Controller Inspector.

iphone Programming Touch, Sound, and More! Norman McEntire Founder Servin Flashlight CodeTour TouchCount CodeTour

iphone Programming Touch, Sound, and More! Norman McEntire Founder Servin Flashlight CodeTour TouchCount CodeTour iphone Programming Touch, Sound, and More! Norman McEntire Founder Servin 1 Legal Info iphone is a trademark of Apple Inc. Servin is a trademark of Servin Corporation 2 Welcome Welcome! Thank you! My promise

More information

AVAudioRecorder & System Sound Services

AVAudioRecorder & System Sound Services AVAudioRecorder & System Sound Services Dept. of Multimedia Science, Sookmyung Women s University. prof. JongWoo Lee Index AVAudioRecorder? - (AudioRecorder) System Sound Service? - (SysSound) AVAudioRecorder

More information

Navigation bar (Xcode version 4.5.2) 1. Create a new project. From the Xcode menu, select File > New > Project

Navigation bar (Xcode version 4.5.2) 1. Create a new project. From the Xcode menu, select File > New > Project Navigation bar (Xcode version 4.5.2) 1. Create a new project. From the Xcode menu, select File > New > Project Choose the Single View Application template Click Next. In the Choose options for your new

More information

src3/bettertextfield/bettertextfield/appdelegate.h // AppDelegate.h // BetterTextField

src3/bettertextfield/bettertextfield/appdelegate.h // AppDelegate.h // BetterTextField src3/bettertextfield/bettertextfield/appdelegate.h 1 1 1 1 AppDelegate.h BetterTextField Created by Tommy MacWilliam on 3/7/ Copyright (c) 2012 MyCompanyName. All rights reserved. #import

More information

iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5

iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5 iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5 Questions? Announcements Assignment #1 due this evening by 11:59pm Remember, if you wish to use a free late you must email me before

More information

Your First iphone OS Application

Your First iphone OS Application Your First iphone OS Application General 2010-03-15 Apple Inc. 2010 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form

More information

Your First iphone Application

Your First iphone Application Your First iphone Application General 2009-01-06 Apple Inc. 2009 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form

More information

iphone Application Tutorial

iphone Application Tutorial iphone Application Tutorial 2008-06-09 Apple Inc. 2008 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any

More information

} override func didreceivememorywarning() { 26 super.didreceivememorywarning() 27 } 28 } Pause Stop

} override func didreceivememorywarning() { 26 super.didreceivememorywarning() 27 } 28 } Pause Stop Chapter 30 30.1 App App MP3 Don t Download This Song [1] Finder MP3 Xcode UI 1 import UIKit 2 import AVFoundation 3 4 class ViewController: UIViewController { 5 6 var player: AVAudioPlayer? 7 8 override

More information

Multitasking and Background Execution

Multitasking and Background Execution Multitasking and Background Execution Fall, 2012 Prof. Massimiliano "Max" Pala pala@nyu.edu Introduction Spawning Threads and Tasks Background Execution User hits 'home' button the app is sent in the background

More information

lectures/2/src2/nib1/nib1/appdelegate.h // AppDelegate.h // Nib1 // David J. Malan // Harvard University //

lectures/2/src2/nib1/nib1/appdelegate.h // AppDelegate.h // Nib1 // David J. Malan // Harvard University // lectures/2/src2/nib1/nib1/appdelegate.h 1 1 1 1 1 1 1 1 1 2 AppDelegate.h Nib1 David J. Malan Harvard University malan@harvard.edu Demonstrates a Single View Application implemented with a nib, plus IBAction

More information

MVC and Interface Builder IAP 2010

MVC and Interface Builder IAP 2010 MVC and Interface Builder IAP 2010 iphonedev.csail.mit.edu edward benson / eob@csail.mit.edu Information-Driven Applications Application Flow UIApplication Main NIB Initialized UIAppDelegate - (void)applicationdidfinishlaunching:(uiapplication

More information

CS193p Spring 2010 Wednesday, May 26, 2010

CS193p Spring 2010 Wednesday, May 26, 2010 CS193p Spring 2010 Announcements Please e-mail if you want to take the option to present your final project next Wednesday. (You will still have until the following Tuesday to turn in your code.) No class

More information

Topics in Mobile Computing

Topics in Mobile Computing Topics in Mobile Computing Workshop 1I - ios Fundamental Prepared by Y.H. KWOK What is ios? From Wikipedia (http://en.wikipedia.org/wiki/ios): ios is an operating system for iphone, ipad and Apple TV.

More information

Why Model-View-Controller?

Why Model-View-Controller? View Controllers Why Model-View-Controller? Ever used the word spaghetti to describe code? Clear responsibilities make things easier to maintain Avoid having one monster class that does everything Why

More information

CS193P: HelloPoly Walkthrough

CS193P: HelloPoly Walkthrough CS193P: HelloPoly Walkthrough Overview The goal of this walkthrough is to give you a fairly step by step path through building a simple Cocoa Touch application. You are encouraged to follow the walkthrough,

More information

ios Core Data Example Application

ios Core Data Example Application ios Core Data Example Application The Core Data framework provides an abstract, object oriented interface to database storage within ios applications. This does not require extensive knowledge of database

More information

Document Version Date: 1st March, 2015

Document Version Date: 1st March, 2015 7 Minute Fitness: ios(swift) Application Document Version 1.0.1 Date: 1st March, 2015 2 [7 MINUTE FITNESS: APP DOCUMENTATION] Important Notes:... 5 AppDelegate Class Reference... 6 Tasks... 6 Instance

More information

Intro to Native ios Development. Dave Koziol Arbormoon Software, Inc.

Intro to Native ios Development. Dave Koziol Arbormoon Software, Inc. Intro to Native ios Development Dave Koziol Arbormoon Software, Inc. About Me Long time Apple Developer (20 WWDCs) Organizer Ann Arbor CocoaHeads President & ios Developer at Arbormoon Software Inc. Wunder

More information

The MVC Design Pattern

The MVC Design Pattern The MVC Design Pattern The structure of iphone applications is based on the Model-View-Controller (MVC) design pattern because it benefits object-oriented programs in several ways. MVC based programs tend

More information

Life Cycle. Chapter Explore the Game Application. Understanding the Views in a Game

Life Cycle. Chapter Explore the Game Application. Understanding the Views in a Game 3 Chapter Explore the Game Application Life Cycle There is more to a game than just the fun parts. Almost all of the games on the market, and definitely the big titles, involve multiple views and a reasonably

More information

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More information

Your First ios 7 App. Everything you need to know to build and submit your first ios app. Ash Furrow

Your First ios 7 App. Everything you need to know to build and submit your first ios app. Ash Furrow Your First ios 7 App Everything you need to know to build and submit your first ios app. Ash Furrow This book is for sale at http://leanpub.com/your-first-ios-app This version was published on 2014-09-13

More information

COPYRIGHTED MATERIAL. part I Developing a Professional UI. Chapter 1: Creating a Personal Library. Chapter 2: Advancing with Tableviews

COPYRIGHTED MATERIAL. part I Developing a Professional UI. Chapter 1: Creating a Personal Library. Chapter 2: Advancing with Tableviews part I Developing a Professional UI Chapter 1: Creating a Personal Library Chapter 2: Advancing with Tableviews Chapter 3: Advancing with Map Kit Chapter 4: Understanding Action Views and Alerts Chapter

More information

IOS - TEXT FIELD. Use of Text Field. Important Properties of Text Field. Updating Properties in xib

IOS - TEXT FIELD. Use of Text Field. Important Properties of Text Field. Updating Properties in xib IOS - TEXT FIELD http://www.tutorialspoint.com/ios/ios_ui_elements_text_field.htm Copyright tutorialspoint.com Use of Text Field A text field is a UI element that enables the app to get user input. A UITextfield

More information

Building an Application

Building an Application Building an Application 7 Anatomy of an Application Compiled code Your code Frameworks Nib files UI elements and other objects Details about object relationships Resources (images, sounds, strings, etc)

More information

epicurious Anatomy of an ios app Robert Tolar Haining June 25, 2010 ConvergeSE

epicurious Anatomy of an ios app Robert Tolar Haining June 25, 2010 ConvergeSE epicurious Anatomy of an ios app Robert Tolar Haining June 25, 2010 ConvergeSE + = Prototype iphone ipad Why iphone apps Simplicity Control Speed Revenue Epicurious Defined as a Recipe Utility Cookbook

More information

Designing iphone Applications

Designing iphone Applications Designing iphone Applications 4 Two Flavors of Mail 5 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content Focus on your user s data 6 Organizing Content

More information

Building GUIs with UIKit. Kevin Cathey

Building GUIs with UIKit. Kevin Cathey Building GUIs with UIKit Kevin Cathey Building GUIs with UIKit acm.uiuc.edu/macwarriors/devphone Building GUIs with UIKit What is UIKit? acm.uiuc.edu/macwarriors/devphone Building GUIs with UIKit What

More information

Contents. iphone Training. Industry Trainers. Classroom Training Online Training ON-DEMAND Training. Read what you need

Contents. iphone Training. Industry Trainers. Classroom Training Online Training ON-DEMAND Training. Read what you need iphone Training Contents About iphone Training Our ios training classes can help you get off to a running start in iphone, ipod and ipad app development. Learn from expert Objective-C developers with years

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer About the Tutorial ios is a mobile operating system developed and distributed by Apple Inc. It was originally released in 2007 for the iphone, ipod Touch, and Apple TV. ios is derived from OS X, with which

More information

ITP 342 Advanced Mobile App Dev. Memory

ITP 342 Advanced Mobile App Dev. Memory ITP 342 Advanced Mobile App Dev Memory Memory Management Objective-C provides two methods of application memory management. 1. In the method described in this guide, referred to as manual retain-release

More information

User Interfaces. Lecture 15. Application Programming on Mac OS. Hamza Bennani September 4, 2018

User Interfaces. Lecture 15. Application Programming on Mac OS. Hamza Bennani September 4, 2018 User Interfaces Lecture 15 Application Programming on Mac OS Hamza Bennani hamza@hamzabennani.com September 4, 2018 Logistics Office hours: Tue/Thu, 2pm to 3pm. Office: 250 Geoff Wyvill. Acknowledgment:

More information

News- ipad: ios(swift) Application

News- ipad: ios(swift) Application News- ipad: ios(swift) Application Document Version 1.0.1 Date: 9 th Nov, 2014 2 [NEWS- IPAD: APP DOCUMENTATION] Important Notes:... 6 AppDelegate Class Reference... 7 Tasks... 7 Instance Methods... 7

More information

Mobile Apps 2010 iphone and Android

Mobile Apps 2010 iphone and Android Mobile Apps 2010 iphone and Android March 9, 2010 Norman McEntire, Founder Servin Corporation - http://servin.com Technology Training for Technology ProfessionalsTM norman.mcentire@servin.com 1 Legal Info

More information

ITP 342 Mobile App Dev. Fundamentals

ITP 342 Mobile App Dev. Fundamentals ITP 342 Mobile App Dev Fundamentals Objective-C Classes Encapsulate data with the methods that operate on that data An object is a runtime instance of a class Contains its own in-memory copy of the instance

More information

My First iphone App. 1. Tutorial Overview

My First iphone App. 1. Tutorial Overview My First iphone App 1. Tutorial Overview In this tutorial, you re going to create a very simple application on the iphone or ipod Touch. It has a text field, a label, and a button. You can type your name

More information

Integrating Game Center into a BuzzTouch 1.5 app

Integrating Game Center into a BuzzTouch 1.5 app into a BuzzTouch 1.5 app This tutorial assumes you have created your app and downloaded the source code; created an App ID in the ios Provisioning Portal, and registered your app in itunes Connect. Step

More information

Widget Tour. iphone and ipod touch Development Fall 2009 Lecture 7

Widget Tour. iphone and ipod touch Development Fall 2009 Lecture 7 Widget Tour iphone and ipod touch Development Fall 2009 Lecture 7 Questions? Announcements Assignment #2 due Tonight by 11:59pm Today s Topics Controls Buttons Switches Sliders Segmented Controls Text

More information

ITP 342 Mobile App Dev. Connections

ITP 342 Mobile App Dev. Connections ITP 342 Mobile App Dev Connections User Interface Interactions First project displayed information to the user, but there was no interaction. We want the users of our app to touch UI components such as

More information

ITP 342 Mobile App Dev. Connections

ITP 342 Mobile App Dev. Connections ITP 342 Mobile App Dev Connections User Interface Interactions First project displayed information to the user, but there was no interaction. We want the users of our app to touch UI components such as

More information

OVERVIEW. Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net

OVERVIEW. Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net OVERVIEW Why learn ios programming? Share first-hand experience. Identify platform differences. Identify similarities with.net Microsoft MVP for 4 years C#, WinForms, WPF, Silverlight Joined Cynergy about

More information

Corrections and version notes

Corrections and version notes Last updated 7 th May, 2014 Programming apps for the iphone Corrections and version notes Please feel free to email Graeme (gbsummers@graemesummers.info) for additional help or clarification on any of

More information

CS 47. Beginning iphone Application Development

CS 47. Beginning iphone Application Development CS 47 Beginning iphone Application Development Introductions Who, why, which? Shameless Plug: LoudTap Wifi Access (If it works..) SSID: Stanford Username/password: csp47guest Expectations This is a programming

More information

Data IAP 2010 iphonedev.csail.mit.edu edward benson / Thursday, January 14, 2010

Data IAP 2010 iphonedev.csail.mit.edu edward benson / Thursday, January 14, 2010 Data IAP 2010 iphonedev.csail.mit.edu edward benson / eob@csail.mit.edu Today Property Lists User Defaults Settings Panels CoreData Property Lists Today Add persistence. plist 1. Using Property Lists in

More information

COMP327 Mobile Computing Session: Lecture Set 1a - Swift Introduction and the Foundation Framework Part 2

COMP327 Mobile Computing Session: Lecture Set 1a - Swift Introduction and the Foundation Framework Part 2 COMP327 Mobile Computing Session: 2018-2019 Lecture Set 1a - Swift Introduction and the Foundation Framework Part 2 73 Other Swift Guard Already seen that for optionals it may be necessary to test that

More information

Announcements. Today s Topics

Announcements. Today s Topics Announcements We will discuss final project ideas on Monday Three guest presenters coming to class Lab 5 is due on Wednesday Nov 4 th 1 Extensible - CSE 436 Software Networking Engineering Platform Workshop

More information

Objective-C Primer. iphone Programmer s Association. Lorenzo Swank September 10, 2008

Objective-C Primer. iphone Programmer s Association. Lorenzo Swank September 10, 2008 Objective-C Primer iphone Programmer s Association Lorenzo Swank September 10, 2008 Disclaimer Content was blatantly and unapologetically stolen from the WWDC 2007 Fundamentals of Cocoa session, as well

More information

InterfaceBuilder and user interfaces

InterfaceBuilder and user interfaces ES3 Lab 2 InterfaceBuilder and user interfaces This lab InterfaceBuilder Creating components Linking them to your code Adding buttons, labels, sliders UITableView Creating a tableview Customizing cells

More information

Cocoa Touch Best Practices

Cocoa Touch Best Practices App Frameworks #WWDC15 Cocoa Touch Best Practices Session 231 Luke Hiesterman UIKit Engineer 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

My First iphone App (for Xcode version 6.4)

My First iphone App (for Xcode version 6.4) My First iphone App (for Xcode version 6.4) 1. Tutorial Overview In this tutorial, you re going to create a very simple application on the iphone or ipod Touch. It has a text field, a label, and a button

More information

IPHONE DEVELOPMENT. Getting Started with the iphone SDK

IPHONE DEVELOPMENT. Getting Started with the iphone SDK IPHONE DEVELOPMENT Getting Started with the iphone SDK OBJECTIVE-C The Big Picture STRICT SUPERSET OF C The Objective C Language Any C stuff applies Standard libs are here (time, sqrt etc) The C Language

More information

UI Design and Storyboarding

UI Design and Storyboarding UI Design and Storyboarding Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Model-View-Controller

More information

iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department

iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department pmadden@acm.org http://optimal.cs.binghamton.edu General Outline Overview of the tools, and where to get more information

More information

Playing & Recording Audio Audio Queue Services Playback - AQPlayer Class

Playing & Recording Audio Audio Queue Services Playback - AQPlayer Class Playing & Recording Audio Audio Queue Services Playback - AQPlayer Class 11 2010-2 iphone Application Index 1. AQPlayer 2. SpeakHere Classes & Resources 3. SpeakHere Class 4. AQPlayer Class 5. AQPlayer.h

More information

SDK Quick Start Guide

SDK Quick Start Guide SDK Quick Start Guide Index Requirements...3 Required Frameworks...3 Project Target Build Settings...4 AppDelegate sub- classing...4 Using the Low Level API...6 C2CallPhone Base class for low- level C2Call

More information

lecture 10 UI/UX and Programmatic Design cs : spring 2018

lecture 10 UI/UX and Programmatic Design cs : spring 2018 lecture 10 UI/UX and Programmatic Design cs198-001 : spring 2018 1 Announcements custom app progress form due before lab (~1 minute) will be released after lecture only 2 labs left (both very important)

More information

Social Pinboard: ios(swift) Application

Social Pinboard: ios(swift) Application Social Pinboard: ios(swift) Application Document Version 1.0.1 Date: 15 th May, 2015 2 [SOCIAL PINBOARD: APP DOCUMENTATION] Important Notes:... 5 AppDelegate Class Reference... 6 Tasks... 6 Instance Methods...

More information

Mobile Application Programming. Memory Management

Mobile Application Programming. Memory Management Mobile Application Programming Memory Management Memory Management Ownership Model Memory Management in Objective-C is based on an ownership model. Objects may have many owners. Actions that result in

More information

Collections. Fall, Prof. Massimiliano "Max" Pala

Collections. Fall, Prof. Massimiliano Max Pala Collections Fall, 2012 Prof. Massimiliano "Max" Pala pala@nyu.edu Overview Arrays Copy and Deep Copy Sets Dictionaries Examples Arrays Two Classes NSArray and NSMutableArray (subclass of NSArray) int main(int

More information

Objectives. Submission. Register for an Apple account. Notes on Saving Projects. Xcode Shortcuts. CprE 388 Lab 1: Introduction to Xcode

Objectives. Submission. Register for an Apple account. Notes on Saving Projects. Xcode Shortcuts. CprE 388 Lab 1: Introduction to Xcode Objectives Register for an Apple account Create an application using Xcode Test your application with the iphone simulator Import certificates for development Build your application to the device Expand

More information

Step 1: Open Xcode and select Create a new Xcode Project from the Welcome to Xcode menu.

Step 1: Open Xcode and select Create a new Xcode Project from the Welcome to Xcode menu. In this tutorial we are going to build a simple calculator using buttons that are all linked together using the same method. We will also add our own method to the source code to create some additional

More information

Assignment I Walkthrough

Assignment I Walkthrough Assignment I Walkthrough Objective Reproduce the demonstration (building a calculator) given in class. Materials By this point, you should have been sent an invitation to your sunet e-mail to join the

More information

CS193P - Lecture 16. iphone Application Development. Audio APIs Video Playback Displaying Web Content Settings

CS193P - Lecture 16. iphone Application Development. Audio APIs Video Playback Displaying Web Content Settings CS193P - Lecture 16 iphone Application Development Audio APIs Video Playback Displaying Web Content Settings 1 Today s Topics Audio APIs Video Playback Settings Bundles 2 Audio Playback 3 Uses for Audio

More information

ios Mobile Development

ios Mobile Development ios Mobile Development Today UITextView Scrollable, editable/selectable view of a mutable attributed string. View Controller Lifecycle Finding out what s happening as a VC is created, hooked up to the

More information

Acollada ios Charting Components

Acollada ios Charting Components Acollada ios Charting Components Acollada ios Charting Components... 1 LineChartView... 3 Description... 3 Screenshot... 3 Protocols to be implemented... 3 Customizing the LineChartView aspect... 4 How

More information

Announcement. Final Project Proposal Presentations and Updates

Announcement. Final Project Proposal Presentations and Updates Announcement Start Final Project Pitches on Wednesday Presentation slides dues by Tuesday at 11:59 PM Email slides to cse438ta@gmail.com Extensible Networking Platform 1 1 - CSE 438 Mobile Application

More information

View Controller Lifecycle

View Controller Lifecycle View Controller Lifecycle View Controllers have a Lifecycle A sequence of messages is sent to them as they progress through it Why does this matter? You very commonly override these methods to do certain

More information

CS193E Lecture #3 Categories and Protocols Cocoa Memory Management

CS193E Lecture #3 Categories and Protocols Cocoa Memory Management CS193E Lecture #3 Categories and Protocols Cocoa Memory Management Winter 2008, Dempsey/Marcos 1 Today s Topics Questions from Assignment 1A or 1B? Categories Protocols Cocoa Memory Management Object life

More information

Mobile Application Programing: ios. Messaging

Mobile Application Programing: ios. Messaging Mobile Application Programing: ios Messaging Application Model View Controller (MVC) Application Controller User Action Update View Notify Update Model Messaging Controller User Action Update Notify Update

More information

What s New in Core Audio

What s New in Core Audio Media #WWDC14 What s New in Core Audio Session 501 Torrey Holbrook Walker Master of Ceremonies 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

Design Phase. Create a class Person. Determine the superclass. NSObject (in this case)

Design Phase. Create a class Person. Determine the superclass. NSObject (in this case) Design Phase Create a class Person Determine the superclass NSObject (in this case) 8 Design Phase Create a class Person Determine the superclass NSObject (in this case) What properties should it have?

More information

App. Chapter 19 App. App (ViewController) App. Single View Application Single View Application View. (View Controller)

App. Chapter 19 App. App (ViewController) App. Single View Application Single View Application View. (View Controller) Chapter 19 App App (ViewController) App 19.1 App App Single View Application Single View Application View Controller View Controller Label Button Button (View Controller) 2 View Controller Utility Area

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lab 2: RPN Calculator App (1 of 3) Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Task 1 Task: Create a new application

More information

Praktikum Entwicklung von Mediensystemen mit ios

Praktikum Entwicklung von Mediensystemen mit ios Praktikum Entwicklung von Mediensystemen mit ios WS 2011 Prof. Dr. Michael Rohs michael.rohs@ifi.lmu.de MHCI Lab, LMU München Today Storyboards Automatic Reference Counting Animations Exercise 3 2 Timeline

More information

View Controllers CPRE 388

View Controllers CPRE 388 View Controllers CPRE 388 View Controllers Manage views in model view controller design template. Many types: custom view controller; container view controller; modal view controller. Custom View controllers

More information

Running Code on an ios Device. Appendix. The ios Developer Program

Running Code on an ios Device. Appendix. The ios Developer Program ------- Appendix A Running Code on an ios Device Developing for ios is many things: challenging, fun, rewarding, and exciting. One thing it is not is free. To begin, doing any legitimate ios development

More information

Tip Calculator App Introducing Swift, Text Fields, Sliders, Outlets, Actions, View Controllers, Event Handling, NSDecimalNumber,

Tip Calculator App Introducing Swift, Text Fields, Sliders, Outlets, Actions, View Controllers, Event Handling, NSDecimalNumber, 3 Tip Calculator App Introducing Swift, Text Fields, Sliders, Outlets, Actions, View Controllers, Event Handling, NSDecimalNumber, NSNumberFormatter and Automatic Reference Counting Objectives In this

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 7: View Controller Lifecycle and UIKit Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Content View Controller

More information

Timers Timer CPRE 388

Timers Timer CPRE 388 Timers CPRE 388 Timers A timer provides a way to perform a delayed action or a periodic action Thetimer waits until a certain time interval has elapsed and then fires, sending a specified message to a

More information

Objective-C Runtime. Cocoa s Jewel in the Crown. NSConference Nicolas

Objective-C Runtime. Cocoa s Jewel in the Crown. NSConference Nicolas Objective-C Runtime Cocoa s Jewel in the Crown NSConference 2011 Nicolas Seriot @nst021 [isa kindof:magic] 1. Objective-C 2. Recipes 3. Introspection 4. Debugging Objective-C Runtime OO, Smalltalk-like,

More information

Advanced Memory Analysis with Instruments. Daniel Delwood Performance Tools Engineer

Advanced Memory Analysis with Instruments. Daniel Delwood Performance Tools Engineer Advanced Memory Analysis with Instruments Daniel Delwood Performance Tools Engineer 2 Memory Analysis What s the issue? Memory is critical to performance Limited resource Especially on iphone OS 3 4 Memory

More information

Objective-C and COCOA Applications

Objective-C and COCOA Applications Objective-C and COCOA Applications Fall, 2012 Prof. Massimiliano "Max" Pala pala@nyu.edu Overview X-Code IDE Basics Objective-C Classes Methods Invocations Important Types Memory Management Protocols Exceptions

More information

From Hello World to Finished App. raywenderlich.com

From Hello World to Finished App. raywenderlich.com From Hello World to Finished App Why Learn ios? - Strong demand - Motivating - App Store - It s fun! What s This All About? - One Day Crash Course - For beginners & intermediates - Making apps with UIKit

More information

Create an App that will drop PushPins onto a map based on addresses that the user inputs.

Create an App that will drop PushPins onto a map based on addresses that the user inputs. Overview Create an App that will drop PushPins onto a map based on addresses that the user inputs. Part 1: Introduction to MKMapKit Part 2: Introduction to PushPins Part 3: Use Google s API to lookup an

More information

Stichwortverzeichnis. 379, #define 287, 407 #import 50, 99 #pragma mark 415

Stichwortverzeichnis. 379, #define 287, 407 #import 50, 99 #pragma mark 415 Symbole @class 379, 480 @optional 360 @property 128 @protocol 197 @required 353 #define 287, 407 #import 50, 99 #pragma mark 415 A About-Fenster 294 Accessor-Methoden 94, 98, 115, 118, 132, 583 Action

More information

View Concepts. iphone Application Programming Lecture 4: User Interface Design. SDK provide many types of Views to show your content

View Concepts. iphone Application Programming Lecture 4: User Interface Design. SDK provide many types of Views to show your content View Concepts iphone Application Programming Lecture 4: User Interface Design SDK provide many types of Views to show your content At run-time Views are organized as a tree Chat Wacharamanotham Media Computing

More information

Adobe Primetime TVSDK 1.4 for ios Programmer's Guide

Adobe Primetime TVSDK 1.4 for ios Programmer's Guide Adobe Primetime TVSDK 1.4 for ios Programmer's Guide Contents TVSDK 1.4 for ios Programmer's Guide...5 Overview...5 Overview...5 Primetime TVSDK features...5 Considerations and best practices...6 Requirements...7

More information

Cisco StadiumVision Mobile API for Apple ios

Cisco StadiumVision Mobile API for Apple ios CHAPTER 1 Revised: March 28, 2013 Introduction to The ios SDK is provided as a set of static libraries, header files, and an a sample ios app (with a complete Xcode project). This API uses Objective-C

More information

App SandBox Directory

App SandBox Directory Data Persistence Sisoft Technologies Pvt Ltd SRC E7, Shipra Riviera Bazar, Gyan Khand-3, Indirapuram, Ghaziabad Website: www.sisoft.in Email:info@sisoft.in Phone: +91-9999-283-283 App SandBox Directory

More information

Review. Objective-C Classes, Methods, Properties, Protocols, Delegation, Memory Management

Review. Objective-C Classes, Methods, Properties, Protocols, Delegation, Memory Management Data Persistence Review Objective-C Classes, Methods, Properties, Protocols, Delegation, Memory Management Foundation NSArray, NSDictionary, NSString (and mutable versions thereof) MVC and UIViewController

More information

View Concepts. iphone Application Programming Lecture 4: User Interface Design. SDK provide many types of Views to show your content

View Concepts. iphone Application Programming Lecture 4: User Interface Design. SDK provide many types of Views to show your content View Concepts iphone Application Programming Lecture 4: User Interface Design SDK provide many types of Views to show your content At run-time Views are organized as a tree Chat Wacharamanotham Media Computing

More information

CS193P - Lecture 3. iphone Application Development. Custom Classes Object Lifecycle Autorelease Properties

CS193P - Lecture 3. iphone Application Development. Custom Classes Object Lifecycle Autorelease Properties CS193P - Lecture 3 iphone Application Development Custom Classes Object Lifecycle Autorelease Properties 1 Announcements Assignments 1A and 1B due Wednesday 1/13 at 11:59 PM Enrolled Stanford students

More information

Announcements. Today s Topics

Announcements. Today s Topics Announcements Lab 4 is due on Monday by 11:59 PM Special Guest Lecture next Wednesday Nathan Gitter, former Head TA of 438 He is currently featured on the front page of the ios App Store (Monday Oct 15

More information

Advanced Object- C Features

Advanced Object- C Features Advanced Object- C Features Advanced Features Proper6es Categories Protocols Delegates Selectors Key- Value Coding Predicators Proper6es Provide access to object a?ributes Shortcut to implemen6ng ge?er/se?er

More information

CS193E Lecture 7. Document-based Applications NSTableView Key-Value Coding

CS193E Lecture 7. Document-based Applications NSTableView Key-Value Coding CS193E Lecture 7 Document-based Applications NSTableView Key-Value Coding Agenda Questions? Review: delegates, MVC Document-based apps Table views Key Value Coding Model, View, Controller Controller Model

More information

MVC & Onwards. CS 442: Mobile App Development Michael Saelee

MVC & Onwards. CS 442: Mobile App Development Michael Saelee MVC & Onwards CS 442: Mobile App Development Michael Saelee Agenda - Recap: view-controller communication - Delegation as a general pattern - Observer pattern - Controller responsibilities & MVC - Multiple

More information

CLOCK4 TUTORIAL VERY SIMPLE HELLO WORLD COCOA APPLICATION

CLOCK4 TUTORIAL VERY SIMPLE HELLO WORLD COCOA APPLICATION http:clanmills.com Page 1/8 CLOCK4 TUTORIAL VERY SIMPLE HELLO WORLD COCOA APPLICATION Life in a new programming environment has to start somewhere. Everybody knows the hello world application written in

More information

ios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout

ios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout ios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout Overview : Today s Lecture Model View Controller Design Pattern Creating Views in Storyboard Connecting your Views to Code Auto

More information

A Vertical Slider for iphone

A Vertical Slider for iphone A Vertical Slider for iphone The UISlider control offers a way to continuously get values from the user within a range of set values. In the Interface Builder library of controls, there is only a horizontal

More information