Download - Citibank
![Page 1: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/1.jpg)
Demystifying iOS App Development
Sidwyn KohFounder, The Pragmatic Lab
While waiting, grab the files here: http://pragmaticlab.com/citibank
1
![Page 2: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/2.jpg)
Presentation
• 50 minutes long
• 10 minutes Q&A
• Save your questions for the end!
2
![Page 3: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/3.jpg)
Overview
• Introduction
• App Development Process
• Fundamentals of Programming
• Coding Environment
• Creating Your First App
• Q&A
3
![Page 4: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/4.jpg)
Introduction
• 6 years as a programmer
• 4 years of iOS experience
• 2 years as a businessman
4
![Page 5: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/5.jpg)
Portfolio
5
![Page 6: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/6.jpg)
Portfolio
SeesmicRoomorama
featured on the App Store
Definition Home Team News
Stacker FreshLook Xmas iCards NUS High
5
![Page 7: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/7.jpg)
6
![Page 8: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/8.jpg)
Design Mobile Web
PhotoshopIllustratorIndesign
FireworksPremiere Pro
iOSAndroid
HTML / CSSJavascript
Ruby on RailsJoomla / Wordpress
Social Media
6
![Page 9: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/9.jpg)
Read more at: http://pragmaticlab.com/blog/feature
7
![Page 10: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/10.jpg)
App Development Process
Conception
Research
Development
Submission
Marketing
Maintenance
8
![Page 11: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/11.jpg)
Conception
9
![Page 12: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/12.jpg)
Why Make an App?
10
![Page 13: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/13.jpg)
Why Make an App?
to solve a problem
to make money
to scratch an itch
to learn something new
to waste other people’s time
10
![Page 14: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/14.jpg)
Conception
Picture taken from http://blog.gaborcselle.com/2012_11_01_archive.html
Observe
Understand
Innovate
Idea
11
![Page 15: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/15.jpg)
Research
12
![Page 16: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/16.jpg)
Research
• Scour the App Store
• Be keyword-specific
• Install the top 3 apps
13
![Page 17: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/17.jpg)
Dictionary!
14
![Page 18: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/18.jpg)
Dictionary.com Dictionary.
15
![Page 19: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/19.jpg)
16
![Page 20: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/20.jpg)
Development
17
![Page 21: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/21.jpg)
Prerequisites
> OS X 10.6 > Xcode 4.2
18
![Page 22: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/22.jpg)
Programming Basics
Algebra Programming
x + 2 = 4 x = 2;
myNumber = 3;
Tip: End every programming statement with a semicolon.
Tip: Write your variables in camel case.
19
![Page 23: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/23.jpg)
Vocabulary
• Class: Type of an object. Also where you write all your code.
• Instance: A speci!c allocation of a class
• Methods: Functions that an instance performs
• Variable: Quantity visible to all methods in the class
Car
checkFuel closeDoor
amountOfFuel numberOfDoors
20
![Page 24: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/24.jpg)
Declaring a Variable
We cannot simply do:
pictureWidth = 8;pictureHeight = 5;myPictureArea = pictureWidth * pictureHeight;
We have to do it like this:
int pictureWidth = 8;int pictureHeight = 5;float myPictureArea = pictureWidth * pictureHeight;
Tip: Add data types to every variable.
21
![Page 25: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/25.jpg)
Data TypesName Type Example
void Void Nothing
int Integer -1,0,2
float Floating point number -0.352, 3.1231
double Double precision "oating point number 0.5251251251251520
NSString * String What is NSString?
id * id anything
BOOL Boolean 0,1, TRUE, FALSE, YES, NO
Tip: You require asterisks for variables that point to something else.
22
![Page 26: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/26.jpg)
DemoDo follow along
23
![Page 27: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/27.jpg)
Recap
• .h file - summary of methods and variables
• .m file - implementation of methods
• .xib file - drawing and connections
• Properties - things that we are able to control and access (think variables)
• Action methods - functions, usually to run algorithms or code (think functions)
• Converting between different data types
24
![Page 28: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/28.jpg)
Submission
25
![Page 29: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/29.jpg)
Publishing
26
![Page 30: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/30.jpg)
Publishing• Register for $99 iOS Developer Program
(http://developer.apple.com/programs/ios)
26
![Page 31: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/31.jpg)
Publishing• Register for $99 iOS Developer Program
(http://developer.apple.com/programs/ios)
• Test on your device
26
![Page 32: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/32.jpg)
Publishing• Complete steps (setting plist, build and archive)
• http://developer.apple.com/devcenter/ios/index.action
27
![Page 33: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/33.jpg)
Publishing
• Prepare app at iOS Provisioning Portal
28
![Page 34: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/34.jpg)
Publishing
• Upload apps on iTunes Connect
29
![Page 35: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/35.jpg)
Marketing
30
![Page 36: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/36.jpg)
Marketing
• Timing
• Competitors, market stability, events
• Public relations
• Blog posts, reviews, early adopters, contests, press releases
• Serendipity
• Do not use black hat methods (e.g. fake reviews)
31
![Page 37: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/37.jpg)
Maintenance
32
![Page 38: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/38.jpg)
Maintenance
• Regularly send updates
• Each update refreshes the reviews in App Store
• Add new features, in-app purchases
33
![Page 39: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/39.jpg)
Useful Tools
• AppAnnie: Download tracking
• Flurry: Event and audience statistics
• Airbrake: Error tracking
• Parse: Server in the cloud
34
![Page 40: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/40.jpg)
Next Steps
• Check out our classes on pragmaticlab.com
• Sign up for our mailing list
35
![Page 41: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/41.jpg)
36
![Page 42: Citibank](https://reader033.vdocument.in/reader033/viewer/2022042714/555ec6d4d8b42a74708b537f/html5/thumbnails/42.jpg)
37