iPhone Software Development - Freie Universität · 2009-10-18 · Secure Identity Research Group...

Post on 19-Apr-2020

3 views 0 download

Transcript of iPhone Software Development - Freie Universität · 2009-10-18 · Secure Identity Research Group...

Secure Identity Research Group

iPhone Software Development

Philipp Schmidt <philipp.schmidt@fu-berlin.de>Volker Roth <volker.roth@fu-berlin.de>

1

Secure Identity Research Group

What will you do..?

• Learn how to develop iPhone apps

• resembling a typical real-life workflow

• focusing on security or cryptographic components.

2

Secure Identity Research Group

What will you need ..?

• Some knowledge in Object Oriented Programming

• Some knowledge in C (or at least Java)

• Access to a Mac with iPhone SDK.You will have access to the ZeDAT Mac-Pool “Zyklon” in Silberlaube (K-Strasse)

• Access to an iPhone or iPod TouchWe will provide a few demo devices, but we won’t have many of them.

3

Secure Identity Research Group

Steps to be taken

• Form teams.

• Come up with an idea for a project and get it approved.

• Estimate realistic feature sets for at least two projects and submit a project proposal for them.

• Get one Project done.

4

Secure Identity Research Group

Deadlines

Thu, Oct 22th Topic Idea

Mon, Nov 2nd Project Proposals

Mon, Jan 4th Beta Release

Thu, Feb 4th Project Presentation

Thu, Feb 11th Final Release

5

Secure Identity Research Group

Meetings

• Occasional organizational meetings

• Bi-weekly meetings here for consultations, reporting and aspects about the iPhone architecture.

• Bi-weekly development sessions.

6

Secure Identity Research Group

Useful Resources

• iPhone developer Programhttp://developer.apple.com/iphone/

• Stanford on iTunesU: http://itunes.stanford.edu/iPhone Application Programming (CS193P)

7

Secure Identity Research Group

Sign up to the Mailing List

• The mailing list is our primary broadcast medium.

• It may be used for discussion between all participants and to send further pointers to documentation.

• Please subscribe by sending a mail toiphone_ws09-subscribe@lists.spline.inf.fu-berlin.de

or by visiting https://lists.spline.inf.fu-berlin.de/mailman/listinfo/iphone_ws09 and use the form there.

• No project/group internal discussions - thanks!

8

Secure Identity Research Group

Register an ADC Account

If you not already have one:

• Go to http://developer.apple.com/iphone/program/start/register/ and register an Account for iPhone development.

In any case:

• Send me a mail to philipp.schmidt@fu-berlin.de containing:

• your first name and last name

• your e-mail address

as you typed them in at ADC – they are case sensitive (!)

9

Secure Identity Research Group

Form teams

• You must form teams of two or three students

• The team will go through the whole praktikum together, so choose your partners wisely…

• If you not already have team partners, tell us NOW!

• The teams will be fixed by the project proposals.

10

Secure Identity Research Group

Breakfive minutes to…

11

Secure Identity Research Group

Task: Topic Idea

Due Date: Thu, Oct. 21st (next week, here)

• Come up with an Idea for a Project Topic

• Write it down in about 200 Words.

• Present it in about five minutes.

12

Secure Identity Research Group

Next Session we will...

• Hear the Topic Proposals.

• Do some brainstorming.

• Choose which can be applied for as projects.

13

Secure Identity Research Group

Objective C

14

Secure Identity Research Group

Basic Concepts

• Objects

• Classes

• Instances

• Methods

• Properties

• Categories

• Extensions

• Protocols

15

Secure Identity Research Group

Class Definition

@interface Rectangle : NSObject {! float x; float y;! float h; float w; BOOL awesome;}@property float x;@property float y;@property BOOL awesome;

- (void)setWidth:(float)width height:(float)height;+ (Rectangle)newStandardRectangle;@end

16

Secure Identity Research Group

Class Implementation

@implementation Rectangle

@synthesize x; @synthesize y;@synthesize awesome;

// Initalizer- (id)init { // Assign self to value returned by super's // designated initializer // Designated initializer for NSObject is init if (self = [super init]) {! ! x = 0; y = 0;! ! h = 0; w = 0;! ! awesome = YES; } return self;}

17

Secure Identity Research Group

Class Implementation (continued)

// Methods

- (void)setWidth:(float)width height:(float)height{! h = height;! w = width;}

+ (Rectangle)newStandardRectangle(){! id sr = [[Rectangle alloc] init];! [sr setWidth: 1 height: 1];! sr.x = 0; sr.y = 0; sr.awesome = NO; [sr autorelease];! return sr;}

@end

18

Secure Identity Research Group

Thanks!

19