patrol icon indicating copy to clipboard operation
patrol copied to clipboard

Patrol fails to build with Xcode 16.4 and iOS 18.5 - PBXFileSystemSynchronizedRootGroup incompatibility

Open arturograu opened this issue 1 month ago • 2 comments

Steps to reproduce

  1. Have a Flutter project with Xcode 16.4 installed
  2. Project must have iOS widget extensions (WidgetKit) which causes Xcode 16 to use the new PBXFileSystemSynchronizedRootGroup feature in project.pbxproj
  3. Ensure you're using iOS Simulator (iPhone 15 Pro, iOS 17.5 runtime with iOS 18.5 SDK)
  4. Run: patrol test --target integration_test/open_app_scenario_test.dart --flavor QA

Device: iOS Simulator (iPhone 15 Pro) OS Version: iOS 17.5 runtime, Xcode 16.4 with iOS 18.5 SDK

Actual results

Build fails during the xcodebuild phase with an assertion failure:

ASSERTION FAILURE in PBXFileSystemSynchronizedAbstractGroup.m:28
Assertion failed: IDEFileSystemSynchronizedGroupsAreEnabled()
Object: <PBXFileSystemSynchronizedRootGroup>
ProcessException: Process exited abnormally with exit code -6

The issue occurs because:

  • Xcode 16 introduced a new "File System Synchronized Groups" feature for widget extensions
  • This creates PBXFileSystemSynchronizedRootGroup entries in project.pbxproj
  • The xcodebuild tools used by Patrol cannot parse this new format
  • Attempting to use Xcode 15.4 also fails because it cannot parse Xcode 16's project format

This effectively blocks Patrol from working with any project that has been opened/modified in Xcode 16+.

Logs

Logs
Can't load Kernel binary: Invalid kernel binary format version.
FINE: Pub 3.9.2
FINE: Package Config up to date.
No device specified, using the first one (iPhone 15 Pro)
• Building app with entrypoint test_bundle.dart for iOS simulator (debug)...
	Resolving dependencies...
	Got dependencies!
	1 package is discontinued.
	138 packages have newer versions incompatible with dependency constraints.
	
	Oops; flutter has exited unexpectedly: "ProcessException: Process exited abnormally with exit code -6:
	Command line invocation:
	    /Applications/Xcode_15.4.app/Contents/Developer/usr/bin/xcodebuild -list
	
	User defaults from command line:
	    IDEPackageSupportUseBuiltinSCM = YES
	
	
	objc[83674]: Class _TtC12DVTDownloads15CommandLineTool is implemented in both /Applications/Xcode_15.4.app/Contents/SharedFrameworks/DVTDownloads.framework/Versions/A/DVTDownloads (0x104521988) and /Library/Developer/PrivateFrameworks/DVTDownloads.framework/Versions/A/DVTDownloads (0x11634ff48). This may cause spurious casting failures and mysterious crashes. One of the duplicates must be removed or renamed.
	2025-11-04 13:38:54.099 xcodebuild[83674:3744773]  DVTDeviceOperation: Encountered a build number "" that is incompatible with DVTBuildVersion.
	2025-11-04 13:38:54.318 xcodebuild[83674:3744734] [MT] DVTAssertions: ASSERTION FAILURE in DevToolsCore/Xcode3Core/LegacyProjects/Frameworks/DevToolsCore/DevToolsCore/ProjectModel/DataModel/References/SynchronizedGroups/PBXFileSystemSynchronizedAbstractGroup.m:28
	Details:  Assertion failed: IDEFileSystemSynchronizedGroupsAreEnabled()
	Object:   <PBXFileSystemSynchronizedRootGroup>
	Method:   +allocWithZone:
	Thread:   <_NSMainThread: 0x157e10e80>{number = 1, name = main}
	
✗ Failed to build app with entrypoint test_bundle.dart for iOS simulator (`flutter  build ios` exited with code 1) (22.0s)
Error: `flutter  build ios` exited with code 1

Patrol version

patrol: ^3.19.0

Patrol Doctor output

Patrol Doctor output
$ patrol doctor
Patrol CLI version: 2.3.1+1
Program adb found in /Users/arturograu/androidsdk/platform-tools/adb
Env var $ANDROID_HOME set to /Users/arturograu/androidsdk
Program xcodebuild found in /usr/bin/xcodebuild
Program ideviceinstaller found in /opt/homebrew/bin/ideviceinstaller

Flutter Doctor output

Flutter Doctor output
[✓] Flutter (Channel stable, 3.35.4, on macOS 15.6.1 24G90 darwin-arm64, locale en-US)
    • Flutter version 3.35.4 on channel stable at /Users/arturograu/Tools/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d693b4b9db (7 weeks ago), 2025-09-16 14:27:41 +0000
    • Engine revision c298091351
    • Dart version 3.9.2
    • DevTools version 2.48.0

[✓] Xcode - develop for iOS and macOS (Xcode 16.4)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16F6
    • CocoaPods version 1.16.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2025.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.6+-13391695-b895.109)

[✓] VS Code (version 1.101.2)
    • VS Code at /Users/arturograu/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.120.0

[✓] Connected device (4 available)
    • iPhone de Arturo (wireless) (mobile) • 00008140-001038E20ABA801C            • ios            • iOS 18.5 22F76
    • iPhone 15 Pro (mobile)                • C4A4D36D-B5B4-4287-B573-888351D4BFF6 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-5 (simulator)
    • macOS (desktop)                       • macos                                • darwin-arm64   • macOS 15.6.1 24G90 darwin-arm64
    • Chrome (web)                          • chrome                               • web-javascript • Google Chrome 142.0.7444.60

[✓] Network resources
    • All expected network resources are available.

• No issues found!

arturograu avatar Nov 04 '25 05:11 arturograu

Hi @arturograu please try running patrol test with flag --ios=17.5 (adjust value if needed) and let me know if it helped.

zoskar avatar Nov 05 '25 13:11 zoskar

Hi @arturograu please try running patrol test with flag --ios=17.5 (adjust value if needed) and let me know if it helped.

Hello @zoskar thank you for your help but it still didn't work. I tried that previously already.

arturograu avatar Nov 06 '25 04:11 arturograu

Based on your patrol doctor output

Patrol CLI version: 2.3.1+1

you're using two years old patrol_cli version, with almost the newest patrol version. Check the compatibility tablet: https://patrol.leancode.co/documentation/compatibility-table you should use patrol_cli 3.9.0 - 3.10.0

pdenert avatar Nov 17 '25 23:11 pdenert

Without additional information, we can't resolve this issue. We're therefore reluctantly going to close it. Feel free to open a new issue with all the required information provided, including a [minimal, reproducible sample]. Make sure to diligently fill out the issue template. Thanks for your contribution. [minimal, reproducible sample]: https://stackoverflow.com/help/minimal-reproducible-example

github-actions[bot] avatar Nov 25 '25 00:11 github-actions[bot]