Topics in Mobile Computing

Size: px
Start display at page:

Download "Topics in Mobile Computing"

Transcription

1 Topics in Mobile Computing Workshop 1I - ios Fundamental Prepared by Y.H. KWOK

2 What is ios? From Wikipedia ( ios is an operating system for iphone, ipad and Apple TV. It is derived from MacOS X and developed by the Apple Inc. The user interface of ios is based on the concept of direct manipulation, using multi-touch gestures. The response to user input is immediate and provides a fluid interface. Interaction with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific definitions within the context of the ios operating system and its multitouch interface. Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching from portrait to landscape mode).

3 What is ios? ios is... OS for iphone and ipad Based on MacOS X ( Unix based, Supports File system, network, multithread and etc) Can extends its functionality by writing app using Objective-C, C or C++ languages App can be sold/bought through itunes App Store provided by App.

4 ios Overview Know the structure of ios

5 iphone OS Overview ios Cocoa Touch Media Core Service Core OS

6 Cocoa Touch ios Cocoa Touch You will play with it frequently! Media Core Service Core OS

7 Media ios Cocoa Touch Gaming Audio Media Core Service Core OS 2D Image Manipulation

8 Core Services GPS ios Cocoa Touch Media bonjour Core Service Core OS

9 Core OS ios Cocoa Touch Media Core Service Core OS

10 More new frameworks In IOS 4, it added... GameKit: P2P connection, GameCenter iad: online advertising AVFoundation: advanced camera/audio manipulation AssetLibrary: itunes library, Photo library In IOS5, it added Twitter Integration Core Image and etc

11 ios Development Development Tools & Languages

12 Programming Language You need the following knowledge before start developing your android app: Objective-C - an official programming language for developing ios app, most programming packages are developed with Obj-C and it is supported by Apple. Object Oriented Programming concept - All components of android app are treated in object domain. You have to under how OOP works in order to avoid getting confused. Frameworks - ios app components (i.e., GPS, Networking and etc.) are packed in different frameworks. You have to know how to import other frameworks. (Three core frameworks are imported automatically)

13 Development Tools To create ios App, you need the following tools MacOS X (10.6+), the only platform for development XCode 4, a well-developed IDE with GUI editor for Mac and ios App Development Manage App Resources Coding User interface Design

14 Download Setup Guide There are two ways to get XCode from Apple 1. Mac App Store 1. Register Apple ID. 2. Search XCode 4 from App Store and download it. 2. Download From App Develop 1. Register App ID and Developer Account from: developer.apple.com/ -> ios Dev Center 2. Activate your account. 3. Login into developer page listed on Step one. 4. Download XCode from Download section. 3. Mount the disk image downloaded (dmg) and install the package.

15 Important Tools Tool assisting making apps

16 MacOS X - Dev Platform Menu Bar for all applications Text Quick access to Documents foler Quick access to Applications folder Finder - My Computer of Mac

17 MacOS X - Dev Platform After installation, different from normal application, XCode is located at /Developer/Applications/

18 MacOS X - Hot key Command is similar to Ctrl in windows Basic Hot-keys Copy: Cmd + C Paste: Cmd + V Quit App: Cmd + Q Close windows: Cmd + W

19 Tools - XCode (Code Editor) Build and Run Options Code Editor Project Navigator (Manage Resources) Logging and Error Tracing Area

20 Tools - XCode (Code Editor) Project - packed in a folder Source Code Area Resources folder. (Not restricted) i.e., images, interface files. Imported framework ****It s not necessary to put the files into correct folder but it s always a good manner to keep this rules for better management!

21 Tools - XCode (Interface) 1. Manage connection between Code and UI Inspector - set attributes - linkage of objects - set target - action 2. Show and edit structure of UI Choose *.XIB file to launch Working Area Library

22 ios Simulator ios simulator is a virtual idevice come with ios SDK for you to test your app. Supports both iphone and ipad simulation. Run much faster than Android Emulator. ( You may close it anytime you want.)

23 Create an ios Project Create your very first ios App

24 ios Project - Step 1 An ios project is a well-organized folder (as one project) generated by XCode for ios app development. You may edit, run and export particular ios app within this project. To create an ios project in XCode. 1. You may go to File->New->New Project 2. Alternatively, you choose create a new Xcode project in the welcome dialog box. 3. A new project wizard will be shown.

25 First, ensure that you are choosing Application under ios category. There are various option for creating an app and the most common one and flexible one is Single View Application. Click Next Step 2. Choose type of projects

26 Step 2. Give a name to the project Product Name: Give a name to the project. Company identifier helps Apple identify your app for 1.) Push notification, 2.) In-app purchasing, 3.) Testing and provision. Please it blank temporary. Device Family - set iphone, ipad or Both. Automatic Reference Counting - no more troublesome manual memory management. Next

27 Step 3. Locate your app. Choose a folder to save your app. Tick local git repository for this project if you need source code management. Finish and your app is created!

28 Exploring ios Project Knowing Development Environment and Project Structures

29 Inside ios Project Go to project navigator, take a look at key file types. ios Project packed within a folder. Select this to edit project property Source code - normally one class is composition of a *.h and a *.m files. interface build files imported frameworks, package helps you build ios app.

30 Inside an XIB file Click any XIB file to explore the structure of user interface editor. Owner of the interface file (means source code) Composition of user interface element, you may edit, add or delete any UI element into it. And

31 First Test Run Test your first ios app.

32 Step 1 - Choose build target You must choose the build target, Simulator? Device? iphone? ipad? Go to Scheme menu and choose the correct device. Choose Run to build and run.

33 Step 2a - Testing background process 1. ios supports background processing from ios 4.0 (latest is ios5.0). You may test your app if it has background processing functions or it will perform action when awake from background. 2. Simply click the home button of the app. The app will go to background mode.

34 Step 2b - Terminate testing 1. Normally, ios app would not terminate the testing app when you press home button on ios simulator. 2. You can press stop from XCode. 3. or, you may quit the ios Simulator to terminate the test.

35 Introduction to Basic Objective-C An official language for ios app development.

36 What is Objective -C Superset of C Language C like language with some new syntax support full functionality of C / C++ with ObjC separate header (*.h) and implementation (*.m) files.h defines variable and method..m defines the implementation of method. Memory managed by Automatic Reference Counting (similar to Garbage collection of Java) Single inheritance.

37 Obj-C and C language Common Share the same primitive types: Integer: int, short, byte floating: float, double character: char Simply apply condition statement and repetition statement like java / C for-loop / while-loop / do-while-loop switch / if /? statemnt Same logical operation:!=, ==, >=, <=, &&,, <, >

38 Different from C language In an OOP perspective, not procedural (Works with class). Availability of Anonymous object (id) Way to define a classes Using Message expressions for method call Advanced features (will not cover) Protocol - Delegate ( Similar to Interface in Java ) Block Programming ( function pointer in obj-c ) Category ( extends function of a particular class )

39 Objective-C class Objective-C is an OO language, everything will be treated as a class. A class information is defined in two separated files - header (*.h) and implementation (*.m) files.h defines variable and method..m defines the implementation of method.

40 Defining an objective-c class *.h (declaration) import other frameworks of custom classes here if needed *.m file (implementation) declare class and subclassing it import the definition file declare methods, getter & setter declare variables, object instances within { } pair **all declaration are **all implementations are

41 Defining Methods Defining obj-c method is different from C language, we use message expression to define method. No argument: -(int)add; One argument: input type argument -(int)squareofno:(int)no; <==> int squareofno(int no); Two or more argument: simply treat it as th name of 2nd argument of method -(int)powerofno:(int)no withpower:(int)power;

42 Message (java: function) Message expression [receiver method: argument] Message [receiver method: arguemnt] Selector [receiver method:argument] Method The code selected by a message

43 Method Call Message must be called from a class (a.k.a. receiver ). Receiver will receive the message to execute the instruction written in the implementation file. [receiver message] Java: receiver.message(); [receiver message:argument] Java: receiver.message(argument); [receiver message:arg andarg:arg2] Java: receiver.message(arg, arg2); [receiver message:arg andarg:arg2 andarg2: arg3]; Java: receiver.message(arg, arg2, arg3);

44 Obj-C/Java Method comparison Objective-C ver Person *voter // assume we have this object - (void)castballot; [voter castballot]; - (int)age; int theage = [voter age]; -(Person*)spouse; -(NSString*)name; NSString *name = [[voter spouse] name]; Java ver Person voter; //assume we have this object void castballot(); voter.castballot(); int age(); int theage = voter.age; Person spouse; String name; String name = voter.spouse.name;

45 Defining Methods The method body is the same as C / Java language. has return embrace with { } pair. -(int)powerofno:(int)no withpower:(int)power { int result = 1; for(int i =0; i<power; i++) { result += no; } return result; //return as C/Java }

46 The null object pointer No null in C, so Obj-C adds a nil which means null Test for nil explicitly if (person == nil) return; Can use in assignments and as arguments if expected person = nil; [button settarget:nil]; Sending a message to a nil? Gives no response person = nil; [person doiphone];

47 BOOL typedef When ObjC was developed, C had no boolean type ObjC uses a typedef to define BOOL as a type BOOL flag = NO; Macros included for initialization and comparison: YES and NO if(flag == YES) if(flag) if(!flag) if(flag!=yes);

48 A Relationship - Code & Interface bind call Click to Trigger event TouchUpInside IBOutlet IBAction bind call Controls Event Coding Logic Implementation Layout Design ios uses a special type IBOutlet and IBAction to defines the code is connected with Interface Builder file.

49 Start Coding! Start adding function into your App.

50 In this tutorial Objective: Create your very first iphone Application Understand the use of Tools Connection with IB / XCode Understand the target/action features. (move the slider and see the value change.)

51 Preparation 1. Create a Singe View Application project named SliderX for iphone.

52 A. Define Required UI Element and Methods For user interaction

53 Steps Open the ViewController.h, complete the following code: #import ViewController : UIViewController { Outlet to IB! IBOutlet UILabel* label; } Defined a variable which is a label object for display - (IBAction) means action will be connected to UI element s UIEvent in xib file. sender of the event (the slider this time) Define the method, action for value change event. Defining a class. (Start end

54 B. Construct UI and make connections Establish connection between UI and Code.

55 Steps Open the ViewController.xib file to start the UI editing view. Add the follow UI element from the Library Drag and drop to work area (resize if necessary)

56 Steps 5. Control + drag / right-click + drag a line from File owner from the document windows to the label and click label in the prompted windows:

57 Steps 6. Right-click the UISlider. In the prompted windows, drag a line from the Value Changed event to the File s Owner, and choose SliderValueChanged:

58 Steps Open the ViewController.h, complete the following code: Outlet to IB #import ViewController : UIViewController {! IBOutlet UILabel* label; } - (IBAction) 3. Open SliderXViewController.m, means action connected complete to IB the following code: Implementation of the function -(IBAction)sliderValueChanged:(UISlider*)_slider {! [label settext:[nsstring stringwithformat:@"%.2f", [_slider value]]]; } standard message of UILabel

59 C. Test Your App You know what to do!

60 D. Debugging Find the problem(s) of your app.

61 Debugging Programming is fun. But sometimes you will encounter problems within your app. i.e., Crashes Wrong value shown. Method doesn t call and etc. Different from C, we can t use println to monitor the output of the app. Alternatively, we will use NSLog from Foundation framework.

62 NSLog NSLog is a C function call, call it with NSLog(content). Use NSString before string). Similar to println => NSLog(@ %d, %f, 10, 100.0); NSLog output here

63 Set breakpoint You may set breakpoint to pause the app and investigate app s status at particular line.

64 End. Question? I am looking forward to your great app!

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

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

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

Cocoa. Last Week... Music 3SI: Introduction to Audio/Multimedia App. Programming. Today... Why Cocoa? Wikipedia - Cocoa

Cocoa. Last Week... Music 3SI: Introduction to Audio/Multimedia App. Programming. Today... Why Cocoa? Wikipedia - Cocoa Music 3SI: Introduction to Audio/Multimedia App. Programming IDE (briefly) VST Plug-in Assignment 1 hints Last Week... Week #5-5/5/2006 CCRMA, Department of Music Stanford University 1 2 Today... Cocoa

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

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

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

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

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

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

ios Application Development Course Details

ios Application Development Course Details ios Application Development Course Details By Besant Technologies Course Name Category Venue ios Application Development Mobile Application Development Besant Technologies No.24, Nagendra Nagar, Velachery

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

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

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

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

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

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

Editmote User Manual

Editmote User Manual Editmote User Manual 1 Editmote 2.0.1 User Manual Editmote is an ios remote control for your editing system. Control a wide range of applications including Adobe Creative Suite, Final Cut Pro 7, Final

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

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

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

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

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

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

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

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

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

More information

Preface...3 Acknowledgments...4. Contents...5. List of Figures...17

Preface...3 Acknowledgments...4. Contents...5. List of Figures...17 Contents - 5 Contents Preface...3 Acknowledgments...4 Contents...5 List of Figures...17 Introduction...23 History of Delphi...24 Delphi for mobile platforms...27 About this book...27 About the author...29

More information

AVAudioPlayer. avtouch Application

AVAudioPlayer. 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 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

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Evaluation Individual

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

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

Chapter 2 Welcome App

