Thank you very much for taking the time for contributing to this project.
Just open a new issue on GitHub and describe the bug. It helps if your description is detailed. Thank you very much for your contribution!
Just open a new issue on GitHub and describe the idea. Thank you very much for your contribution!
I am happy for every pull request, you do not have to follow these guidelines. However, it might help you to understand the project structure and make it easier for me to merge your pull request. Thank you very much for your contribution!
Start by clicking on the Fork button at the top of the page. Then, clone this repository to your computer.
If there is a top-level (PROJECT_NAME).xcodeproj file in the directory, open this file in Xcode (or AppCode). Else, open the Package.swift file.
You will find some top-level files and directories in both app ((PROJECT_NAME).xcodeproj) and package (Package.swift) projects:
- The
README.mdfile contains a description of the app or package. - The
Contributors.mdfile contains the names or user names of all the contributors with a link to their GitHub profile. - The
LICENSE.mdcontains an MIT license. CONTRIBUTING.mdis this file.- Directory
Iconsthat contains PNG and PXD (Pixelmator Pro) files for the images used in the app and guides. - Directory
Documentationthat contains the documentation generated with SourceDocs.
In a package project, you will find those directories that contain the Swift code:
Sourcescontains the source code of the project.(PROJECT_NAME)contains the source code of the project.ViewModelcontains classes that store information for a part of the project and files related to them.Viewcontains structures that conform to the SwiftUIViewprotocol and whose main function it is to present content in a view. All of the files here have an additional structure add the bottom of the file that helps preview the views in Xcode.Componentscontains structures whose main function is to present content but do not conform to the SwiftUIViewprotocol.Modelis the directory for other content.Datacontains mainly structures and enumerations that represent a part of the app data, for example, a structure that is used by a view model.Extensionscontains all the extensions of types that are not defined in this project.SwiftUIcontains extensions to SwiftUI types.
Protocolscontains all the protocols.Viewcontains data that defines how the content is presented and nothing else.
Testscontains code written in Swift for testing the project.(PROJECT_NAME)Testscontains single Swift files for testing the source code or sometimes even entire Xcode projects.
In an app project, you will find those directories and files:
(PROJECT_NAME)contains the source code.(PROJECT_NAME)App.swiftcontains the structure that conforms to theAppprotocol and is the entry point of the app.ViewModelcontains classes that store information for a part of the project and files related to them.AppModel.swiftcontains a class that stores information for the whole app.ViewModel.swiftcontains a class that stores information for one window of the app.
Viewcontains structures that conform to the SwiftUIViewprotocol and whose main function it is to present content in a view. All of the files here have an additional structure add the bottom of the file that helps preview the views in Xcode.ContentView.swiftcontains the main view for the main window.
Componentscontains structures whose main function is to present content but do not conform to the SwiftUIViewprotocol.Modelis the directory for other content.Datacontains mainly structures and enumerations that represent a part of the app data, for example, a structure that is used by a view model.Extensionscontains all the extensions of types that are not defined in this project.SwiftUIcontains extensions to SwiftUI types.
Protocolscontains all the protocols.Viewcontains data that defines how the content is presented and nothing else.
Assets.xcassetscontains the assets for the app.
SUMMARY.mdis the table of contents for the user documentation.user-manualcontains the user documentation.
Edit the code. Build the code at least once to get warnings for violating the code style. If you add a new type, add documentation in the code. You can also edit the docs’ text or add images.
Commit and push the fork.
Open GitHub to submit a pull request. Thank you very much for your contribution!