web-dev-qa-db-ja.com

Xcode 10のアーカイブが失敗する-コマンドラインのみ(xcodebuild)

CIマシン(Jenkins)でのアーカイブに問題があります。同じマシンでプロセスを手動で実行するときにXcode UIを使用すると、すべて正常に動作します。

私が得るエラーは:

<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)

失敗時に実行する元のコマンドは非常に長い(68K +文字)ため、ここではすべてのポッド/アプリ情報から削除されます。

/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

詳細情報:

  1. Cocoapods 1.5.3の使用(最新の1.6.0_beta.1でも再現)
  2. 「レガシービルドシステム」の使用
  3. アーカイブするために実行している正確なコマンドは:xcodebuild -scheme APPSCHEME -workspace APPNAME.xcworkspace -configuration Release clean build archive -derivedDataPath "../build" -archivePath "../build/APPNAME.xcarchive"

物事をさらに面白くするために、ローカルコンピューターでアーカイブコマンドを実行すると、エラーは表示されません...非常に奇妙で一貫性がありません。

どんな助けも感謝します!

9
Adi B.

最終的に私はそれを理解しました、それは本当に無縁に見えるものですが、それでも私にとって説明された問題を修正した唯一のものでした。

ビルド設定に移動し、そこにある再帰的な検索パスを削除します。それでおしまい。 (**で終わる検索パスは再帰的なパスです)。

がんばろう!

0
Adi B.

このエラーが表示される関連ケースは、次を実行することです。

xcodebuild -scheme sharetec build

私の場合、次のようなパラメーターをもう少し調整する必要がありました。

xcodebuild -workspace [WP_NAME].xcworkspace -scheme [A_TARGET] -sdk iphoneos clean build

したがって、エラーは消えます。

3
chuckSaldana