Secure Identity Research Group
iPhone Software Development
Philipp Schmidt <[email protected]>Volker Roth <[email protected]>
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 [email protected]
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 [email protected] 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