Rebrand in 10 minutes
your name, IDs, icon and links.
Three files hold everything that names the app: app/project.yml, app/NoReels/AppConfig.swift and app/Shared/LockShared.swift, plus the icon in the asset catalog. Change them in the order below, then run xcodegen generate.
01Decide your values first
Write these down before you edit anything. The examples use com.example.myapp; use your own reverse domain.
| Value | Example | Rule |
|---|---|---|
| App name (home screen) | MyApp | Short, your own. Do not use a site's trademark in it (App review). |
| App bundle ID | com.example.myapp | Unique in the App Store; registered under your team. |
| Monitor extension ID | com.example.myapp.monitor | Must start with the app bundle ID plus a dot. |
| Shield extension ID | com.example.myapp.shield | Must start with the app bundle ID plus a dot. |
| App Group | group.com.example.myapp | Starts with group.; the same string in four places. |
| Team ID | AB12CD34EF | From your Apple Developer membership details. |
021. project.yml
Open app/project.yml and change:
| Key | Where | Package value |
|---|---|---|
bundleIdPrefix | options | sk.mikodes |
DEVELOPMENT_TEAM | settings → base | "" (empty) |
MARKETING_VERSION, CURRENT_PROJECT_VERSION | settings → base | 1.0.0, 1 |
PRODUCT_BUNDLE_IDENTIFIER | each of the 4 targets | sk.mikodes.nescroll, ….monitor, ….shield, ….tests |
INFOPLIST_KEY_CFBundleDisplayName | NoReels target | Nescroll (the name under the icon) |
com.apple.security.application-groups | entitlements → properties of NoReels, NescrollMonitor and NescrollShield | [group.sk.mikodes.nescroll] |
CFBundleDisplayName | NescrollMonitor (in settings and in info → properties) and NescrollShield (info → properties) | Nescroll Monitor, Nescroll Shield |
NescrollAppName | NescrollShield → info → properties | Nescroll, the name the lock screen shows ("Open Nescroll to use…") |
INFOPLIST_KEY_NSCameraUsageDescription, …NSMicrophoneUsageDescription | NoReels target | Texts iOS shows when a site asks for the camera or microphone. Keep them accurate. |
You do not need to rename the targets (NoReels, NescrollMonitor, NescrollShield): users never see target names. If you do rename them, also update TEST_HOST, the dependencies and the scheme in the same file.
043. AppConfig.swift
Open app/NoReels/AppConfig.swift. Every value is explained on Configuration. At minimum, replace:
appName: your app name, used in texts such as the Lock tab.privacyURL: your privacy policy. The package points to the author's own page; you must not ship that.supportURL: your support page or amailto:address.creditsURL: a page with the third-party licences (it may stay the Asocial licence link).
054. Icon and colour
- Icon: replace
app/NoReels/Assets.xcassets/AppIcon.appiconset/AppIcon.pngwith your own 1024 × 1024 PNG without transparency, same file name. Xcode makes every smaller size from it (single-size icon). - Accent colour:
Assets.xcassets/AccentColor.colorset(package value: coral, sRGB 1.000 / 0.376 / 0.302). Change it in Xcode's asset editor. It colours the selected tab, buttons and the loading bar. - Lock screen look: the screen iOS shows over a locked app is built in
app/Shield/ShieldExtension.swift(white background, black title, SF Symbolhand.raised.fill). Change colours and the symbol there. - Onboarding texts:
app/NoReels/OnboardingView.swift. If you change an English text, update its translation in the String Catalog too (Localization).
The tabs use SF Symbols (camera, play.rectangle, person.2; Platform.symbol), not the sites' logos. Keep it that way in the app, the icon and your store screenshots.
065. Generate and check
cd app
xcodegen generate
grep -rn "mikodes\|nescroll" project.yml NoReels/AppConfig.swift Shared/LockShared.swift
The grep should print nothing about IDs or URLs you meant to change. Remaining internal names are fine: ManagedSettingsStore.Name("nescroll.lock") and the DeviceActivityName values in LockShared.swift are never shown to users.
Then run on a device and test the Lock tab end to end: pick an app, lock 15 minutes, open the locked app and check that your shield and name appear.