● Set up · AppConfig.swift
Configuration
one Swift file, six values.
Nescroll has no .env file, no API keys and no backend. Everything a buyer configures in code is in app/NoReels/AppConfig.swift. Names, IDs and capabilities are in app/project.yml (Rebrand).
01AppConfig values
| Name | Type | What it does | Package value |
|---|---|---|---|
appName | String | The name used inside texts, for example in the Lock tab. The home-screen name is CFBundleDisplayName in project.yml. | "Nescroll" |
privacyURL | URL | Settings → Privacy Policy. Use the same URL in App Store Connect. | The author's privacy page. Replace it. |
supportURL | URL | Settings → Support. A web page or a mailto: link. | The author's e-mail. Replace it. |
creditsURL | URL | Settings → Licenses and Credits. | The Asocial MIT licence on GitHub |
rulesURL | URL? | Optional HTTPS address of a rules.json with filter fixes. nil turns remote rules off (Updating filters remotely). | nil |
platforms | [Platform] | Which site tabs exist and in which order. Remove one to hide its tab and its Settings section. | [.instagram, .youtube, .facebook] |
02Examples
// Only two tabs, YouTube first
static let platforms: [Platform] = [.youtube, .instagram]
// Turn on remote filter updates
static let rulesURL: URL? = URL(string: "https://example.com/myapp/rules.json")
// Support by e-mail
static let supportURL = URL(string: "mailto:support@example.com?subject=MyApp")!
The Lock and Settings tabs always exist; they are added in ContentView.swift after the site tabs.
03Other settings in the code
| What | Where |
|---|---|
| Start page of each tab | Platform.home in Platform.swift (Instagram home, YouTube Subscriptions, Facebook mobile home) |
| Hosts that stay inside a tab (sign-in flows included); every other link opens in a Safari sheet | Platform.hostSuffixes |
| The filters and their default texts | Filter.instagram, Filter.youtube, Filter.facebook in Platform.swift (Filters) |
| Lock durations offered (15, 30, 60, 120 minutes) | durations in Lock/LockView.swift. iOS refuses windows under 15 minutes (LockMath.minimumMinutes). |
| Default quiet hours (22:00 to 07:00) | LockShared.quietHours |
| Days of statistics kept (30) and shown (7) | Stats in Settings.swift |