Skip to content

Instantly share code, notes, and snippets.

@jonah-williams
Created March 18, 2014 17:49
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save jonah-williams/9625450 to your computer and use it in GitHub Desktop.
Save jonah-williams/9625450 to your computer and use it in GitHub Desktop.
Default iOS project configuration patterns

iOS Project Template

  1. Install .ruby-version
  2. Install gemfile with pods dependency
  3. Install CocoaPods for dependency management
  4. Install Kiwi pod for unit tests
  5. Install objection pod for IoC
  6. Install KIF pod for acceptance specs
  7. Reorganize file structure; groups match file system folders, split out groups based on features or roles
  8. Define views in nib files by default; designer editable, easier auto-layout configuration, easier localization
  9. Define view controller flows in storyboards but extract controller views into separate nibs
  10. Setup CI to run tests, several options here including TeamCity and cloud services but no clear winner yet
  11. Setup CI to publish OtA Ad Hoc builds; host directly from CI as a build artifact or via a service (HockeyApp is working well for Thumbtack, Testflight and other options also exist)
  12. Setup CI to run code quality metrics; objective-clean enforces code style, OCLint runs static analysis, XcodeCoverage for code coverage. Still evaluating value of these tools.
  13. If using CoreData install mogenerator to manage model classes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment