4. Who am I?
‣ Tom Adams, CTO & Co-founder, mogeneration
‣ Background in mobile, enterprise, HPC, sem. web, PKI
‣ On the web
‣ http://adams.id.au/blog/
‣ http://twitter.com/tomjadams
‣ http://www.linkedin.com/in/tomjadams
‣ http://github.com/tomjadams
Tuesday, 24 March 2009
5. mogeneration
‣ Founded September 2008
‣ Keith Ahern, CEO & Co-founder, ex-News Head of Mobile
‣ Offices in Sydney & Brisbane, 4 people, 7 successful projects
‣ iPhone, Android, mobile 2.0 web
‣ Web
‣ http://twitter.com/mogeneration
‣ http://github.com/mogeneration/
Tuesday, 24 March 2009
6. Our work
‣ Web
‣ The Australian; prior: news.com.au, TrueLocal, moshtix
‣ Released
‣ OzWeather, Moo Shake!, Xumii
‣ Submitted
‣ Lingopal, TrueLocal
‣ In development
‣ Games, books, physics, photography, coupons
Tuesday, 24 March 2009
12. iPhone
‣ What makes the iPhone different?
‣ Cool
‣ Not normal embedded development
‣ Real threading
‣ Real OS
‣ OpenGL
‣ SQL Database
‣ Tool
Tuesday, 24 March 2009
19. Developer portal
‣ Developer centric
‣ Team, keys, app ids, certificates, provisioning profiles
‣ Be careful of who is an agent!
Tuesday, 24 March 2009
20. iTunes Connect
‣ Release/distribution centric
‣ Only for team agents
‣ Distribution to app store, sales reporting, tax, etc.
Tuesday, 24 March 2009
25. Code
‣ Objective-C has a weak type system, don’t be too fancy
‣ Strong typing is good
‣ Beware of using id
‣ Good naming is hard with “named” parameters
‣ Code styles guides
‣ “Introduction to Coding Guidelines for Cocoa”, Apple
‣ “Cocoa Style for Objective-C”, Cocoa Dev Central
‣ Google
Tuesday, 24 March 2009
28. Threading
‣ Learn to love asynchronicity
‣ Don’t block the main thread
‣ Use notifications to decouple communications
‣ Use an NSOperationQueue to bound # threads
Tuesday, 24 March 2009
29. Memory management
‣ Retain count
‣ Learn & follow the rules
‣ For each alloc/new/malloc/malloc a release/free
‣ Use autorelease sparingly
‣ new/create/get
‣ Use new autorelease pools in loops, thread, etc.
‣ Beware of collection class rules
Tuesday, 24 March 2009
30. Gotchas
‣ The iPhone does not support dynamically linked libraries
‣ The simulator uses Mac OS X libraries
‣ Simulator has 72dpi, iPhones have 160dpi
‣ Remember finger sizes!
‣ Don’t use Xcode to manage provision profiles
Tuesday, 24 March 2009
32. Help
‣ iPhone Developer Centre
‣ Stack Overflow
‣ Mobile Orchard (tutorials)
‣ http://cocoadev.com/
‣ http://cocoadevcentral.com/
‣ Google
Tuesday, 24 March 2009