Install SVLive Agent macOS
Overview
This article covers the installation of the SVLive Agent macOS:
- Prerequisites
- Single Machine Installation
- Bulk Installation for IT Teams
- Deployment Options
- Option 1 - Remote Deployment via SSH
- Option 2 - MDM Deployment (Jamf Pro)
- Option 3 - Ansible Deployment
- Option 4 - Simple Network Deployment Script
- Privacy Permissions (Important for IT Teams)
- Required Permissions
- Permission Behavior
- Pre-Grant Permissions (Enterprise Deployment)
- Method 1: PPPC Profile via MDM
- Method 2: Command-Line Script (macOS 13+ Only)
- Method 3: Combined Installation Script
- Uninstall the SVLive Agent
Prerequisites
- macOS 14 (Sonoma) or later
- Administrator privileges (sudo access)
- Configuration API endpoint URL from your organization
- For Enterprise: MDM solution for PPPC profile deployment (recommended)
Grant location permission to the app. Without this permission, the application will not function correctly, and user location data will not be captured. (GPS coordinates are not fetched; location permission is required for Wi-Fi scanning purposes.)
Single Machine Installation
Step 1. Download the Package
Download the application package file sps-macos-3.5.4.zip and unzip the installer script to a local directory.
Step 2. Run the Installation Command
Open Terminal and navigate to the directory containing the package and installer script:
cd /path/to/download/directory
Run the installation command with your configuration endpoint:
sudo bash ./svliveagent-installer.sh PKGFILE=<package-filename>.pkg CONFIGAPIADDRESS="<your-config-endpoint-url>"
Parameters:
- PKGFILE - The name of the downloaded package file (e.g., SVLiveAgent-macOS-1.0.0.pkg)
- CONFIGAPIADDRESS - Your organization's configuration API endpoint URL (provided by your IT team)
Step 3. Enter Administrator Password
You will be prompted to enter your administrator password to proceed with installation.
Step 4. Verify Installation
The installer will:
- Stop any existing instances
- Clean up previous installations
- Install the application to /Applications/SVLiveAgent.app
- Configure the LaunchAgent for auto-start
- Start the application
You will see that the installation is complete and the app running. The SVLiveAgent icon will display in your menu bar.
If the app does not appear in the menu bar after installation, restart your Mac:
sudo shutdown -r now
After restart, the app will launch automatically via LaunchAgent.
Bulk Installation for IT Teams
Deployment Options
IT teams can deploy SVLiveAgent across multiple machines using:
- Option 1 - Remote Shell Scripts (SSH)
- Option 2 - MDM Solutions (Jamf, Kandji, Mosyle, etc.)
- Option 3 - Configuration Management Tools (Ansible, Chef, Puppet)
Option 1 - Remote Deployment via SSH
Create a deployment script that can be executed remotely.
deploy-svliveagent.sh:
#!/bin/bash
# Configuration
CONFIG_ENDPOINT="<your-config-endpoint-url>"
PKG_URL="<url-to-package-file>"
INSTALLER_URL="<url-to-installer-script>"
TEMP_DIR="/tmp/svliveagent-install"
PKG_FILENAME="<package-filename>.pkg"
# Create temporary directory
mkdir -p "$TEMP_DIR"
cd "$TEMP_DIR"
# Download package and installer
curl -L -o "$PKG_FILENAME" "$PKG_URL"
curl -L -o svliveagent-installer.sh "$INSTALLER_URL"
# Make installer executable
chmod +x svliveagent-installer.sh
# Create PPPC profile inline
cat > SVLiveAgent-PPPC-Profile.mobileconfig << 'PPPC_EOF'
<?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>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key>
<string>com.apple.TCC.configuration-profile-policy</string>
<key>PayloadIdentifier</key>
<string>com.serraview.sps.privacy</string>
<key>PayloadUUID</key>
<string>D7F3E8A9-B6C5-4D2A-9E7F-3C8B5A1D4E6F</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>Services</key>
<dict>
<key>Location</key>
<array>
<dict>
<key>Allowed</key>
<integer>1</integer>
<key>BundleIdentifier</key>
<string>com.serraview.sps</string>
<key>CodeRequirement</key>
<string>identifier "com.serraview.sps" and anchor apple generic and certificate leaf[subject.OU] = HXP7WFL58F</string>
</dict>
</array>
<key>Accessibility</key>
<array>
<dict>
<key>Allowed</key>
<integer>1</integer>
<key>BundleIdentifier</key>
<string>com.serraview.sps</string>
<key>CodeRequirement</key>
<string>identifier "com.serraview.sps" and anchor apple generic and certificate leaf[subject.OU] = HXP7WFL58F</string>
</dict>
</array>
</dict>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>SVLiveAgent Permissions</string>
<key>PayloadIdentifier</key>
<string>com.serraview.sps.pppc</string>
<key>PayloadUUID</key>
<string>A1B2C3D4-E5F6-4A8B-9C2D-1E3F5A7B9C8D</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadScope</key>
<string>System</string>
</dict>
</plist>
PPPC_EOF
# Install PPPC profile first
echo "Installing privacy permissions profile..."
sudo profiles install -path ./SVLiveAgent-PPPC-Profile.mobileconfig 2>/dev/null || echo "PPPC profile already installed"
# Run installation
sudo bash ./svliveagent-installer.sh PKGFILE="$PKG_FILENAME" CONFIGAPIADDRESS="$CONFIG_ENDPOINT"
# Cleanup
cd /
rm -rf "$TEMP_DIR"
echo ""
echo " If app doesn't appear in menu bar, restart the system:"
echo " sudo shutdown -r now"
Deploy to multiple machines
# Deploy to specific hosts
for host in <hostname1> <hostname2> <hostname3>; do
echo "Installing on $host..."
scp deploy-svliveagent.sh <username>@$host:/tmp/
ssh <username>@$host "sudo bash /tmp/deploy-svliveagent.sh"
done
# Or deploy using host list file
while read host; do
echo "Installing on $host..."
scp deploy-svliveagent.sh <username>@$host:/tmp/
ssh <username>@$host "sudo bash /tmp/deploy-svliveagent.sh"
done < hosts.txt
Option 2 - MDM Deployment (Jamf Pro)
Step 1. Upload Package
- In Jamf Pro, navigate to Settings > Computer Management > Packages.
- Click New.
- Upload the application package file (.pkg)
- Upload
svliveagent-installer.shas a separate package.
Step 2. Create Policy
- Navigate to Computers > Policies > New.
- Configure the policy:
- Display Name: Install SVLiveAgent
- Trigger: Recurring Check-In or Custom Event
- Execution Frequency: Once per computer
Step 3. Create and Upload PPPC Profile
- Create the PPPC profile file (see PPPC Profile section above).
- Navigate to Configuration Profiles > New.
- Upload
SVLiveAgent-PPPC-Profile.mobileconfig - Set to Computer Level.
- Scope to same target computers as the policy.
Step 4. Add Script
- In the policy, go to Scripts tab.
- Click Configure.
- Add this script:
#!/bin/bash # Variables (set in Jamf policy parameters) CONFIG_ENDPOINT="$4" # Parameter 4 in Jamf PKG_FILENAME="$5" # Parameter 5 in Jamf (e.g., SVLiveAgent-macOS-1.0.0.pkg) # Download installer script curl -L -o /tmp/svliveagent-installer.sh "<url-to-installer-script>" chmod +x /tmp/svliveagent-installer.sh # Run installation cd /tmp sudo bash ./svliveagent-installer.sh PKGFILE="$PKG_FILENAME" CONFIGAPIADDRESS="$CONFIG_ENDPOINT" # Cleanup rm -f /tmp/svliveagent-installer.sh exit 0
- Set Parameter 4 to your configuration endpoint URL.
- Set Parameter 5 to the package filename.
Step 5. Add Package
- In the policy, go to the Packages tab.
- Add the uploaded package file.
- Set action to Install.
Step 6. Scope the Policy
- Go to the Scope tab.
- Add target computers or computer groups.
- Save the policy.
The PPPC profile must deploy before or with the application installation to prevent permission prompts.
If the app doesn't start automatically after installation, the systems may need to be restarted.
Option 3 - Ansible Deployment
Step 1. Create an Ansible playbook for deployment
install-svliveagent.yml:
---
name: Deploy SVLiveAgent to macOS machines
hosts: macos_clients
become: yes
vars:
config_endpoint: "<your-config-endpoint-url>"
pkg_url: "<url-to-package-file>"
pkg_filename: "<package-filename>.pkg"
installer_url: "<url-to-installer-script>"
temp_dir: "/tmp/svliveagent-install"
tasks:
name: Create temporary directory
file:
path: "{{ temp_dir }}"
state: directory
mode: '0755'
name: Create PPPC profile
copy:
content: |
<?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>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key>
<string>com.apple.TCC.configuration-profile-policy</string>
<key>PayloadIdentifier</key>
<string>com.serraview.sps.privacy</string>
<key>PayloadUUID</key>
<string>D7F3E8A9-B6C5-4D2A-9E7F-3C8B5A1D4E6F</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>Services</key>
<dict>
<key>Location</key>
<array>
<dict>
<key>Allowed</key>
<integer>1</integer>
<key>BundleIdentifier</key>
<string>com.serraview.sps</string>
<key>CodeRequirement</key>
<string>identifier "com.serraview.sps" and anchor apple generic and certificate leaf[subject.OU] = HXP7WFL58F</string>
</dict>
</array>
<key>Accessibility</key>
<array>
<dict>
<key>Allowed</key>
<integer>1</integer>
<key>BundleIdentifier</key>
<string>com.serraview.sps</string>
<key>CodeRequirement</key>
<string>identifier "com.serraview.sps" and anchor apple generic and certificate leaf[subject.OU] = HXP7WFL58F</string>
</dict>
</array>
</dict>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>SVLiveAgent Permissions</string>
<key>PayloadIdentifier</key>
<string>com.serraview.sps.pppc</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadScope</key>
<string>System</string>
</dict>
</plist>
dest: "{{ temp_dir }}/SVLiveAgent-PPPC.mobileconfig"
mode: '0644'
name: Download package
get_url:
url: "{{ pkg_url }}"
dest: "{{ temp_dir }}/{{ pkg_filename }}"
mode: '0644'
name: Download installer script
get_url:
url: "{{ installer_url }}"
dest: "{{ temp_dir }}/svliveagent-installer.sh"
mode: '0755'
name: Install PPPC profile
command: profiles install -path {{ temp_dir }}/SVLiveAgent-PPPC.mobileconfig
become: yes
ignore_errors: yes
name: Run installer
command: >
bash {{ temp_dir }}/svliveagent-installer.sh
PKGFILE={{ pkg_filename }}
CONFIGAPIADDRESS="{{ config_endpoint }}"
args:
chdir: "{{ temp_dir }}"
become: yes
name: Verify installation
command: pgrep -x SVLiveAgent
register: app_running
failed_when: app_running.rc > 1
changed_when: false
name: Cleanup temporary directory
file:
path: "{{ temp_dir }}"
state: absent
name: Report installation status
debug:
msg: "SVLiveAgent installed and running on {{ inventory_hostname }}"
when: app_running.rc == 0
name: Notify if restart needed
debug:
msg: "App not running. System restart may be required on {{ inventory_hostname }}"
when: app_running.rc != 0
Step 2. Run the playbook
ansible-playbook -i inventory.ini install-svliveagent.yml
If the app doesn't start automatically, systems may need to be restarted.
Option 4 - Simple Network Deployment Script
For smaller environments, use a simple script to deploy from a network share.
network-install.sh:
#!/bin/bash
# Configuration
NETWORK_PATH="<path-to-network-share>"
CONFIG_ENDPOINT="<your-config-endpoint-url>"
PKG_FILENAME="<package-filename>.pkg"
# Copy files locally
cp "$NETWORK_PATH/$PKG_FILENAME" /tmp/
cp "$NETWORK_PATH/svliveagent-installer.sh" /tmp/
# Create PPPC profile
cat > /tmp/SVLiveAgent-PPPC.mobileconfig << 'PPPC_EOF'
<?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>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key>
<string>com.apple.TCC.configuration-profile-policy</string>
<key>PayloadIdentifier</key>
<string>com.serraview.sps.privacy</string>
<key>PayloadUUID</key>
<string>D7F3E8A9-B6C5-4D2A-9E7F-3C8B5A1D4E6F</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>Services</key>
<dict>
<key>Location</key>
<array>
<dict>
<key>Allowed</key>
<integer>1</integer>
<key>BundleIdentifier</key>
<string>com.serraview.sps</string>
<key>CodeRequirement</key>
<string>identifier "com.serraview.sps" and anchor apple generic and certificate leaf[subject.OU] = HXP7WFL58F</string>
</dict>
</array>
<key>Accessibility</key>
<array>
<dict>
<key>Allowed</key>
<integer>1</integer>
<key>BundleIdentifier</key>
<string>com.serraview.sps</string>
<key>CodeRequirement</key>
<string>identifier "com.serraview.sps" and anchor apple generic and certificate leaf[subject.OU] = HXP7WFL58F</string>
</dict>
</array>
</dict>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>SVLiveAgent Permissions</string>
<key>PayloadIdentifier</key>
<string>com.serraview.sps.pppc</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>PayloadScope</key>
<string>System</string>
</dict>
</plist>
PPPC_EOF
# Install PPPC profile
echo "Installing privacy permissions profile..."
sudo profiles install -path /tmp/SVLiveAgent-PPPC.mobileconfig 2>/dev/null || echo "PPPC profile already installed"
# Install application
cd /tmp
sudo bash ./svliveagent-installer.sh PKGFILE="$PKG_FILENAME" CONFIGAPIADDRESS="$CONFIG_ENDPOINT"
# Cleanup
rm -f /tmp/SVLiveAgent-PPPC.mobileconfig /tmp/"$PKG_FILENAME" /tmp/svliveagent-installer.sh
Privacy Permissions (Important for IT Teams)
Due to Apple's TCC (Transparency, Consent, and Control) system, the application requires certain privacy permissions to function properly.
Required Permissions
SVLiveAgent requires the following macOS privacy permissions to function:
- Location Services - Required for WiFi network scanning (CoreLocation API).
- Accessibility - Required for user idle time detection.
- Apple Events - Required for system event monitoring.
Permission Behavior
Without pre-configuration:
- Users will see 3 permission prompts on first launch.
- They must manually click "Allow" for each.
- App will not function properly until all permissions are granted.
With PPPC profile (recommended for enterprise):
- Permissions are pre-granted.
- No user prompts.
- App works immediately after installation.
Pre-Grant Permissions (Enterprise Deployment)
Method 1: PPPC Profile via MDM
RECOMMENDED
Step 1. Create PPPC Profile
Create a file named SVLiveAgent-PPPC-Profile.mobileconfig with this content:
<?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>PayloadContent</key>
<array>
<dict>
<key>PayloadDescription</key>
<string>Privacy Preferences Policy Control for SVLiveAgent</string>
<key>PayloadDisplayName</key>
<string>SVLiveAgent Privacy Preferences</string>
<key>PayloadIdentifier</key>
<string>com.serraview.sps.privacy-preferences</string>
<key>PayloadOrganization</key>
<string>Eptura, Inc.</string>
<key>PayloadType</key>
<string>com.apple.TCC.configuration-profile-policy</string>
<key>PayloadUUID</key>
<string>D7F3E8A9-B6C5-4D2A-9E7F-3C8B5A1D4E6F</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>Services</key>
<dict>
<key>Location</key>
<array>
<dict>
<key>Allowed</key>
<integer>1</integer>
<key>BundleIdentifier</key>
<string>com.serraview.sps</string>
<key>CodeRequirement</key>
<string>identifier "com.serraview.sps" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = HXP7WFL58F</string>
<key>Comment</key>
<string>Allow SVLiveAgent to access location for WiFi scanning</string>
</dict>
</array>
<key>Accessibility</key>
<array>
<dict>
<key>Allowed</key>
<integer>1</integer>
<key>BundleIdentifier</key>
<string>com.serraview.sps</string>
<key>CodeRequirement</key>
<string>identifier "com.serraview.sps" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = HXP7WFL58F</string>
<key>Comment</key>
<string>Allow SVLiveAgent to detect user idle time</string>
</dict>
</array>
<key>AppleEvents</key>
<array>
<dict>
<key>AEReceiverCodeRequirement</key>
<string>identifier "com.apple.systemevents" and anchor apple</string>
<key>AEReceiverIdentifier</key>
<string>com.apple.systemevents</string>
<key>AEReceiverIdentifierType</key>
<string>bundleID</string>
<key>Allowed</key>
<integer>1</integer>
<key>BundleIdentifier</key>
<string>com.serraview.sps</string>
<key>CodeRequirement</key>
<string>identifier "com.serraview.sps" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = HXP7WFL58F</string>
<key>Comment</key>
<string>Allow SVLiveAgent to monitor system events</string>
</dict>
</array>
</dict>
</dict>
</array>
<key>PayloadDescription</key>
<string>Privacy Preferences Policy Control Profile for SVLiveAgent. Grants Location, Accessibility, and Apple Events permissions.</string>
<key>PayloadDisplayName</key>
<string>SVLiveAgent Privacy Permissions</string>
<key>PayloadIdentifier</key>
<string>com.serraview.sps.pppc-profile</string>
<key>PayloadOrganization</key>
<string>Eptura, Inc.</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadScope</key>
<string>System</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>A1B2C3D4-E5F6-4A8B-9C2D-1E3F5A7B9C8D</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
Step 2. Deploy PPPC Profile
Jamf Pro
- From Jamf Pro, navigate to Configuration Profiles > New.
- Upload the
SVLiveAgent-PPPC-Profile.mobileconfigfile. - Set Level to Computer Level.
- Set Distribution to Install Automatically.
- Go to the Scope tab.
- Add target computers or groups.
- Save and deploy.
Microsoft Intune
- From Microsoft Intune, navigate to Devices > macOS > Configuration profiles.
- Click Create profile > Templates > Custom.
- Upload
SVLiveAgent-PPPC-Profile.mobileconfigfile. - Assign to device groups.
- Deploy.
Kandji, Mosyle, or Other MDM
Upload as custom configuration profile
Deploy to target device groups
Manual Installation (Testing)
sudo profiles install -path ./SVLiveAgent-PPPC-Profile.mobileconfig
Method 2: Command-Line Script (macOS 13+ Only)
Create a script named grant-permissions.sh.
#!/bin/bash
# SVLiveAgent - Grant Privacy Permissions Script
# Requires: macOS 13.0 (Ventura) or later
set -e
APP_BUNDLE_ID="com.serraview.sps"
APP_PATH="/Applications/SVLiveAgent.app"
echo "=========================================="
echo "SVLiveAgent Permission Granting Script"
echo "=========================================="
# Check if app is installed
if [ ! -d "$APP_PATH" ]; then
echo " ERROR: SVLiveAgent not found at $APP_PATH"
exit 1
fi
# Check macOS version
MACOS_VERSION=$(sw_vers -productVersion | cut -d. -f1)
if [ "$MACOS_VERSION" -lt 13 ]; then
echo " ERROR: Requires macOS 13.0 or later"
echo " Your version: $(sw_vers -productVersion)"
echo " Please use PPPC profile instead"
exit 1
fi
# Check if running as root
if [ "$EUID" -ne 0 ]; then
echo " ERROR: Must run with sudo"
exit 1
fi
echo "Granting permissions to $APP_BUNDLE_ID..."
# Grant Location Services
echo "→ Granting Location Services..."
tccutil reset Location "$APP_BUNDLE_ID" 2>/dev/null
tccutil enable Location "$APP_BUNDLE_ID" && echo " ✓ Location Services granted"
# Grant Accessibility
echo "→ Granting Accessibility..."
tccutil reset Accessibility "$APP_BUNDLE_ID" 2>/dev/null
tccutil enable Accessibility "$APP_BUNDLE_ID" && echo " ✓ Accessibility granted"
echo ""
echo " Permissions granted successfully"
echo ""
echo "Restart the app:"
echo " killall SVLiveAgent 2>/dev/null || true"
echo " open /Applications/SVLiveAgent.app"
Usage:
chmod +x grant-permissions.sh sudo bash ./grant-permissions.sh
Limitation:
Only works on macOS 13.0 (Ventura) and later.
Method 3: Combined Installation Script
For automated deployments, combine PPPC installation with app installation:.
#!/bin/bash
# complete-install.sh - Install app with permissions
CONFIG_ENDPOINT="<your-config-endpoint-url>"
PKG_FILENAME="<package-filename>.pkg"
PPPC_PROFILE="SVLiveAgent-PPPC-Profile.mobileconfig"
# Step 1: Install PPPC profile (if available)
if [ -f "$PPPC_PROFILE" ]; then
echo "Installing privacy permissions profile..."
sudo profiles install -path ./"$PPPC_PROFILE" 2>/dev/null
echo "✓ PPPC profile installed"
fi
# Step 2: Install application
echo "Installing application..."
sudo bash ./svliveagent-installer.sh \
PKGFILE="$PKG_FILENAME" \
CONFIGAPIADDRESS="$CONFIG_ENDPOINT"
echo ""
echo " Installation complete with permissions pre-granted!"
echo ""
echo " If app doesn't appear in menu bar, restart the system:"
echo " sudo shutdown -r now"
Verification
Check if App is Running
pgrep -x SVLiveAgent
If running, this will return the process ID.
Check LaunchAgent Status
launchctl list | grep com.serraview.sps
Verify Configuration
cat "/Library/Application Support/SVLiveAgent/sps.ini"
This will display your configuration endpoint.
Check Application Location
ls -la /Applications/SVLiveAgent.app
Verify Privacy Permissions
# Check installed PPPC profile sudo profiles list | grep com.serraview.sps # Check TCC database for permissions sudo sqlite3 /Library/Application\ Support/com.apple.TCC/TCC.db \ "SELECT service, client, allowed FROM access WHERE client='com.serraview.sps';"
Uninstall the SVLive Agent
To remove SVLiveAgent complete the following:
# Stop the app killall SVLiveAgent # Unload LaunchAgent launchctl bootout gui/$(id -u) /Library/LaunchAgents/com.serraview.sps.plist # Remove files sudo rm -rf /Applications/SVLiveAgent.app sudo rm -f /Library/LaunchAgents/com.serraview.sps.plist sudo rm -rf "/Library/Application Support/SVLiveAgent" # Forget package receipt sudo pkgutil --forget com.serraview.sps
