Last updated: Jun 25, 2020 18:16
An app fails during the installation process and the following error message shows:
This issue may be the result of one of the following scenarios.
Manual testing and automation
You install the app in the Manual Testing view (through the Application form for the open device) or using an automation script, but without instrumentation.
Your application includes a file called
embedded.mobileprovision. This file contains all UDIDs (device IDs) for your iOS devices. The application developer needs to take the device UDIDs and sign the
embedded.mobileprovision file with them. You can manually check the application's embedded provisioning file to make sure the device UDID is listed.
To check if a UDID has been added to the app's embedded provisioning file:
- Download and unzip the
<app-name>.ipafile on your computer.
- Open the
- Find the file called
embedded.mobileprovisionand open it with Notepad++ or any text editor.
- Look for the string
<key>ProvisionedDevices</key>, which will list all device UDIDs.
- If the above key is missing, look for the following key:
If the key exists and the value is
true, the app can be installed on any device. (iOS developers enrolled in the Enterprise program have the ability to distribute their in-house applications without identifying individual devices or submitting the application to the App Store.)
Scenario 1 | The configuration file includes
If the configuration file includes
Resign=false, this likely means that the devices are not registered in the customer's provision profile.
parameter=true (set by default), the app is resigned with the Perfecto developer signature.
For more information, see Sign iOS applications for Gradle Plugin.
Scenario 2 | The application's signature differs from the one used for the installation
Ideally, customer development teams would push the ipa/ipa-runner to Perfecto as per their build process because it is the only sure way to know that the QA team is testing the proper app version and the signature is correct (for example, if the signature for the latest app version is different than the one used for installation and testing)
In this scenario, and when using DevTunnel, the provision profiles must be installed on the devices by the customer. Usually, this task is performed by development teams, not by QA. Perfecto is not involved because the developer user credentials are necessary and may not be available as per company policy.
Alternatively, we would need customers to get a developer's provisioning signature access, to be able to build the app with the correct signature as per our documentation.