Chapter 2 Welcome App 2.1 Introduction Chapter 2 Welcome App 1. A app is an app that can run on iphones, ipod touches and ipads. a. multi-purpose b. global c. unrestricted d. universal Ans: d. universal 2. You can your apps

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

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

Mobile App Development. ios Platform

Mobile App Development. ios Platform Mobile App Development ios Platform Overview Introduction Development Environment & Tools App Store Pros & Cons Programming Recommendations Objective-C Primer Demo What is ios? An operating system that

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

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

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

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

CSC 581: Mobile App Development Spring 2019

CSC 581: Mobile App Development Spring 2019 CSC 581: Mobile App Development Spring 2019 Unit 1: Getting Started with App Development Xcode installing XCode, creating a project, MVC pattern interface builder, storyboards, object library outlets vs.

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

ITP 342 Mobile App Dev. Delegates

ITP 342 Mobile App Dev. Delegates ITP 342 Mobile App Dev Delegates Protocol A protocol is a declaration of a list of methods Classes that conform to the protocol implement those methods A protocol can declare two kinds of methods: required

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

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

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

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

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

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

Review. 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. 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 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

John Ray. Sams Teach Yourself. iphone. Application Development. Second Edition. S^/MS 800 East 96th Street, Indianapolis, Indiana, USA

John Ray. Sams Teach Yourself. iphone. Application Development. Second Edition. S^/MS 800 East 96th Street, Indianapolis, Indiana, USA John Ray Sams Teach Yourself iphone Application Development Second Edition S^/MS 800 East 96th Street, Indianapolis, Indiana, 46240 USA Table of Contents Introduction 1 Who Can Become an iphone Developer?

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

Getting Started with Apple ios Development Link-OS SDK Objective-C

Getting Started with Apple ios Development Link-OS SDK Objective-C Getting Started with Apple ios Development Link-OS SDK Objective-C Overview This document describes the end to end process of designing, packaging, deploying and running an Apple iphone /ipod application

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

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

CLOCK4 TUTORIAL VERY SIMPLE HELLO WORLD COCOA APPLICATION

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

More information

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

MARS AREA SCHOOL DISTRICT Curriculum TECHNOLOGY EDUCATION

MARS AREA SCHOOL DISTRICT Curriculum TECHNOLOGY EDUCATION Course Title: Java Technologies Grades: 10-12 Prepared by: Rob Case Course Unit: What is Java? Learn about the history of Java. Learn about compilation & Syntax. Discuss the principles of Java. Discuss

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

Web 2.0 and iphone Application Development Workshop. Lab 2: iphone programming basics

Web 2.0 and iphone Application Development Workshop. Lab 2: iphone programming basics 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 2: iphone programming

More information

Review. 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. 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 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

HKUST. CSIT 6910A Report. iband - Musical Instrument App on Mobile Devices. Student: QIAN Li. Supervisor: Prof. David Rossiter

HKUST. CSIT 6910A Report. iband - Musical Instrument App on Mobile Devices. Student: QIAN Li. Supervisor: Prof. David Rossiter HKUST CSIT 6910A Report Student: Supervisor: Prof. David Rossiter Table of Contents I. Introduction 1 1.1 Overview 1 1.2 Objective 1 II. Preparation 2 2.1 ios SDK & Xcode IDE 2 2.2 Wireless LAN Network

More information

Mobile Application Development

Mobile Application Development Android Native Application Development Mobile Application Development 1. Android Framework and Android Studio b. Android Software Layers c. Android Libraries d. Components of an Android Application e.

More information

CSC 581: Mobile App Development Spring 2018

CSC 581: Mobile App Development Spring 2018 CSC 581: Mobile App Development Spring 2018 Unit 2: Introduciton to the UIKit UIKit, UIViews UIControl subclasses 1 UIKit the UIKit is a code framework for building mobile apps the foundational class for

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

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

ios 9 SDK Development

ios 9 SDK Development Extracted from: ios 9 SDK Development Creating iphone and ipad Apps with Swift This PDF file contains pages extracted from ios 9 SDK Development, published by the Pragmatic Bookshelf. For more information

More information

Mobile Computing Meets Research Data

Mobile Computing Meets Research Data Mobile Computing Meets Research Data Engineer Bainomugisha Pilot Research Data Center Workshop Mombasa/Kenya Software Languages Lab. Department of Computer Science Vrije Universiteit Brussel, Belgium Department

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

Copyright

