Thinking > guide
iOS Project Checklists

Project Checklists

All iOS projects should strive to follow these guidelines.

Project setup

  1. Project should include a useful document

    • ideally any question a developer would need for onboarding should be answered here
    • efforts should be taken to keep this document up-to-date - a stale README is arguably worse than no README
  2. Add a .gitignore file

  3. Follow version control best practices. master, dev, and feature branches are commonly used.
  4. Ensure the team is using the same version of Xcode (the most recent version, if possible)
  5. Setup static code analysis and linting
  6. Create and use a localization file for user-facing strings
  7. Set up crash reporting with Crashlytics
  8. Add a Settings.bundle
  9. Set up continuous integration
  10. CocoaPods is the current standard for adding third-party libraries and frameworks to a project

Submitting to App Store

Releasing an app to the App Store should not be taken lightly. Steps must be taken to ensure what you submit is correct and will work once published to the store. Allocate at least 4 hours to make sure everything is working properly before submitting.

  1. Scan and understand Apple's App Distribution Guide
  2. Understand the app's responsibility for securing data. (Software Security).
  3. Ensure final code commits pass all tests and are pushed out
  4. Update the app's public version number in the Info.plist file (CFBundleShortVersionString)

    • For every new public version number, reset the private version back to 1.0 (CFBundleVersion). This number is only incremented in rare cases, such as when iTunes Connect requires a new build. This isn't user-facing, so the exact values are not too important.
  5. If using Core Data, ensure that a database migration is handled appropriately by the app
  6. Ensure debugging statements and development-only code are not built when making a release build
  7. Ensure the app uses the correct production server endpoints for release builds
Recent Posts

Let's talk.

Give Us a Call
(800) 352-2292
Business Inquiries