Error is in the Fastlane step - the xcodeproj file can’t be open because its corrupted:
is damaged and cannot be opened due to a parse error. Examine the project file for invalid edits or unresolved source control conflicts.
I’m confused because this thankfully works with --local and there isn’t any merge conflict in the file. Running plutil -lint results in no errors. There have been no changes to the file besides build and version bumps.
@adamjnav I’m still having issues, I’ve tried this on a fresh clone and run git clean. I’m confused why this would just start happening after months of no issues with our current configuration and that it works locally.
would you be able to rollback to your last known working commit and verify that build works? if so, can you try bisecting where this issue arises? this may help also: fyi/manual-debugging.md at main · expo/fyi · GitHub
Thanks @notbrent - I’ve definitely tried checking out the previous branch that was successful and haven’t had any luck getting that build to work again.
It is very time consuming and frustrating to troubleshoot this. I can’t figure out what would have changed, especially considering the local build which is on a clean git branch is working. I’ve tried git bisect and verified the pbxproj was valid for each commit. The only changes have been version bumps as mentioned.
have you tried running eas build --local and verified that way? this does definitely sound frustrating, sorry i don’t have a better answer, it’s tough without having a minimal reproducible example. another thing you could try is upgrading to sdk 43.
Thanks @notbrent yeah --local works which makes this less urgent. We will look into upgrading to sdk 43, but its very concerning that a previous sdk would suddenly stop without warning.
After debugging builds locally for a while, here’s what I found
We have different product names and bundle identifiers for Release and Debug configuration (“Simplero” is for “Release”, “Simplero Dev” is for “Debug” - notice the product name has a space).
Debugging using eas build --local, I saw the same corruption message. Since the other person in the forum post can run eas build locally just fine, I am assuming they might be on an older eas-cli version (or maybe our issues are completely different).
Checking out the build’s project.pbxproj, I see CODE_SIGN_ENTITLEMENTS is changed to
CODE_SIGN_ENTITLEMENTS = Simplero/Simplero Dev.entitlements; for some reason and the original entitlement file (Simplero/Simplero.entitlements) is moved to Simplero/Simplero Dev.entitlements.
Notice no quotes around the value which has a space, I think that is the reason parsing fails.
(Even building with explicit buildConfiguration and scheme set, the entitlement file was still moved to “Simplero Dev.entitlements”).
Anyway, renaming our “Debug” product name to “SimpleroDev”, and everything seems to be working once again)