Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

CaptureContext/basic-ios-template

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

basic-ios-template

SwiftPM 5.6 @maximkrouk

Note

This repo is a bit outdated, but I'm working on an update here branch:wip/v2

Getting started

  1. Fork the repo as a template.

  2. Create a local folder for your app and navigate to it

mkdir <YourAppName>
cd <YourAppName>
  1. Clone the template, rename cloned folder to App and navigate to it
git clone https://github.com/<your-profile>/<your-app-name>-ios.git
mv <your-app-name>-ios App
cd App

You can choose any name or avoid nesting, but we recommend to follow the example (including the case) to get the best result 😌

  1. Rename project.yml, .config/project.yml and .config/preview.yml contents accordingly to your needs
  • bundleIdPrefix: org-domain.org-host to your bundleID prefix
  • targets: MyTarget to <your-app-name>-ios
  • info.properties.CFBundleDisplayName: MyApp to <YourAppName>
  1. Bootstrap the environment
make bootstrap

See Makefile for details

Than you can commit changes and you are ready for the actual development 😎

open Package.xcworkspace

Structure

See Extensions and Dependencies for more details for these modules

Main work is happenning in the root package.

  • <#Module#>Feature naming is used for modules user directly interact with
  • <#Service#> naming modules is used for modules that are used by developers to build feature modules

Basically your Sources folder structure will look kinda like this

Sources { // Main modules
  AppFeature // Entry point for the app, contains AppDelegate, RootViewController, AppState etc., coordinates app flows
  MainFeature // Main app flow, non-main flows may be Onboarding/Admin/Auth for example.
  <#SomeFeature#>Feature // Any other feature
  AppUI // App-specific UI components
  APIClient // Service module example
  Resources // Contains shared resources and generated boilerplate, but you can declare target-specific resources too, see https://github.com/capturecontext/spmgen
}

Note:

Scripts can be improved later so we advice you to keep an eye on the repo and a tracking reference to our main branch to keep your infrastructure up to date 🚀

Recommended dependencies

Will be recommended later (yet in alpha or beta)

Releases

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.