Skip to main content

Registering test devices for iOS apps

Abstract

You can register a test device easily by opening Safari on your iOS device and accessing the Test devices page from your Profile. With other browsers, you can manually register one using the Register device manually button.

You have multiple options to register test devices on bitrise.io:

After registering your device on Bitrise, make sure to register it on the Apple Developer Portal as well. We recommend using the Xcode Archive & Export for iOS Step which can:

Apple Developer Portal device limit

There is a limit on registrable devices on the Apple Developer Portal, so make sure to check the list of available test devices of an app before you use the Xcode Archive & Export for iOS Step to register devices!

Register an iOS device using Safari

The most comfortable way to register your iOS test device on bitrise.io is to open bitrise.io with Safari. This way we can open your device’s Settings and create a temporary profile to get your Unique Device Identifier (UDID). This way you don’t have to look for it and manually copy/paste it.

Clear the cache

When trying to install an app from the public install page, you should clear the cache: click the link appearing in the If you synced your settings from your old device, you need to clear the cache and register your new device line. The link redirects to the Profile settings page where you can follow the procedure described below.

Read more about installing an app from the public install page in our Deploying an iOS app to Bitrise.io guide.

  1. Open Safari in non-incognito mode on your iOS device and log into bitrise.io.

  2. Go to your Profile.

  3. Tap Account Settings.

  4. Tap Test devices on the left.

  5. Tap Register this device.

  6. In the pop-up window, Tap Allow so that bitrise.io can show your configuration profile.

  7. Tap Install when the Install Profile dialog appears.

  8. Enter your devices’s passcode.

  9. Tap Install on the Install Profile again. Now you can see your UDID and your iOS device name in the Register device dialog.

  10. Tap Register device.

  11. Register this test device to the Apple Developer Portal with the correct provisioning profile added to your device or use our Auto Provisioning step with enabling profile generation.

If you go back to Test devices, you can see the registered device:

test_devices.png

You can delete the registered device any time if you click on the Remove button.

Register a test device manually

  1. On bitrise.io, open the account selector menu on the top right and select Profile settings.

    profile-settings-menu.png
  2. On the menu on the left side, select Test devices.

    test-devices-menu.png
  3. Click on Register device manually.

    register-device-button.png
  4. In the Register device dialog, fill out the Title field and the Identifier field with your device’s UDID.

  5. Click Register Devices.

    You can get your UDID if you plug your device into a computer, and open iTunes. Under Summary, you should see a Serial Number. If you click on it, it will reveal your device’s UDID which you can paste into the Identifier field on our Test Devices.

  6. Register this test device to the Apple Developer Portal with the correct provisioning profile added to your device or use our Auto Provisioning Step with enabling profile generation.

Now you can see your registered test device under the Registered test devices section.

You can remove this registered device any time if you click the orange x icon.

Checking the available test devices for an app

For any Bitrise app, you can check out the registered test devices available on the App Settings page. This will show an aggregated list of all registered test devices associated with users who have access to your app, regardless of their role. You can use any of those devices to run tests of your app.

You can also download the list of registered devices as a .json file.

  1. Open your project on Bitrise with a user that has the Admin role on the project.

  2. On the main page of the project, click on the Project settings button.

    project-settings-button.png
  3. On the menu on the left side, select Test devices.

    test-devices-menu.png
  4. Optionally, you can download the entire list as a .json file: click the Download as json button.

Registering devices on the Apple Developer Portal with the Xcode Archive Step

The Xcode Archive & Export for iOS Step allows you to automatically register your test devices on the Apple Developer Portal. By default, the Step registers all test devices that you registered to your Bitrise account but you can configure it to only register a specific selection of devices.

Apple Developer Portal limit

Please note that the Apple Developer Portal has a limit for devices registered for testing purposes, typically set at 100 devices per account. Devices registered with the Xcode Archive & Export for iOS Step count towards this limit and you can only remove registered devices once a year.

Registering all devices on the Apple Developer Portal

Workflow Editor

bitrise.yml

  1. Register your devices on Bitrise.

  2. Log in to Bitrise and select Bitrise CI on the left, then select your project.

  3. Click the Workflows button on the main page.

  4. Add the Xcode Archive & Export for iOS Step to your Workflow.

  5. In the Automatic code signing input group, set the Register test devices on the Apple Developer Portal input to yes.

    register-test-devices.png
  1. Register your devices on Bitrise.

  2. In the bitrise.yml file, add the xcode-archive Step to your Workflow.

    your-workflow:
      steps:
        - git-clone: {}
        - xcode-archive:
            inputs:
    
  3. Set the register_test_devices input to yes.

    your-workflow:
      steps:
        - git-clone: {}
        - xcode-archive:
            inputs:
            - register_test_devices: 'yes'
    

Registering a selection of devices on the Apple Developer Portal

Workflow Editor

bitrise.yml

  1. Get the UDID of the devices you want to register: Checking the available test devices for an app.

  2. Create a .txt file and add the UDIDs of all devices you want to register to the file in a comma-separated list:

    00000000-0000000000000001,00000000-0000000000000002,00000000-0000000000000003
  3. Make sure Bitrise can access the file in a Workflow:

  4. Log in to Bitrise and select Bitrise CI on the left, then select your project.

  5. Click the Workflows button on the main page.

  6. Add the Xcode Archive & Export for iOS Step to your Workflow.

  7. In the Automatic code signing input group, set the Register test devices on the Apple Developer Portal input to yes.

  8. In the same input group, add the path to the .txt file containing the UDIDs to the Path of file containing the devices to be registered input.

    registering-test-devices.png

    Devices registered on Bitrise

    This input takes priority over the devices registered to your Bitrise account.

  1. Get the UDID of the devices you want to register: Checking the available test devices for an app.

  2. Create a .txt file and add the UDIDs of all devices you want to register to the file in a comma-separated list:

    00000000-0000000000000001,00000000-0000000000000002,00000000-0000000000000003
  3. Make sure Bitrise can access the file in a Workflow:

  4. In the bitrise.yml file, add the xcode-archive Step to your Workflow.

    your-workflow:
      steps:
        - git-clone: {}
        - xcode-archive:
            inputs:
    
  5. Set the register_test_devices input to yes.

    your-workflow:
      steps:
        - git-clone: {}
        - xcode-archive:
            inputs:
            - register_test_devices: 'yes'
    
  6. Set the path to the .txt file containing the UDIDs in the test_device_list_path input.

    Devices registered on Bitrise

    This input takes priority over the devices registered to your Bitrise account.

    your-workflow:
      steps:
        - git-clone: {}
        - xcode-archive:
            inputs:
            - register_test_devices: 'yes'
            - test_device_list_path: path/to/the/file