We were trying to parse PBXProject.preferredProjectObjectVersion as an integer but in Xcode 16 is encoded as a string. I'm decoding it as a string and converting it to an integer. If Apple supports strings that don't represent integers down the road we'll have to change the internal type.
They added the attribute minimizedProjectReferenceProxies to the PBXProject object.
SynchronizedRootGroups are encoded using multiple-lines. I adjusted the internal model to reflect that and ensure there are no diffs when we write the project back.
Resolves https://github.com/tuist/XcodeProj/issues/861
This PR contains some Xcode 16-related fixes:
PBXProject.preferredProjectObjectVersion
as an integer but in Xcode 16 is encoded as a string. I'm decoding it as a string and converting it to an integer. If Apple supports strings that don't represent integers down the road we'll have to change the internal type.minimizedProjectReferenceProxies
to thePBXProject
object.SynchronizedRootGroups
are encoded using multiple-lines. I adjusted the internal model to reflect that and ensure there are no diffs when we write the project back.