PHP + MySQL Backend for the iOS A/B Split Test Library
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is a simple PHP Server to provide data for and store results from the iOS A/B Split Test Library (

It is very basic at the moment and allows configuration only by entering test cases directly in to the MySQL Database.


This should run on any PHP+MySQL Environment

Use the included database_setup.sql to set up the MySQL Database. You will need to create a user with permission to read/write this database.

Copy the files to a folder on your webserver.

Edit the DB_USER, DB_PASSWORD, DB_NAME variables in functions.php

Set the server_base_url value in ABTestSettings.plist in the iOS library to the URL of the folder the files are in.

Either leave the application_token the same in both the database and the client library or create a new Application (table applications) and then set the application_token in the plist file to match the token for your newly created Application.

Making a test

A test is created by creating a test_cases table record and series of test_case_values records with their test_case_id set to that of the newly created test case. The value of token in test_cases is the identifier that you use to set the test in the User Defined Values in Interface Builder - testCase.

The test case must have it's Application set to the current Application's id (application_id column).

Results will automatically be uploaded to the test_case_responses table as tests are conducted in the client.


This is licensed under the MIT License.


Contribution is welcomed and encouraged! It would be great to create a web UI for configuring and visualising results but I'm not sure when I will have time.

If you have any difficulties in setup, please update this doc so that others won't have the same problem - the initial docs were very brief!