Blogging from iPhone Training Course
| May 30, 2010 | Posted by admin under Learning Technologies |
|
Hugh will be attending 4 days of iPhone Application training from 1st June – 4th June. Here’s the Course Outline. Send me any questions you want asked and I’ll try and get the trainer to answer and then post them up. The training is one to one so will be quite hard going and as it’s a lot of new concepts so will be quite intense.
In preparation for the training I used a variety of resources. Firstly there are lots of getting started videos on Apple’s site (but you will require an Apple ID login). I also found a couple of Universities providing free online training via iTunesU:
Stanford Uni: CS 193P iPhone Application Development
I’ve watched over 20 hours of videos so far. They are quite large so I downloaded them using Apple’s iTunes software and then transfered to my iPhone. I’ve only got the 16GB version and its now full!. I tried using iTunes to make iPhone friendly videos but it only made them even bigger.
I purchased an Apple Composite AV cable to connect my iPhone 3GS to my TV so I could watch on a big screen
(If you purchase from another supplier please make sure you get the right lead, not all work with the latest iPhone).
Reference Books
Here are some for the reference books I’ve been reading:
Day 1
- Trainer is the same guy who I taught me an Advanced Adobe Premiere course few years ago – what’s the chances of that!
- I’m even in the same room as before but this time am using a iMac 20in instead of a PC – you can’t develop iPhone apps on a PC and it must be an Intel based Mac.
- The Xcode download is just under 3gb, so make sure you have a fast connection. Subsequent updates are also just as big. Xcode v4 is due out quite soon, will no doubt coincide with release of iPhone 4G
- Started with a demo of an iPad. Very impressive bit of kit, iPhone apps will work with it, can zoom them up so fit full screen (x2 zoom) but the text suffers a bit. (Apple need to work on this)
- iPad apps are also alot more expensive. They tend to have ‘HD’ versions of the same app on the iPhone. Trainer has already spent £120 on apps alone.
- Covering a load of theory to start with. Cocoa Touch, Object Orientated programming concepts and Model View Controllers.
- Used straight C code to start with using the Terminal window to display results (printf(“…”))
- Here’s a list of my notes:
- ‘Monaco’ font is preferred Xcode editor font / alt’3′ is the hash symbol ‘#’
- Expose & Spaces – useful for quick access to open programs and windows (list view is akin to Windows Explorer)
- Events not exist in Cocoa instead its notifications and delegation
- Use ‘Dashcode’ to develop iPhone web apps (copy files to your server, goto site in Safari and make home icon) – Not sure if they work in other browsers
- Xcode 4 won’t work with first generation iPhones (Apple usual product lifespan is 3-3.5 years)
- Naming conventions – use CamalCase (no numbers, no spaces)
- ‘SCM’ stands for Source Content Management
- Command tilda – moves between windows in application
- ESC – autocomplete (there are lots more, all to help write code quickly and avoid mistakes)
- Suitcase icon means Apple’s code
- Google ‘format specifier‘ for list of %i / %d
- ‘+’ class / ‘-’ instance
Day 2
- Started with C programming in Xcode software
- Useful code: #pragma mark – / #pragma mark … – keeps the code tidy and means one of the inbuilt Xcode code list pulldowns is easier to read
- Built first iPhone app using just code
- Got a USB stick full of over 700MB of resources (including a couple of books in pdf format) Let me know if you want copies
- A couple of books to recommend for newbie C programmers:
- A Guide to Language Fundamentals Objective C Pocket Reference O’Reilly Andrew M Duncan (ISBN 0-596-00423)
- C Programming in easy steps (Third Edition) Mike McGrath (ISBN 978-1-84078)
- Built 2nd iPhone app, using coding rather than prebuilt templates
- Warning to wannabe iPhone developers, it’s a lot of a lot of coding (we started using C, now on Objective-C), it’s taking time to sink in and get used to the Mac and all its shortcuts. I’m slowly getting used to the flat keyboard and mighty mouse.
Day 3
- Running through the slider and circle movement demo, using the instrument tools to check for leak and memory allocation
- Checking for zombies, yes that’s what they are called. Messages which are deallocated
- Apple’s code immediately gave 1 leak, no need to rectify – it’s in their code
- Can use QuickTime Player software to capture the Phone simulator (using zoom tool if don’t want entire screen)
- Apple’s online help (on their mobile site) was created using DashCode
- Tip 1: If want to use switch/case statement with function code inside use ‘:;’ otherwise it won’t pick up
- Tip 2: Make sure all Class names need uppercase first letter (so when creating new project make sure it has uppercase first letter)
- Talked alot about CoreGraphics and transforms (bit too technical and not really relevant for what we will do)
- Created app with ViewControllers & TabBarControllers all in code (2 things to remember if do it this way, 1. make sure you name the subclass and 2. select the NIB from pulldown both in Interface Builder)
- Garbage collection is only available on Macs, iPhones don’t have enough memory but trainer put some unreleased code in and it didn’t pick up in instruments neither did looping of retains.
Day 4
- Built app that passed slider values from screen 2 to text fields on screen 3 using NSDictionary
- ‘Snapshot’ tool is meant to take a snapshot of your project so you can sort of version control will have to check this out
- Looked at table views and ways of changing formats
- Looked at map kit, should be able to modify so we can create pins of main locations for each campus
- Went through some of the example code to see how created
- Hurrah, I’ve finished the course, got another certificate to add to the collection. Long day, I was the last trainee left in the place, I think the staff would have preferred if I’d finished at 5
Conclusion so far: Now the hard work begins, the more you learn the more you realise the less you actually know and SDK4 is coming out soon which will allow multitasking of apps and that means a lot more memory management techniques to learn.
My favourite iPhone apps
Game: Angry Birds (£0.59)
So cheap for the amount you get, lots of levels, very well written and quite funny.
Game: Jungle Crash Land (was free but now £0.59)
Was free when I got it but still cheap, Donut Games make very good quality addictive games.
Lifestyle: eBay (FREE)
Saves turning PC on to check if items have sold. Needs more functionality but still good.
News: Sky Sports News (FREE)
Good for checking the fantasy football.
Travel: National Rail (£4.99)
Good when traveling on trains.
Music: Tune In Radio (£1.19)
Lots of stations and works of 3G connection.
Reference: TV Guide (FREE)
Lists lots of TV channels.




