Skip to content

Commit

Permalink
Make it clearer why and how we resign apps. (#2839)
Browse files Browse the repository at this point in the history
* 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 <[email protected]>
  • Loading branch information
si-net and thiagosaucelabs authored Jul 8, 2024
1 parent 5975794 commit 5f8e63c
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions docs/mobile-apps/automated-testing/ipa-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 5f8e63c

Please sign in to comment.