iOS view-ownership starter

A dependency-free Swift feature contract that isolates selected package types behind main-actor lifecycle and restoration.

A project you can inspect before installing.

The canonical file manifest is also the archive contract. Common evidence, environment, manifest, and acceptance files accompany platform-specific source.

README.mdSetup and first-success boundary
STARTER_MANIFEST.jsonMachine-readable project scope
.env.exampleBlank non-secret configuration
EVIDENCE.mdSource and selection boundary
ACCEPTANCE.mdSuccess and hostile-path proof
Package.swiftDependency-free contract package
Sources/MapplsStarter/MapFeature.swiftMain-actor SDK seam
Sources/MapplsStarter/FixtureMapAdapter.swiftDeterministic view lifecycle fixture

Secrets have one owner.

Use only the documented app credential restricted to the bundle/team context. Keep server secrets and privileged exchanges outside the application bundle.

Source before syntax.

Public distribution repositories identify candidate package lines, not a universal version matrix. Confirm SwiftPM products, binary checksums, Xcode/Swift, deployment target, and extension compatibility together.

What must be true after the scaffold.

01

The selected place survives intended scene restoration and released views retain no delegates, observers, tasks, or background sessions.

02

A blocked, missing, or unentitled provider produces a useful explicit failure rather than a blank surface or fabricated result.

03

No server credential, bearer value, precise private fixture, or provider response body appears in client bundles, logs, screenshots, or test artifacts.

04

Resources, listeners, sessions, processes, or requests stop cleanly when the owning screen, request, or application ends.

05

Package/binary lines are compatible

06

Privacy declarations match behavior

07

Main-actor and scene ownership are explicit

08

Release archives are hardware-tested