Cocoapods: 1.7.0.rc.2 regression: Pod::Specification::Consumer is not compatible with watchos

Created on 26 May 2019  ·  19Comments  ·  Source: CocoaPods/CocoaPods

Report

Note: based on my tests, this breakage was introduced in CocoaPods 1.7.0.rc.2:

✅ 1.6.2
✅ 1.7.0.beta.1
✅ 1.7.0.beta.2
✅ 1.7.0.beta.3
✅ 1.7.0.rc.1
❌ 1.7.0.rc.2
❌ 1.7.0
❌ master as of 25 May 2019, using commit https://github.com/CocoaPods/CocoaPods/commit/a324dcc896a73f8ee91d27512c96eb9349872a19

What did you do?

  1. Update my CocoaPods 1.6.1 project to CocoaPods 1.7.0.
  2. Run bundle exec pod install.

What did you expect to happen?

Install all pod dependencies correctly.

What happened instead?

Pod::StandardError - #<Pod::Specification::Consumer:0x00007fee77931198> is not compatible with watchos.
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-core-1.7.0/lib/cocoapods-core/specification/consumer.rb:39:in `initialize'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-core-1.7.0/lib/cocoapods-core/specification.rb:407:in `new'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-core-1.7.0/lib/cocoapods-core/specification.rb:407:in `consumer'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-1.7.0/lib/cocoapods/target/pod_target.rb:156:in `headers_sandbox'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-1.7.0/lib/cocoapods/installer.rb:433:in `block in clean_sandbox'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-1.7.0/lib/cocoapods/installer.rb:432:in `each'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-1.7.0/lib/cocoapods/installer.rb:432:in `clean_sandbox'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-1.7.0/lib/cocoapods/installer.rb:279:in `generate_pods_project'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-1.7.0/lib/cocoapods/installer.rb:159:in `install!'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-1.7.0/lib/cocoapods/command/install.rb:51:in `run'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-1.7.0/lib/cocoapods/command.rb:52:in `run'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/gems/cocoapods-1.7.0/bin/pod:55:in `<top (required)>'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/bin/pod:23:in `load'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/bin/pod:23:in `<main>'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/bin/ruby_executable_hooks:24:in `eval'
/Users/zeisenberg/.rvm/gems/ruby-2.5.3/bin/ruby_executable_hooks:24:in `<main>'

CocoaPods Environment

Stack

   CocoaPods : 1.7.0
        Ruby : ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18]
    RubyGems : 2.7.9
        Host : Mac OS X 10.14.5 (18F203)
       Xcode : 10.2.1 (10E1001)
         Git : git version 2.21.0
Ruby lib dir : /Users/zeisenberg/.rvm/rubies/ruby-2.5.3/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ 25b84d28f39bd50e5a3c1f50525e59e1ab3d1025

Installation Source

Executable Path: /Users/zeisenberg/.rvm/gems/ruby-2.5.3/bin/pod

Plugins

cocoapods-deintegrate : 1.0.4
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.1.0
cocoapods-trunk       : 1.3.1
cocoapods-try         : 1.1.0

Podfile

def swiftgraph
  pod 'SwiftGraph'
end

###### Global ######

pod 'SwiftLint'
pod 'SwiftGen'

###### iOS ######

def ios_setup
  platform :ios, '11.0'
  use_frameworks!
end

target 'SiteswapKit-iOS' do
  ios_setup
  swiftgraph
end

target 'SiteswapKitTests-iOS' do
  ios_setup
end

target 'Jugglebot-iOS' do
  ios_setup
  pod 'Anchorage'
  pod 'BonMot'
  pod 'SimulatorStatusMagic', :configurations => ['Debug']
  pod 'Swiftilities/Acknowledgements'
  pod 'Swiftilities/HairlineView'
  pod 'Swiftilities/Keyboard'
  pod 'Swiftilities/Math'
  pod 'Then'
  pod 'RxSwift'
  pod 'RxCocoa'
end

###### watchOS ######

def watchos_setup
  platform :watchos, '4.0'
  use_frameworks!
end

target 'SiteswapKit-watchOS' do
  watchos_setup
end

target 'Jugglebot-watchOS' do
  watchos_setup
end

target 'Jugglebot-watchOS Extension' do
  watchos_setup
  pod 'Then'
  pod 'Swiftilities/Math'
  pod 'RxSwift'
end

###### macOS ######

def macos_setup
  platform :macos, '10.13'
  use_frameworks!
end

target 'SiteswapKit-macOS' do
  macos_setup
  swiftgraph
end

target 'SiteswapKitTests-macOS' do
  macos_setup
end

target 'Jugglebot-macOS' do
  macos_setup
  pod 'Then'
  pod 'Anchorage'
  pod 'Swiftilities/Math'
end

target 'Snapshotter' do
  macos_setup
  pod 'Anchorage'
  pod 'Then'
  pod 'Swiftilities/Math'
  pod 'Swifter'
end

target 'SnapshotterTests' do
  macos_setup
  pod 'SwiftGraph'
end

###### tvOS ######

def tvos_setup
  platform :tvos, '11.0'
  use_frameworks!
end

target 'SiteswapKit-tvOS' do
  tvos_setup
  swiftgraph
end

target 'SiteswapKitTests-tvOS' do
  tvos_setup
end

target 'Jugglebot-tvOS' do
  tvos_setup
  pod 'Then'
  pod 'Anchorage'
  pod 'Swiftilities/Math'
end

post_install do | installer |
  require 'fileutils'
  FileUtils.cp_r('Pods/Target Support Files/Pods-Jugglebot-iOS/Pods-Jugglebot-iOS-acknowledgements.plist', 'Jugglebot-iOS/Resources/Acknowledgements.plist', :remove_destination => true)
end

Project that demonstrates the issue

https://cl.ly/12576cc19713 (all Swift files’ contents replaced by // REDACTED, but it still works with pod install with 1.6.1, and breaks with 1.7.0.

Most helpful comment

Fix was merged. Closing and will ship with 1.7.4.

Use https://bundler.io/ if you want to point to a specific SHA or branch to get the fix quicker.

All 19 comments

Amazing report thanks.

@ZevEisenberg I think this is fixed in 1.7.1. Can you try 1-7-stable branch. I havent merged 1-7-stable to master yet.

Success! Thanks, @dnkoutso!

don't working for us! The problem fixing only with 1.7.0.rc.1.

@dnkoutso have the same problem on 1.7.1 but stack trace and project structure is different.

Pod::StandardError - #<Pod::Specification::Consumer:0x00007f9e9740bef0> is not compatible with watchos.
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-core-1.7.1/lib/cocoapods-core/specification/consumer.rb:39:in `initialize'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-core-1.7.1/lib/cocoapods-core/specification.rb:407:in `new'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-core-1.7.1/lib/cocoapods-core/specification.rb:407:in `consumer'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/target/pod_target.rb:486:in `scheme_for_spec'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer/xcode/pods_project_generator.rb:225:in `block in configure_schemes_for_pod_target'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer/xcode/pods_project_generator.rb:223:in `each'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer/xcode/pods_project_generator.rb:223:in `configure_schemes_for_pod_target'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer/xcode/pods_project_generator.rb:88:in `block in configure_schemes'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer/xcode/pods_project_generator.rb:86:in `each'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer/xcode/pods_project_generator.rb:86:in `configure_schemes'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer.rb:321:in `block (2 levels) in create_and_save_projects'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer.rb:320:in `each'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer.rb:320:in `block in create_and_save_projects'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/user_interface.rb:64:in `section'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer.rb:290:in `create_and_save_projects'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer.rb:281:in `generate_pods_project'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/installer.rb:159:in `install!'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/command/install.rb:51:in `run'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/lib/cocoapods/command.rb:52:in `run'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib/ruby/gems/2.5.0/gems/cocoapods-1.7.1/bin/pod:55:in `<top (required)>'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/bin/pod:23:in `load'
/Users/sftnhrd/.rvm/rubies/ruby-2.5.3/bin/pod:23:in `<main>'

