Skip to main content

Re-signing

Re-signing is the process of modifying an existing binary with a new signing certificate or keystore, required when an application needs to be published under a different developer account or when updating an existing application. This process involves removing the original signature and replacing it with a new one.

Runner Usage

This step requires a runner to work. This means that when the step runs, one of the runners in your organization will be used exclusively for this step.

If you don't have enough concurrency, your other Build and Publish operations will wait in the queue.

Re-sign Count

Appcircle requires a runner to re-sign binaries during both automatic and manual re-sign operations. Therefore, any re-sign operation you perform in this module will reduce the current build count in the billing section.

Re-signing iOS Binaries

To sign an iOS binary, you need a valid certificate and provisioning profile. Appcircle supports both IPA and xcarchive files. The process of signing an iOS binary involves selecting the correct certificate and provisioning profile and specifying the bundle identifier and version number. Once these details are entered, Appcircle will generate a new signed binary with the updated information.

iOS Re-sign Process

You can use manual re-sign to:

  • Change the signing certificate or provisioning profile
  • Update the bundle identifier to match the profile
  • Modify the app display name
  • Adjust version and build numbers before distribution
  1. Select the binary.

You can either select the files from the list or upload IPA, xcarchive files by clicking the Upload button at the top of the list.

Screenshot
  1. Click the ... button and select Re-sign Binary
Screenshot

Manual re-sign operations are performed per app version and the resulting output is stored as a new re-signed artifact.

Screenshot Screenshot Screenshot
iOS Re-sign Configurations

For detailed information about Manual iOS Re-sign configurations, please refer to the configuration section. The configuration structure for Manual and Auto Re-sign is the same. However, unlike Auto Re-sign, Manual Re-sign configurations must be reconfigured for each re-sign action.

When you sign an app version through Testing Distribution Profile or upload a signed app version manually or automatically through the Build module, Testing Distribution Profile will display a signed badge when the corresponding app version is selected.

Screenshot

Re-signing Android Binaries

To sign an Android binary, a valid keystore file is required. Both APK and AAB files are supported by Appcircle. The process of signing an Android binary involves selecting the correct keystore file. Once these details are entered, a new signed binary with the updated information will be generated by Appcircle.

Android Re-sign Process

  1. Select the binary.

Files can either be selected from the list or uploaded by clicking the Upload button at the top of the list for APK and AAB files.

Screenshot
  1. Click the "..." button and select Re-sign Binary
Screenshot

You can use manual re-sign to:

  • Replace the signing keystore
  • Update the package name to match the profile
  • Modify version code and version name values
  • Convert AAB files to APK if required for distribution
Screenshot Screenshot Screenshot
Android Re-sign Configurations

For detailed information about Manual Android Re-sign configurations, please refer to the configuration section. The configuration structure for Manual and Auto Re-sign is the same. However, unlike Auto Re-sign, Manual Re-sign configurations must be reconfigured for each re-sign action.

When an app version is signed using the Testing Distribution Profile or uploaded manually or automatically through the Build module, a signed badge will be displayed on the Testing Distribution Profile for the corresponding app version.

Screenshot

Auto Re-sign

In addition to manual resigning, the Testing Distribution module supports Auto Re-sign Configurations for both iOS and Android binaries.

The Auto Re-sign feature allows users to automatically re-sign their iOS (.ipa) and Android (.apk/.aab) applications with a different keystore, provisioning profile, or certificate before distribution.

You can enable the Auto Re-sign feature by navigating to Settings option and enabling Auto-resign toggle for iOS and/or Android.

Screenshot Screenshot

Once it's enabled, you will need to configure the Auto Re-sign feature for iOS and Android. Auto Re-sign Configurations options can be found by clicking ....

Screenshot

iOS Auto Re-sign Configurations

For iOS, you can configure:

  • Information: Configure your binary's Bundle ID and update display name.

Bundle ID

Appcircle Testing Distribution profiles can accept binaries with different bundle identifiers. The binary defined for the profile serves as the reference for Auto Re-sign. When a binary with a different bundle identifier is uploaded, it is re-signed according to the bundle identifier of the profile. The bundle identifier of the resulting re-signed binary is updated to match the one associated with the profile.

Screenshot

Select a Pool

The Pool Selection field defines which organization pool will be used to execute the Auto Re-sign process.

Screenshot
Pool Selection Is Mandatory

Auto Re-sign will not work if a pool is not selected.

If no pool is defined:

  • The Auto Re-sign process will not start.
  • Uploaded binaries will remain unsigned.
  • No re-signed output will be generated for Testing Distribution profile.

Always ensure that a valid macOS pool is selected before saving the Auto Re-sign configuration.

Update Display Name

