Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
This is the example of working plist to run Appium server using launchctl on Mac. See comments for more info and steps how to use this.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "">
<plist version="1.0">

This comment has been minimized.

Copy link
Owner Author

@risinek risinek commented Mar 12, 2018

  1. You need to have appium installed using npm install -g appium
  2. Copy this file to /Library/LaunchAgents/
  3. Run launchctl load
    Appium server should start everytime it crashed or system was rebooted.

This comment has been minimized.

Copy link

@balazs630 balazs630 commented Sep 18, 2019

Thanks for posting this, it worked for me! 👍
Removed the StandardOutPath, StandardErrorPath parts and the EnvironmentVariables part because we use it for iOS only. And simply set:


NOTE: I copied the plist file to the user specific LaunchAgent folder:


(not to the system folder)
When the plist was placed in /Library/LaunchAgents/ I got errors that the binary for Carthage is not found, missing from the PATH.

After a reboot, you can verify in Terminal if Appium Server is running:
lsof -n -i:4723 | grep LISTEN


This comment has been minimized.

Copy link

@ltpquang ltpquang commented May 28, 2020

thanks for this handy script, but any solution for mirror all system's env variables to launchd?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment