CocoaPods / CocoaPods/Xcodeproj

RuntimeError due to an ISA generated by Xcode

Open
#967 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
2.4k
Forks
488
PR merge metrics
No merged PRs in 30d

Description

Good afternoon everyone!

I have an app that uses pods. The initial target app was for iOS and the command `pod install` worked ok. I'm no expert in cocoa pods so bare with me if I use any term incorrectly.
Later, I added a new target application for Apple TV. Without updating the original pod file ran `pod install` again and for the following error:

```
RuntimeError - `PBXGroup` attempted to initialize an object with unknown ISA `PBXFileSystemSynchronizedRootGroup` from attributes: `{"isa"=>"PBXFileSystemSynchronizedRootGroup", "explicitFileTypes"=>{}, "explicitFolders"=>[], "path"=>"iptvTV", "sourceTree"=>""}`
If this ISA was generated by Xcode please file an issue: https://github.com/CocoaPods/Xcodeproj/issues/new
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project/object.rb:359:in `rescue in object_with_uuid'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project/object.rb:349:in `object_with_uuid'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project/object.rb:300:in `block (2 levels) in configure_with_plist'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project/object.rb:299:in `each'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project/object.rb:299:in `block in configure_with_plist'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project/object.rb:296:in `each'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project/object.rb:296:in `configure_with_plist'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project.rb:272:in `new_from_plist'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project/object.rb:350:in `object_with_uuid'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project/object.rb:290:in `block in configure_with_plist'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project/object.rb:287:in `each'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project/object.rb:287:in `configure_with_plist'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project.rb:272:in `new_from_plist'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project.rb:213:in `initialize_from_file'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/xcodeproj-1.25.0/lib/xcodeproj/project.rb:113:in `open'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/installer/analyzer.rb:1194:in `block (2 levels) in inspect_targets_to_integrate'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/installer/analyzer.rb:1193:in `each'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/installer/analyzer.rb:1193:in `block in inspect_targets_to_integrate'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/user_interface.rb:64:in `section'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/installer/analyzer.rb:1188:in `inspect_targets_to_integrate'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/installer/analyzer.rb:107:in `analyze'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:422:in `analyze'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:244:in `block in resolve_dependencies'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/user_interface.rb:64:in `section'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:243:in `resolve_dependencies'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/installer.rb:162:in `install!'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/command/install.rb:52:in `run'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/lib/cocoapods/command.rb:52:in `run'
/opt/homebrew/lib/ruby/gems/3.3.0/gems/cocoapods-1.15.2/bin/pod:55:in `'
/opt/homebrew/lib/ruby/gems/3.3.0/bin/pod:25:in `load'
/opt/homebrew/lib/ruby/gems/3.3.0/bin/pod:25:in `'
```

My current pod file looks like this:
```ruby
target 'iptv' do
use_frameworks!
platform :ios, '17.0'
pod 'MobileVLCKit', '~>3.3.0'

target 'iptvUnitTests' do
inherit! :search_paths
end

target 'iptvUnitPerformance' do
inherit! :search_paths
end

target 'iptvUITests' do
end
end

post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '17.0'
end
end
end
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in lib/xcodeproj/project/object.rb at object_with_uuid and configure_with_plist, then follow project.rb new_from_plist while reproducing the failure with the reported Xcode project and pod install. Done means a project containing PBXFileSystemSynchronizedRootGroup loads without the unknown-ISA RuntimeError.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.