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 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
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!