Skip to content

Instantly share code, notes, and snippets.

@vinhnx
Forked from jonah-williams/readme.md
Created May 18, 2014 17:09
Show Gist options
  • Save vinhnx/4ad139b1470c30684c0b to your computer and use it in GitHub Desktop.
Save vinhnx/4ad139b1470c30684c0b 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