With the Display Name parameter, you can change the visible name of the binary that will be re-signed. The re-signing process starts with the specified display name, and once completed, the CFBundleDisplayName value inside the binary is updated accordingly.

info

If CFBundleDisplayName is not present in the info.plist, changing the display name will not take effect.

Screenshot
  • Versioning: By utilizing the versioning capability of the Auto Re-sign feature, you can modify the version and build number of the incoming binary according to the defined strategy during the re-signing process, including pinning either value to an exact number using the Fixed source.
Screenshot

Update Build Number

With the Update Build Number feature, you can automatically increment the build number of the incoming binary during the re-sign process using the specified offset value, or pin it to an exact value using the Fixed source. When this feature is enabled, a new build number will be generated based on the given offset (or set to the fixed value you provide) before the re-signing begins, and the binary will be signed with this updated build number.

  • Build Number Source: The defined base build number will be used for versioning during the re-signing process. Uploaded Binary and Fixed are available options.
    • Uploaded Binary: The build number will be calculated from the most recent binary uploaded to Appcircle.
    • Fixed: The binary will be signed with the exact build number you enter, without referencing the uploaded binary.
  • Build Number: The offset value is a number to be added or subtracted from the build number source. This offset field only applies to the Uploaded Binary source.

⚠️ Note: When Build Number Source is set to Fixed, the offset field above is replaced with a Build Number text input. Enter the exact build number the binary should be signed with. This value must be provided whenever Update Build Number is enabled and the source is Fixed; leaving it empty will cause the re-signing process to fail.

Update Version Number

With the Update Version Number feature, you can automatically increment the version number of the incoming binary during the re-sign process using the specified offset value and increment strategy, or pin it to an exact value using the Fixed source. When this feature is enabled, a new version number will be generated before the re-signing begins, based on the selected increment strategy and offset (or set to the fixed value you provide), and the binary will be signed with this updated version number.

  • Version Number Source: The defined base version number will be used for versioning during the re-signing process. Uploaded Binary and Fixed are available options.
    • Uploaded Binary: The version number will be calculated based on the most recently uploaded binary to Appcircle.
    • Fixed: The binary will be signed with the exact version number you enter, without referencing the uploaded binary.
  • Version Number: The offset value is a number to be added or subtracted from the version number source.
  • Increment Strategy: You can increase the major, minor, or patch value of the version number.

⚠️ Note: When Version Number Source is set to Fixed, both the Offset and Increment Strategy controls above are hidden and replaced with a Version Number text input. Enter the exact version number the binary should be signed with. This value must be provided whenever Update Version Number is enabled and the source is Fixed; leaving it empty will cause the re-signing process to fail.

  • Signing: Choose provisioning profiles and entitlements required for re-signing.
Screenshot

App Store Connect Credential

Appcircle’s Auto Re-sign feature requires an App Store Connect credential. Therefore, selecting a credential is mandatory for both versioning and signing processes. This credential is used to download the necessary signing assets and retrieve version-related information when versioning is configured to use App Store data.

For more information, please visit the App Store Connect API Key documentation.

Signing Method

The Signing Method defines how Appcircle selects the provisioning profile during the re-signing process. This strategy determines whether Appcircle should use an existing provisioning profile. Selecting the appropriate signing strategy ensures compatibility with your target distribution method and proper signing of your binary.

For more information about these signing strategies, please visit the Apple Profiles documentation.

Certificates

In addition to the selected signing strategy, Appcircle requires a corresponding certificate to perform the auto re-sign process. Therefore, make sure that your certificates are uploaded under the Apple Certificate section in the Appcircle Signing Identity module. The re-signing process will begin using the certificate you have selected.

For more information, please visit the Signing Identity Module and Apple Certificates documentations.

Create a New Provision Profile

If the Create a New Provision Profile option is enabled, Appcircle generates a valid provisioning profile for signing using the Apple API Key selected in the profile settings and your Apple Developer account. If this option is disabled, Appcircle matches an existing valid provisioning profile from your Apple Developer portal for the signing process.

Create a New Provision Profile

If you do not want to create the provisioning profile for signing, Appcircle will attempt to match a valid provisioning profile and use it for the signing process. When this option is disabled and a matching provisioning profile cannot be found, a new provisioning profile will be automatically created.

Android Auto Re-sign Configurations

For Android, you can configure:

  • Information: Configure your binary's package ID.

Package ID

Appcircle Testing Distribution profiles can accept binaries with different package ID. The binary defined for the profile serves as the reference for Auto Re-sign. When a binary with a different package ID is uploaded, it is re-signed according to the package ID of the profile. The package ID of the resulting re-signed binary is updated to match the one associated with the profile.

Screenshot