CocoaPods Environment

   CocoaPods : 1.7.1
        Ruby : ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18]
    RubyGems : 3.0.3
        Host : Mac OS X 10.14.5 (18F203)
       Xcode : 10.2.1 (10E1001)
         Git : git version 2.20.1 (Apple Git-117)
Ruby lib dir : /Users/sftnhrd/.rvm/rubies/ruby-2.5.3/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ aa097c7ba1389c88ea36698443cbda42de494200

Podfile

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '10.0'

install! 'cocoapods', :disable_input_output_paths => true

use_frameworks!
inhibit_all_warnings! # ignore all warnings from all pods

workspace 'TestCocoapods'

def pandora
  pod 'Pandora', :path => '../Pandora'
end

def pandoraWatch
  pod 'Pandora/WatchOS', :path => '../Pandora'
end

target 'TestCocoapods' do
    use_frameworks!
    project 'TestCocoapods.xcodeproj'
    pandora
end

target 'TestCocoapodsWatch' do
    project 'TestCocoapods.xcodeproj'
    use_frameworks!
    platform :watchos, '4.0'
    pandoraWatch
end

Project that demonstrates the issue

https://www.dropbox.com/s/fbkh4anhx5o3f5u/TestCocoaPods.zip?dl=0

Fixed in 1.7.2 which is shipping today/tomorrow.

