iphone app dev overview - mobile dev camp vietnam 1

Post on 18-May-2015

3.303 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

An overview from A to Z of what it takes to develop applications for the iPhone or iPod Touch, from a Vietnam perspective: setting up, designing, coding, testing, releasing.

TRANSCRIPT

iPhone App DevOverview for Vietnamese coders

Huy @ multinc.com

1

Warning !

This presentation may contain information on unethical activities, possibly illegal in certain

jurisdictions.

Listen & act at your own risk.

2

Note about DemosThis presentation makes significant use of live demos, which are not included in the slides.

3

Why this talk?

Global opportunity

Few coders in Vietnam

iPhone leads the mobile future

The entire process is quite complex

4

Outline

Part 1 - getting ready

Part 2 - designing

Part 3 - coding

Part 4 - releasing

5

Get readyPart 1

6

Which dev device?iPhone 3GS

iPhone 3G

iPhone 2G

iPod Touch

App Store, multitouch,

accelerometercellular data,

camera

GPS, 3G data

video, autofocus, compass, more speed & RAM

Yes Yes Yes Yes

Yes Yes Yes

Yes Yes

Yes

7

Getting a dev device

Choices:

1. iPhone 3GS ($589 new in US)

2.iPhone 3G/2G (3G $300 on US craigslist)

3.iPod Touch (about $160 on US craigslist)

4.iPhone Simulator (free)

Alternative: test at MultiNC in Q.1 (free++)

8

Apple restrictions

Phone: any carrier

Any web apps

App Store apps

Any apps

Unlocked iPhone or iTouch

iPhone or iTouch

iPhone or iTouch

Jailbroken iPhone or iTouch

9

Shhh...jailbreaking devicePRO: required for software unlock

PRO: install any app

PRO: dev tools

PRO: access to private APIs

CON: have to wait for updateshttp://iphone-dev.org

10

SDK requirements

Choice of computer:

1. MacCON: expensive

2.PC with “Hackintosh”, “OSX86”CON: time-consuming, maybe not possible, not legal

Alternative: open-source toolchain

11

Mac

Macbook 2.4GHz is fine - $800 on US craigslist

Mac Mini 2GHz should be fine - $500? on US craigslist

4GB of RAM is cheap

Speed bottleneck is not building -- it’s transferring to device

12

Hackintossshhh...New PC

Choose carefullyhttp://osx86.org

Existing PC

Desktop - may need to buy video card

Notebook - may need to buy Wi-Fi, maybe not possible

AMD - forget it

13

Learning to code

Lots of books

Apple’s extensive documentation

Stanford CS193p course-> Google [stanford iphone]

Upcoming MultiUni courseshttp://multiuni.org

14

iPhone Dev ProgramWhy?

To test on non-jailbroken devices

To release to App Store

How much? $99 per year

Workarounds?

Test/deploy on jailbroken devices

Share certs with other coders

15

DEMO: iPhone Dev Program

16

DesignPart 2

17

Why design?

To sell more

To avoid rejection from the App Store

18

Design Resources

Guides

Apple’s Human Interface Guidelines (HIG)

Stencils

http://theresaneil.wordpress.com/2009/09/16/iphone3g-design-resources/

19

Design Worflow

Common:

TapTapTap’s process:

Iterate UI design with a graphic designerhttp://www.taptaptap.com/blog/the-design-session/

If remote, use Skitch

20

Design Process

Iterate:

DEMO: Convert design evolutionhttp://www.taptaptap.com/blog/convert-design-evolution/

21

Type of app

Web app

PRO: no approval needed

CON: requires net, slower response, no games

Native app

App Store vs. jailbroken

more later during Release part...

22

CodePart 3

23

Web App

Toolkits

DEMO: jQTouch

iui

The rest of this talk is about native apps

24

Languages & ToolsObjective-C -> XCode

Alternatives:

Javascript/HTML -> Appcelerator Titanium, PhoneGap, Ansca Corona (good for games)

careful, Apple hates Phonegap

Ruby -> Rhodes Rhomobile

.NET -> MonoTouch

others...

25

Objective-C

Superset of C, can be mixed with C, C++

Distinctions

Message-passing for method calls

Alloc/release/autorealease

Categories

26

Set up Xcode

DEMO

Files, targets, configurations

Layered settings: project vs. target

GCC

Set up warnings

Subversion (but consider Git)

27

Interface Builder

Not required, can be done programatically

But rapid prototyping of views

DEMO

28

Code structureDEMO of simple app

29

iPhone SimulatoriPhone Simulator

Missing: location, many preferences, multi-touch (has pinch)

iSimulate

Multi-touch

Accelerometer

Location/GPS

30

Coding style

Apple’s coding guidelines for Cocoa

Google’s Objective-C Style Guide

31

Debugging

NSLog

UIAlertView

NOTE: popups are stacked

Debugger

DEMO

NSZombieEnabled

32

Running static analyzer

Choices:

Download LLVM/CLang Static Analyzer

Bundled in Xcode 3.2 (OS X 10.6)

DEMO

33

Running Xcode LeaksDEMO

34

Deploying for testing

Distribution choices:

a)collect devices’ UDIDs & distribute Ad Hoc

b)share your certificates

c) jailbroken phones don’t require signing

IMPORTANT: keep copy of .dSYM files

35

Beta testing

Collect console logs using iPhone Configuration Utility

Collect console logs and user data using Flurry or others

Collect crash logs from users

Users need to sync and find files on Mac

Analyze using symbolicate and .dSYM files

36

ReleasePart 4

37

Release to App Store

PRO: Easier access, greater exposure

PRO: Apple handles billing, gives you 70%

CON: infamous App Store approval process (weeks or months, possibly never)

38

Release to Cydia Store (jailbroken devices)

PRO: No approval needed

PRO: Unique markets, especially Vietnam

PRO: Access to more functionality

CON: Smaller market, exposure

39

App Store rejection examples

Bugs

Private APIs

Downloaded code

Non-working test account

40

App Store rejection examples

Bad design (e.g. deselected tableview); re-using system icons; connectivity handling; feature-limited

Excess vibration, bandwidth

Uploading user data without warning

But exceptions: “Don’t ask, don’t tell”

41

App Store rejection examples

Objectional content, e.g. Me So Holy, Baby Shaker, StarTime, Eucalyptus, Ninjawords, NIN

Competing with Apple & carriers, e.g. Google Voice & Skype

Trademark, e.g. iPhone icon & name, Polaroid

Icons that match, icons that don’t match

Bad descriptions (“dragons”, competitor

42

MarketingApp Store ranking

Online reviews, Public Relations

Video demos, using iSimulate

Word-of-mouth

Excellence -> Apple featured, marketing

Free “lite” version

Pricing strategy

Appirater?43

TapTapTap’s advertising of “Where To”

44

What kind of apps?

Utility, productivity

Business?

Careful because officially not allowed

Casual games, e.g. Pee monkey

Arcade games, e.g. Meteor Blitz

DEMO: Meteor Blitz video demo

45

Retire richPart 5

46

What now?

Get a Mac/Hackintosh

Download the SDK

Learn from Stanford course, MultiUni

47

Free 6-day course:Intro to iPhone &

Objective-CGo to http://multiuni.org/ for details

48

top related