Maps, locations & sensors in ios

Size: px
Start display at page:

Download "Maps, locations & sensors in ios"

Transcription

1 Maps, locations & sensors in ios Sebastian Ernst, PhD Department of Applied Computer Science AGH University of Science and Technology

2 Displaying maps (ObjC) Maps are handled by MapKit and displayed using the MKMapView class (or its associated Map View storyboard object). It can be created programmatically: MKMapView *mymapview; mymapview = [[MKMapView alloc] initwithframe:self.view.bounds]; mymapview.maptype = MKMapTypeSatellite; mymapview.autoresizingmask = UIViewAutoresizingFlexibleWidth UIViewAutoresizingFlexibleHeight; [self.view addsubview:mymapview];

3 Displaying maps (Swift) var mymapview = MKMapView(frame: self.view.bounds) mymapview.maptype = MKMapType.Satellite mymapview.autoresizingmask = UIViewAutoresizing.FlexibleWidth UIViewAutoresizing.FlexibleHeight self.view.addsubview(mymapview)

4 Displaying maps Alternatively, we can drag a MapView to the scene and create an appropriate outlet: (strong, nonatomic) IBOutlet MKMapView *mymapview; weak var mymapview: MKMapView!

5 Handling map view events Map views can produce various events. They can be handled by a function fulfilling the MKMapViewDelegate protocol. The possible events include: mapviewwillstartloadingmap: mapview:viewforannotation: mapviewwillstartlocatinguser: mapview:regiondidchangeanimated:

6 Using Core Location (ObjC) Use of various location sensors (GPS, GSM/Wi-Fi triangulation, magnetometer) is controlled by the Core Location framework. Its crucial element is the CLLocationManager class. Location events are handled by a delegate class with the CLLocationManagerDelegate protocol. if ([CLLocationManager locationservicesenabled]) { self.mylocationmanager = [[CLLocationManager alloc] init]; self.mylocationmanager.delegate = self; [self.mylocationmanager requestwheninuseauthorization]; [self.mylocationmanager startupdatinglocation]; }

7 Using Core Location (Swift) if (CLLocationManager.locationServicesEnabled()) { mylocationmanager = CLLocationManager() mylocationmanager.delegate = self mylocationmanager.requestwheninuseauthorization() mylocationmanager.startupdatinglocation() }

8 Getting permissions In ios 8, the CLLocationManger object must ask for permissions to use the location. This is achieved by calling the appropriate method: requestalwaysauthorization for apps which want to use location in the background, requestwheninuseauthorization for apps which only need the location when in use. Also, the description regarding what the location is needed for has to be added to the appropriate key in Info.plist (NSLocationAlwaysUsageDescription or NSLocationWhenInUseUsageDescription).

