HeadSpin Documentation

Unlocking Devices with Pintap


This page provides information regarding the HeadSpin tools and technology for managing the unlocking of iOS devices via passcodes, as well as some common issues and troubleshooting with these tools.

Why Use Pintap?

Our platform primarily utilizes USB-based debugging tools for iOS device testing; however, due to security restrictions placed by Apple, these tools will not work on a locked iOS device. We know that some of our users, particularly those that require the use of an MDM (mobile device management software) or other enterprise security features, need to be able to test on devices with security settings such as PINs or lock settings enabled. To allow for these workflows, we developed Pintap. Pintap is a HeadSpin service used to unlock a device using a passcode when the device is locked and you are unable to interact with the screen through a Remote Control session. (Passcodes are also known as passcodes; please note this is not the same as a PIN, Personal Identification Number.)

Ideally, a pinlocked device should be held in an unlocked state. HeadSpin accomplishes this by sending null keyboard events (keyboard events which do not cause an action on the device) to keep the phone active and unlocked. This feature is enabled by default for all pintap-configured devices; it can be disabled on dedicated devices by special request, but will always be active on shared devices. Using the null keyboard events improves the performance and response time of a device. In the case of a pinlocked device becoming locked (as we know must happen in some testing scenarios for our clients), our system then turns to the software unlock methodology, which is described further below in this document. As a backup unlocking method after software unlocking, we also use bluefinger, a piece of hardware that when configured with a device functions as a Bluetooth keyboard. Note that a locked device is not an error state on the HeadSpin platform, nor is it an issue to lock a device; it's simply preferred for devices to remain unlocked for the sake of higher device performance.

There are three main scenarios where Pintap is of the most use, but it can be used anytime that you need to enter a passcode on a device. Those scenarios are:

  • When you connect to a device and see a black screen with loading dots displayed.
  • When you see your device prompting for a passcode, but the loading dots are displayed, rendering the screen non-interactive.
  • When you are prompted to enter a passcode but the number keys are not displayed in the remote session.
First common scenario when Pintap should be used
First common scenario when Pintap should be used.
Second common scenario when Pintap should be used
Second common scenario when Pintap should be used.
Third common scenario when Pintap should be used
Third common scenario when Pintap should be used.

Accessing Pintap

For API access, see the Pintap section of Android Device API or iOS Device API. It is an alternative way to perform the same action as below via Remote Control.

Pintap can be accessed from two different locations on the HeadSpin platform. The first is on the ‘Remote Control’ screen. Looking at the device list in the Remote Control tab of the HeadSpin UI, you will see an ellipsis icon (three dots) for each device on the right side of the screen. Click on the three dots to trigger a dropdown menu with the Pintap option. Clicking Pintap will open the Manual Pintap pop-up over the Remote Control page.

Accessing Pintap

The second place to access Pintap is on the Remote Control device view’s interactive window, in the ‘Overview’ tab. Once you have connected to a device, the Remote Control window for the device opens with the interactive tools screen to the right of the device’s live view; in the Overview tab of this pane, you will see an option for “Device Configuration”. (It looks like embedded text in the page, but it's actually interactive!) Clicking on Device Configuration opens a dropdown menu where you can access Pintap.

Device Configuration

If you do not see Pintap services in your UI or do not see the expected response via API, you may need to have the proper permissions configured. Please contact your HeadSpin administrator for assistance.

Pin Configuration

Pintap allows you to save a device’s passcode so that you can easily track which passcode matches which device. To save the current passcode for a device, or to edit the existing one if it has changed, you will need to access the Pin Configuration menu from the “Device Configuration’s Manual Pintap” options.

Device Configuration’s Manual Pintap

Click on the cog wheel icon to open the Pin Configuration menu. Here you can edit or delete the saved pin.

edit or delete the saved pin

Note: If you change the passcode on the device you will need to update the saved passcode in Pintap. Passcodes do not update or save automatically.

Pin Configuration History

Pintap will also show you the history of saved passcodes on a device. This will track any time a given device’s passcode is updated or deleted. To open the passcode history, click on the clock icon next to the cog wheel.

Pin Configuration History

Unlocking a Device - Software Unlock

To begin with, the Pintap software unlock system will try to automatically unlock a locked device if the device is not currently in use, and a user attempts to begin a session on said device. If these conditions are met, pressing the Start button next to a device in the Device List will nearly instantly unlock that device. The unlock will automatically use the codes previously configured in the UI.

To unlock a device manually using Pintap, type the passcode into the passcode field in the Device Configuration’s Manual Pintap menu (location described earlier in this document). Alternatively to typing out a passcode, you can select a saved passcode from the “Potential Pincode" list; this will automatically populate the passcode field. Once the passcode is present in the passcode field, click the “Unlock” button to the right of the field to enter the passcode on the device itself. These steps can also be performed from Manual Pintap pop-up, accessed from a device's ellipsis icon (as described above.)

If a device is configured with the wrong passcode in the Remote Control UI (which would cause any automatic software unlock attempts to fail), the HeadSpin platform will try to unlock it once, after which the user will be loaded into a remote control session on the device. The user can then enter the device's correct passcode by either using the Device Configuration panel or by clicking on the device and entering the passcode directly onto the device.

unlock a device using Pintap

Unlocking a Device - Bluefinger

Bluefinger is a USB dongle connected to our host computers onsite; this dongle can connect via Bluetooth to associated devices. When connected to a device, the device sees the dongle as a regular Bluetooth keyboard able to send and receive key presses. The HeadSpin platform is then able to send keystrokes to the device. This hardware must be configured and paired with the iOS device before it will work. This is only done by our team at HeadSpin - if you are interested in having Bluefinger as a backup unlocking option for your organization, please contact your HeadSpin administrator.

However, note that while this is a backup option for unlocking devices, there are limitations which may prevent Bluefinger from responding as expected. In some situations, such as a device becoming fully disconnected from the platform, the device will be in an unknown state and may require additional assistance from our support team beyond the utilization of Bluefinger.