ioscocoapodsxcodebuildxcode10archiving

Xcode 10 archiving fails - only on command line (xcodebuild)


I'm having issues with archiving on my CI machine (Jenkins), when running the process manually on the SAME machine but with the Xcode UI, everything works just fine.

The error I get is:

<unknown>:0: error: cannot have input files with file list

** ARCHIVE FAILED **


The following build commands failed:
    CompileSwift normal armv7
    CompileSwiftSources normal armv7 com.apple.xcode.tools.swift.compiler
    CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
    CompileSwift normal arm64
(4 failures)

The original command it's executing on failure is VERY long (68K+ characters), here it is stripped down from all pods/app info:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift @/var/folders/cc/h3hp1kt14rv3j5t_lybwwgqh0000gp/T/arguments-ece6e3.resp # -frontend -c -filelist /var/folders/cc/h3hp1kt14rv3j5t_lybwwgqh0000gp/T/sources-e4a704 -supplementary-output-file-map /var/folders/cc/h3hp1kt14rv3j5t_lybwwgqh0000gp/T/supplementaryOutputs-4e5601 -target arm64-apple-ios10.0 -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk  -g -module-cache-path / ... /ModuleCache.noindex -swift-version 4 -O -D RELEASE -serialize-debugging-options ...  -module-name APPNAME -num-threads 8 -output-filelist /var/folders/cc/h3hp1kt14rv3j5t_lybwwgqh0000gp/T/outputs-3df91d

Some more info:

  1. Using Cocoapods 1.5.3 (also reproduces with latest 1.6.0_beta.1)
  2. Using the "Legacy Build System"
  3. the exact command I'm running to archive is: xcodebuild -scheme APPSCHEME -workspace APPNAME.xcworkspace -configuration Release clean build archive -derivedDataPath "../build" -archivePath "../build/APPNAME.xcarchive"

Just to make things even more interesting, when running the archive command on my local machine I see no failures... VERY strange and inconsistent.

Any help will be appreciated!


Solution

  • Eventually I figured it out, it's something that looks really UNRELATED, and yet it was the only thing that fixed the described issue for me.

    Go to your build settings and remove any recursive search paths you have there. That's it. (any search path that ends with ** is a recursive one).

    Good luck!