Skip to main content

Handle iOS Entitlements issues

iOS app entitlements is a permission system that grants app’s executable(.ipa) with particular capabilities such as receiving Push Notifications, Universal Links, App Groups, etc. These entitlements are enabled in your Apple developer account and in your iOS app build. iOS run time policy verifies entitlements enabled in the provisioning profile and the app before granting requisite permission to the app executable.

Issue

We resign your iOS app with BrowerStack’s wildcard provisioning profile to install it on our iOS devices. Resigning an iOS app results in the removal of certain entitlements such as App Groups, Push Notifications, Associated Domains, etc.

In the resigned app, if you invoke any workflow in the app that requires entitlements, which are not supported on BrowserStack App Automate, your app might crash or behave incorrectly. After app resigning, only the following entitlements are supported :

  • get-task-allow
  • application-idenfifier
  • team-idenfier
  • com.apple.token
  • keychain-access-groups

Note: For keychain-access-groups entitlement, ensure that Bundle Seed ID/Team ID component of the keychain access groups are read programmatically from the access group attribute (i.e. kSecAttrAccessGroup) of an existing KeyChain item. This is because after resigning Bundle Seed ID/Team ID changes. For more details, please check with your iOS development team.

We do not support other iOS app entitlements on BrowserStack App Automate after iOS app resigning.

Workarounds

Install iOS apps without resigning

If your iOS app is signed with an Apple enterprise provisioning profile and you pass BrowserStack Appium capability browserstack.resignApp : false, resigning step is skipped and app entitlements are preserved.

However, note that you will not be able to use app webview automation if BrowserStack app resigning is set to false. This is because get-task-allow entitlement, which is required for webview automation, is not supported in the enterprise provisioning profile by iOS.

Creating app’s build without entitlements dependency

Create your app’s build without any dependency on iOS entitlements to upload on BrowserStack App Automate. For more details, please check with your iOS app development team.

Need some help?

If you need additional help, contact our Support team.

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
Talk to an Expert