Pearson TestNav setup guide — regional ACT, state tests, etc.
Pearson TestNav
For exams delivered through Pearson TestNav. Uses the standard DynamicGPT download (the diag folder) with SIP off and AMFI on.
- • macOS Ventura 13.0+
- • SIP disabled (required)
- • AMFI enabled — keep ON
- • DynamicGPT app open & logged in
- • TestNav installed from Pearson
- • 5 min — Apple Developer cert (if Xcode already installed)
- • 30–60 min — Xcode install + first run (if not)
- • 5 min — Disable SIP only (AMFI stays on)
- • 5 min — DynamicGPT install + Library Validation toggle
- • 5 min — Download & install TestNav
Total: ~20 min on a warm machine, up to ~85 min if Xcode needs downloading.
One-Time Setup
Step 0: Get an Apple Development Certificate
RequiredUpdate macOS to the latest version
Go to System Settings → General → Software Update and install any available updates. Restart your Mac if prompted.
Install Xcode
Open the App Store, search for Xcode, and click Get. Enter your Apple ID password and wait for it to download and install (it's large — may take a while).
Open Xcode and accept the license
Launch Xcode. It will ask you to agree to the license agreement and may install additional components — click Agree and Install for everything it asks. Wait until you see the Xcode welcome screen.
Create a new project
On the welcome screen, click Create New Project. At the top of the template picker, select the macOS tab, then choose App and click Next.
- Product Name: Anything — e.g. TestApp
- Team: If it says "None", click Add an Account, sign in with your Apple ID, then select your Personal Team.
- Organization Identifier: Anything — e.g. com.test
- Everything else: Leave as default.
Click Next, choose any save location (Desktop is fine), and click Create.
Set up signing
In the left sidebar, click the top-level project name (the blue icon). Then click Signing & Capabilities in the center panel. Make sure your Personal Team is selected under Team.
Build and run
Click the ▶ Play button in the top-left toolbar. Xcode will compile the app and a "Hello, world!" window will appear. Once you see this window, you're done.
Close Xcode (optional: delete it)
Close the Hello World window and quit Xcode. You can delete Xcode from your Applications folder if you want to free up space — the certificate stays on your Mac permanently.
Which Mac Do I Have?
RequiredOpen About This Mac
Click the Apple logo in the top-left corner of your screen, then click About This Mac.
Identify Your Chip
If you see "Chip: Apple M1/M2/M3/M4" — you have an Apple Silicon Mac. This requires two reboots for setup.
If you see "Processor: Intel Core i5/i7/i9" — you have an Intel Mac. Everything can be done in one reboot.
Not sure? Apple menu → About This Mac. "Chip: Apple M…" = Silicon. "Processor: Intel…" = Intel.
Disable SIP only (keep AMFI on)
SIP off, AMFI ONShut down completely
Apple menu → Shut Down. Wait until the screen is fully black with no lights — don't just close the lid.
Boot into Recovery Mode (Intel)
Press the power button to turn the Mac on, and immediately hold ⌘ + R until you see the Apple logo and a progress bar. Release. Choose your user and enter your password if prompted.
Open Terminal in Recovery
In the menu bar at the top, click Utilities → Terminal.
Disable SIP
csrutil disableYou should see: "Successfully disabled System Integrity Protection."
Reboot back to macOS
rebootWait for your Mac to restart and log in normally. AMFI is untouched. Continue to the verification step.
Verify Everything Worked
Requiredcsrutil statusExpected: "System Integrity Protection status: disabled."
nvram -p | grep amfiExpected: nothing prints. (No boot-args amfi_get_out_of_my_way=1 line.) Empty output means AMFI is on, which is what TestNav needs.
sudo nvram boot-args=""Then reboot:
sudo rebootAfter reboot, re-run nvram -p | grep amfi — it should now return nothing.
Install DynamicGPT
One Timediag.diag on your Desktop, and after installing you'll see an app called DiagnosticReporter in your Applications. Both are DynamicGPT.Download the main DynamicGPT zip
Go to your dashboard and click the main download button. Unzip the file — you'll get a folder called diag. Drag it onto your Desktop.
Unquarantine the folder
Open the diag folder and open copy.txt. Select all (⌘ + A) and copy (⌘ + C).
Open Terminal (⌘ + Space → type "Terminal" → Return). Type cd (with a space after), then drag and drop the diag folder into the Terminal window — it autofills the path. Press Return.
Now paste (⌘ + V) and press Return. This removes macOS quarantine flags and makes the installer executable.
xattr -cr . && chmod +x Install.command Uninstall.commandDouble-click Install.command
Open the diag folder and double-click Install.command.
A password box pops up — type your normal Mac login password and press Return. You won't see characters as you type — that's normal. Wait for "INSTALLATION COMPLETE", then close the Terminal window.
Allow DynamicGPT to run inside TestNav (one-time setting)
TestNav is a locked-down Java app. The command below tells your Mac to let DynamicGPT run inside it. Only needs to be done once — it stays set even after you reboot. Open Terminal and paste this:
sudo defaults write /Library/Preferences/com.apple.security.libraryvalidation.plist DisableLibraryValidation -bool trueEnter your Mac password when asked and press Return.
sudo defaults delete /Library/Preferences/com.apple.security.libraryvalidation.plist DisableLibraryValidationInstall TestNav
One TimeDownload TestNav from Pearson
Go to download.testnav.com and download the macOS version of TestNav. Install it to your Applications folder.
Remove quarantine
xattr -cr /Applications/TestNav.appBefore Each Exam
Right before your exam
Open DynamicGPT and log in
Open DiagnosticReporter from your Applications → Utilities folder (or Spotlight) and log in. Keep it running — do not quit it.
Grant permissions (if first time or after update)
Go to System Settings → Privacy & Security. Grant Accessibility and Screen & System Audio Recording to DiagnosticReporter.
Arm via Quick Arm
In the DynamicGPT app, open Quick Arm and select TestNav. Tap Arm. Quick Arm checks that SIP is off and AMFI is on before arming.
Launch TestNav
Open TestNav from Applications. It may take a minute to load. Run the App Check to verify — both Kiosk Mode and Connectivity should show green checkmarks.
Triple-click the notch to open DynamicGPT
Same as always — triple-click the top-centre of your screen to open the DynamicGPT overlay.
After Each Exam
ALWAYS disarm after your exam
This cleans up environment variables and restores normal system behaviour.
Disarm via the app
Open Quick Arm in the DynamicGPT app and tap Disarm.
Restart your Mac (recommended)
Apple menu → Restart. Ensures everything is fully cleaned up.
Troubleshooting
This is normal. TestNav runs under Rosetta (x86_64 emulation) and loads a full Java runtime + Chromium browser. It can take 1–3 minutes on first launch.
Make sure you selected TestNav in Quick Arm. Disarm, quit TestNav, re-arm, and relaunch.
SIP is still ON. Disable SIP (see above) and reboot.
Make sure AMFI is ON. Quick Arm checks this automatically. If AMFI is off from another method, re-enable it:
sudo nvram boot-args=""Then reboot and try again.
Quick Arm should show "Armed" status. If not, re-arm. Make sure you armed before launching TestNav.
Run xattr -cr ~/Desktop/diag/ and re-run ./Install.command inside ~/Desktop/diag.
macOS sometimes revokes permissions after a reboot. Go to System Settings → Privacy & Security → Accessibility and make sure DiagnosticReporter.app is toggled ON. Do the same for Screen & System Audio Recording.
Fix Problems, Reset, or Uninstall
Your diag folder on your Desktop has two scripts you can double-click any time you need them:
Double-click this when something goes wrong. It cleans up leftover state and reinstalls DynamicGPT fresh. Safe to run multiple times.
- App is stuck, frozen, or won't open
- You want to restart fresh for safety before an exam
- You updated to a new version
- Anything acting weird — when in doubt, run it
How: Quit the app (⌘ + Q), open ~/Desktop/diag, double-click Install.command, enter your Mac password when asked. Done.
Double-click this when you want DynamicGPT gone from your Mac. It moves the app out of your Applications folder, clears saved logins, and puts everything back in the diag folder so you could reinstall later if you change your mind.
- Quit the app (⌘ + Q).
- Open
~/Desktop/diag. - Double-click Uninstall.command.
- Enter your Mac password when asked.
- For full removal: drag the entire diag folder to the Trash and empty it.
If you skip step 5, you can double-click Install.command later to put DynamicGPT back without re-downloading anything.
How to Update DynamicGPT
Uninstall the current version
Quit the app (⌘ + Q), then open ~/Desktop/diag and double-click Uninstall.command. Enter your Mac password when asked.
Delete the old folder
Drag the diag folder to Trash, then empty Trash (right-click the Trash icon → Empty Trash).
Download the latest version
Go to your dashboard and download the newest zip. Unzip it — you'll get a fresh diag folder. Drag it onto your Desktop.
Run Install.command
Double-click Install.command inside the folder, enter your Mac password, wait for "INSTALLATION COMPLETE". Then open the app and log in again.
Help! My Mac Crashed / Froze
Force restart
Hold the power button until the screen goes completely black (about 5–10 seconds). Then let go.
Wait 10 seconds
Give it a moment. Don't press anything yet.
Turn it back on
Press the power button once normally. Your Mac will boot up and you should be good to go.
Re-enable Security After Exams
Re-enable SIP in Recovery Mode (Intel)
Shut down → power on while holding ⌘ + R → release at the Apple logo → Utilities → Terminal:
csrutil enablerebootVerify protection is back on
csrutil statusShould say: "System Integrity Protection status: enabled."
Quick Reference
- • Arm and disarm through the app — no Terminal commands needed
- • Uses the standard DynamicGPT download (diag folder) — no special download needed
- • SIP OFF, AMFI ON — Quick Arm checks this automatically
- • If AMFI is off from another method, re-enable it with: sudo nvram boot-args=""
- • Arm BEFORE launching TestNav
- • ALWAYS disarm after your exam
Still stuck? Contact support@dynamicgpt.app or join our Discord.
