Xamarin Test Cloud is now part of Visual Studio App Center! Get Started.

Calabash and Xcode 7

PDF for offline use

Let us know how you feel about this

Translation Quality


last updated: 2016-10

This section preserves some of the older guides that dealt with Xcode 7.



Please note that Calabash is no longer under active development.

To automate an iOS app Calabash must leverage the native automation libraries provided by Apple for this purpose. There are two libraries for UI Automation in iOS.The older automation library is UIAutomation This is the older framework, and is not available if the app is build with Xcode 7.

All of the guides and documentation for Calabash focus on the most recent and stable version of Calabash, iOS, and Xcode. This means that those guides may not be appropriate for teams and organizations that are still using Xcode 7. The older documentation that is relevant to Xcode 7 has be moved to this location so that it is still available to users.

These guides are not actively maintained.

Working with Xcode 7

To test on older versions of iOS, such as iOS 8, install Xcode 7 alongside Xcode 8. It is possible to switch between versions of Xcode by setting the DEVELOPER_DIR environment variable to point the /Contents/Developer/ folder of the Xcode version to use.

For example, if Xcode 7 is installed in /Applications/Xcode7.app, then the environment variable could be set as follows

bash $ export DEVELOPER_DIR=/Applications/Xcode7.app/Contents/Developer $ cucumber

Automation API

The latest versions of Calabash and UITest support testing with both Xcode 7 and Xcode 8. The verison of Xcode used to build the app will determine which native automation API is used to automate the app. The Testing Framework and iOS compatibility for Calabash is determined by the version of Xcode that is used. See the table below:

iOS Version Local with Xcode 7 Local with Xcode 8
iOS 7 UIAutomation n/a
iOS 8 UIAutomation n/a
iOS 9 UIAutomation DeviceAgent
iOS 10 n/a DeviceAgent

For example, a Mac with Xcode 8 installed will be able to test on devices running iOS 10 or iOS 9 using DeviceAgent, but would not be able to test on iOS 8 or below.



Working With

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.