iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department

Size: px
Start display at page:

Download "iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department"

Transcription

1 iphone Programming Patrick H. Madden SUNY Binghamton Computer Science Department

2 General Outline Overview of the tools, and where to get more information Quick get-up-and running hello world examples Objective C syntax quirks Full featured macro block placement tool iphone app autopsy

3 Where to Find Information developer.apple.com Vast amounts of information available; programming guides, tutorials, sample application programs, technical forums full of smart people stackoverflow.com -- also very useful forums If you run into a problem, a few minutes of Google searching will likely turn up an answer...

4

5

6 The Major Components XCode -- a full featured IDE XCode will generate the make files and much of the template code for you. Take advantage of this. You do not want to do this on your own. Variable and function name completion, continuous syntax checking, lots of live links to documentation Integrated Objective-C compiler and debugger (actually gcc and gdb) Objective-C is required for the user interface, but you can link in C or C++ fairly easily User interface construction tool Interface Builder -- drag and drop widgets and screens iphone and ipad simulator Code is compiled to x86 architecture, and leverages the widgets from Mac OSX Good for debugging, but multi-touch is not well supported iphone and ipad native testing and distribution Requires paid developer membership ($99 a year) Code is cross-compiled to ARM, with the ios widgets acting in the same manner as the MAC OSX variants Debugging and troubleshooting can be done over USB Membership gets you encryption keys to allow distribution through itunes or an ad hoc program (maximum of 100 devices)

7 Exercise 1: Hello World Start up XCode, create a new project Add a label that says hello world to the main screen Compile and run...

8 Select View-based application, and click next a few times (you ll be asked for the project name, and where to store it on your disk).

9 XCode will generate templates, and also all the configuration to build an executable. The user interface is chock-full of tabs, toggle boxes, and has an integrated editor.

10 Select example1viewcontroller.xib 2. Open the toolbox panel (if not already open) 3. Select objects for the toolbox (if not already selected)

11 Drag a label object onto the view, and edit the text as needed...

12 Click the run button... XCode compiles the code, starts the iphone simulator, and launches your app.

13 Some Details The editor window where we dragged the label onto the view is Interface Builder. The full integration into XCode is a recent change. Interface builder is watching your source code files, and is indexing things frequently. We ll need to give it hints for things to look for... The xib file defines the visual appearance of a window. It is compiled into a nib file that is loaded at run time. Loading a nib file is a way to create a set of objects. The objects are then what one sees during run time.

14 Expanded Example Example2 starts where Example1 ended. Edit example2viewcontroller.h to add an instance variable and a method.

15 Instance variable How the variable is accessed Method for the class Keywords that Interface Builder looks for

16 In example2viewcontroller.m, add in line. Object C objects need functions to get or set variables -- this line causes those functions to be automatically generated. At the bottom of the file (before add in the method to update the hello message.

17 Back in example2viewcontroller.xib, Interface Builder has some new information. Click on File s Owner and the class information tab; note that it is an example2viewcontroller class Right click on File s Owner, and you will see the instance variable and method are available. The syntactic sugar of IBAction and IBOutlet make this possible.

18 Right click (or control click) on Files Owner Note that we have the outlet label and a recieved action changemessage Click and drag by one of the circles to connect an instance variable to an object, or an event to a method.

19 Drag a button object into the view, and edit the label. Use right-click to open up a menu on the button; connect touch up inside to File s Owner changemessage Right click on File s Owner to open a menu; connect the instance variable label to the UILabel object in the view. Compile and run; clicking the button changes the message...

20 Figure 2-2 Application life cycle UIKit Your code User taps application icon main() UIApplicationMain() application: didfinishlaunchingwithoptions: Event Loop Handle event System asks application to quit foreground applicationwillresignactive: Application moves to background applicationdidenterbackground: figure from: Apple iphone App Programming Guide

21 Figure 2-7 Processing events in the main run loop Event source Port Event queue Main run loop Operating system Application object Core objects figure from: Apple iphone App Programming Guide

22 Objective C Syntax Quirks This will look a little strange until you get used to it... But there are no fundamentally new concepts to wrap your mind around. The biggest difference with C++ or Java is in where you put brackets, commas, and so on...

23 Objective C Objects Roots of the language go back to the company StepStone. NeXT acquired the technology, creating NeXTStep. The prefix of NS shows up in many places. Nothing exotic in the Object-Oriented paradigm Each object has a set of methods that operate on it. Communication between objects is with messages. Most of the time, the messages are really function calls. Single inheritance; all Objective-C objects derive from the root NSObject class Very good support for run time linking, querying to see if an object belongs to a class or implements a particular interface. Very very good memory management. More on this later.

24 Objective C Objects figure from: Objective C Programming Guide

25 Objective C Syntactic Sugar Use #import instead of #include Includes the file once and only once Class interface is defined in the.h file (wrapped Class implementation is defined in the.m file (wrapped

26 Method Declarations -(int)foo:(int)arga second:(int)argb; Beginning minus sign indicates an instance method (+ indicates class method) Spaces between arguments, rather than commas. Each argument (after the first) has a name that is used when the method is called. Much more verbose than C or C++. Call the above with [objectname foo:44 second:57]; In many places, dot notation is also allowed. For getting the text from a label, we could use either [label text] or label.text (both of which return an NSString).

27 Calling a method is done by placing square brackets. Arguments are prefixed with colons. The settext method of the object label is sent the Objective C string I said hello! More details on in a moment... Instance variables in objects are accessed with setter and getter methods. The settext method is likely tied to an instance variable called text. The method was likely created by compiler directive. Note that variables, methods, etc., are picketfencecapitalization. Case does matter, and Objective C encourages this style of coding.

28 Memory Management Objective C objects keep track of the number of pointers that reference them Each object has a retain reference count If you point to an object X (and want to make sure that it stays around), you must do [X retain]. When you re done, [X release]. When the retain count of an object reaches zero, it deallocates itself automatically. The mechanism is simple and effective, and a bit easier that a do-it-yourself approach, but you still have to be careful. Remember (nonatomic, retain) line? This tells XCode to synthesize setter and getter methods, and to automatically retain the instance variables... Instead of retain, you could use assign

29 Creating New Objects Create new objects for a class by using the class name and alloc. Most classes require initialization. ClassName *c = [[ClassName alloc] init]; Be aware of how retain works; if you don t retain objects, they might get garbage collected unexpectedly.

30 Strings In Objective C, traditional zero-terminated ASCII strings (C style strings) are rarely used. Instead, use NSString objects (created automatically Some string ). The NSString class supports a wide range of conversion, comparison, parsing, etc., methods. Using a C-style string in place of an NSString will likely crash your application. They are NOT interchangeable

31 Model-View-Controller The Apple user interface paradigm is build on the Model- View-Controller concept The model is the set of instance variables in an object. For example, it might be a floating point number for temperature. The view is how the model is presented to the user. It could be a number, a thermometer gauge, a dial, a color, and so on. The controller is the code that links the model and view together. If the floating point value changes, the controller is responsible for updating the user interface

32 How MVC Works in the ios Universe The top level object of an app is the App Delegate -- it handles messages informing of start-up, shut down, etc. An App Delegate must have a View Controller object. This object handles touch events, and must also have a view object that it can pass to the ios rendering engine. The view maintains a hierarchy of objects (each view can contain subviews). Event messages get relayed to the appropriate object, and the methods for those objects get called as needed. Each object either uses the built-in rendering routines, or can perform custom rendering by overriding the drawrect method.

33 Figure 2-3 Launching into the active state Launch the application Load main nib and create application delegate Application Delegate Initialize the application application: didfinishlaunchingwithoptions: Application enters the foreground applicationdidbecomeactive: figure from: Apple iphone App Programming Guide

34 Example 3 - Macro Block Placement Start a new project, and create a new class called MacroBlock Select file/new-file or right-click on the project folder in XCode Click through, selecting UIImageView as the parent class, and giving MacroBlock as the name

35 In MacroBlock.h, add in instance variables for the parent view, and also variable to hold the screen location.

36 In MacroBlock.m, add in methods to handle touch events. You do not need to declare them in the.h file; our parent class, UIImageView, already has them declared. Our derived class is simply overriding the default methods.

37 In the view controller (example3viewcontroller.m), there is a viewdidload method; it gets called after the application launches. We ll create 10 new macro blocks, and insert them on the screen. We can color them red, so that they show up against the background. We also set the user interaction field for the objects, and let them know what view they are part of.

38 Exercise for Later You could keep pointers to each macro block object, and query the location. Add a button to the screen, and a label When you click the button, compute the Half Perimeter Wire Length that contains the macro blocks...

39 Anatomy of an App iphone apps are distributed in as.ipa files And under the hood... it s just a zip archive. You can open these up, and look inside... Inside a payload directory are a variety of files that ios uses when your application launches

40 An unzipped App itunesartwork is exactly what you might expect it to be; a PNG file that gets displayed in itunes

41 itunes Metadata. The app knows who bought it.

42 An iphone or OSX application is really a directory (where the contents are normally hidden). Show package contents reveals all.

43 Within the app directory should be an Info.plist file. Take a look in XCode in the Supporting Files folder; there s an example3-info.plist which specifies the icons, executable name, and so on. None of this is magic, but it s fairly well hidden from the average user.

44 There s much much more... Complex widgets -- maps, Web interfaces, tables,... Multi-touch wizardry... Protocols and delegates... Local file storage, GameKit, audio processing, accelerometers and GPS...

45 Final Thoughts... Stick with the MVC controller paradigm; it s easier to adapt yourself to ios than vice versa RTFM. There really is plenty of available documentation Have fun. iphone hacking is the most fun I ve had since my Sinclair ZX-81...

My First iphone App. 1. Tutorial Overview

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

More information

My First iphone App (for Xcode version 6.4)

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

More information

CS193P: HelloPoly Walkthrough

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

More information

My First Cocoa Program

My First Cocoa Program My First Cocoa Program 1. Tutorial Overview In this tutorial, you re going to create a very simple Cocoa application for the Mac. Unlike a line-command program, a Cocoa program uses a graphical window

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

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney 1 Build Your First App The way to get started is to quit talking and begin doing. Walt Disney Copyright 2015 AppCoda Limited All rights reserved. Please do not distribute or share without permission. No

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

Your First iphone OS Application

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

More information

CS193E: Temperature Converter Walkthrough

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

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

Your First iphone Application

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

More information

iphone Application Tutorial

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

More information

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

The MVC Design Pattern

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

More information

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

Page 1. GUI Programming. Lecture 13: iphone Basics. iphone. iphone

Page 1. GUI Programming. Lecture 13: iphone Basics. iphone. iphone GUI Programming Lecture 13: iphone Basics Until now, we have only seen code for standard GUIs for standard WIMP interfaces. Today we ll look at some code for programming mobile devices. on the surface,

More information

Object-Oriented Programming in Objective-C

Object-Oriented Programming in Objective-C In order to build the powerful, complex, and attractive apps that people want today, you need more complex tools than a keyboard and an empty file. In this section, you visit some of the concepts behind

More information

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

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

More information

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

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

COPYRIGHTED MATERIAL. 1Hello ios! A Suitable Mac. ios Developer Essentials

COPYRIGHTED MATERIAL. 1Hello ios! A Suitable Mac. ios Developer Essentials 1Hello ios! Hello and welcome to the exciting world of ios application development. ios is Apple s operating system for mobile devices; the current version as of writing this book is 5.0. It was originally

More information

Principles of Programming Languages. Objective-C. Joris Kluivers

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

Assignment III: Graphing Calculator

Assignment III: Graphing Calculator Assignment III: Graphing Calculator Objective The goal of this assignment is to reuse your CalculatorBrain and CalculatorViewController objects to build a Graphing Calculator for iphone and ipad. By doing

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

IPHONE. Development Jump Start. phil nash levelofindirection.com

IPHONE. Development Jump Start. phil nash levelofindirection.com IPHONE Development Jump Start phil nash levelofindirection.com Who? been in a professional developer for the last 18 years - mostly windows - c++, c#, Java, Python etc - then, Aug 2008, decided to write

More information

Assignment III: Graphing Calculator

Assignment III: Graphing Calculator Assignment III: Graphing Calculator Objective The goal of this assignment is to reuse your CalculatorBrain and CalculatorViewController objects to build a Graphing Calculator. By doing this, you will gain

More information

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

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

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

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

More information

Structuring an App Copyright 2013 Apple Inc. All Rights Reserved.

Structuring an App Copyright 2013 Apple Inc. All Rights Reserved. Structuring an App App Development Process (page 30) Designing a User Interface (page 36) Defining the Interaction (page 42) Tutorial: Storyboards (page 47) 29 App Development Process Although the task

More information

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

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

More information

Toyin Adedokun & Daniel Laughlin. Exploring the iphone SDK

Toyin Adedokun & Daniel Laughlin. Exploring the iphone SDK Toyin Adedokun & Daniel Laughlin Exploring the iphone SDK Purpose - Flashcards Provide simple way of creating & viewing flashcards Clean, simple interface Integrate with familiar application such as Google

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

Developing Applications for ios

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

More information

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

Cocoa Programming A Quick-Start Guide for Developers

Cocoa Programming A Quick-Start Guide for Developers Extracted from: Cocoa Programming A Quick-Start Guide for Developers This PDF file contains pages extracted from Cocoa Programming, published by the Pragmatic Bookshelf. For more information or to purchase

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

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

Setting Up Your ios Development Environment. For Mac OS X (Mountain Lion) v1.0. By GoNorthWest. 5 February 2013

Setting Up Your ios Development Environment. For Mac OS X (Mountain Lion) v1.0. By GoNorthWest. 5 February 2013 Setting Up Your ios Development Environment For Mac OS X (Mountain Lion) v1.0 By GoNorthWest 5 February 2013 Setting up the Apple ios development environment, which consists of Xcode and the ios SDK (Software

More information

Hello! ios Development

Hello! ios Development SAMPLE CHAPTER Hello! ios Development by Lou Franco Eitan Mendelowitz Chapter 1 Copyright 2013 Manning Publications Brief contents PART 1 HELLO! IPHONE 1 1 Hello! iphone 3 2 Thinking like an iphone developer

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

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

Building GUIs with UIKit. Kevin Cathey

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

More information

Mobile Computing. Overview. What is ios? 8/26/12. CSE 40814/60814 Fall 2012

Mobile Computing. Overview. What is ios? 8/26/12. CSE 40814/60814 Fall 2012 Mobile Computing CSE 40814/60814 Fall 2012 Overview ios is the opera8ng system that runs iphones, ipod Touches, ipads, and Apple TVs. The language used to develop sogware for ios is Objec8ve- C (very similar

More information

Getting to Know Pages on ipad

Getting to Know Pages on ipad Getting to Know Pages on ipad This guide will give you the basic instructions of how to use the Pages App on ipad. Documents Step 1 To create new documents and find the ones you ve worked on before, go

More information

Corrections and version notes

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

More information

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

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

More information

A product of Byte Works, Inc. Credits Programming Mike Westerfield. Art Karen Bennett. Documentation Mike Westerfield

A product of Byte Works, Inc.  Credits Programming Mike Westerfield. Art Karen Bennett. Documentation Mike Westerfield A product of Byte Works, Inc. http://www.byteworks.us Credits Programming Mike Westerfield Art Karen Bennett Documentation Mike Westerfield Copyright 2016 By The Byte Works, Inc. All Rights Reserved Apple,

More information

Objective-C. Stanford CS193p Fall 2013

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

ios: Objective-C Primer

ios: Objective-C Primer ios: Objective-C Primer Jp LaFond Jp.LaFond+e76@gmail.com TF, CS76 Announcements n-puzzle feedback this week (if not already returned) ios Setup project released Android Student Choice project due Tonight

More information

Xcode Release Notes. Apple offers a number of resources where you can get Xcode development support:

Xcode Release Notes. Apple offers a number of resources where you can get Xcode development support: Xcode Release Notes This document contains release notes for Xcode 5 developer preview 4. It discusses new features and issues present in Xcode 5 developer preview 4 and issues resolved from earlier Xcode

More information

Bindings Example Exercise James Dempsey - WWDC Pre-Show Cocoa Workshop

Bindings Example Exercise James Dempsey - WWDC Pre-Show Cocoa Workshop Bindings Example Exercise James Dempsey - WWDC Pre-Show Cocoa Workshop In this exercise you will create a basic document-based application using Cocoa Bindings. This application will allow the user to

More information

Assignment II: Foundation Calculator

Assignment II: Foundation Calculator Assignment II: Foundation Calculator Objective The goal of this assignment is to extend the CalculatorBrain from last week to allow inputting variables into the expression the user is typing into the calculator.

More information

Xcode Release Notes. Apple offers a number of resources where you can get Xcode development support:

Xcode Release Notes. Apple offers a number of resources where you can get Xcode development support: Xcode Release Notes This document contains release notes for Xcode 5 developer preview 5. It discusses new features and issues present in Xcode 5 developer preview 5 and issues resolved from earlier Xcode

More information

Appeasing the Tiki Gods

Appeasing the Tiki Gods Chapter 2 Appeasing the Tiki Gods As you re probably well aware, it has become something of a tradition to call the first project in any book on programming Hello, World. We considered breaking with this

More information

User Experience: Windows & Views

User Experience: Windows & Views View Controller Programming Guide for ios User Experience: Windows & Views 2011-01-07 Apple Inc. 2011 Apple Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval

More information

Assignment I Walkthrough

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

More information

Web 2.0 and iphone Application Development Workshop. Lab 5: Multimedia on iphone

Web 2.0 and iphone Application Development Workshop. Lab 5: Multimedia on iphone Web 2.0 and iphone Application Development Workshop This lab is prepared by: Department of Electrical and Electronic Engineering, Faculty of Engineering, The University of Hong Kong Lab 5: Multimedia on

More information

ITP 342 Mobile App Development. Data Persistence

ITP 342 Mobile App Development. Data Persistence ITP 342 Mobile App Development Data Persistence Persistent Storage Want our app to save its data to persistent storage Any form of nonvolatile storage that survives a restart of the device Want a user

More information

X Review. Mac OS X Roots: NeXT. BWS Available for virtually every OS

X Review. Mac OS X Roots: NeXT. BWS Available for virtually every OS X Review Distributed window system Server is the user s Terminal Client runs the application WM Xlib Application Widget Set Xt Intrinsics Xlib Highly modular X Server (exchange WM, Widget Set) BWS Available

More information

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

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

More information

Introductory ios Development

Introductory ios Development Instructor s Introductory ios Development Unit 3 - Objective-C Classes Introductory ios Development 152-164 Unit 3 - Swift Classes Quick Links & Text References Structs vs. Classes Structs intended for

More information

In the first class, you'll learn how to create a simple single-view app, following a 3-step process:

In the first class, you'll learn how to create a simple single-view app, following a 3-step process: Class 1 In the first class, you'll learn how to create a simple single-view app, following a 3-step process: 1. Design the app's user interface (UI) in Xcode's storyboard. 2. Open the assistant editor,

More information

App Development. Quick Guides for Masterminds. J.D Gauchat Cover Illustration by Patrice Garden

App Development. Quick Guides for Masterminds. J.D Gauchat   Cover Illustration by Patrice Garden App Development Quick Guides for Masterminds J.D Gauchat www.jdgauchat.com Cover Illustration by Patrice Garden www.smartcreativz.com Quick Guides for Masterminds Copyright 2018 by John D Gauchat All Rights

More information

CS193p Spring 2010 Wednesday, March 31, 2010

CS193p Spring 2010 Wednesday, March 31, 2010 CS193p Spring 2010 Logistics Lectures Building 260 (History Corner) Room 034 Monday & Wednesday 4:15pm - 5:30pm Office Hours TBD Homework 7 Weekly Assignments Assigned on Wednesdays (often will be multiweek

More information

Beginning Mac Programming

Beginning Mac Programming Extracted from: Beginning Mac Programming Develop with Objective-C and Cocoa This PDF file contains pages extracted from Beginning Mac Programming, published by the Pragmatic Bookshelf. For more information

More information

Save and Restore Backups using itunes File Sharing

Save and Restore Backups using itunes File Sharing Save and Restore Backups using itunes File Sharing Make and Export a New Backup Access the Options On ipad, tap the rightmost button on the toolbar to access the Options. On iphone/ipod touch, tap the

More information

Contents at a Glance

Contents at a Glance 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 information

MVC and Interface Builder IAP 2010

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

More information

SDK Programming for Web Developers

SDK Programming for Web Developers 1 SDK Programming for Web Developers Excerpted from iphone in Action Introduction to Web and SDK Development Christopher Allen and Shannon Appelcline MEAP Release: May 2008 Softbound print: December 2008

More information

CS 47. Beginning iphone Application Development

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

More information

Business Insight Authoring

Business Insight Authoring Business Insight Authoring Getting Started Guide ImageNow Version: 6.7.x Written by: Product Documentation, R&D Date: August 2016 2014 Perceptive Software. All rights reserved CaptureNow, ImageNow, Interact,

More information

Mobile App User Guide

Mobile App User Guide Download the Mobile App iphone and ipad To find our Freedom Credit Union Mobile App just scan the appropriate QR code to the right with your Apple device: iphone Download Or you can find it through the

More information

What are the characteristics of Object Oriented programming language?

What are the characteristics of Object Oriented programming language? What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is

More information

Advanced ios. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 20 11/01/2012

Advanced ios. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 20 11/01/2012 Advanced ios CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 20 11/01/2012 1 Goals of the Lecture Present a few additional topics and concepts related to ios programming persistence serialization

More information

Xcode. Chapter 1. Creating a Project

Xcode. Chapter 1. Creating a Project Chapter 1 Xcode Many computer books use Chapter 1 to cover introductory material. Xcode Tools Sensei is not one of those books. I want you to start learning immediately. After reading this chapter you

More information

Learn to make desktop LE

Learn to make desktop LE HACKING WITH SWIFT COMPLETE TUTORIAL COURSE Learn to make desktop LE P apps with real-worldam S Swift projects REEPaul Hudson F Project 1 Storm Viewer Get started coding in Swift by making an image viewer

More information

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

In this lab, you will build and execute a simple message flow. A message flow is like a program but is developed using a visual paradigm.

In this lab, you will build and execute a simple message flow. A message flow is like a program but is developed using a visual paradigm. Lab 1 Getting Started 1.1 Building and Executing a Simple Message Flow In this lab, you will build and execute a simple message flow. A message flow is like a program but is developed using a visual paradigm.

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

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

Learn to make watchosle

Learn to make watchosle HACKING WITH SWIFT COMPLETE TUTORIAL COURSE Learn to make watchosle P apps with real-worldam S Swift projects REEPaul Hudson F Project 1 NoteDictate 2 www.hackingwithswift.com Setting up In this project

More information

Laboratory 1: Eclipse and Karel the Robot

Laboratory 1: Eclipse and Karel the Robot Math 121: Introduction to Computing Handout #2 Laboratory 1: Eclipse and Karel the Robot Your first laboratory task is to use the Eclipse IDE framework ( integrated development environment, and the d also

More information

ALON Dictaphone. User's manual (v )

ALON Dictaphone. User's manual (v ) ALON Dictaphone... 1 User's manual (v. 2.1.2)... 1 1. Introduction... 1 2. Interface survey... 4 3. Recording... 5 4. Edit mode... 15 5. Categories... 21 6. Tools... 22 7. Play state... 30 8. Bookmarks...

More information

Mobile Apps 2010 iphone and Android

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

More information

iphone Development Setup Instructions Nikhil Yadav Pervasive Health Fall 2011

iphone Development Setup Instructions Nikhil Yadav Pervasive Health Fall 2011 iphone Development Setup Instructions Nikhil Yadav Pervasive Health Fall 2011 Requirements Apple Mac Computer (Desktop or laptop) with recent snow leopard builds Apple Developer Registered Profile (create

More information

Xcode and Swift CS 4720 Mobile Application Development

Xcode and Swift CS 4720 Mobile Application Development Xcode and Swift Mobile Application Development Why Java for Android? Let s first recap: why do you think Android uses Java? 2 Why Java for Android? Some good reasons: You can t find a CS major that doesn

More information

At the shell prompt, enter idlde

At the shell prompt, enter idlde IDL Workbench Quick Reference The IDL Workbench is IDL s graphical user interface and integrated development environment. The IDL Workbench is based on the Eclipse framework; if you are already familiar

More information

Installing and getting started with Xcode for Mac OS.

Installing and getting started with Xcode for Mac OS. Installing and getting started with Xcode for Mac OS. 1. Go to the Mac App store. Do a search for Xcode. Then download and install it. (It s free.) Give it some time it may take a while. (A recent update

More information

WordPress Tutorial for Beginners with Step by Step PDF by Stratosphere Digital

WordPress Tutorial for Beginners with Step by Step PDF by Stratosphere Digital WordPress Tutorial for Beginners with Step by Step PDF by Stratosphere Digital This WordPress tutorial for beginners (find the PDF at the bottom of this post) will quickly introduce you to every core WordPress

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

Mac OS X and ios operating systems. Lab 1 Introduction to Mac OS X and ios app development. Gdańsk 2015 Tomasz Idzi

Mac OS X and ios operating systems. Lab 1 Introduction to Mac OS X and ios app development. Gdańsk 2015 Tomasz Idzi Mac OS X and ios operating systems Lab 1 Introduction to Mac OS X and ios app development Gdańsk 2015 Tomasz Idzi Introduction This lab is designed to acquaint the student with the basic functionality

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

Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview

Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring 2009 Topic Notes: C and Unix Overview This course is about computer organization, but since most of our programming is

More information

Maxime Defauw. Learning Swift

Maxime Defauw. Learning Swift Maxime Defauw Learning Swift SAMPLE CHAPTERS 1 Introduction Begin at the beginning, the King said, very gravely, and go on till you come to the end: then stop. Lewis Carroll, Alice in Wonderland Hi and

More information

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

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

More information

Swift. Introducing swift. Thomas Woodfin

Swift. Introducing swift. Thomas Woodfin Swift Introducing swift Thomas Woodfin Content Swift benefits Programming language Development Guidelines Swift benefits What is Swift Benefits What is Swift New programming language for ios and OS X Development

More information

Assignment II: Calculator Brain

Assignment II: Calculator Brain Assignment II: Calculator Brain Objective You will start this assignment by enhancing your Assignment 1 Calculator to include the changes made in lecture (i.e. CalculatorBrain, etc.). This is the last

More information

CLOCK TUTORIAL VERY SIMPLE HELLO WORLD COCOA APPLICATION

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

More information

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

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

More information