views:

176

answers:

5

Hello, world! I recently started diving into iOS development and am happy to announce my first free app has been approved by the App Store (don't worry, I won't spam it on here)! Now that I feel more comfortable with building iOS apps, I'd like to begin building out some ideas I have for more advanced, paid apps. As such, I need to continue on my journey of knowledge and was wondering what are some common things that developers do when starting a new iOS project? I ask because they might be things I should consider doing as well.

  1. What development-specific things do you do before you even launch XCode and click the "New Project" button (not including pre-development type stuff like sketching UI mockups and learning new APIs, etc.)?
  2. What things do you do soon after you create a "New Project" in XCode (i.e. import specific libraries or templates, setup various tests, remove unnecessary code or files, add specific code or files, etc.)?

Thanks in advance for your wisdom!

+1  A: 
  • I always make sure I have a repository up offsite.
  • I used to use a script (from Marcus Zarra maybe?) to back up dSYM files that were generated, but the Build and Archive option works well for that.
  • I check off Run Static Analyzer in the debug build configuration.

That's all I can think of right now.

Don
+3  A: 

First thing is to set up Git or Mercurial repository, both local and remote. (I tend to switch back and forth between laptop and desktop during development, so having a remote repository to sync with is essential.)

After creating the project, I set up a unit testing framework: http://blog.carbonfive.com/2009/02/testing/iphone-unit-testing-toolkit

The last thing I do before getting started is go through and delete all those annoying TODO comments and commented-out methods.


FWIW, here is what my standard .gitignore file looks like when I set up a Git repository for an Xcode project:

CVS
.svn
.hg
build
*.pbxuser
*.perspectivev3
.DS_Store
*~
Kristopher Johnson
In setting up git, be sure to set up the appropriate .gitignore entries too. (build folder, user files)
Chris Garrett
A: 

iPhone isn't that different from any other platform -

  • some variety of statement of work
  • mock up some screens (by hand, in a little notebook I keep around all the time)
  • learn the parts of iOS I don't know well enough yet so that I can implement them (many times, with tiny little sample projects)
  • work on the screens (note that this requires working on the code first if you want to connect to your outlets, etc)
  • flesh out the source

The last step is truly agile - tiny bits of functionality, built upon a tiny bit more, built upon a tiny bit more, never breaking the core system

KevinDTimm
+5  A: 

A few things to consider doing:

1. For a Paid app, survey the market, the needs, the competition, and try to describe the target customer base.

Start a living text document with a goal statement and a planning list of tasks, sub-goals, tests, etc.

Pick out a project name, a Product name and a Bundle Identifier for the project (so you don't end up with too much random-named stuff in your build directories and on your devices.)

2. Set the version number to something really low, such as 0.0.1.

Pick out a template and make sure it builds. That way you'll know when you've created or added something that won't build.

hotpaw2