● Start · Before you start
Requirements
what you need on your desk.
Nescroll is a native iOS project. You build it on a Mac with Xcode. There is no server, database or hosting to pay for.
01Checklist
| What | Why | |
|---|---|---|
| A Mac that runs the current Xcode | Xcode only runs on macOS. | Required |
| Xcode 26 or newer | Builds the app. Tested with Xcode 27.1; Xcode 26 was not tested by the author. | Required |
| Homebrew and XcodeGen | Generates the Xcode project from app/project.yml. Install with brew install xcodegen (tested with 2.45.2). Homebrew: brew.sh. | Required |
| Apple Developer Program membership | Needed to sign with App Groups and Family Controls, to install on devices for longer than a few days, and to publish on the App Store. Enrol at developer.apple.com/programs. | Required |
| An iPhone or iPad with iOS 17 or newer | The Lock tab (Screen Time) cannot be tested in the Simulator. | Required for Lock |
| An HTTPS web space for one JSON file | Only if you want to update filters without an App Store release (Updating filters remotely). | Optional |
| A web page for your privacy policy and support | The App Store asks for a privacy policy URL, and the Settings tab links to it. | Required for release |
02What the app runs on
- iOS 17.0 or newer (
deploymentTargetinproject.yml). - iPhone and iPad (
TARGETED_DEVICE_FAMILY: "1,2"). On iPhone the app is portrait only. - Swift 5 language mode, SwiftUI, WebKit, Swift Charts, FamilyControls, ManagedSettings and DeviceActivity. No third-party packages, no CocoaPods, no Swift Package dependencies.
03Not included
- The Apple Developer Program membership and any Apple fees.
- Hosting and a domain for your privacy policy, support page and optional
rules.json. - Apple's approval of the Family Controls (Distribution) entitlement: you request it yourself (Screen Time).
- Any permission from the operators of the websites the app opens (Limitations and platform terms).
04Costs not included in the price
- Apple Developer Program membership, paid to Apple, needed to run on a device and publish.
- Hosting for your privacy policy page and, if you use it, the
rules.jsonfile. Any static HTTPS host works. - No API keys, paid services or server costs: the app has no backend.