BS
BleepingSwift
Published on

> Fixing CocoaPods "Unknown ISA PBXFileSystemSynchronizedRootGroup" Error

Authors
  • avatar
    Name
    Mick MacCallum
    Twitter
    @0x7fs

If you've upgraded to Xcode 16 and suddenly pod install or pod init fails with this error, you're not alone:

RuntimeError - [Xcodeproj] Unknown object version (77).
`PBXGroup` attempted to initialize an object with an unknown ISA `PBXFileSystemSynchronizedRootGroup`

This happens because Xcode 16 changed how projects organize files. Older versions of the xcodeproj gem (which CocoaPods uses to parse your project) don't recognize this new structure.

Why This Happens

Xcode 16 introduced "folders" as the default instead of "groups." The difference is significant: groups are artificial constructs stored in your project file, while folders represent the actual file system structure. Apple made this change because folders reduce merge conflicts—adding files no longer modifies project.pbxproj, making team collaboration easier.

When you create a new target in Xcode 16—like a Share Extension, Notification Extension, or Widget—Xcode creates it as a folder using the new PBXFileSystemSynchronizedRootGroup type. Versions of xcodeproj before 1.26.0 don't understand this ISA (class type), causing CocoaPods to fail.

Solution 1: Convert Blue Folders to Groups

The quickest fix is converting the problematic folders back to traditional groups:

  1. Open your project in Xcode
  2. In the Project Navigator, look for blue folder icons—these are the new folder-based items
  3. Right-click on the blue folder (usually your extension folder)
  4. Select Convert to Group

The icon will change to the traditional yellow group icon. Run pod install again and it should work.

If you only see "Convert to Folder" in the menu (grayed out), it's already a group and something else is causing your issue.

Solution 2: Update the Xcodeproj Gem

The proper long-term fix is updating the xcodeproj gem to version 1.26.0 or later:

sudo gem install xcodeproj

If you're using Bundler:

bundle update xcodeproj

You may also need to update CocoaPods:

sudo gem install cocoapods
pod --version  # Should be 1.16.0 or higher

Finding Problem Folders

You can search your project file to see which items use the new format:

grep -r "PBXFileSystemSynchronizedRootGroup" YourProject.xcodeproj/

You might also encounter this error on Xcode 16.1+:

Unable to find compatibility version string for object version '70'

This can be fixed by editing your project.pbxproj file and changing objectVersion from 70 to 60, though updating the xcodeproj gem handles both issues.

More About Folders vs Groups

For a deeper explanation of why Apple made this change and how folders differ from groups, see this excellent writeup on Xcode folders vs groups. The short version: folders sync with your file system automatically and reduce project file churn, but older tools like CocoaPods need updates to support them.

For the full history of this issue, see the CocoaPods GitHub issue.

subscribe.sh

// Stay Updated

Get notified when I publish new tutorials on Swift, SwiftUI, and iOS development. No spam, unsubscribe anytime.

>

By subscribing, you agree to our Privacy Policy.