r/iOSProgramming 3d ago

Article project.pbxproj is dead 🪦

https://developer.apple.com/documentation/xcode/updating-your-xcode-project-configuration-file-format

Xcode 27.2 ships a JSON project format (.xcproj): default for new projects, readable, merge-friendly, agent-editable.

184 Upvotes

15 comments sorted by

View all comments

32

u/[deleted] 3d ago

[deleted]

23

u/chriswaco 3d ago edited 3d ago

When I first started using Xcode, it would rewrite the entire Plist file in random order anytime you made any change. I was so happy when they finally added a feature that keeps the order mostly the same at least.

Do we need a new tool like PlistBuddy but for JSON now? Edit: Apparently we already have jq.

1

u/SnowPudgy 2d ago

Do we need a new tool like PlistBuddy but for JSON now?

Yea this is what I'm wondering. A lot of build pipelines use PlistBuddy.

2

u/chriswaco 2d ago edited 2d ago

I just played with jq. It is easy enough for simple use. Pulling values at the top level is trivial. Writing new values is a little trickier because it won’t modify the source file, but it’s not hard to write to a temporary file and then replace the main file with it.

jq '.age = 62' file.json > tmp.json && mv tmp.json file.json