AVAudioPlayer. avtouch Application
|
|
- Flora Franklin
- 6 years ago
- Views:
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 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 informationAVAudioRecorder & 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 informationNavigation 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 informationsrc3/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 informationiphone 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 informationYour 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 informationYour 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 informationiphone 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
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 informationMultitasking 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 informationlectures/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 informationMVC 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 informationCS193p 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 informationTopics 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 informationWhy 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 informationCS193P: 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 informationios 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 informationDocument 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 informationIntro 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 informationThe 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 informationLife 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 informationProduced 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 informationYour 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 informationCOPYRIGHTED 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 informationIOS - 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 informationBuilding 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 informationepicurious 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 informationDesigning 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 informationBuilding 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 informationContents. 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 informationAbout 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 informationITP 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 informationUser 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 informationNews- 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 informationMobile 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 informationITP 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 informationMy 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 informationIntegrating 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 informationWidget 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 informationITP 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 informationITP 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 informationOVERVIEW. 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 informationCorrections 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 informationCS 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 informationData 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 informationCOMP327 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 informationAnnouncements. 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 informationObjective-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 informationInterfaceBuilder 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 informationCocoa 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 informationMy 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 informationIPHONE 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 informationUI 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 informationiphone 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 informationPlaying & 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 informationSDK 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 informationlecture 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 informationSocial 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 informationMobile 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 informationCollections. 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 informationObjectives. 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 informationStep 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 informationAssignment 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 informationCS193P - 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 informationios 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 informationAcollada 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 informationAnnouncement. 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 informationView 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 informationCS193E 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 informationMobile 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 informationWhat 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 informationDesign 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 informationApp. 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 informationDeveloping 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 informationPraktikum 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 informationView 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 informationRunning 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 informationTip 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 informationDeveloping 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 informationTimers 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 informationObjective-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 informationAdvanced 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 informationObjective-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 informationFrom 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 informationCreate 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 informationStichwortverzeichnis. 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 informationView 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 informationAdobe 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 informationCisco 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 informationApp 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 informationReview. 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 informationView 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 informationCS193P - 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 informationAnnouncements. 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 informationAdvanced 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 informationCS193E 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 informationMVC & 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 informationCLOCK4 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 informationios 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 informationA 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