Hacker News new | ask | show | jobs
by liuliu 2136 days ago
Xcode project (pbxproj) is simply ill-equipped for proper code reviews. Any modest size team should remove their Xcode projects from their codebase and move to either Bazel, Swift Package Manager or Xcodegen. It is really not that difficult and the benefit is quite obvious: https://liuliu.me/eyes/migrating-ios-project-to-bazel-a-real...
3 comments

There is also https://tuist.io
Would you even recommend it for smaller teams or one man teams in my case...?
For a single developer I think it works OK to review pbxproj changes like other source.

You really should understand and recognize what each change is.

It’s when you have the additional dimension of multiple developers changing the project that it really becomes unwieldy and you are pushed into treating it as binary.

If you are already familiar with Bazel or don't mind spending a week to learn, sure. I manage all my personal projects in Bazel as well.

Otherwise, many people have positive experience with XcodeGen and that is more close to Xcode project format than Bazel. Besides, you can continue to use Carthage / CocoaPods with that.

It’s also subject to frequent corruption and conflicts in them are irritating to solve.

+1 to Bazel - though it’s best suited for monorepos where you are building completely from source.