Multitasking and Background Execution
|
|
- Theresa Arnold
- 5 years ago
- Views:
Transcription
1 Multitasking and Background Execution Fall, 2012 Prof. Massimiliano "Max" Pala
2 Introduction Spawning Threads and Tasks Background Execution User hits 'home' button the app is sent in the background Can continue to execute tasks, but no interaction with the user When the application is sent to the background and then to the foreground again, several delegate (UIApplicationDelegate) messages applicationdidenterbackground: applicationwillenterforeground: Several Messages are sent to the application as well UIApplicationDidEnterBackgroundNotification UIApplicationWillEnterForegroundNotification You can use the default notification center to register for these notifications
3 Multitasking Availability Not all the devices are capable of multitasking ios not updated, hardware not powerful enough To correctly handle the lack of multitasking capabilities you need to check for it Send the ismultitaskingsupported message to the UIDevice - (BOOL) ismultitaskingsupported { BOOL ret = NO; if ([[ UIDevice currentdevice] respondstoselector:@selector(ismultitaskingsupported:)]) { ret = [[UIDevice currentdevice] ismultitaskingsupported]; return ret;
4 Multitasking Availability (cont.) - (BOOL)applicationDidFinishLaunchingWithOptions: (NSDictionary *) launchoptions { self.mutitaskingok = [self ismultitaskingsupported]; self.window = [[UIWindow alloc] initwithframe:. if (self.multitaskingok == YES) { // Do something with it..
5 Blocks dispatch_queue_t queue = dispatch_get_global_queue(dispatch_queue_priority_default,0); dispatch_async(queue, ^(void) { ) Blocks are first class objects retain the value of the variables in the scope copy Do not need to setup NSInteger (^subtract)(nsinteger val, NSInteger from) = ^(NSInteger a, NSInteger b) { return a - b; ; subtract(5,2);
6 Shortcut for threads creation Problem: you want to create threads easily Solution: use the performselectorinbackgroundwithobjects instance method of NSObject [self ) withobject:nil]; -(void) firstcounter { NSUInteger counter = 0; for ( counter = 0; counter < 1000; counter++) { NSLog(@"Counter = %lu", (unsigned long)counter);
7 Executing tasks with GCD Grand Central Dispatch (CGD) is a low-level C API that works with block objects At the heart of CGD are dispatch queues run tasks sync, async, after a certain delay, etc.. All methods available in GCD start with dispatch_ keyword dispatch_async, dispatch_async_f, dispatch_after, etc. Different Queues: Main queue - main thread for UI operations Concurrent queues - use this instead of threads Serial queues - operate in FIFO mode (not on the main thread, though)
8 Long-running tasks in Background Application is sent to the background Still needs to finish a task Solution: borrow some time from ios to complete the task UIApplication has two useful instance method beginbackgroundtaskwithexpirationhandler: endbackgroundtask: The backgroundtimeremaining property of UIApplication contains the number of seconds the app has to finish the job DBL_MAX - when the app is in the foreground or fully suspended You can call the method as many times as you need each call must be followed by endbackgroundtask: failure to do so, may cause your app to be terminated! Background tasks should be short / small
9 Long-running tasks in Background Cleaning up tasks 1. End any threads or timers 2. End the background task by calling endbackgroundtask: method of UIApplication 3. Mark our task as ended Assign UIBackgroundTaskInvalid to the task identifiers One more thing to do When the app is put in the foreground again, we need to ensure that we get rid of the background task
10 Example #import mybackgroundappdelegate : UIResponder (nonatomic, strong) UIWindow (nonatomic, unsafe_unretained) UIBackgroundTaskIdentifier (nonatomic, strong) NSTimer #import mytimer; -(void) applicationdidenterbackground:(uiapplication *)application { if ([self ismultitaskingsupported] == NO) return; self.mytimer = [NSTimer scheduledtimerwithtimeinterval:1.0f target:self selector:@selector(timermethod:) userinfo:nil repeats:yes]; self.backtaskid = [application beginbackgroundtaskwithexpirationhandler:^(void) { [self endbackgroundtask]; ];
11 Example (cont.) -(void) timermethod:(nstimer *)sender { NSTimeInterval timeremaining = [[UIApplication sharedapplication] backgroundtimeremaining]; if (timeremaining == DBL_MAX) { NSLog(@"Background time.. undefined!"); else { NSLog(@"Remaining time = %.02f Seconds", timeremaining); -(void) endbackgroundtask { dispatch_queue_t mainqueue = dispatch_get_main_queue(); _weak mybackgroundappdelegate *weakself = self; dispatch_async(mainqueue, ^(void) { mybackgroundappdelegate *strongself = weakself; if (strongself!= nil) { [strongself.mytimer invalidate]; [[UIApplication sharedapplication] endbackgroundtask:self.backtaskid]; strongself.backtaskid = UIBackgroundTaskInvalid; );
12 Notifications in Background Problem: presenting an alert even when the application is not running Solution Instantiate a UILocalNotification object Schedule it to be delivered by using the schedulelocalnotification: instance method of UIApplication Use the cancelalllocalnotifications instance method of UIApplication to cancel the delivery of all pending local notifications If the application is running, then no notification is give to the user Pay attention to the locale - changes in the locale could affect the time, and, therefore, the delivery of your local notifications
13 Example #import myappdelegate : UIResponder (nonatomic, strong) UIWindow #import -(BOOL) applicationdidfinishlaunchingwithoptions:(nsdictionary *)opts { id schedulelocalnotification = [opts valueforkey:uiapplicationlaunchoptionslocalnotificationkey]; if (scheduledlocalnotification!= nil) { // Here our app is not running, but we received the local notification NSString *message Notification Woke Me Up!"; [[UIAlertView alloc] initwithtitle:@"notification" message:message delegate:nil cancelbuttontitle:@"ok" otherbuttontitles:nil] show]; else { (continue.)
14 Example else { // Here, our app was not awaken by a local notification // Let's schedule one! NSString *message new instant message is available. Would you like to read it?"; [self localnotificationwithmessage:message actionbuttontitle:@"yes" launchimage:nil applicationbadge:1 secondsfromnow:10.0f userinfo:nil]; message new local notification in 10 seconds!"; [[[UIAlertView alloc] initwithtitle:@"set Up" message:message delegate:nil cancelbuttontitle:@"ok" otherbuttontitles:nil] show]; return YES; -(void) didreceivelocalnotification:(uilocalnotification *)notification { NSString *message notification: delivered!"; [[[UIAlertView alloc] initwithtitle:@"local Notification" message:message delegate:nil cancelbuttontitle:@"ok" ] show];
15 Background Tasks Problem: you want the application to be able to continue to play audio files even when it's in the background Solution: edit the.plist file create a new key named UIBackgroundModes add the value 'audio' to it Now you can use the AV Foundation to play audio files also when the app is in the background <dict> <key> UIBackgroundModes</key> <array> <string> audio</string> </array> </dict>
16 Example #import <UIKit/UIKit.h> #import myappdelegate : UIResponder <UIApplicationDelegate, (nonatomic, strong) UIWindow (nonatomic, strong) AVAudioPlayer #import player; -(void) didfinishlaunchingwithoptions:(nsdictionary *)ops { dispatch_queue_t dispatchqueue = dispatch_get_global_queue(dispatch_queue_priority_default,0); dispatch_async(dispatchqueue, ^(void) { NSError *audiosessionerr = nil; AVAudioSession avsession = [AVAudioSession sharedinstance]; if ([audiosession setcategory:avaudiosessioncategoryplayback error:&audiosessionerr]) NSLog(@"Session is available"); (continue)
17 Example (cont.) NSBundle *mainbundle = [NSBundle mainbundle]; NSString *filepath = [mainbundle pathforresource:@"mysong" oftype:@"mp3"]; NSData *filedata = [NSData datawithcontentsoffile:filepath]; NSError *err = nil; ); self.audioplayer = [[AVAudioPlayer alloc] initwithdata:filedata error:&err]; if (self.audioplayer!= nil) { // Set the delegate self.audioplayer.delegate = self; // Start Playing if ([self.audioplayer preparetoplay] && [self.audioplayer play]) NSLog(@"Playing"); self.window = [[UIWindow ] ]; return YES;
18 Background Tasks 2 Problem: you want the application to be able to continue to use the location Solution: edit the.plist file create a new key named UIBackgroundModes add the value 'location' to it Now you can use the CLLocationManager to receive updates for the location even when the application is in background <dict> <key> UIBackgroundModes</key> <array> <string> location</string> </array> </dict>
19 Example #import <UIKit/UIKit.h> #import myappdelegate : UIResponder <UIApplicationDelegate, (nonatomic, strong) UIWindow (nonatomic, strong) CLLocationManager (nonatomic, unsafe_unretained, getter=isexecutinginbackground) BOOL #import executinginbackground; -(BOOL) isexecutinginbackground { return executinginbackground;
20 Example (cont.) -(void) didfinishlaunchingwithoptions:(nsdictionary *) opts { self.locmanager = [[CLLocationManager alloc] init]; self.locmanager.desiredaccuracy = kclllocationaccuracybest; self.locmanager.delegate = self; [self.locmanager startupdatinglocation]; self.window = [[UIWindow ] ]; return YES; -(void)applicationdidenterbackground:(uiapplication *)application{ self.executinginbackground = YES; // Let's reduce the accuracy while in the background self.locmanager.desiredaccuracy = kcllocationaccuracyhundredmeters; -(void)applicationwillenterforeground(uiapplication *)application { self.executinginbackground = NO; self.locmanager.desiredaccuracy = kcllocationaccuracybest;
21 Threads ios introduced access to multi threading for normal Apps in ios 4.0+ Operations needed for multi threading: A method to execute (eg., dosomething) An helper method where you create an NSOperationQueue Create a new NSInvocationOperation Add the operation to the queue Create a new autorelease pool in the dosomething: method (each thread needs its own) Use locks to access data shared among threads by to guarantee access to a block of code by a single thread
22 Threads myclass : NSObject { NSInvocationOperation *op; NSOperationQueue *queue; -(void) newthread: (id)data; myclass -(void) newthread:(id)data { queue = [[NSOperationQueue alloc] init]; op = [[[NSInvocationOperation alloc] initwithtarget:self selector:@selector(compute:) object:data] autorelease]; [queue addoperation: op];
23 Threads (cont.) -(void) compute: (id) data { NSAutoreleasePool *threadpool = [[NSAutoreleasePool alloc] init]; // Your { // Store the result in myresultobject.. [threadpool release]; -(void) submitbuttonclicked { [myobject newthread:data]; // Continue to be responsive to the UI..
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 informationAVAudioPlayer. avtouch Application
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
More informationConcurrent Programming in Mac OS X and ios
Concurrent Programming in Mac OS X and ios Concurrent Programming in Mac OS X and ios Vandad Nahavandipoor Beijing Cambridge Farnham Köln Sebastopol Tokyo Concurrent Programming in Mac OS X and ios by
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 informationITP 342 Mobile App Dev
ITP 342 Mobile App Dev Grand Central Dispatch Background Processing Grand Central Dispatch (GCD) New API for splitting up the work your app needs to do into smaller chunks that can be spread across multiple
More informationMobile Application Development
Mobile Application Development Lecture 17 Blocks, Concurrency, Networking 2013/2014 Parma Università degli Studi di Parma Lecture Summary Blocks Concurrency and multithreading Grand Central Dispatch (GCD)
More informationKevin van Vechten Core OS
Kevin van Vechten Core OS 2 3 Bill Bumgarner 4 (lambda (a) (add a d)) 10 timesrepeat:[pen turn:d; draw] z.each { val puts(val + d.to_s)} repeat(10, ^{ putc('0'+ d); }); 5 6 7 8 ^ 9 [myset objectspassingtest:
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 informationiphone 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 informationConcurrency. CS 442: Mobile App Development Michael Saelee
Concurrency CS 442: Mobile App Development Michael Saelee note: ios devices are now (mostly) multi-core; i.e., concurrency may allow for real performance gains! but the more common incentive
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 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 informationStanford CS193p. Developing Applications for ios. Spring Stanford CS193p. Spring 2012
Developing Applications for ios Today Blocks Objective-C language feature for in-lining blocks of code Foundation of multi-threaded support (GCD) What is a block? A block of code (i.e. a sequence of statements
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 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 informationGrand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015
Grand Central Dispatch and NSOperation CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 1 Credit Where Credit Is Due Most of the examples in this lecture were inspired by example code
More informationObjective-C ICT/7421ICTNathan. René Hexel. School of Information and Communication Technology Griffith University.
Objective-C 2.0 2501ICT/7421ICTNathan René Hexel School of Information and Communication Technology Griffith University Semester 1, 2012 Outline Fast Enumeration and Properties 1 Fast Enumeration and Properties
More informationios Performance and Concurrency Patrick Thomson
ios Performance and Concurrency Patrick Thomson Performance Matters ios devices are resource-constrained Users will notice performance issues The deciding factor between a good and an awful app Demo Obligatory
More informationMobile Application Development
Mobile Application Development Lecture 13 Introduction to ObjectiveC Part II 2013/2014 Parma Università degli Studi di Parma Lecture Summary Object creation Memory management Automatic Reference Counting
More informationStanford CS193p. Developing Applications for ios. Spring Stanford CS193p. Spring 2012
Developing Applications for ios Today NSTimer and perform after delay Two delayed-action alternatives. More View Animation Continuation of Kitchen Sink demo Alerts and Action Sheets Notifying the user
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 informationITP 342 Mobile App Dev. Unit Testing
ITP 342 Mobile App Dev Unit Testing Testing Xcode provides you with capabilities for extensive software testing. Testing your projects enhances robustness, reduces bugs, and speeds the acceptance of your
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 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 informationITP 342 Mobile App Dev. Locations and Maps
ITP 342 Mobile App Dev Locations and Maps Locations and Maps Every ios device has the ability to determine where in the world it is Create a live interactive map showing any locations you like, including
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 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 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 informationCollections & Memory Management. Lecture 2
Collections & Memory Management Lecture 2 Demo: Accessing Documentation Collections NSArray a list of objects in order [array objectatindex:0] [array objectatindex:3] Counting starts at zero, not one NSSet
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 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 informationStanford CS193p. Developing Applications for iphone 4, ipod Touch, & ipad Fall Stanford CS193p Fall 2010
Developing Applications for iphone 4, ipod Touch, & ipad Today Blocks Language syntax for declaring a function on the fly. Grand Central Dispatch C API for leveraging blocks to make writing multithreaded
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 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 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 informationCore Data Potpourri. Paul
Core Data Potpourri Paul Goracke paul@goracke.org @pgor What We Can Learn from an All-Night Marathon of Threes Paul Goracke @pgor Core Data Potpourri Paul Goracke paul@goracke.org @pgor What I m leaving
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 informationE Event-based parser, XML, 180 Extended attributes, URLs, 118 API, 119 command line, 118 description, 118 NSURL category, 119
Index A Access control lists (ACLs), 113 Application distribution, 353 certificate utility, 358 App ID creation, 358 App Store, 363 center, 357 no of certificates, 358 code sign identity, 362 configuring
More informationGrand Central Dispatch. Sri Teja Basava CSCI 5528: Foundations of Software Engineering Spring 10
Grand Central Dispatch Sri Teja Basava CSCI 5528: Foundations of Software Engineering Spring 10 1 New Technologies in Snow Leopard 2 Grand Central Dispatch An Apple technology to optimize application support
More informationCocoa, Objective C - Alert Panels!
Cocoa, Objective C - Alert Panels By Debasis Das March - 2014 1 of 13 Alerts are key to any application. Some of the usages of an application alerts are as - To display an informative message - To take
More informationEmbed ios SDK in to a fitness app
Embed ios SDK in to a fitness app Objective: To embed smart messaging in to an existing ios app for fitness Implementation: 1. Add TeamchatSDK.framework to your project. 2. Add TeamchatSDK.framework to
More informationCS193P - Lecture 10. iphone Application Development. Performance
CS193P - Lecture 10 iphone Application Development Performance 1 Announcements 2 Announcements Paparazzi 2 is due next Wednesday at 11:59pm 2 Announcements Paparazzi 2 is due next Wednesday at 11:59pm
More informationMobile Application Programming. Objective-C Classes
Mobile Application Programming Objective-C Classes Custom Classes @interface Car : NSObject #import Car.h + (int) viper; - (id) initwithmodel:(int)m; @implementation Car Point position; float velocity;
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 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 informationWhat s New in Core Location
Core OS What s New in Core Location Session 706 Stephen Rhee Engineering Manager 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
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 informationWorking Effectively with Objective-C on iphone OS. Blaine Garst Wizard of Runtimes
Working Effectively with Objective-C on iphone OS Blaine Garst Wizard of Runtimes 2 Working Effectively with Objective-C on ios 4 Blaine Garst Wizard of Runtimes 3 Objective-C is the language of Cocoa
More informationReview (Basic Objective-C)
Classes Header.h (public) versus Implementation.m (private) @interface MyClass : MySuperclass... @end (only in header file) @interface MyClass()... @end (only in implementation file) @implementation...
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 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 informationEsri Developer Summit in Europe ArcGIS Runtime for ios
Esri Developer Summit in Europe ArcGIS Runtime for ios Al Pascual / Nick Furness ArcGIS Web & Mobile APIs Web APIs Flex JavaScript Silverlight REST Mobile APIs ArcGIS Server ArcGIS Runtime SDK for ios
More informationObjective-C Part 2 (ECS189H) Ken Joy Serban Porumbescu
Objective-C Part 2 (ECS189H) Ken Joy joy@cs.ucdavis.edu Serban Porumbescu porumbes@cs.ucdavis.edu Today Objective-C Memory Management Properties Categories and Protocols Delegates Objective-C Memory Management
More informationMobile Application Development
Object Lifecycle Mobile Application Development Creating objects Memory management Destroying objects Basic ios Development 11-Nov-11 Mobile App Development 1 11/11/11 2 Object Creation Two step process
More informationWhat's new in ios 5?
What's new in ios 5? (and why should I care?) Vikram Kriplaney vikram@local.ch vikram@iphonso.com @krips icloud Storage API Provides a sandbox for each app Synchronizes data and files between cloud and
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 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 informationComputer Science 251. iphone Application Development. Autorotation, Popover Controllers, Modal Controllers
Computer Science 251 iphone Application Development Autorotation, Popover Controllers, Modal Controllers Two Types of Orientation Device: physically upside down, rotated left, on its back, etc. Can be
More informationMultitasking Support on the ios Platform
Multitasking Support on the ios Platform Priya Rajagopal Invicara (www.invicara.com) @rajagp Multitasking on ios? Multitasking allows apps to perform certain tasks in the background while you're using
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 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 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 informationPraktikum Entwicklung von Mediensystemen mit ios
Praktikum Entwicklung von Mediensystemen mit ios SS 2011 Michael Rohs michael.rohs@ifi.lmu.de MHCI Lab, LMU München Timeline Date Topic/Activity 5.5.2011 Introduction and Overview of the ios Platform 12.5.2011
More informationCovers ios 6. Bear Cahill. Includes 98 Techniques MANNING
Bear Cahill Covers ios 6 Includes 98 Techniques MANNING ios in Practice by Bear Cahill Chapter 5 Copyright 2012 Manning Publications brief contents PART 1 GETTING STARTED...1 1 Getting started with ios
More informationPrinciples of Programming Languages. Objective-C. Joris Kluivers
Principles of Programming Languages Objective-C Joris Kluivers joris.kluivers@gmail.com History... 3 NeXT... 3 Language Syntax... 4 Defining a new class... 4 Object identifiers... 5 Sending messages...
More informationPraktikum Entwicklung von Mediensystemen mit ios
Praktikum Entwicklung von Mediensystemen mit ios SS 2011 Michael Rohs michael.rohs@ifi.lmu.de MHCI Lab, LMU München Milestones 26.5. Project definition, brainstorming, main functions, persona 9.6. (week
More informationCarPlay Audio and Navigation Apps
#WWDC18 CarPlay Audio and Navigation Apps Tunes and turns Jonathan Hersh, ios Car Experience Albert Wan, ios Car Experience Mike Knippers, ios Car Experience 2018 Apple Inc. All rights reserved. Redistribution
More informationThe Sensors in your iphone. Dr Alasdair Allan
The Sensors in your iphone Dr Alasdair Allan Available Hardware Hardware Features Original iphone iphone 3G iphone 3GS 1st Gen ipod touch 2nd Gen ipod touch 3rd Gen ipod touch Cellular Wi-Fi Bluetooth
More informationA Mobile Mapping Application
A Mobile Mapping Application MANNING SHELTER ISLAND A Mobile Mapping Application A special edition ebook Copyright 2013 Manning Publications contents about mobile mapping about this ebook v about the authors
More informationGetting Started with ArcGIS Runtime SDK for ios. Nick Furness / Al Pascual
Getting Started with ArcGIS Runtime SDK for ios Nick Furness / Al Pascual ArcGIS Runtime Family of SDKs for multiple platforms - Consistent capabilities Native to the platform - For building great apps
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 Saving data Networking Location Sensors Exercise 2 2 Timeline # Date
More informationMobile Application Development L14: Miscellaneous
Mobile Application Development L14: Miscellaneous Jonathan Diehl (Informatik 10) Hendrik Thüs (Informatik 9) Agenda Accessing Contacts, Calendars, and Email Using the Camera User Preferences & Settings
More informationITP 342 Mobile App Dev. Audio
ITP 342 Mobile App Dev Audio File Formats and Data Formats 2 pieces to every audio file: file format (or audio container) data format (or audio encoding) File formats describe the format of the file itself
More informationObjective-C. Stanford CS193p Fall 2013
New language to learn! Strict superset of C Adds syntax for classes, methods, etc. A few things to think differently about (e.g. properties, dynamic binding) Most important concept to understand today:
More informationStanford CS193p. Developing Applications for ios Fall Stanford CS193p. Fall 2013
Developing Applications for ios -14 Today What is this class all about? Description Prerequisites Homework / Final Project ios Overview What s in ios? MVC Object-Oriented Design Concept Objective C (Time
More informationStanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011
Developing Applications for ios Today NSTimer and perform after delay Two delayed-action alternatives. More View Animation Continuation of Kitchen Sink demo Alerts and Action Sheets Notifying the user
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 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 informationMaps, locations & sensors in ios
Maps, locations & sensors in ios Sebastian Ernst, PhD Department of Applied Computer Science AGH University of Science and Technology Displaying maps (ObjC) Maps are handled by MapKit and displayed using
More informationPower, Performance, and Diagnostics
Core OS #WWDC14 Power, Performance, and Diagnostics What's new in GCD and XPC Session 716 Daniel Steffen Darwin Runtime Engineer 2014 Apple Inc. All rights reserved. Redistribution or public display not
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 informationWhy Using Location and Map? iphone Application Programming L12: Location and Maps. Why Using Location and Map? Determine where you are
Why Using Location and Map? iphone Application Programming L12: Location and Maps Chat Wacharamanotham Media Computing Group RWTH Aachen University Winter Semester 2013/2014 http://hci.rwth-aachen.de/iphone
More informationPraktikum Entwicklung von Mediensystemen mit
Praktikum Entwicklung von Mediensystemen mit Wintersemester 2013/2014 Christian Weiß, Dr. Alexander De Luca Today Table View Navigation Controller Passing Data Between Scenes Assignment 2 2 Navigation-based
More informationiphone Application Programming Networking
iphone Application Programming Networking Media Computing Group RWTH Aachen University WS 2013/2014 http://hci.rwth-aachen.de/iphone Networking Connect Two Peers Standard UI What Is the Peer Picker? Game
More informationCreating Audio Apps for watchos
Session #WWDC18 Creating Audio Apps for watchos 504 Neil Desai, watchos Frameworks Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationPraktikum Entwicklung von Mediensystemen mit
Praktikum Entwicklung von Mediensystemen mit Sommersemester 2013 Fabius Steinberger, Dr. Alexander De Luca Today Organization Introduction to ios programming Hello World Assignment 1 2 Organization 6 ECTS
More informationGame Center Techniques, Part 1
Game Center Techniques, Part 1 Get Your Game On Gabriel Belinsky Senior Software Engineer 2 Game Center Friends Leaderboards Achievements Multiplayer gaming 3 What You ll Learn Game Center API basics Authenticate
More informationGetting Help. iphone Application Programming Lecture 3: Foundation Classes. Data Structures in Objective C. Online Documentation.
iphone Application Programming Lecture 3: Foundation Classes Prof. Jan Borchers Media Computing Group RWTH Aachen University Winter Semester 2013/2014 http://hci.rwth-aachen.de/iphone Online Documentation
More informationAsynchronous Events on Linux
Asynchronous Events on Linux Frederic.Rossi@Ericsson.CA Open System Lab Systems Research June 25, 2002 Ericsson Research Canada Introduction Linux performs well as a general purpose OS but doesn t satisfy
More informationITP 342 Mobile App Development. Singleton
ITP 342 Mobile App Development Singleton Shared Model Object A singleton is a special kind of class where only one instance of the class exists for the current process. In the case of an iphone app, the
More informationFor your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to
For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. Contents at a Glance About the Author...
More informationMastering Xcode for iphone OS Development Part 2. Marc Verstaen Sr. Manager, iphone Tools
Mastering Xcode for iphone OS Development Part 2 Marc Verstaen Sr. Manager, iphone Tools 2 Tale of Two Sessions Part 1: Orientation: Tour of complete development cycle Part 2: Mastery: Details of several
More informationReview. iphone Application Programming Lecture 2: Objective-C, Cocoa. History. Objective-C. Device restrictions. Interaction paradigm changes
Review iphone Application Programming Lecture 2: Objective-C, Cocoa Device restrictions Gero Herkenrath Media Computing Group RWTH Aachen University Winter Semester 2013/2014 http://hci.rwth-aachen.de/iphone
More informationI, J. Key-value observing (KVO), Label component, 32 text property, 39
Index A Abstract factory pattern, 207 concrete factory, 213 examples in Cocoa, 227 groups of objects, 212 implementing, 213 abstract factories, 214 concrete factories, 214 215 operations, 212 213 pitfalls,
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 informationGuides ios Document current as of 08/22/ :11 PM. Installation. Install SDL SDK
Guides ios Document current as of 08/22/2017 05:11 PM. Installation In order to build your app on a SmartDeviceLink (SDL) Core, the SDL software development kit (SDK) must be installed in your app. The
More informationCisco StadiumVision Mobile API for Apple ios
CHAPTER 1 Revised: October 31, 2013 This chapter describes the Cisco StadiumVision Mobile SDK Release 1.3 for Apple ios, and contains the following sections: New Features in Cisco StadiumVision Mobile
More informationExtensions to Barrelfish Asynchronous C
Extensions to Barrelfish Asynchronous C Michael Quigley michaelforrquigley@gmail.com School of Computing, University of Utah October 27, 2016 1 Abstract The intent of the Microsoft Barrelfish Asynchronous
More informationimate: ios Application
imate: ios Application Document Version 1.0.1 Date: 27 th May, 2014 2 [IMATE: IOS APPLICATION] Contents AppDelegate Class Reference... 4 Tasks... 4 Properties... 4 Instance Methods... 4 ChatMenuViewController
More information