Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: make PBXProject.compatibilityVersion optional and add PBXProject.preferredProjectObjectVersion to support Xcode 16 #854

Merged
merged 5 commits into from
Sep 27, 2024

Conversation

kimdv
Copy link
Collaborator

@kimdv kimdv commented Sep 17, 2024

Resolves #837

Short description 📝

This PR will make compatibilityVersion optional. Since Xcode 16 this field isn't present anymore.
Also I added preferredProjectObjectVersion that is also part if Xcode 16 changes.

Solution 📦

I'm new to this. So I tried to see if there was ny "16.0" in a fresh and newly created Xcode project, so see if it was renamed.
Could not find any. So I made it optional, so we can decode Xcode 16 projects.

Implementation 👩‍💻👨‍💻

  • Made the field optional and added preferredProjectObjectVersion
  • Did run the branch against a local project and it worked

@kimdv
Copy link
Collaborator Author

kimdv commented Sep 17, 2024

It would be nice if I could get some help to tests?

@kimdv
Copy link
Collaborator Author

kimdv commented Sep 17, 2024

I just saw that preferredProjectObjectVersion in the Xcode 16 is added.
But there is no sign of it in XcodeProj. Can I add it in this PR or should it be its own?

@kimdv kimdv force-pushed the kimdv/make-compatibilityVersion-optional branch from c0c897a to 6401714 Compare September 17, 2024 18:37
@kimdv kimdv changed the title Make compatibilityVersion optional Make compatibilityVersion optional and add preferredProjectObjectVersion Sep 18, 2024
Comment on lines 26 to 27
/// An string representation of the PreferredProjectObjectVersion.
public var preferredProjectObjectVersion: String?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't this be an integer? do you have any example?

Copy link
Collaborator Author

@kimdv kimdv Sep 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes here preferredProjectObjectVersion = 77;

Changed to an Int instead.

Please review @danieleformichelli

@kimdv kimdv force-pushed the kimdv/make-compatibilityVersion-optional branch from 6401714 to cadc37b Compare September 25, 2024 07:29
@pepicrft pepicrft changed the title Make compatibilityVersion optional and add preferredProjectObjectVersion feat: make PBXProject.compatibilityVersion optional and add PBXProject.preferredProjectObjectVersion to support Xcode 16 Sep 25, 2024
@pepicrft
Copy link
Contributor

@kimdv there seems to be legit issues in the changes. Would you mind looking into them?

@kimdv kimdv force-pushed the kimdv/make-compatibilityVersion-optional branch 2 times, most recently from cd840e0 to c642855 Compare September 25, 2024 10:25
@kimdv
Copy link
Collaborator Author

kimdv commented Sep 25, 2024

@kimdv there seems to be legit issues in the changes. Would you mind looking into them?

Should be fixed now.
Also I have updated the commit messages. Is that right?

@kimdv
Copy link
Collaborator Author

kimdv commented Sep 25, 2024

@pepicrft I see you changed the PR title?
Should we shorten it a little if possible?

@danieleformichelli
Copy link
Collaborator

@pepicrft I see you changed the PR title? Should we shorten it a little if possible?

@pepicrft I would rather change the check and don't limit the length so much

@pepicrft pepicrft force-pushed the kimdv/make-compatibilityVersion-optional branch from e0e8b67 to fd30168 Compare September 27, 2024 15:32
@F1248
Copy link

F1248 commented Sep 28, 2024

@kimdv, @pepicrft, @danieleformichelli, could you please take a look at #861?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

error: (DecodingError) keyNotFound(CodingKeys(stringValue: "compatibilityVersion", […]), […]))
4 participants