Cocoapods: error: unexpected duplicate task: CompileXIB

Created on 27 Sep 2017  Â·  7Comments  Â·  Source: CocoaPods/CocoaPods

Report

What did you do?

Archive a project in XCode 9 (New Build System), Swift 3.2.
The Archive succeeds with the Legacy Build System selected.
The app Builds and Runs on the simulator correctly with the New Build System selected

What did you expect to happen?

Archive to be created

What happened instead?

Errors:
unexpected duplicate task: CompileXIB /Users/dmorrow/Documents/work/client/***/***/Pods/XLActionController/Source/ActionCell.xib (in target 'XLActionController')

This error appears twice

Warnings:
Target Pods-*** product Pods_*** cannot link framework Foundation.framework

This warning appears twice

CocoaPods Environment

Stack

   CocoaPods : 1.3.1
        Ruby : ruby 2.1.10p492 (2016-04-01 revision 54464) [x86_64-darwin16.0]
    RubyGems : 2.6.12
        Host : Mac OS X 10.12.6 (16G29)
       Xcode : 9.0 (9A235)
         Git : git version 2.13.5 (Apple Git-94)
Ruby lib dir : /Users/dmorrow/.rvm/rubies/ruby-2.1.10/lib
Repositories : contentful - https://github.com/contentful/CocoaPodsSpecs @ 8d4011c56a20d642f2992c7ec9cd710b45306f26
               dmorrow - https://github.com/dmorrow/CocoaPodsSpecs @ 6cbcff84b43858c79e9288b1009811b9d47f250a
               master - https://github.com/CocoaPods/Specs.git @ 137010290ba9fc0de61acd584c7b81926ae1191d
               ooyala - https://github.com/ooyala/ios-sdk-podspecs @ 05a0ea2c7da0a799cbc0ab7e4d9da4c4ab97c075

Installation Source

Executable Path: /Users/dmorrow/.rvm/rubies/ruby-2.1.10/bin/pod

Plugins

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

Podfile

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

project 'extend/extend.xcodeproj'

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
use_frameworks!
inhibit_all_warnings!

workspace 'extend'
project 'extend/extend.xcodeproj'

target 'extend' do
    pod 'Alamofire', '~>4.0'
    pod 'AlamofireImage', '~> 3.0'
    pod 'DateToolsSwift'
    pod 'MGSwipeTableCell'
    pod 'GoogleAnalytics'
    pod 'PusherSwift'
    pod 'Fabric', '~> 1.6'
    pod 'Crashlytics', '~> 3.6'
    pod 'Reveal-SDK', :configurations => ['Debug']
    pod 'AlamofireObjectMapper', '~> 4.0'
    pod 'UTSwiftUtils' #, :path => '~/Documents/Work/swift frameworks/UTSwiftUtils'
    pod 'SwiftyJSON'
    pod 'RealmSwift'
    pod 'XLActionController', '~> 3.0'
    pod 'Analytics', '~> 3.0'
    pod 'Segment-GoogleAnalytics'
    pod 'Lock', :git => 'https://github.com/dmorrow/Lock.swift', :branch => 'patch-1'
    pod 'ReachabilitySwift'
    pod 'SAMKeychain'
end

pre_install do |installer|
    # workaround for https://github.com/CocoaPods/CocoaPods/issues/3289
    Pod::Installer::Xcode::TargetValidator.send(:define_method, :verify_no_static_framework_transitive_dependencies) {}
end

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '3.2'

            if config.name == "Debug"
                config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = "DEBUG"
            elsif config.name == "Internal"
                config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = "BETA"
            end

            if config.build_settings['PRODUCT_NAME'] == "Segment_GoogleAnalytics"
                config.build_settings['LIBRARY_SEARCH_PATHS'] = ["$(inherited)", "$(PODS_ROOT)/GoogleAnalytics/Libraries", "$(PODS_ROOT)/GoogleIDFASupport/Libraries"]
                config.build_settings['OTHER_LDFLAGS'] = %Q{-weak_framework "CoreData" -weak_framework "SystemConfiguration" -l"z" -l"sqlite3" -l"sqlite3.0" -l"GoogleAnalytics"}
            end

        end
    end
end
new build system awaiting input

Most helpful comment

It's about New Build System, it's now very strict about duplicate file & not being compiled file to achieve optimal build speed & performance I think.

That Pod (XLActionController)'s author should update their repo to support new build system.

Here's a solution

screen shot 2017-11-16 at 9 17 11 am
ActionCell.Xib should be removed from compiled sources

All 7 comments

There has been zero work for supporting/qa'ing new build system yet. I will tag this as such and keep it open.

It's about New Build System, it's now very strict about duplicate file & not being compiled file to achieve optimal build speed & performance I think.

That Pod (XLActionController)'s author should update their repo to support new build system.

Here's a solution

screen shot 2017-11-16 at 9 17 11 am
ActionCell.Xib should be removed from compiled sources

What does that mean? I thought the "Pod" project is auto generated by CocoaPods so shouldn't CocoaPods filter or clear duplicated entries with same paths on project generation?

The issue was due to the library itself not by cocoapods. I was just helping him fix that error.

Yep… same case here. It's fixed when you add resources (xibs, assets, etc.) to resources and not to the source files. Maybe the linting should warn for this if you are trying to add xib files to the source files?

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

soleares picture soleares  Â·  3Comments

spencerkohan picture spencerkohan  Â·  3Comments

iosdev-republicofapps picture iosdev-republicofapps  Â·  3Comments

luhui picture luhui  Â·  3Comments

gerchicov-bp picture gerchicov-bp  Â·  3Comments