Your issue is different than this one. Its this one instead https://github.com/CocoaPods/CocoaPods/pull/8882 which is fixed in 1.7.2 as I mentioned above.

I see a similar issue on 1.7.2 for tvos, works when I revert to 1.6.2

Problem still occurs in 1.7.2:

Pod::StandardError - #<Pod::Specification::Consumer:0x00007fdf494bf2f0> is not compatible with watchos.
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-core-1.7.2/lib/cocoapods-core/specification/consumer.rb:39:in `initialize'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-core-1.7.2/lib/cocoapods-core/specification.rb:407:in `new'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-core-1.7.2/lib/cocoapods-core/specification.rb:407:in `consumer'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/target/pod_target.rb:494:in `scheme_for_spec'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer/xcode/pods_project_generator.rb:227:in `block in configure_schemes_for_pod_target'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer/xcode/pods_project_generator.rb:225:in `each'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer/xcode/pods_project_generator.rb:225:in `configure_schemes_for_pod_target'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer/xcode/pods_project_generator.rb:88:in `block in configure_schemes'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer/xcode/pods_project_generator.rb:86:in `each'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer/xcode/pods_project_generator.rb:86:in `configure_schemes'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:321:in `block (2 levels) in create_and_save_projects'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:320:in `each'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:320:in `block in create_and_save_projects'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/user_interface.rb:64:in `section'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:290:in `create_and_save_projects'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:281:in `generate_pods_project'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/installer.rb:159:in `install!'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/command/update.rb:62:in `run'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/lib/cocoapods/command.rb:52:in `run'
/Users/gentz/.rbenv/versions/2.4.5/lib/ruby/gems/2.4.0/gems/cocoapods-1.7.2/bin/pod:55:in `<top (required)>'
/Users/gentz/.rbenv/versions/2.4.5/bin/pod:23:in `load'
/Users/gentz/.rbenv/versions/2.4.5/bin/pod:23:in `<main>'

Need the full stacktrace and clear steps to reproduce

Updated the stacktrace. I drilled it down to this minimum Podfile:

source '[email protected]:CocoaPods/Specs.git'

project 'Foo'
platform :ios, '11.0'
use_frameworks!
inhibit_all_warnings!

target 'FooWatch' do
    platform :watchos, '4.2'
    pod 'IGListKit/Diffing', :git => '[email protected]:futuretap/IGListKit.git'
end

Thanks will check!

On Wed, Jun 26, 2019 at 10:59 AM Ortwin Gentz, FutureTap <
[email protected]> wrote:

Updated the stacktrace. I drilled it down to this minimum Podfile:

source '[email protected]:CocoaPods/Specs.git'

project 'Foo'
platform :ios, '11.0'
use_frameworks!
inhibit_all_warnings!

target 'FooWatch' do
platform :watchos, '4.2'
pod 'IGListKit/Diffing', :git => '[email protected]:futuretap/IGListKit.git'
end


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CocoaPods/CocoaPods/issues/8850?email_source=notifications&email_token=AACLYYQNX3V3WEIX3KXNYP3P4MVVLA5CNFSM4HPVYTTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYS3BVY#issuecomment-505786583,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACLYYUF6DQXPKVIAWJFLTLP4MVVLANCNFSM4HPVYTTA
.

Did you check? Can this issue be reopened until then? Otherwise it's easy to forget about it…

looking into it.

@futuretap

I cant pod install your Podfile:

[!] Error installing IGListKit
[!] Failed to download 'IGListKit': [!] /usr/local/bin/git clone [email protected]:futuretap/IGListKit.git /var/folders/g7/83vp4gbx2q58k1wd02f17b4r0000gn/T/d20190703-50346-1nnnulf --template= --single-branch --depth 1

Cloning into '/var/folders/g7/83vp4gbx2q58k1wd02f17b4r0000gn/T/d20190703-50346-1nnnulf'...
Warning: Permanently added the RSA host key for IP address '192.30.253.112' to the list of known hosts.
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

One sec sorry I updated the git url in the Podfile.

Fix was merged. Closing and will ship with 1.7.4.

Use https://bundler.io/ if you want to point to a specific SHA or branch to get the fix quicker.

Shipped with 1.7.4.

Was this page helpful?
0 / 5 - 0 ratings