Skip to content

Shared code and Demo Xcode project to setup and use SNAP in an iOS App.

License

Notifications You must be signed in to change notification settings

simonnickel/snap-template

Repository files navigation

This package is part of the SNAP suite.

SnapTemplate

Contains shared code and Demo Xcode project to setup and use SNAP in an iOS App.

Documentation

Motivation

Finishing the last 20% of a project takes 80% of the time.

(Source: Someone on the internet)

The goal of SnapTemplate is to already have the last 20% ready, before you even start the project. The same applies to the first 20% of a project: infrastructure, boilerplate and project setup.

Even if you don't plan to finish the last 60% of it, it allows to test a quick idea with a full app experience around it.

SnapTemplateDemo

An Xcode project with a base setup of SNAP. The app comes with structure, navigation and infrastructure prepared, to quickly setup a new app using the SNAP packages.

Create new App

  1. Create and clone repository.
  2. Copy files from snap-app-template and get everything in the correct place.
  3. Rename project.
    1. Rename top item in project navigator.
    2. Change bundle identifier.
  4. Follow setup steps of snap-settings-service.

Template

The Template comes with:

  1. Infrastructure to define dependencies and configuration of SNAP packages ready to go.
  2. Boilerplate to define a navigation hierarchy for the app using snap-navigation.
  3. A base settings screen using snap-settings-service with some theme configuration options.

Configurations

Info.plist

Added ITSAppUsesNonExemptEncryption key with value NO, see: Complying with Encryption Export Regulations

Build Settings

  • Set Swift Language Version to 6
  • Enabled Strict Concurrency checking: SWIFT_STRICT_CONCURRENCY = complete;

// TODO:

  • Settings Screen
    • Settings Header
    • Contact
  • Generic Usage Statistics
  • SwiftData with sync
  • Widgets using SwiftData (display, edit)
  • Release Notes
  • Multiple windows

About

Shared code and Demo Xcode project to setup and use SNAP in an iOS App.

Topics

Resources

License

Stars

Watchers

Forks

Languages