From 5f8e63c4a4fa55e6a21d5206234852b373d76296 Mon Sep 17 00:00:00 2001 From: Simon Schaefer Date: Mon, 8 Jul 2024 13:58:29 +0200 Subject: [PATCH] Make it clearer why and how we resign apps. (#2839) * Make it clearer why and how we resign apps. * Group sections together * Remove words * Addressing PR comments * Last fixes * Remove double space --------- Co-authored-by: Thiago Veronese --- docs/mobile-apps/automated-testing/ipa-files.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/mobile-apps/automated-testing/ipa-files.md b/docs/mobile-apps/automated-testing/ipa-files.md index 98c74752fd..9f0fc1fad3 100644 --- a/docs/mobile-apps/automated-testing/ipa-files.md +++ b/docs/mobile-apps/automated-testing/ipa-files.md @@ -8,15 +8,17 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -We use a [resigning process](#sauce-labs-resigning-enablements) to embed our own provisioning profile into the uploaded `.ipa` file. With the profile in place, the app will be allowed to install and launch on cloud devices. The functionality of the app itself remains completely unmodified. +:::note -You can also use `.ipa` files generated by tools outside of Xcode. +To install your iOS app on our real devices we need to include our own provisioning profile in your app. For that, we use a [resigning process](#sauce-labs-resigning-enablements) to include our provisioning profile in your app. While this process does not modify the functionality of the app, it touches [certain entitlements in your app](#sauce-labs-resigning-enablements). -## Creating .ipa Files for Appium Testing +In order to disable the resigning process, you must buy your own private devices with dedicated provisioning profiles, see [here](#private-devices). Once you have such private devices, disabling can be achieved in one of these two ways: +1. Using an [ad-hoc provisioning profile](https://developer.apple.com/help/account/manage-profiles/create-an-ad-hoc-provisioning-profile/): embed the private device's UDID in the profile. +2. Using an [enterprise certificate](https://developer.apple.com/help/account/create-certificates/create-enterprise-distribution-certificates/): this does not require you to embed the device's UDID in the provisioning profile. -If you need to maintain your own provisioning profile in the `.ipa` file, disable the **Instrumentation** option in "App Management > \{Your App} > App Settings", when you want to change the [App Settings](/mobile-apps/live-testing/live-mobile-app-testing/#app-settings) for your app in the cloud. +::: -You can also use the `sauce:options` [capability](/dev/test-configuration-options/#resigningenabled) `resigningEnabled=false` to disable app resigning for automation. This option is available for private devices only. +## Creating .ipa files for Appium testing ### Building an .app Bundle @@ -117,6 +119,11 @@ If your organization or application requires specific entitlements to be present To access our private device cloud, contact your Sauce Labs account executive or our support team. When resigning is disabled, you may sign your app using your own provisioning profile, or install an application that is signed with an Enterprise certificate, which can include any entitlements. +To disable the **Resigning**, you can either visit "App Management > \{Your App} > App Settings" ([App Settings](/mobile-apps/live-testing/live-mobile-app-testing/#app-settings)) to disable resigning globally for your app. + +You can also use the `sauce:options` [capability](/dev/test-configuration-options/#resigningenabled) `resigningEnabled=false` to disable app resigning for automation. This option is available for private devices only. + + ## Common Errors ### Unable to Verify App