-
Notifications
You must be signed in to change notification settings - Fork 3
Project Organization
Pablo Villar edited this page Mar 23, 2017
·
2 revisions
Files and folders organization within the project is fundamental to avoid compilation errors and issues with dependency managers. Furthermore, it helps users find relevant content quickly.
The placeholder
Jayme
has been used as the project name below.
Make sure you replace it with your project's name.
Jayme # root
├── Assets
│ ├── # screenshots and assets for README or other documentation
├── Example
│ ├── # files belonging to the sample project
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ └── # etc...
├── Jayme
│ └── # FILES FROM THE LIBRARY ITSELF
├── Jayme.podspec
├── Jayme.xcodeproj
├── JaymeTests
│ └── # tests files
├── LICENSE
├── README.md
└── # other hidden configuration files (.gitignore, .codecov.yml, etc)
Jayme # root xcodeproj
├── Example # must match the physical `Example` folder
│ ├── # files belonging to the sample project
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ └── # etc...
├── Jayme # must match the physical `Jayme` folder
│ └── # FILES FROM THE LIBRARY ITSELF
├── JaymeTests # must match the physical `JaymeTests` folder
│ └── # tests files
└── Products
- The Xcode folders from the first level below the root (
Example
,Jayme
,JaymeTests
, ...) must match their corresponding physical folders. - Inside of the aforementioned folders, you can organize your files as you want (for instance, creating groups and subgroups).
- Make sure you move the New Xcode project template files (
AppDelegate.swift
,Main.storyboard
,Info.plist
, ...) to theExample
folder. You have to do it physically, first. Then, you drag-and-drop the entireExample
folder into the project tree in Xcode, and delete the old references that will be broken. - Also, be aware when moving the
Info.plist
file: You will have to configure your target to point to its new location; you do that under your target's Build Settings, under theInfo.plist File
entry.