Skip to content

NotchIsland 1.1.1

Choose a tag to compare

@Edwardrem Edwardrem released this 30 Oct 11:26
· 5 commits to main since this release

Fixed

  • Permissions that System Settings showed as allowed did not apply, and every restart or update looked as if it had lost them. macOS ties each grant to the signature of the build that asked for it. A grant made to 1.0.0 (signed ad hoc, so a different app to macOS after every build) or to a swift run binary never matches the signed releases, yet System Settings keeps listing it switched on, and flipping the switch does not refresh the stored requirement. NotchIsland now repairs this itself: on the first launch of a build with a different signature it removes its stale entries (tccutil reset) and asks for Accessibility again. Settings ▸ Permissions marks a grant that was there before and no longer applies, offers Allow… and Reset… per row, explains the leftover development entries (the ones with a terminal icon), and has Reset All Permissions… for Automation, Bluetooth and Camera.
  • Accessibility granted while the app was running was not used until a relaunch: the hotkey kept its observe-only fallback. The CGEvent tap is now re-armed within three seconds of a change (and dropped again if the grant goes away). The island shows a hint while Accessibility is off.
  • The app never asked for Accessibility, it only checked. Allow… in Settings and the first launch after an update now show the system dialog.
  • Relaunch NotchIsland restarts the launch-at-login job in place instead of starting a second copy next to it.

Changed

  • scripts/make-dmg.sh refuses to sign a release with a certificate other than the one recorded in Resources/release-identity.sha1 (the hash macOS stores with every grant) unless NEW_IDENTITY=1, and refuses an ad-hoc build unless ALLOW_ADHOC=1. scripts/signing-identity.sh --fingerprint prints the current certificate. Either slip would make every user grant everything again.
  • Settings ▸ Permissions ▸ About names the signing certificate and what it means for grants.

Install

  1. Download NotchIsland.dmg below and drag NotchIsland into Applications (replace the old one).
  2. macOS says "Apple could not verify NotchIsland is free of malware": the app is not notarized (no paid Developer ID). To open it anyway:
    • macOS 15 and later: click Done, then System Settings ▸ Privacy & Security ▸ scroll to "NotchIsland was blocked" ▸ Open Anyway ▸ Open.
    • macOS 13 / 14: right-click NotchIsland in Applications ▸ Open ▸ Open.
    • Or in Terminal: xattr -dr com.apple.quarantine /Applications/NotchIsland.app
  3. Updating from 1.0.x or 1.1.0: on its first launch NotchIsland clears the grants that belonged to the earlier build and asks for Accessibility again; switch it on. For notifications add NotchIsland under System Settings ▸ Privacy & Security ▸ Full Disk Access (click +, pick it from Applications), then relaunch. If anything still reads as missing while the switch is on, open NotchIsland's Settings ▸ Permissions and click Reset… next to it. From here on, grants carry over to every later release: all releases since 1.0.1 share one signing certificate.