Copyright 1 Overview: Mobile APPS Categories Types Distribution/Installation/Logs Mobile Test Industry Standards Remote Device Access (RDA) Emulators Simulators Troubleshooting Guide App Risk Analysis 2 Mobile APPS:

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

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

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

More information

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

Announcement. Final Project Proposal Presentations and Updates

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

More information

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

ios Certified Associate Developer (ICAD)

ios Certified Associate Developer (ICAD) TAN DUC INFORMATION TECHNOLOGY SCHOOL JSC Address: 103 Pasteur, Dist.1, HCMC Tel: 08 38245819; 38239761 Email: traincert@tdt-tanduc.com Website: www.tdt-tanduc.com; www.tanducits.com Let s Reach For Excellence!

More information

Assignment III: Graphing Calculator

Assignment III: Graphing Calculator Assignment III: Graphing Calculator Objective You will enhance your Calculator to create a graph of the program the user has entered which can be zoomed in on and panned around. Your app will now work

More information

CS193p Spring 2010 Thursday, April 29, 2010

CS193p Spring 2010 Thursday, April 29, 2010 CS193p Spring 2010 Announcements You should have received an e-mail by now If you received e-mail approving enrollment, but are not in Axess, do it! If you have any questions, please ask via e-mail or

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

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

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

ios Developer s Guide Version 1.0

ios Developer s Guide Version 1.0 HealthyFROGS ios Developer s Guide ios Developer s Guide Version 1.0 Tuesday May 7, 2013 2012-2013 Computer Science Department, Texas Christian University - All Rights Reserved HealthyFROGS ios Developer

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

DOWNLOAD PDF LEARN C ON THE MAC

DOWNLOAD PDF LEARN C ON THE MAC Chapter 1 : How should i learn C++ on a mac? Yahoo Answers Dave Mark is a longtime Mac developer and author who has written a number of books on Mac and ios development, including Beginning iphone 4 Development

More information

Walkthrough: Binding an ios Objective-C Library

Walkthrough: Binding an ios Objective-C Library Walkthrough: Binding an ios Objective-C Library Binding an existing ios Objective-C Library with Objective Sharpie Overview When working on ios, you might encounter cases where you want to consume a third-party

More information

Introductory ios Development

Introductory ios Development Introductory ios Development 152-164 Unit 2 - Basic Objective-C Syntax Quick Links & Text References Console Application Pages Running Console App Pages Basic Syntax Pages Variables & Types Pages Sequential

More information

Exporting a Class List from MarkBook Windows to MarkBook Mac and ios

Exporting a Class List from MarkBook Windows to MarkBook Mac and ios Exporting a Class List from MarkBook Windows to MarkBook Mac and ios In MarkBook Mac or ios (IPad, iphone and ipod touch), the class list may be entered directly by typing or imported from a file created

More information

ios Simulator User Guide

ios Simulator User Guide ios Simulator User Guide Contents About ios Simulator 5 At a Glance 5 Organization of This Document 6 See Also 6 Getting Started in ios Simulator 7 Access ios Simulator from Xcode 7 Running Your App in

More information

Assignment III: Graphing Calculator

Assignment III: Graphing Calculator Assignment III: Graphing Calculator Objective You will enhance your Calculator to create a graph of the program the user has entered which can be zoomed in on and panned around. Your app will now work

More information

Copyright

Copyright 1 Mobile APPS: Distribution/Installation: Android.APK What is TEST FAIRY? TestFairy offers some great features for app developers. One of the stand out features is client side Video recording and not just

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

Enolsoft PDF Password Remover

Enolsoft PDF Password Remover Enolsoft PDF Password Remover Tutorial 1 Table of Contents I. About PDF Password Remover... 3 II. Activating the App... 4 III. App Operating... 5 I. Add PDF Files... 5 II. Clear PDF... 5 III. Remove Password...

More information

Contents. Before You Begin. Copyright 2010 by Deitel & Associates, Inc. All Rights Reserved.

Contents. Before You Begin. Copyright 2010 by Deitel & Associates, Inc. All Rights Reserved. Preface Before You Begin xxvii xxxvii 1 Introduction to iphone App Development 1 1.1 Introduction to iphone for Programmers 2 1.2 iphone Overview 3 1.3 Key New iphone 3GS and OS 3.x Features and Enhancements

More information

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

Mobile Application Development

Mobile Application Development Mobile Application Development Lecture 12 Introduction to ObjectiveC 2013/2014 Parma Università degli Studi di Parma Lecture Summary ObjectiveC language basics Classes and objects Methods Instance variables

More information

ITP 342 Mobile App Dev

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