Select a Pool

The Pool Selection field defines which organization pool will be used to execute the Auto Re-sign process.

Screenshot
Pool Selection Is Mandatory

Auto Re-sign will not work if a pool is not selected.

If no pool is defined:

  • The Auto Re-sign process will not start.
  • Uploaded binaries will remain unsigned.
  • No re-signed output will be generated for Testing Distribution profile.

Always ensure that a valid macOS pool is selected before saving the Auto Re-sign configuration.

  • Versioning: By utilizing the versioning capability of the Auto Re-sign feature, you can modify the version and build number of the incoming binary according to the defined strategy during the re-signing process, including pinning either value to an exact number using the Fixed source.
Screenshot

Update Version Code

With the Update Version Code feature, you can automatically increment the version code of the incoming binary during the re-sign process using the specified offset value, or pin it to an exact value using the Fixed source. When this feature is enabled, a new version code will be generated based on the given offset (or set to the fixed value you provide) before the re-signing begins, and the binary will be signed with this updated version code.

  • Version Code Source: The defined base version code will be used for versioning during the re-signing process. Uploaded Binary and Fixed are available options.
    • Uploaded Binary: The version code will be calculated from the most recent binary uploaded to Appcircle.
    • Fixed: The binary will be signed with the exact version code you enter, without referencing the uploaded binary.
  • Version Code Offset: The offset value is a number to be added or subtracted from the version code source. This offset field only applies to the Uploaded Binary source.

⚠️ Note: When Version Code Source is set to Fixed, the Version Code Offset field above is replaced with a Version Code text input. Enter the exact version code the binary should be signed with. This value must be provided whenever Update Version Code is enabled and the source is Fixed; leaving it empty will cause the re-signing process to fail.

Update Version Name

With the Update Version Name feature, you can automatically increment the version name of the incoming binary during the re-sign process using the specified offset value and increment strategy, or pin it to an exact value using the Fixed source. When this feature is enabled, a new version name will be generated before the re-signing begins, based on the selected increment strategy and offset (or set to the fixed value you provide), and the binary will be signed with this updated version name.

  • Version Name Source: The defined base version name will be used for versioning during the re-signing process. Uploaded Binary and Fixed are available options.
    • Uploaded Binary: The version name will be calculated based on the most recently uploaded binary to Appcircle.
    • Fixed: The binary will be signed with the exact version name you enter, without referencing the uploaded binary.
  • Version Name Offset: The offset value is a number to be added or subtracted from the version name source.
  • Increment Strategy: You can increase the major, minor, or patch value of the version name.

⚠️ Note: When Version Name Source is set to Fixed, both the Version Name Offset and Increment Strategy controls above are hidden and replaced with a Version Name text input. Enter the exact version name the binary should be signed with. This value must be provided whenever Update Version Name is enabled and the source is Fixed; leaving it empty will cause the re-signing process to fail.

  • Signing: Select the keystore for signing your .APK or .AAB files.
Screenshot

Keystores

The Keystores section is where you manage the signing credentials required for Android re-signing. To successfully perform the auto re-sign process, Appcircle needs access to a valid keystore. You must upload the keystore file, provide the necessary alias, and enter the key and store passwords within the Android Keystores section of the Signing Identity module. The re-signing will be executed using the selected keystore credentials.

Keystore

In order for Appcircle to initiate the auto re-sign process, a selected keystore must be available. Therefore, ensure that the keystore you want to use for signing is uploaded under the Android Keystores section in the Appcircle Signing Identity module.

For more information, please visit the Signing Identity Module and Android Keystores documentations.

Convert AAB to APK

The Convert AAB to APK option allows you to automatically convert an Android App Bundle (AAB) file into an APK during the re-signing process. This is especially useful when your distribution channel requires an .APK instead of an .AAB. When enabled, Appcircle will handle the conversion and signing of the resulting APK seamlessly.

Sharing AAB

Testing Distribution profiles will not allow .AAB binaries to be shared with testers. It is recommended to keep this convert option enabled.

Auto Re-sign Behaviour
  • Once Auto Re-sign is configured, every new binary uploaded to the Testing Distribution profile will automatically be re-signed.
  • Signed binaries will be displayed with a signed badge, and hovering over it will show the certificate details used.
  • If Fixed is selected for a Version/Build source, every re-signed binary will carry that exact same value until the configuration is changed.

Re-sign History

  1. Select the binary.

You can either select the files from the list or upload binaries by clicking the Upload button at the top of the list.

Screenshot
  1. Click the... button and select Resign History
Screenshot
  1. Each signing process will be listed for that binary. If you click the View Log button, you can get more details about the process.
Screenshot
info

You need the check the history of the original application that has been signed.