MultiUni - IT110 iPhoneDev - Day 0: Overview

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    Dev tools: free mem, SysInfoPlus, PrivaCy, ssh (browse files)

    BTW, these SDKs are huge - several GBs

    Business: interestingly, the user agreement says that apps are not for commercial purposes because of sales tax reasons

    3 Favorites

    MultiUni - IT110 iPhoneDev - Day 0: Overview - Presentation Transcript

    1. Day 0 - Overview from A-Z MultiUni-IT110 - Intro to iPhone App Programming Huy @ multinc.com
    2. Warning ! This presentation may contain information on unethical activities, possibly illegal in certain jurisdictions. Listen & act at your own risk.
    3. Note about Demos This presentation makes significant use of live demos, which are not included in the slides.
    4. Why iPhone?
    5. Why iPhone? Global opportunity
    6. Why iPhone? Global opportunity Few coders in Vietnam
    7. Why iPhone? Global opportunity Few coders in Vietnam iPhone is a leader of the mobile future
    8. Outline Part 1 - getting ready Part 2 - designing Part 3 - coding Part 4 - releasing
    9. Get ready Part 1
    10. Which dev device? iPhone iPhone iPhone iPod 3GS 3G 2G Touch App Store, multitouch, Yes Yes Yes Yes accelerometer cellular data, Yes Yes Yes camera GPS, 3G data Yes Yes video, autofocus, compass, more Yes speed & RAM
    11. Getting a dev device
    12. 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)
    13. 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++)
    14. Apple restrictions Phone: any carrier Unlocked iPhone or iTouch Any web apps iPhone or iTouch App Store apps iPhone or iTouch Any apps Jailbroken iPhone or iTouch
    15. Shhh... jailbreaking device PRO: required for software unlock PRO: install any app PRO: dev tools PRO: access to private APIs CON: have to wait for updates http://iphone-dev.org
    16. SDK requirements Choice of computer: 1. Mac CON: expensive 2.PC with “Hackintosh”, “OSX86” CON: time-consuming, maybe not possible, not legal Alternative: open-source toolchain
    17. 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
    18. Hackintossshhh...
    19. Hackintossshhh... New PC Choose carefully http://osx86.org
    20. Hackintossshhh... New PC Choose carefully http://osx86.org Existing PC Desktop - may need to buy video card Notebook - may need to buy Wi-Fi, maybe not possible AMD - forget it
    21. Learning to code Lots of books Apple’s extensive documentation Stanford CS193p course -> Google [stanford iphone] Upcoming MultiUni courses http://multiuni.org
    22. iPhone Dev Program Why? 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
    23. DEMO: iPhone Dev Program
    24. Design Part 2
    25. Why design? To sell more To avoid rejection from the App Store
    26. Design Resources Guides Apple’s Human Interface Guidelines (HIG) Stencils http://theresaneil.wordpress.com/2009/09/16/iphone3g- design-resources/
    27. Design Worflow Common: TapTapTap’s process: Iterate UI design with a graphic designer http://www.taptaptap.com/blog/the-design-session/ If remote, use Skitch
    28. Design Process Iterate: DEMO: Convert design evolution http://www.taptaptap.com/blog/convert-design- evolution/
    29. Type of app
    30. Type of app Web app PRO: no approval needed CON: requires net, slower response, no games
    31. 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...
    32. Code Part 3
    33. Web App Toolkits DEMO: jQTouch http://www.jqtouch.com/ iui The rest of this talk is about native apps
    34. Languages & Tools Objective-C -> XCode Alternatives: Javascript/HTML -> Appcelerator Titanium, PhoneGap, Ansca Corona (good for games) careful, Apple hates Phonegap Ruby -> Rhodes Rhomobile .NET -> MonoTouch others...
    35. Objective-C Superset of C, can be mixed with C, C++ Distinctions Message-passing for method calls Alloc/release/autorealease Categories
    36. Set up Xcode DEMO Files, targets, configurations Layered settings: project vs. target GCC Set up warnings Subversion (but consider Git)
    37. Interface Builder Not required, can be done programatically But rapid prototyping of views DEMO
    38. Code structure DEMO of simple app
    39. iPhone Simulator iPhone Simulator Missing: location, many preferences, multi-touch (has pinch) iSimulate Multi-touch Accelerometer Location/GPS
    40. Coding style Apple’s coding guidelines for Cocoa Google’s Objective-C Style Guide
    41. Debugging NSLog UIAlertView NOTE: popups are stacked Debugger DEMO NSZombieEnabled
    42. Running static analyzer Choices: Download LLVM/CLang Static Analyzer Bundled in Xcode 3.2 (OS X 10.6) DEMO
    43. Running Xcode Leaks DEMO
    44. 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
    45. 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
    46. Release Part 4
    47. 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)
    48. Release to Cydia Store (jailbroken devices) PRO: No approval needed PRO: Unique markets, especially Vietnam PRO: Access to more functionality CON: Smaller market, exposure
    49. App Store rejection examples
    50. App Store rejection examples Bugs
    51. App Store rejection examples Bugs Private APIs
    52. App Store rejection examples Bugs Private APIs Downloaded code
    53. App Store rejection examples Bugs Private APIs Downloaded code Non-working test account
    54. App Store rejection examples
    55. App Store rejection examples Bad design (e.g. deselected tableview); re- using system icons; connectivity handling; feature-limited
    56. App Store rejection examples Bad design (e.g. deselected tableview); re- using system icons; connectivity handling; feature-limited Excess vibration, bandwidth
    57. 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
    58. 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”
    59. App Store rejection examples
    60. App Store rejection examples Objectional content, e.g. Me So Holy, Baby Shaker, StarTime, Eucalyptus, Ninjawords, NIN
    61. 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
    62. 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
    63. 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
    64. 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
    65. Marketing App Store ranking Online reviews, Public Relations Video demos, using iSimulate Word-of-mouth Excellence -> Apple featured, marketing Free “lite” version Pricing strategy Appirater?
    66. TapTapTap’s advertising of “Where To”
    67. 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 See more examples at www.uquery.com
    68. What now?
    69. Homework Try to get a Mac/Hackintosh. For Hackintosh 1. Backup all your data and partition tables (e.g. using True Image, Ghost) 2.Go to www.osx86project.org Download the SDK developer.apple.com/iphone
    SlideShare Zeitgeist 2009

    + MultiUniMultiUni Nominate

    custom

    674 views, 3 favs, 0 embeds more stats

    Day 0 slides for IT110 Intro to iPhone Application more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 674
      • 674 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 3
    • Downloads 80
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories