Troubleshooting
the usual problems and their fixes.
Most problems are signing, Screen Time on the wrong device, or a site that changed its page. Xcode's Report navigator (Cmd-9) has the full build log; the debug console shows runtime messages.
01"command not found: xcodegen"
Install it with brew install xcodegen. If brew is also missing, install Homebrew from brew.sh and open a new terminal window.
02"Signing for NoReels requires a development team"
Appears when you build for a device. Set DEVELOPMENT_TEAM in project.yml and run xcodegen generate, or select your team in Signing & Capabilities for NoReels, NescrollMonitor and NescrollShield (the Xcode-only choice is lost at the next generate).
03"Failed to register bundle identifier" or "not available"
The package's sk.mikodes.* IDs belong to the author. Change all four bundle IDs and the App Group to your own (Rebrand).
04Provisioning profile does not include Family Controls or App Groups
Let Xcode manage signing; it adds the capabilities to the App IDs. Check that your App Group string is identical in the three entitlement blocks of project.yml and in LockShared.appGroup. For an archive or TestFlight build, Family Controls also needs Apple's distribution approval (Screen Time).
05My changes in Xcode's target settings disappeared
xcodegen generate rebuilds the project from project.yml. Put the change in project.yml instead.
06The Lock tab only shows "Allow Screen Time"
In the Simulator this is expected: it cannot grant Screen Time. On a device, turn on Screen Time in iOS Settings, then tap Allow Screen Time again.
08Reels, Shorts or ads show again
The site changed its page. Inspect it and update the selector, label or redirect (Fix a filter). Check also that the filter is on in Settings.
09My rules.json has no effect
AppConfig.rulesURLisnil, or nothttps.- The server does not return status 200, or the file is 256,000 bytes or larger.
versionis not higher than the one the device already has.- A platform entry is missing one of
selectors,labels,redirects; the whole file is then rejected (format). - The entry was dropped by the safety checks (sanitizing).
- Rules are fetched when the app's window appears. Close the app completely and open it again.
10A site does not let me sign in, or asks for a code
Sites sometimes add security checks for logins from embedded browsers. Complete the check on the site's page; sign-in pages from other domains of the same owner are allowed inside the tab (Platform.hostSuffixes). If a site now sends sign-in through a domain that is not listed, add it to hostSuffixes.
11Tests fail
See known test results: run with -testLanguage en.