I’ve been struggling with this issue for the last few weeks.
The iOS app crashes on BrowserStack.
The reason, as stated by the BrowserStack supports, is because of the push notification entitlement.
Our app doesn’t even need push notifications and, when initialising it with expo, we explicitly said we don’t need that.
And yet, expo generates the application ID with that capability enabled.
Disabling it invalidates the certificates.
Fixing it with expo, re-enable the capability.
So Expo is the culprit here, not BrowserStack.
The only “solution” I could find is something like that.
However, unless there is a way to do automate the process in the CI when running the automated tests, this isn’t a solution.
It’s worth noting that we use EAS, but that doesn’t make much of a difference.
I’ve also tried to run
expo build:ios --clear-push-cert -t archive, hoping that at least this would work: it doesn’t.
As an EAS client, I would have expected a more direct way to get support.
Instead, I must resort to Discord (where questions stay unanswered) or this forum (where I hope I can get a solution, but I’m not confident about it).
For us, running E2E tests as part of our CI is a requirement.
We could use some alternative to BrowserStack, but I could find a valid one.