Skip to main content
Transform your testing process with: Real Device Features, Company-wide Licences, & App Percy
No Result Found

Disable re-signing (iOS)

Disable re-signing of apps for your Appium tests to test features like push notifications.

When you upload an iOS app to BrowserStack servers via REST API, BrowserStack re-signs the app with a self-provisioning profile to install your app on the devices. This re-signing process can cause issues if you need to maintain specific signing credentials, especially when dealing with features like push notifications. Push notifications rely on the app’s signing credentials to authenticate communication between the app and the push notification service (such as Firebase or Apple Push Notification Service). If the app is re-signed automatically, the push notification configurations might break or fail to work correctly. However, if your app is already signed using Apple Developer Enterprise Program, you can disable this behaviour to test features and universal links on BrowserStack devices.

You can disable app re-signing by setting the resignApp capability to false.

If you are using BrowserStack SDK, you can set the following capability within the browserstack.yml file:

Capability Description Expected values
resignApp Disable re-signing of Enterprise signed app uploaded on BrowserStack true/false
Default: true
browserstack.yml
Copy icon Copy

BrowserStack SDK is a plug-n-play solution that takes care of all the integration steps for you. Using the BrowserStack SDK is the recommended integration method for your project. To know more, visit the SDK core concepts page.

Use the following code snippet to disable re-signing of Enterprise signed app uploaded on BrowserStack:

Capability Description Expected values
resignApp Disable re-signing of Enterprise signed app uploaded on BrowserStack true/false
Default: true

Example :

DesiredCapabilities capabilities = new DesiredCapabilities();
HashMap<String, Object> browserstackOptions = new HashMap<String, Object>();
browserstackOptions.put("resignApp", "false");
var capabilities = {
 	'bstack:options' : {
 		"resignApp" : "false",
 	},
}
AppiumOptions capabilities = new AppiumOptions();
Dictionary<string, object> browserstackOptions = new Dictionary<string, object>();
browserstackOptions.Add("resignApp", "false");
$caps = array(
    'bstack:options' => array(
        "resignApp" => "false",
    ),
)
desired_cap = {
 	'bstack:options' : {
 		"resignApp" : "false",
 	},
 }
capabilities = {
    'bstack:options' => {
        "resignApp" => "false",
    },
}
Capability Description Value
browserstack.resignApp Disable re-signing of Enterprise signed app uploaded on BrowserStack true/false
Default: true

Example :

DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
desiredCapabilities.setCapability("browserstack.resignApp", "false");
var capabilities = {
	'browserstack.resignApp': 'false'
}
DesiredCapabilities capability = new DesiredCapabilities();
capability.SetCapability("browserstack.resignApp", "false");
$capabilities = new DesiredCapabilities();
$capabilities->setCapability("browserstack.resignApp", "false");
desired_cap = {
	'browserstack.resignApp': 'false'
}
desired_caps = {
    'browserstack.resignApp': 'false'
}

Webviews will not work with resignApp option set to false.

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked





Thank you for your valuable feedback

Is this page helping you?

Yes
No

We're sorry to hear that. Please share your feedback so we can do better

Contact our Support team for immediate help while we work on improving our docs.

We're continuously improving our docs. We'd love to know what you liked





Thank you for your valuable feedback!

Talk to an Expert
Download Copy Check Circle