9 Handling location changes (ObjC) When the location is updated, the locationmanager:didupdatelocations: delegate method is called. It returns an array of CLLocation objects (at least one) the last element is the most recent location. - (void)locationmanager:(cllocationmanager *)manager didupdatelocations:(nsarray *)locations { self.lastlocation = locations[[locations count]-1]; self.latitudelabel.text = [NSString stringwithformat:@"%f", self.lastlocation.coordinate.latitude]; self.longitudelabel.text = [NSString stringwithformat:@ %f", self.lastlocation.coordinate.longitude]; self.speedlabel.text = [NSString stringwithformat:@"%f", self.lastlocation.speed]; }

10 Handling location changes (Swift) func locationmanager(manager: CLLocationManager!, didupdatelocations locations: [AnyObject]!) { lastlocation = locations[locations.count-1] as CLLocation latitudelabel.text = NSString(format: "%f", lastlocation.coordinate.latitude) longitudelabel.text = NSString(format: "%f", lastlocation.coordinate.longitude) speedlabel.text = NSString(format: "%f", lastlocation.speed) }

11 More on Core Location O Reilly Answers: How to effectively use Core Location in your iphone app

12 Displaying map annotations Map annotations are created using classes fulfilling the MKAnnotation protocol. The class should at least implement the initwithcoordinates:title:subtitle: method. After the class is instantiated, it is added to the MKMapView using the addannotation: method.

13 Using geocoding (ObjC) Geocoding and reverse geocoding is handled by the CLGeocoder (nonatomic, strong) CLGeocoder *mygeocoder; self.mygeocoder = [[CLGeocoder alloc] init]; [self.mygeocoder geocodeaddressstring:self.addresstextfield.text completionhandler:^(nsarray *placemarks, NSError *error) { if (placemarks.count > 0 && error == nil) { CLPlacemark *firstresult = placemarks[0]; self.latitudetextfield.text = [NSString stringwithformat:@"%f", firstresult.location.coordinate.latitude]; self.longitudetextfield.text = [NSString stringwithformat:@"%f", firstresult.location.coordinate.longitude]; } }];

14 Using geocoding (Swift) var mygeocoder: CLGeocoder! mygeocoder = CLGeocoder(); mygeocoder.geocodeaddressstring(addresstextfield.text, {(placemarks: [AnyObject]!, error: NSError!) -> Void in if (placemarks.count > 0 && error == nil){ var firstresult: CLPlacemark = placemarks[0] as CLPlacemark self.latitudetextfield.text = NSString(format: "%f", firstresult.location.coordinate.latitude) self.longitudetextfield.text = NSString(format: "%f", firstresult.location.coordinate.longitude) } })

15 Motion sensing Motion sensing is handled by the Core Motion framework. ios devices can be equipped with: an accelerometer, which detects the position of the device in relation to gravity, a gyroscope, which can detect motion when the accelerometer does not detect any (e.g. when the device rotates around its vertical axis).

16 Sensor availability (ObjC) Everything is handled by the CMMotionManager (nonatomic, strong) CMMotionManager* mymotionmanager; Not all ios devices have an accelerometer and/or gyroscope, so it s a good idea to check what is available: if ([self.mymotionmanager isaccelerometeravailable]) { NSLog(@"Accelerometer available"); } if ([self.mymotionmanager isgyroavailable]) { NSLog(@"Gyroscope available"); }

17 Sensor availability (Swift) var mymotionmanager: CMMotionManager! if (mymotionmanager.accelerometeravailable){ println("accelerometer available") } if (mymotionmanager.gyroavailable){ println("gyroscope available") }

18 Reading the accelerometer (ObjC) The accelerometer can be read using the startaccelerometerupdatestoqueue:withhandler: method. [self.mymotionmanager startaccelerometerupdatestoqueue:queue withhandler:^(cmaccelerometerdata *accelerometerdata, NSError *error) { NSLog(@"X=%.04f, Y=%.04f, Z=%.04f, accelerometerdata.acceleration.x, accelerometerdata.acceleration.y, accelerometerdata.acceleration.z); }];

19 Reading the accelerometer (Swift) mymotionmanager.startaccelerometerupdatestoqueue(ns OperationQueue(), withhandler: {(accelerometerdata: CMAccelerometerData!, error: NSError!) in println(nsstring(format:"x=%.4f, Y=%.4f, Z=%.4f", accelerometerdata.acceleration.x, accelerometerdata.acceleration.y, accelerometerdata.acceleration.z)) })

20 Reading the gyroscope (ObjC) The gyroscope can be read in a similar fashion. [self.mymotionmanager startgyroupdatestoqueue:queue withhandler:^(cmgyrodata *gyrodata, NSError *error) { NSLog(@"Gyro X=%.04f, Y=%.04f, Z=%.04f, gyrodata.rotationrate.x, gyrodata.rotationrate.y, gyrodata.rotationrate.z); }];

21 Reading the gyroscope (Swift) mymotionmanager.startgyroupdatestoqueue(nsoperationqueu e(), withhandler: {(gyrodata: CMGyroData!, error: NSError!) in println(nsstring(format:"gyro X=%.4f, Y=%.4f, Z=%.4f", gyrodata.rotationrate.x, gyrodata.rotationrate.y, gyrodata.rotationrate.z)) })

Sensors. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Sensors. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Sensors Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Sensor types Sensor availability Accessing

More information

ITP 342 Mobile App Dev. Locations and Maps

ITP 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 information

Why 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. 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 information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 9: idevice Capabilities Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Content Core Location: GPS + Compass

More information

Mobile Development Lab 3

Mobile Development Lab 3 Mobile Development Lab 3 Objectives Illustrate closures through examples Have fun with maps, location and geolocation Have fun with animations Closures implemented in Swift Closures are self-contained

More information

Covers ios 6. Bear Cahill. Includes 98 Techniques MANNING

Covers 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 information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 8: idevice Capabilities Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Content Core Location: GPS + Compass

More information

A Mobile Mapping Application

A 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 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

Praktikum Entwicklung von Mediensystemen mit ios

Praktikum 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 information

CMMotionManager Overview

CMMotionManager Overview MSDOSX Core Motion CMMotionManager Overview A CMMotionManager object is the gateway Accelerometer data Rotation-rate data Magnetometer data Other device-motion data such as attitude Create one instance

More information

Gerontechnology II. Collecting Smart Phone Sensor Data for Gerontechnology. Using ios

Gerontechnology II. Collecting Smart Phone Sensor Data for Gerontechnology. Using ios Gerontechnology II Collecting Smart Phone Sensor Data for Gerontechnology Using ios Introduction to ios ios devices and sensors Xcode Swift Getting started with Sensor App ios Devices ipad iphone Apple

More information

Building Mapping Apps for ios With Swift

Building Mapping Apps for ios With Swift Building Mapping Apps for ios With Swift Jeff Linwood This book is for sale at http://leanpub.com/buildingmappingappsforioswithswift This version was published on 2017-09-09 This is a Leanpub book. Leanpub

More information

Stream iphone Sensor Data to Adafruit IO

Stream iphone Sensor Data to Adafruit IO Stream iphone Sensor Data to Adafruit IO Created by Trevor Beaton Last updated on 2019-01-22 04:07:41 PM UTC Guide Contents Guide Contents Overview In this learn guide we will: Before we start... Downloading

More information

ITP 342 Mobile App Dev. Accelerometer Gyroscope

ITP 342 Mobile App Dev. Accelerometer Gyroscope ITP 342 Mobile App Dev Accelerometer Gyroscope Motion Events Users generate motion events when they move, shake, or tilt the device These motion events are detected by the device hardware, specifically,

More information

The Sensors in your iphone. Dr Alasdair Allan

The 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 information

What s New in Core Location

What 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 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. Accelerometer Gyroscope

ITP 342 Mobile App Dev. Accelerometer Gyroscope ITP 342 Mobile App Dev Accelerometer Gyroscope Motion Events Users generate motion events when they move, shake, or tilt the device These motion events are detected by the device hardware, specifically,

More information

Praktikum Entwicklung von Mediensystemen mit

Praktikum Entwicklung von Mediensystemen mit Praktikum Entwicklung von Mediensystemen mit Sommersemester 2013 Fabius Steinberger, Dr. Alexander De Luca Honors Degree in Technology Management at the Center for Digital Technology and Management (Barerstr.

More information

How Mobile SDKs Help You

How Mobile SDKs Help You How Mobile SDKs Help You bolot@bignerdranch.com Hi, I m Bolot Born in the USSR, Kyrgyzstan Studied in the US at Georgia Tech @bolot Tango and taido Big Nerd Ranch BNR Atlanta: Galactic Headquarters BNR

More information

Building the App - Part 5 - Adding a Link

Building the App - Part 5 - Adding a Link Unit 4 - Coding For Your App Copy and Paste the code below exactly where the tutorials tell you. DO NOT COPY TEXT IN RED. Building the App - Part 5 - Adding a Link XCODE 7 @IBAction func Button1(_ sender:

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

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

Stanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011

Stanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011 Developing Applications for ios Today Core Location Finding out where the device is MapKit Showing the location of things on a map Demo MapKit Core Location Framework for managing location and heading

More information

What s New in MapKit. App Frameworks #WWDC17. Fredrik Olsson

What s New in MapKit. App Frameworks #WWDC17. Fredrik Olsson Session App Frameworks #WWDC17 What s New in MapKit 237 Fredrik Olsson 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. MKMapView.mapType.standard

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

Understanding the Terms Of Service

Understanding the Terms Of Service Appendix A Understanding the Terms Of Service This appendix provides an overview of the main documents and topics concerning the terms of service (TOS) of the platforms I discussed in the previous chapters.

More information

Building a testable mixed-codebase ios Framework

Building a testable mixed-codebase ios Framework Building a testable mixed-codebase ios Framework Nikos Maounis ios Developer @Psy2k Christos Karaiskos ios Developer @karaiskc Outline Introduction and Motivation Distributing Libraries and Resources Design

More information

Stanford CS193p. Developing Applications for iphone 4, ipod Touch, & ipad Fall Stanford CS193p Fall 2010

Stanford CS193p. Developing Applications for iphone 4, ipod Touch, & ipad Fall Stanford CS193p Fall 2010 Developing Applications for iphone 4, ipod Touch, & ipad Today Core Location Framework for specifying locations on the planet MapKit Graphical toolkit for displaying locations on the planet Core Location

More information

Apple Watch Docs. Release 0.1. Michael Hahn

Apple Watch Docs. Release 0.1. Michael Hahn Apple Watch Docs Release 0.1 Michael Hahn Nov 20, 2017 Contents 1 First Watch Glance 3 1.1 Create an iphone App.......................................... 3 1.2 Add WatchKit Targets..........................................

More information

Stanford CS193p. Developing Applications for ios. Spring Stanford CS193p. Spring 2012

Stanford CS193p. Developing Applications for ios. Spring Stanford CS193p. Spring 2012 Developing Applications for ios Today File System How to access files the device Core Location Finding out where the device is MapKit Showing the location of things on a map Demo MapKit File System 1.

More information

Mobile Application Programming. Objective-C Classes

Mobile 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 information

Building Faster in Xcode

Building Faster in Xcode #WWDC18 Building Faster in Xcode Session 408 David Owens, Xcode Engineer Jordan Rose, Swift Engineer 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written

More information

Praktikum Entwicklung von Mediensystemen mit

Praktikum 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 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

Esri Developer Summit in Europe ArcGIS Runtime for ios

Esri 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 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 Saving data Networking Location Sensors Exercise 2 2 Timeline # Date

More information

ios Tic Tac Toe Game John Robinson at Rowan University

ios Tic Tac Toe Game John Robinson at Rowan University ios Tic Tac Toe Game John Robinson at Rowan University Agenda Day 3 Introduction to Swift and Xcode Creating the Tic Tac Toe GUI Lunch Break Writing the Tic Tac Toe Game Code RAMP Wrap up Process for Developing

More information

Windows Phone Week5 Tuesday -

Windows Phone Week5 Tuesday - Windows Phone 8.1 - Week5 Tuesday - Smart Embedded System Lab Kookmin University 1 Objectives and what to study Training 1: To Get Accelerometer Sensor Value Training 2: To Get Compass Sensor Value To

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

PLUX ios Application Programming Interface. Documentation - ios API

PLUX ios Application Programming Interface. Documentation - ios API PLUX ios Application Programming Interface Documentation - ios API 1. Introduction The PLUX ios Application Programming Interface brings to ios applications all the functionalities of PLUX devices. The

More information

ITP 342 Mobile App Dev. Table Views

ITP 342 Mobile App Dev. Table Views ITP 342 Mobile App Dev Table Views Table Views The most common mechanism used to display lists of data to the user Highly configurable objects that can be made to look practically any way you want them

More information

Review (Basic Objective-C)

Review (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 information

Porting Objective-C to Swift. Richard Ekle

Porting Objective-C to Swift. Richard Ekle Porting Objective-C to Swift Richard Ekle rick@ekle.org Why do we need this? 1.2 million apps in the ios App Store http://www.statista.com/statistics/276623/numberof-apps-available-in-leading-app-stores/

More information

Using Swift with Cocoa and Objective-C

Using Swift with Cocoa and Objective-C Using Swift with Cocoa and Objective-C Contents Getting Started 5 Basic Setup 6 Setting Up Your Swift Environment 6 Understanding the Swift Import Process 7 Interoperability 9 Interacting with Objective-C

More information

Getting Started with ArcGIS Runtime SDK for ios. Nick Furness / Al Pascual

Getting 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 information

Traffic Modeling in Lagrangian Coordinates Using Smartphone Apps

Traffic Modeling in Lagrangian Coordinates Using Smartphone Apps UNLV Theses, Dissertations, Professional Papers, and Capstones May 2013 Traffic Modeling in Lagrangian Coordinates Using Smartphone Apps Sergio Contreras University of Nevada, Las Vegas, seracon14@gmail.com

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

Location Enabled Sensors

Location Enabled Sensors Location Enabled Sensors Making use of the sensors on your iphone and ipad Dr Alasdair Allan, Babilim Light Industries This class will guide you through guide you through developing applications for the

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

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

Apple introduced MapKit with ios, maps were based on Google.

Apple introduced MapKit with ios, maps were based on Google. History: Apple introduced MapKit with ios, maps were based on Google. With ios 6.0, Apple provided its own mapping service, which lacked some quality, especially level-of-detail. With ios 7 Apple opened

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

ios 12 App Development Essentials

ios 12 App Development Essentials ios 12 App Development Essentials ios 12 App Development Essentials First Edition 2018 Neil Smyth / Payload Media, Inc. All Rights Reserved. This book is provided for personal use only. Unauthorized use,

More information

Lesson 1: Hello ios! 1

Lesson 1: Hello ios! 1 Contents Introduction xxv Lesson 1: Hello ios! 1 ios Developer Essentials 1 A Suitable Mac 1 A Device for Testing 2 Device Differences 2 An ios Developer Account 4 The Official ios SDK 6 The Typical App

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

A Mad Libs app that you will navigate through 3 UIViewControllers to add text that will be shown in a story on the fourth UIViewController.

A Mad Libs app that you will navigate through 3 UIViewControllers to add text that will be shown in a story on the fourth UIViewController. WordPlay App: A Mad Libs app that you will navigate through 3 UIViewControllers to add text that will be shown in a story on the fourth UIViewController. Create a new project Create a new Xcode project

More information

Introduction to ArcGIS API for ios. Divesh Goyal Eric Ito

Introduction to ArcGIS API for ios. Divesh Goyal Eric Ito Introduction to ArcGIS API for ios Divesh Goyal Eric Ito Agenda Introduction Getting Started Objective-C basics Common design patterns Key Concepts Q&A Remember to turn in your surveys. ArcGIS - A Complete

More information

Apple s new Swift language

Apple s new Swift language Microsoft and Apple Training Apple s new Swift language Peter Himschoot peter@u2u.be Agenda Developing for ios overview Xcode, Objective-C, Swift, Development life cycle UI development Interface Builder

More information

ios 11 App Development Essentials

ios 11 App Development Essentials ios 11 App Development Essentials ios 11 App Development Essentials First Edition 2018 Neil Smyth / Payload Media, Inc. All Rights Reserved. This book is provided for personal use only. Unauthorized use,

More information

Saving Data in ios Hands-On Challenges

Saving Data in ios Hands-On Challenges Saving Data in ios Hands-On Challenges Copyright 2014 Razeware LLC. All rights reserved. No part of this book or corresponding materials (such as text, images, or source code) may be reproduced or distributed

More information

Questions. Exams: no. Get by without own Mac? Why ios? ios vs Android restrictions. Selling in App store how hard to publish? Future of Objective-C?

Questions. Exams: no. Get by without own Mac? Why ios? ios vs Android restrictions. Selling in App store how hard to publish? Future of Objective-C? Questions Exams: no Get by without own Mac? Why ios? ios vs Android restrictions Selling in App store how hard to publish? Future of Objective-C? Grading: Lab/homework: 40%, project: 40%, individual report:

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

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

SAMPLE CHAPTER. Brendan G. Lim Martin Conte Mac Donell MANNING

SAMPLE CHAPTER. Brendan G. Lim Martin Conte Mac Donell MANNING SAMPLE CHAPTER Brendan G. Lim Martin Conte Mac Donell MANNING ios 7 in Action by Brendan G. Lim Martin Conte Mac Donell Chapter 14 Copyright 2014 Manning Publications brief contents PART 1 BASICS AND NECESSITIES...1

More information

Stanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011

Stanford 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 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

Introductory ios Development

Introductory ios Development Introductory ios Development 152-164 Unit 5 - Multi-View Apps Quick Links & Text References What is a Delegate? What is a Protocol? Delegates, Protocols and TableViews Creating a Master-Detail App Modifying

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

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

What's new in ios 5?

What'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 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

Registering for the Apple Developer Program

Registering for the Apple Developer Program It isn t necessary to be a member of the Apple Developer Program if you don t intend to submit apps to the App Stores, or don t need the cloud-dependent features. We strongly recommend joining, though,

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

ios Application Development Lecture 2: Seminar and Unit 1

ios Application Development Lecture 2: Seminar and Unit 1 ios Application Development Lecture 2: Seminar and Unit 1 Dr. Simon Völker & Philipp Wacker Media Computing Group RWTH Aachen University Winter Semester 2017/2018 http://hci.rwth-aachen.de/ios Swift 18

More information

S A M P L E C H A P T E R

S A M P L E C H A P T E R SAMPLE CHAPTER Anyone Can Create an App by Wendy L. Wise Chapter 5 Copyright 2017 Manning Publications brief contents PART 1 YOUR VERY FIRST APP...1 1 Getting started 3 2 Building your first app 14 3 Your

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

Praktikum Entwicklung von Mediensystemen mit ios

Praktikum Entwicklung von Mediensystemen mit ios Praktikum Entwicklung von Mediensystemen mit ios SS 2012 Prof. Dr. Michael Rohs michael.rohs@ifi.lmu.de MHCI Lab, LMU München Today Alerts, Action Sheets, text input Table views Touch input Data management

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

Apple offers a number of resources where you can get Xcode development support:!

Apple offers a number of resources where you can get Xcode development support:! Xcode Release Notes About Xcode 6.1 beta 2 Supported Configurations Xcode 6.1 requires a Mac running OS X 10.9.4 or OS X 10.10. It includes SDKs for ios 8 and OS X versions 10.9 and 10.10. To develop apps

More information

An introduction to Swift. Sasha

An introduction to Swift. Sasha An introduction to Swift Sasha Goldshtein @goldshtn Exhibit A + (NSUInteger)indexOfString:(NSString *)str inarray:(nsarray *)arr { return [arr indexofobject:str]; // 1) if 'str' is nil, we return NSNotFound

More information

Accessibility on ios. Developing for everyone. Frameworks #WWDC14. Session 210 Clare Kasemset ios Accessibility

Accessibility on ios. Developing for everyone. Frameworks #WWDC14. Session 210 Clare Kasemset ios Accessibility Frameworks #WWDC14 Accessibility on ios Developing for everyone Session 210 Clare Kasemset ios Accessibility 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without

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

Stanford CS193p. Developing Applications for ios. Winter CS193p. Winter 2017

Stanford CS193p. Developing Applications for ios. Winter CS193p. Winter 2017 Stanford Developing Applications for ios Today Error Handling in Swift try Extensions A simple, powerful, but easily overused code management syntax Protocols Last (but certainly not least important) typing

More information

Index. btndrop function, 224, 226 btngetquote function, 246 btnpressed function, 28 btnquote method, 245. CallWeb method, 238, 240

Index. btndrop function, 224, 226 btngetquote function, 246 btnpressed function, 28 btnquote method, 245. CallWeb method, 238, 240 Index A App icons section icons set, 277 LaunchImage, 278 launch screen graphics, 278 279 PNG format, 277 settings, 276 App store deployment application graphics, 273 general settings Identity section,

More information

Announcements. Today s Topics

Announcements. Today s Topics Announcements Lab 2 is due tonight Lab 3 is posted Due next Wednesday Sept 30 th 1 Extensible - CSE 436 Software Networking Engineering Platform Workshop 1 Today s Topics Designing iphone Applica;ons Model-

More information

Building Applications with ArcGIS Runtime SDK for ios - Part I. Divesh Goyal Mark Dostal

Building Applications with ArcGIS Runtime SDK for ios - Part I. Divesh Goyal Mark Dostal Building Applications with ArcGIS Runtime SDK for ios - Part I Divesh Goyal Mark Dostal Agenda The ArcGIS System Using the Runtime SDK for ios - Display Maps - Perform Analysis - Visualize Results Q&A

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

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

ITP 342 Mobile App Dev. Interface Builder in Xcode

ITP 342 Mobile App Dev. Interface Builder in Xcode ITP 342 Mobile App Dev Interface Builder in Xcode New Project From the Main Menu, select the File à New à Project option For the template, make sure Application is selected under ios on the left-hand side

More information

Tables. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Tables. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Tables Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Table View Controller Table View Table Cells

More information

Basic ios Programming

Basic ios Programming Basic ios Programming + Hanumayamma Innovations and Technologies Inc., 628 Crescent Terrace Fremont, CA 94536 USA http://www.hanuinnotech.com/training/index.html Phone: Email: India: 91 8179979892 USA:

More information

Stanford CS193p. Developing Applications for ios. Spring CS193p. Spring 2016

Stanford CS193p. Developing Applications for ios. Spring CS193p. Spring 2016 Stanford Developing Applications for ios Today Memory Management for Reference Types Controlling when things leave the heap Closure Capture Closures capture things into the heap too Extensions A simple,

More information

ios in Practice MANNING BEAR CAHILL Shelter Island

ios in Practice MANNING BEAR CAHILL Shelter Island ios in Practice BEAR CAHILL if MANNING Shelter Island contents preface xv acknowledgments xvi about this book xvii about the cover illustration xx Part 1 Getting started 1 ~1 Getting started with ios development

More information

Thread Sanitizer and Static Analysis

Thread Sanitizer and Static Analysis Developer Tools #WWDC16 Thread Sanitizer and Static Analysis Help with finding bugs in your code Session 412 Anna Zaks Manager, Program Analysis Team Devin Coughlin Engineer, Program Analysis Team 2016

More information

What s New in HomeKit

What s New in HomeKit App Frameworks #WWDC15 What s New in HomeKit Session 210 Anush Nadathur HomeKit Engineer Naveen Kommareddi HomeKit Engineer 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted

More information

Introduction to WatchKit. CS193W - Spring Lecture 1

Introduction to WatchKit. CS193W - Spring Lecture 1 Introduction to WatchKit CS193W - Spring 2016 - Lecture 1 appleᴡᴀᴛᴄʜ Released April 24, 2015 No updates to the hardware yet. Three collections, over 30 models Two sizes The Screen OLED (organic light-emitting

More information

AT&T Advertising SDK Developer Guide for ios

AT&T Advertising SDK Developer Guide for ios AT&T Advertising SDK Developer Guide for ios Publication Date: September 24 th 2013 Legal Disclaimer This document and the information contained herein (collectively, the "Information") is provided to

More information

MAD Gaze x HKCS. Best Smart Glass App Competition Developer Guidelines VERSION 1.0.0

MAD Gaze x HKCS. Best Smart Glass App Competition Developer Guidelines VERSION 1.0.0 MAD Gaze x HKCS Best Smart Glass App Competition Developer Guidelines VERSION 1.0.0 20 MAY 2016 Table of Contents 1. Objective 2. Hardware Specification 3. Operating MAD Gaze 4. Hardware Sensors 4.1 Accelerometer

More information