Common Issues - macadmins/nudge GitHub Wiki

Common issues that admins experience weekly

Help, my paragraph and text changes are not showing up in the UI.

Nudge is a multi-linguistic application. Nudge needs to understand what language you are targeting, through the use of the _language key. Please ensure you are deploying this key in either your mobile configuration file or JSON.

Configuration profile set for Nudge to use a JSON file, but the JSON configuration isn't being applied.

Nudge won't be able to read the settings from your JSON configuration file if the plist used to build your configuration profile is invalid. Please ensure your plist is properly validated by running plutil -lint /path/to/profile. Here's an example of a valid plist with the minimum required PayloadType and json-url keys:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>PayloadType</key>
	<string>com.github.macadmins.Nudge</string>
	<key>json-url</key>
	<string>https://example.com/nudge.json</string>
</dict>
</plist>

Here's what this example plist looks like when uploaded into an Application & Custom Settings configuration profile in Jamf Pro:

Screen Shot 2022-03-25 at 4 18 33 PM

Jamf configuration profile not being recognized

Make sure the preference domain is set to com.github.macadmins.Nudge and not to com.github.macadmins.Nudge.json

Did you spell the name of the json file correctly?

-rw-r--r-- 1 root wheel 230 May 25 10:32 com.github.macamdins.Nudge.json (what's wrong with my example?)

Over-configuring Nudge

Some Mac Admins tend to over-configure Nudge. The following examples are designed to show a bare-minimum configuration; if this meets your needs, you're done.

Note how only two settings — requiredInstallationDate and requiredMinimumOSVersion — are required to prompt users to update.

Deadline in the past / Greater than released OS

Nudge: Deadline in the past / Greater than released OS

Plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>osVersionRequirements</key>
    <array>
      <dict>
        <key>requiredInstallationDate</key>
        <string>2021-09-15T00:00:00Z</string>
        <key>requiredMinimumOSVersion</key>
        <string>12.99</string>
      </dict>
    </array>
  </dict>
</plist>

Jamf Pro

Jamf Pro Form Editor: Deadline in the past / Greater than released OS
Jamf Pro Plist Preview: Deadline in the past / Greater than released OS

Deadline in the future / Greater than released OS

Nudge: Deadline in the future / Greater than released OS

Plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>osVersionRequirements</key>
    <array>
      <dict>
        <key>requiredInstallationDate</key>
        <string>2022-05-26T00:00:00Z</string>
        <key>requiredMinimumOSVersion</key>
        <string>12.99</string>
      </dict>
    </array>
  </dict>
</plist>

Jamf Pro

Jamf Pro Form Editor: Deadline in the future / Greater than released OS
Jamf Pro Plist Preview: Deadline in the future / Greater than released OS

I deleted the sofa-macos_data_feed.json and now Nudge will not launch.

Deleting this file by dragging it to the trash will cause Nudge to not launch and show the following error in the logs:

2024-08-08 13:19:28.611386+0100  localhost Nudge[81056]: [com.github.macadmins.Nudge:sofa] Failed to decode sofa JSON after redownload: keyNotFound(CodingKeys(stringValue: "SecurityInfo", intValue: nil), Swift.DecodingError.Context(codingPath: [CodingKeys(stringValue: "OSVersions", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0), CodingKeys(stringValue: "Latest", intValue: nil)], debugDescription: "No value associated with key CodingKeys(stringValue: \"SecurityInfo\", intValue: nil) (\"SecurityInfo\").", underlyingError: nil))`
`2024-08-08 13:19:28.611401+0100  localhost Nudge[81056]: [com.github.macadmins.Nudge:sofa] Could not fetch SOFA feed

If you need to test Nudge against a recently published update you can either lower the refreshSOFAFeedTime or you can use the following command to delete the sofa-macos_data_feed.json

rm -rf ~/Library/Application\ Support/com.github.macadmins.Nudge && rm -rf ~/Library/Caches/com.github.macadmins.Nudge && defaults delete com.github.macadmins.Nudge LastEtag

This is for troubleshooting and testing purposes only and should not be deployed at scale across your environment.

⚠️ **GitHub.com Fallback** ⚠️