Skip to content

Instantly share code, notes, and snippets.

@0xSG
Last active October 18, 2020 07:47
Show Gist options
  • Save 0xSG/b74284101cf5ee9bb0f0944b7f3ca374 to your computer and use it in GitHub Desktop.
Save 0xSG/b74284101cf5ee9bb0f0944b7f3ca374 to your computer and use it in GitHub Desktop.
File Structure for XCode Project.
PROJECT STRUCTURE
├─ Global
├─ Application
├─ Main
├─ Target B
├─ Storyboards
├─ View Controllers
├─ Models
├─ Common Utils
├─ Tools
├─ Extensions
├─ Constants
├─ Service Managers
├─ Custom Views
├─ Cells
├─ Assets
├─ Image.xcassets
├─ LottieAnimations
├─ Video
├─ Sounds
├─ Project info
More info
├─ Global // You can add here every global classes and files.
├─ Application
├─ Main // This group can contain files specific to main target. For example image.xcassets, sounds, entitlement file, google-service file, xcconfig etc.
├─ Target B // This group can contain files specific to that target. For example image.xcassets, sounds, entitlement file, google-service file, xcconfig etc.
├─ Storyboards // Every storyboard files.
├─ View Controllers // Every view controller files.
├─ Models // Every models used on this project.
├─ Common Utils
├─ Tools // Can contains files like Forcetouch triggers or class which helps to do something.
├─ Extensions // UIView extensions, UIViewController extensions, commonClassExtensions
├─ Constants // Contants like type enums etc.
├─ Service Managers // This file can contain files like Service manager, firebase manager class, API files etc.
├─ Custom Views // Can contain custom UIButton or other custom Views.
├─ Cells // Can contain xibs, its respective classes, Swift UI cells etc.
├─ Assets
├─ Image.xcassets // Image assets used on this project (which is common for all targets).
├─ LottieAnimations // Lottie animation files used on this project (which is common for all targets).
├─ Video // Video files used on this project (which is common for all targets).
├─ Sounds // Sound files used on this project (which is common for all targets).
├─ Project info // Can contain files which give information about the project.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment