XCode:
- Identifier definitions can be tracked down by command-double-clicking them, providing a drop-down menu for ambiguities.
- Code completion exists if you type slow enough if you have the proper header files included.
- Command+[ or ] tab shifts code rather than the tab key.
- If a property lists doesn't want to load in to a dictionary, keep in mind that there is a little known limit to its file size, which I believe to be around a megabyte. I ran in to this when working on my latest app that stores a lot of coordinates for different characters.
- Retain variables when you want to dereference them in another scope (fatal runtime error otherwise, EXC_BAD_MEMORY i believe).
- Retain can be avoided by using factory methods or making the variable a class property although that makes it public (you'll still need to release it).
- Release variables when you're no longer going to use them (typically in dealloc:).
- AVAudioplayer (2.2+ only) allows for simple audio playback, but doesn't support streaming or low-level audio manipulation (see Audio Queue Services).
- A limitation I found in the Image View was that image file size or resolution can't be too big or else it may not show up at all.
- Drawing context only available in drawRect: even if you get a context object back from UIGraphicsGetCurrentContext().
- Set up a "state" in a fashion appropriate for your application (maintain an array of paths for simple doodle app to iterate through and add to context during drawRect:).L has lost some ground to DirectX, but this mobile subset of OpenGL seems to have found a niche. Development for OpenGL is an entire topic in itself but if you're new to it and you have a game in mind, I'd like to recommend some open source engines that have been written for OpenGL: cocos2d, oolong, oc3d, sio2, and nebula3. It's exciting to see what the open source community is capable of achieving once Apple removed the NDA for developers. If you're interested in game development or an immersive application, I can also recommend for CC search, freesound.org, and flashkit.com for free sound effects and images.
- cocos2d
- oolong
- oc3d
- sio2
- nebula3
- ccsearch
- freesound
- flashkit
- Buy developer program ($99)
- Create identity certificate signing request
- Submit to Apple for an identity certificate to install
- Add device to account
- Create mobile provisioning profile (links identity to device)
- Install into XCode and choose profile from Build settings
- If you get a device error in the Organizer window, follow the error message and restart the device!
- Code sign with distribution profile
- ZIP app up as a filename with no spaces
- Set release date > 1 week in the future (App Store sorted by release date and will take at least a week to be approved)
- Prepare an icon, screenshot, description, and website (as simple as a blog)
- Extensively test app to avoid missing release date! Resubmissions take at least a week, too.
- Do web views show a meaningful error message when there's no connection?
- Is the app intuitive and usable?
- (Rumored) Does it compete with iTunes?
BTW, nebula3 does not support opengl at the moment as I know. :-)
ReplyDeleteNo? I'll look into it further and give a more in-depth review and coverage of the game engines now that I know at least one person has an interest in them. :)
ReplyDelete