Cocoapods: pod with configurations argument inside abstract_target fails

Created on 18 May 2016  路  9Comments  路  Source: CocoaPods/CocoaPods

What did you do?

Add pod to abstract target that should be used just in Debug configuration. Run pod install

What did you expected to happen?

this pod is linked just for Debug configuration

What happened instead?

pod install failed

CocoaPods Environment

Stack

   CocoaPods : 1.0.0
        Ruby : ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]
    RubyGems : 2.0.14
        Host : Mac OS X 10.11.3 (15D21)
       Xcode : 7.3 (7D175)
         Git : git version 2.6.4 (Apple Git-63)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ 30861c42f8bc20e2570436df0c85c3ac924c177e

Plugins

cocoapods-deintegrate : 1.0.0
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.0.0
cocoapods-trunk       : 1.0.0
cocoapods-try         : 1.0.0

Podfile

use_frameworks!
platform :ios, '8.0'
inhibit_all_warnings!

workspace 'X'
project 'X.xcodeproj'

abstract_target 'XX' do

   pod 'AFNetworkActivityLogger', :configurations => ['Debug']

end

Error

TypeError - no implicit conversion of Array into String
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-1.0.0/lib/cocoapods-core/podfile/target_definition.rb:699:in `+'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-1.0.0/lib/cocoapods-core/podfile/target_definition.rb:699:in `block in configuration_pod_whitelist'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-1.0.0/lib/cocoapods-core/podfile/target_definition.rb:699:in `merge'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-1.0.0/lib/cocoapods-core/podfile/target_definition.rb:699:in `configuration_pod_whitelist'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-1.0.0/lib/cocoapods-core/podfile/target_definition.rb:422:in `all_whitelisted_configurations'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:245:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:245:in `flat_map'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:245:in `validate_build_configurations'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:152:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/user_interface.rb:63:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:150:in `resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/installer.rb:114:in `install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/command/install.rb:37:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-1.0.0/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/lib/cocoapods/command.rb:50:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.0.0/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'
awaiting input

Most helpful comment

I have the 'same' - just in a concrete target

All 9 comments

That's odd, you should be getting an error about the pod not being used in any concrete targets

I have the same error with a more complete Podfile and an previous version.

If I remove the configuration: 'Debug' part of FLEX it works. If I move FLEX into the concrete target it also works.

Stack

   CocoaPods : 1.0.0.beta.6
        Ruby : ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
    RubyGems : 2.0.14.1
        Host : Mac OS X 10.11.4 (15E65)
       Xcode : 7.3.1 (7D1014)
         Git : git version 2.8.1
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ cc360bd04dd22a93337d611737c537c26a046bef

Plugins

cocoapods-deintegrate : 1.0.0.beta.1
cocoapods-plugins     : 1.0.0.beta.1
cocoapods-search      : 1.0.0.beta.1
cocoapods-stats       : 1.0.0.beta.3
cocoapods-trunk       : 1.0.0.beta.2
cocoapods-try         : 1.0.0.beta.3

Podfile

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

platform :ios, '8.0'

inhibit_all_warnings!

use_frameworks!
install! 'cocoapods', integrate_targets: false

workspace 'Example.xcworkspace'
project 'Example/Example.xcodeproj'

abstract_target 'Example' do
  pod 'CocoaLumberjack/Swift', '~> 2.2.0'

  abstract_target 'App' do
    pod 'FLEX', '~> 2.3.0', configuration: 'Debug'

    target 'ExampleApp' do
      pod 'Fingertips', :configurations => ['Debug']
    end
  end
end

Error

TypeError - no implicit conversion of Array into String
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-core-1.0.0.beta.6/lib/cocoapods-core/podfile/target_definition.rb:695:in `+'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-core-1.0.0.beta.6/lib/cocoapods-core/podfile/target_definition.rb:695:in `block in configuration_pod_whitelist'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-core-1.0.0.beta.6/lib/cocoapods-core/podfile/target_definition.rb:695:in `merge'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-core-1.0.0.beta.6/lib/cocoapods-core/podfile/target_definition.rb:695:in `configuration_pod_whitelist'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-core-1.0.0.beta.6/lib/cocoapods-core/podfile/target_definition.rb:420:in `all_whitelisted_configurations'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-1.0.0.beta.6/lib/cocoapods/installer.rb:245:in `each'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-1.0.0.beta.6/lib/cocoapods/installer.rb:245:in `flat_map'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-1.0.0.beta.6/lib/cocoapods/installer.rb:245:in `validate_build_configurations'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-1.0.0.beta.6/lib/cocoapods/installer.rb:152:in `block in resolve_dependencies'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-1.0.0.beta.6/lib/cocoapods/user_interface.rb:63:in `section'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-1.0.0.beta.6/lib/cocoapods/installer.rb:150:in `resolve_dependencies'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-1.0.0.beta.6/lib/cocoapods/installer.rb:114:in `install!'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-1.0.0.beta.6/lib/cocoapods/command/install.rb:37:in `run'
/Users/daniel/.gem/ruby/2.0.0/gems/claide-1.0.0.rc.1/lib/claide/command.rb:334:in `run'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-1.0.0.beta.6/lib/cocoapods/command.rb:50:in `run'
/Users/daniel/.gem/ruby/2.0.0/gems/cocoapods-1.0.0.beta.6/bin/pod:44:in `<top (required)>'
/Users/daniel/.gem/ruby/2.0.0/bin/pod:23:in `load'
/Users/daniel/.gem/ruby/2.0.0/bin/pod:23:in `<main>'

I have same issue any way to resolve this

Stack

   CocoaPods : 1.0.1
        Ruby : ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
    RubyGems : 2.4.5.1
        Host : Mac OS X 10.11.6 (15G31)
       Xcode : 8.0 (8A218a)
         Git : git version 2.8.4 (Apple Git-73)
Ruby lib dir : /usr/local/Cellar/ruby/2.2.3/lib
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ cc360bd04dd22a93337d611737c537c26a046bef

Plugins

cocoapods-deintegrate : 1.0.1
cocoapods-keys        : 1.6.0
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.0.0
cocoapods-trunk       : 1.0.0
cocoapods-try         : 1.1.0

Podfile

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

platform :ios, '8.0'
use_frameworks!

workspace 'SampleApp.xcworkspace'
project 'SampleApp/SampleApp.xcodeproj'

abstract_target 'SampleApp_Abstract_Target' do
  pod 'CocoaLumberjack/Swift', '~> 2.2.0'

  target 'SampleApp' do
    pod 'FLEX', '~> 2.3.0', configuration: 'Debug'
    end

    target 'UnitTests' do
      pod 'Fingertips', :configurations => ['Debug']
  end
end

+1, pod with ['Debug'] configuration in abstract_target seems not working.

I'm facing the same problem, but my configuration is different. I'm not using abstract targets and have a different inherit setting.

This works

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

platform :ios, '10.0'

project 'Conosci_Italiano', 'Debug' => :debug

# Uncomment this line if you use Swift
use_frameworks!

target 'Conosci_Italiano' do
  pod 'Curry', '~> 3.0.0'
  pod 'Firebase', '~> 3.11.0'
  pod 'FirebaseAuth', '~> 3.1.0'
  pod 'FirebaseDatabase', '~> 3.1.1'
  pod 'JVFloatLabeledTextField', '~> 1.1.1'
  pod 'NSObject+Rx', '~> 2.0.0'
  pod 'NSString-Helper', '~> 1.0.5'
  pod 'PureLayout', '~> 3.0.2'
  pod 'Reveal-SDK', :configurations => ['Debug']
  pod 'RxDataSources', '~> 1.0.2'
  pod 'RxCocoa', '~> 3.1.0'
  pod 'RxOptional', '~> 3.1.3'
  pod 'RxSwift', '~> 3.1.0'

  target 'UnitTests' do
    inherit! :complete

    pod 'Quick', '~> 1.0.0'
    pod 'Nimble', '~> 5.1.1'
    pod 'Nimble-Snapshots'
    pod 'Nimble-Snapshots/DynamicSize'
    pod 'PivotalCoreKit', '~> 0.3.2'
    pod 'PivotalCoreKit/UIKit/SpecHelper/Extensions', '~> 0.3.2'
    pod 'RxBlocking', '~> 3.1.0'
    pod 'TUDelorean', :git => 'https://github.com/tuenti/TUDelorean'
  end

  target 'FlowTests' do
    inherit! :complete

    pod 'KIF', '~> 3.0'
  end

end

While this doesn't:

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

platform :ios, '10.0'

project 'Conosci_Italiano', 'Debug' => :debug

# Uncomment this line if you use Swift
use_frameworks!

target 'Conosci_Italiano' do
  pod 'Curry', '~> 3.0.0'
  pod 'Firebase', '~> 3.11.0'
  pod 'FirebaseAuth', '~> 3.1.0'
  pod 'FirebaseDatabase', '~> 3.1.1'
  pod 'JVFloatLabeledTextField', '~> 1.1.1'
  pod 'NSObject+Rx', '~> 2.0.0'
  pod 'NSString-Helper', '~> 1.0.5'
  pod 'PureLayout', '~> 3.0.2'
  pod 'Reveal-SDK', :configurations => ['Debug']
  pod 'RxDataSources', '~> 1.0.2'
  pod 'RxCocoa', '~> 3.1.0'
  pod 'RxOptional', '~> 3.1.3'
  pod 'RxSwift', '~> 3.1.0'

  target 'UnitTests' do
    inherit! :complete

    pod 'Quick', '~> 1.0.0'
    pod 'Nimble', '~> 5.1.1'
    pod 'Nimble-Snapshots'
    pod 'Nimble-Snapshots/DynamicSize'
    pod 'PivotalCoreKit', '~> 0.3.2'
    pod 'PivotalCoreKit/UIKit/SpecHelper/Extensions', '~> 0.3.2'
    pod 'RxBlocking', '~> 3.1.0'
    pod 'TUDelorean', :git => 'https://github.com/tuenti/TUDelorean'
  end

  target 'FlowTests' do
    inherit! :complete

    pod 'KIF', '~> 3.0', :configurations => ['Debug']
  end

end

The only difference is this: pod 'KIF', '~> 3.0', :configurations => ['Debug']. Omitting the :configurations setting makes it work.

Stack

   CocoaPods : 1.2.0
        Ruby : ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin14.0]
    RubyGems : 2.2.2
        Host : Mac OS X 10.12.3 (16D32)
       Xcode : 8.2.1 (8C1002)
         Git : git version 2.9.0
Ruby lib dir : /Users/MJ/.rbenv/versions/2.1.3/lib
Repositories : bitbucket-m17specs - [email protected]:MOLO17/m17specs.git @ 6d8f8af4713929f55f6707fd0b9cb67dfa1c6232
               cocoapods - https://github.com/CocoaPods/Old-Specs @ 6e256ccc84aad851d401fabb79b2c0f9e09bb875
               master - https://github.com/CocoaPods/Specs.git @ 68cb929b6a8902e1acd819d19931f10aff62eb54

Error

TypeError - no implicit conversion of Array into String
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-core-1.2.0/lib/cocoapods-core/podfile/target_definition.rb:737:in `+'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-core-1.2.0/lib/cocoapods-core/podfile/target_definition.rb:737:in `block in configuration_pod_whitelist'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-core-1.2.0/lib/cocoapods-core/podfile/target_definition.rb:737:in `merge'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-core-1.2.0/lib/cocoapods-core/podfile/target_definition.rb:737:in `configuration_pod_whitelist'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-core-1.2.0/lib/cocoapods-core/podfile/target_definition.rb:445:in `all_whitelisted_configurations'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:254:in `each'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:254:in `flat_map'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:254:in `validate_build_configurations'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:151:in `block in resolve_dependencies'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.2.0/lib/cocoapods/user_interface.rb:64:in `section'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:149:in `resolve_dependencies'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.2.0/lib/cocoapods/installer.rb:110:in `install!'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.2.0/lib/cocoapods/command/install.rb:37:in `run'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/claide-1.0.1/lib/claide/command.rb:334:in `run'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.2.0/lib/cocoapods/command.rb:52:in `run'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-1.2.0/bin/pod:55:in `<top (required)>'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bin/pod:23:in `load'
/Users/MJ/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bin/pod:23:in `<main>'

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

I have the 'same' - just in a concrete target

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

This issue will be auto-closed because there hasn't been any activity for a few months. Feel free to open a new one if you still experience this problem :+1:

Was this page helpful?
0 / 5 - 0 ratings

Related issues

steffendsommer picture steffendsommer  路  3Comments

hmistry picture hmistry  路  3Comments

pronebird picture pronebird  路  3Comments

iosdev-republicofapps picture iosdev-republicofapps  路  3Comments

evermeer picture evermeer  路  3Comments