Can Yildirim's Blog

Appium 1.6.0 | Xcode 8 Migration

November 04, 2016

First off all check your Node.js  version(v6.9.1) and install lastest verison of Node.js from here.

You can check your node version with :  node -v

You should upgrade npm versiyon after upgrade. For npm upgrade execute npm upgrade command.

Appium Xcuitest  (Github Link)


In addition to the git submodules mentioned below (see Development), this package currently depends on libimobiledevice to do certain things. Install it with Homebrew,

brew install ideviceinstaller

There is also a dependency, made necessary by Facebook’s WebDriverAgent, for the Carthage dependency manager. If you do not have Carthage on your system, it can also be installed with Homebrew

brew install carthage

ideviceinstaller doesn’t work with iOS 10 yet. So we need to install ios-deploy

npm install -g ios-deploy

On some systems the default logger, idevicesyslog, does not work. You can install deviceconsole and specify its path with the realDeviceLogger capability (note: This path should be the path to the executable installed by the below command. It will be the directory created by the below command, followed by /deviceconsole).

npm install -g deviceconsole

For real devices we can use xcpretty to make Xcode output more reasonable. This can be installed by

gem install xcpretty


Manual Configuration

Enter WebDriver agent directory with:

cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent

sudo mkdir -p Resources/WebDriverAgent.bundle

sudo mkdir Modules

sudo chmod -R 777 Scripts

sudo chmod -R 777 Modules


Java Code Configuration

Add DesiredCapabilies to that code.


Simulator Command

appium --address --port 4723 --session-override --isolate-sim-device


**!!!  I tested that operations only simulator device. So if you encounter a problem please inform me  or update the document.  !!! **

Can Yildirim

Written by Can Yildirim who lives in London. Full Stack Software Engineer. Follow me on Twitter Linkedin

© 2023,