Apple requires that applications be signed to run on an Apple device. This code signing "assures users that it is from a known source and the app hasn’t been modified since it was last signed." In addition, Apple distributes two different types of Apple ID Certificates used to sign the applications:

There are two scenarios for running applications using Perfecto Lab devices:

Provisioning file

As part of the signing process of Apple applications, a Provisioning Profile file is generated and attached to the ipa file. The provisioning profile includes information on the feature entitlements (for example, iCloud, push notifications) used by the application. There are three types of profiles:

For testing the application with the Gradle Plugin we require a development provisioning file.

When using the Gradle Plugin to execute XCTest unit tests, or XCUITest UI tests on a real Perfecto Lab device, the ipa files (both the application/XCTest ipa file and the XCUITest Runner ipa file) must be signed with a Developer Certificate that includes a provisioning file with the device's UDID provisioned.

The Gradle plugin supports the following options, selected with the resign Pre-Execution configuration parameter: