web-dev-qa-db-ja.com

Xcode 10エラー:複数のコマンドが生成される

error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist':
1) Target 'OptimalLive' has copy command from '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist' to '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'
2) Target 'OptimalLive' has copy command from '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Server/Masonry/Info.plist' to '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'
3) Target 'OptimalLive' has process command with input '/Users/uesr/Desktop/workSpace/SEALIVE/SeaLive1.1/OptimalLive/Info.plist'

xcode9でコードを実行しても機能しますが、Xcode10ではエラーが発生します。

428
make

この問題は、アプリケーション内の複数のPlistまたは他のファイルが原因で発生している可能性があります。

ソリューション - >ターゲットを開く - >ビルドフェーズ>バンドルリソースのコピーとそこからinfo.plistを削除してください。

enter image description here

注: あなたも腕時計のアプリを開発した場合は、腕時計と腕時計の拡張からもplistを削除する必要があります。

619
Alok

私はこのビルドエラーの解決策を見つけました、それを修正するためにXcode 10ビルドシステムに関して同じ問題を抱えている誰かのために、以下のステップに従ってください:

  1. Xcodeで、ファイル - >プロジェクト/ワークスペースの設定に行きます。
  2. ビルドシステムをレガシビルドシステムに変更します。

enter image description here これは新しいXcode 10でビルドの問題を解決します。

新しいビルドシステムを使用したい場合は、トラブルシューティングのヘルプ このApple Xcodeのヘルプページ から入手できます).

お役に立てれば!

346

Xcode - > File - > Workspace Settingsに移動します。 ポップアップが1つ見つかります。

enter image description here

Build Systemタグから " Legacy Build System "を選択します。 " Done "を押します。 

注: - " cmd + shift + alt + k "と " 派生データ "でプロジェクトをクリアしてください。

あなたのプロジェクトを構築しますそれは魅力を働かせるでしょう:)

134
Hardik1344

Xcode - >ファイル - >プロジェクト設定 - >ビルドシステム - >レガシービルドシステム。

これをDittoコマンドから取得して、同じ名前('copy files' build phaseではない)のインスタンスを複数作成する場合は、Product Module Nameを変更する必要があります。

  1. あなたのターゲットをクリックしてください。
  2. Build Settingsをクリック
  3. を検索するProduct Module Name
  4. 名前を一意の名前に変更してください。

私たちのアプリにはwatchターゲットといくつかのnotificationターゲットがあるので、私はExtensionのようなものをモジュール名の最後に置きます。

私はもともとここにこの解決策を見つけた: https://forums.developer.Apple.com/thread/103913

52
u2Fan

ビルドログを確認していると、警告が出ました。

note: Using new build system
note: Planning build
note: Constructing build description
Build system information
warning: The Copy Bundle Resources build phase contains this target's Info.plist file '/Users/<redacted>/Repositories/Whitesmith/optimize-ios/Carthage/Checkouts/WSStatusBarNotification/Miscellaneous/Info.plist'. (in target 'JDStatusBarNotification')

それで、それがあなたのケースであるならば、あなたのターゲットに行くだけです:

  1. 構築フェーズ
  2. バンドルリソースのコピー
  3. info.plistを削除してください。
31
AndrewSas

これを試してみてください

Xcodeで、ファイル - >プロジェクト/ワークスペースの設定に行きます。

ビルドシステムをレガシビルドシステムに変更します。

25
Akash Patel

私はCore Dataを試していました。簡単なチェックリストプログラムのデータモデルを構築し、NSManagedObjectsを生成しました。プロジェクトをコンパイルしたときに、次のエラーが発生しました。 

error: Multiple commands produce '/Users/myUSerName/Library/Developer/Xcode/DerivedData/myCoreDateExperiment-gzbslaqdwglkzxemijpdqmizgyzc/Build/Intermediates.noindex/ myCoreDateExperiment /Debug-iphonesimulator/ myCoreDateExperiment.build/Objects-normal/x86_64/CheckListItem+CoreDataProperties.o':
1) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files
2) Target ' myCoreDateExperiment ' (project ' myCoreDateExperiment ') has compile command for Swift source files

問題は、データモデル(私の場合はCheckList.xcdatamodeld)が[ソースのコンパイル]リストに含まれていたことです。リストから削除すると、プロジェクトはきれいにコンパイルされました。 

  1. プロジェクトナビゲータを開き、プロジェクトを選択します(一番上の最初のエントリ)。
  2. [プロジェクトとターゲット]枠の[ターゲット]でビルドターゲットを選択します。
  3. 上部にある[Build Phases]オプションを選択します。
  4. [ソースのコンパイル]エントリを展開して、データモデル名を探します。見つけられない場合は、 "xcdatamodeld"を検索してください。 
  5. コンパイルリストからモデルを削除する
  6. データモデルが[Copy Bundle Resources]リストに含まれていることを確認してください。足りない場合は追加してください。 
21
Positron

CocoaPodを使用している場合は、Podを分解して再度インストールしてみてください。わたしにはできる。

pod deintegrate

pod install

18
Ming Chu

私は同じ問題を抱えていた、私はメインのAppでもう一つのヘルパーアプリを持っていて、これをリソースにコピーする。私の場合は次のように解決しました: -

1)ターゲット - > 2)ビルドフェーズ2)ファイルのコピー(n個)3)ファイルのコピーを削除します。

Helperアプリは自動的にXcode 10.0にコピーされました。

enter image description here

12
Prakash Jat

このオプションをすべて試してくださいこの3つのオプションのいずれかが確実にあなたのために働くでしょう

Option 1: Remove all files from

ターゲット>>ビルドフェーズ>>ソースのコンパイル

ターゲット>>ビルドフェーズ>>バンドルリソースのコピー

Option 2: Change the build system

Xcode - >ファイル - >プロジェクト設定 - >ビルドシステム - >レガシビルドシステム

Option 3: remove and update existing pod

ポッドキャッシュクリーンPromisesObjC
ポッドキャッシュのクリーンPromisesSwift
cd [your_project_dir]
rm -rf Pods /
rm Podfile.lock
ポッドアップデート 

I hope this will help you, Happy coding :-)
11
Shoaib Bagwan

始める前に、私のプロジェクトではカルタゴを依存関係マネージャとして利用していることに注意してください。 

ここにある既存の答えのどれも私の問題を解決しませんでした。私にとってこの問題を解決したのは次のとおりです。 

まず、ビルドエラーが特に1つのフレームワークを指摘していることに気付きました。次に、そのフレームワーク用にApp Target> Build Phasesをフィルタリングしました。私は、そのフレームワークが "Link Binary With Libraries"と "Embed Frameworks"の両方に存在することに気づきました。 「埋め込みフレームワーク」の下にリストされているフレームワークのどれもカルタゴによって管理されていないことに注目して、私は問題のフレームワークを「埋め込みフレームワーク」から削除した。それから私は自分のプロジェクトを再構築し、問題のフレームワークによって可能にされた機能性を含めてすべてがうまく機能します。

9
palmi

私の場合は、PDFGeneratorがinfo.plistファイルを作成していたので、それを削除しました。

enter image description here

9
fullMoon

ここで提案された解決策のどれも私のために働きませんでした。これは特にCocoaPodsによるものです。私は以前Cocoapods 1.3.1を使っていました。 1.5.3にアップグレードしただけでは問題はすぐに解決しませんでした。

私が従った手順は次のとおりです。

  1. Podfile.lockを削除します
  2. Podsディレクトリを削除
  3. 派生データを削除して削除
  4. Xcodeを終了
  5. CocoaPodsを1.5.3に更新
  6. pod installを実行
  7. ワークスペースを開いてビルドする
9
Justin

ステップ:

  1. Xcodeファイルに行く 
  2. WorkSpaceの設定をクリックして
  3. ビルドシステムレガシビルドシステムとして選択
9
Sanjay Mali

だから私が抱えていた問題は、私が誤ってInfo.plistをプロジェクトの設定 - > Build Phases - > Copy Bundle Resourcesに追加してしまったことです。 

7
Austin

私はたくさんのMultiple commands produce警告を出しました - 一つのターゲットのinfo.plistの重複に限定されません。ローカライズされたリソースと文字列ファイル、ヘッダーなどを含みます.

解決策:ターゲットメンバーシップの重複をすべて削除します。 

7
Will Gwo

私の問題を解決した1つのオプションは、ビルドシステムをレガシービルドシステムに変更することです。 Xcode 10+で次の手順に従ってください enter image description here

enter image description here

5

2つの異なるターゲットに同じ名前のファイルがあると、この問題が発生しました。何らかの理由でこれらのファイルのうちの1つが両方のターゲットの一部になっていました。だから基本的に私は二つのファイルを持っていた。そしてこれらのファイルは両方とも1つのターゲットに属していました。

ターゲットはターゲットごとに1つのファイル名しか持てないことが理にかなっているので、メインターゲットに関連していないファイルのターゲットメンバーボックスのチェックを外すだけで問題は解決します。

5
Charlie Fish

Xcode 10に移行すると、エラーが発生する 

error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist':

次のように解くことができます。

Xcode->File->Workspace/Project Settings-> Build System -> Legacy Build Systemに行きます。

5
Noor

私のCocoaPodの1つが発声されて問題を引き起こしました。ポッドアップデートをしました、そして、それはうまくいきました。

私はそれがLivePerson SDKだったかもしれないと思います

4
ninjaneer

プロジェクトビルドフェーズに進み、コンパイルソースからinfo.plistを削除します。それはその問題を取り除き、プロジェクトは再びアクティブになります。

enter image description here

4
Aditya Sharma

私はカルタゴとXcode 10を使っています。

私の解決策は - >プロジェクト - >ターゲット - >一般 - > 

「埋め込みバイナリ」からカルタゴで追加されたフレームワークを削除する 

通常、App Storeのアーキテクチャを削除するには、ビルドフェーズにスクリプトを追加する必要があります。

Xcode 10では、スクリプトは常に呼び出されるようです。そのため、フレームワークが正しい場所にコピーされるので、それらを[General]タブに追加する必要はありません。

注:設定しない場合 - > [ビルド設定] - > [検索パス] - > [フレームワーク検索パス] - > Carthageで追加したフレームワークへのパスを設定します。 "$(PROJECT_DIR)/カルタゴ/ビルド/ iOS"

4
Raegtime

これは基本的にInfo.plistという名前のファイルが複数あることを意味します。 通常は問題ありませんが、誤ってあなたのファイルが同じターゲットメンバーシップに設定されています。そのため、修正は次のとおりです。各ファイルをそれぞれクリックし、右側のターゲットメンバーシップを確認し、それらが重複していないことを確認します。

3
code4latte

同様の問題がありましたが、.swiftdocファイルがあります。

プロジェクトに拡張機能と単体テストのターゲットがあります。また、それらはアプリケーションと同じ「製品モジュール名」(ビルド設定のPRODUCT_MODULE_NAME)を持っていました。ユニークな問題がなくなった名前を作った後。

3
Igor Palaguta

これはもう一つの有効な解決策です:

  • スクリーンショットのハイライトとしてサイドバーから「ポッド」を選択します。
  • ビルドフェーズをクリックしてください。 [ヘッダー]セクションを展開します。公開、非公開、プロジェクトの3つのオプションがあります
  • 「公開」を展開して、ファイルが重複していることを確認します。それを除く。 完了しました。

enter image description here

3

検索 削除 複数のファイルが複数のコマンドから作成されている。

ここで、余分なInfo.plistファイルを削除する必要があります(私の場合はContents.jsonでした)。

error: Multiple commands produce '/Users/uesr/Library/Developer/Xcode/DerivedData/OptimalLive-fxatvygbofczeyhjsawtebkimvwx/Build/Products/Debug-iphoneos/OptimalLive.app/Info.plist'
3
roy

私の問題はXcode 10にアップデートする前に私が書いたユニットテストを実行しようとしている間にMojaveで実行されているXcode 10にありました。

私の場合は、 "TestTarget"ターゲットを実行中にこの問題が発生しました。解決するには、 "TestTarget"以外に2つのターゲットがあり、どちらも同じスクリプトを実行して特定の時点でファイルを作成/コピーしていたため、ターゲットの依存関係の1つを削除します。

そしてそれは Xcode 10のビルドシステムリリースノート here に書かれていることと衝突しました。

ビルド内の個々のファイルが複数のビルドコマンドによって生成されるのはエラーです。たとえば、2つのターゲットがそれぞれシェルスクリプトフェーズから同じ出力ファイルを宣言している場合、出力ファイルの宣言を単一のターゲットにまとめます。

2

スキームを選択します(左上隅) - >スキームの編集... - >ビルド(左タブ) - >「暗黙の依存関係を検索」のチェックを外します

enter image description here

そしてその後、ターゲットによって明示的にインポートされなかった依存関係を修正する必要があるかもしれません。

2
MarekR

Plistについても同じ問題がありました。そのコピーが2つあり、1つは空で、もう1つはローカライズされたリソースフォルダーにありました。問題。

エラーをチェックすると、1)行と2)行には異なるパスがあります。このファイルは、コピー段階で2回定義されている可能性があります。

ターゲットプロパティ、ビルドフェーズ、バンドルリソースのコピーを確認し、重複しているinfo.plistを探します。どのパスが正しくないかを把握して削除します。 (おそらくファイルシステムからも削除したいでしょう。)

2
rodfleischer

私の場合は、Info.plistファイルが私のCocoapodから取り出されました。それを削除して問題を解決しました。

2
Rebeloper
error: Multiple commands produce '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings':
1) Target 'chat21' (project 'chat21') has copy command from '/Users/KunshtechNew/Downloads/chat21-ios-demo-master/TildeskWidget/Chat21Core/Base.lproj/Chat.strings' to '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings'
2) Target 'chat21' (project 'chat21') has copy command from '/Users/KunshtechNew/Downloads/chat21-ios-sdk-master 2/Chat21Core/Base.lproj/Chat.strings' to '/Users/KunshtechNew/Library/Developer/Xcode/DerivedData/chat21-fgjaqebxysmggqfdnetggdbzfqih/Build/Products/Debug-iphonesimulator/Chat21.app/Base.lproj/Chat.strings'

見ての通り、私は同じエラーを受けていました..私の場合、 " TildeskWidget "フォルダに " Chat21Core "フォルダの余分なコピーがありました。したがって、考えられる解決策の1つは、単にエラー全体を読んで、プロジェクトから参照されている余分なコピーがあるかどうかを調べることです。

1

この問題は、FabricのSDKスイートの第2部をアプリに追加した後に発生しました。

実際に起こったことは、GoogleUtiliesフレームワークがPodsプロジェクトに2回追加されたことです。

Two entries for GoogleUtilities.framework

Xcode 10より前ではこれで問題はありませんでしたが、ファイルに2つのアクション(この場合はコピーアクション)があるとXcode 10は文句を言います。

2番目のフレームワークを削除しても安全です。

0
Damo

同じファイルを複数コピーしました。簡単に言うと、コピーを1つ残して、残りをすべて削除します。クリーンビルドし、ソートして発行します。

0
Avinash Jadhav

私の場合、奪われたデータとビルド設定をクリーニングし(この順序で)、Xcodeとシミュレータを再起動するのが助けになりました。

ソリューション->ターゲットを開く->ビルドフェーズ>バンドルリソースのコピーを実行しようとしましたが、再び表示されました。剥奪されたデータのクリーニングが役立ちました。エラーでは、重複がどこにあるかが示されます。私の場合、それはアプリのバンドルにあり、データが奪われていると言いました。

0
Anna Orlova

私にとっては、同じファイルをバンドルリソースに2回含めることに問題がありました。どのようにしてそれが起こったのかわからないが、私はそれらのうちの一つを取り除き、それは新しいビルドシステムでうまくコンパイルされた。

0
Larry

それでinfo.plistとは何の関係もないのでここで正しい答えを見つけられなかった人のためにそうそう….

SPMパッケージだけで、手動でxcodeprojsを職場にドラッグして、CocoaPodやCarthageを使わずにmacOSアプリを開発しているときに、私はこの問題に遭遇しました。

1つの依存関係のみを使用していた場合(内部からSwift-NIOを使用していた場合)、すべて問題ありませんでしたが、サブデップをオーバーラップする依存関係をもう1つ追加すると、この厄介な問題が発生しました。

解決策は、すべての主要な依存関係を別々にコンパイルしようとすることです(それぞれの.buildフォルダー内に存在しないチェックアウトフォルダーが原因で失敗します。これはおそらくあなたのpkgsを編集モード(Swift package edit YourPkg ...)にするために起こります。

あなたのpkgsを単にuneditし、すべての依存関係をうまくコンパイルするように強制します。その後、メインターゲット内のリンクされたバイナリが重複していないことを確認する必要があります(本当に必要なのかわからないが、念のため)。

その後、すべてうまくいくはずです:)

0
Kirill Titov

サポートされているプラ​​ットフォームを確認してください。

私たちは何ヶ月もかけて、この問題を私たちのいくつかの子プロジェクトで調べました。 AVAILABLE_PLATFORMS"appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator"に設定されているため、複数のプラットフォームが構築されていたため、「複数のコマンドでエラーが発生しました」という結果になりました。たとえば、 "Foo"プラットフォームはiOSとTVOSの両方のために構築されていたので、複数の構築コマンドがFoo.frameworkファイルを作成していました。

設定次第

AVAILABLE_PLATFORMS = iphoneos iphonesimulator

私たちのルートのxcconfigファイルでは、この問題はすべての子プロジェクトを取り除きました。

設定を確認する

実行する

xcodebuild -project FitbitMobile.xcodeproj -target "FitbitMobile" -showBuildSettings > BuildSettings.txt

出力が期待通りに設定されているか確認してください。あなたがiOSアプリで、tvOS用に構築しているのなら、あなたはあなたの設定を更新したいでしょう。

0
Jason

私のProjectName.xcodeprojには、同じ名前のファイルへの有効な参照と無効な参照がありました。プロジェクトナビゲータで同じファイル名、1つのファイル名が赤だった、もう1つが大丈夫です。無効な参照用のもの(赤いもの)を取り除き、問題を解決しました。

0
Surpher

私の場合(私はカルタゴを使っています)

error: Multiple commands produce 
1) Target *** has copy command from
2) That command depends on command in Target ***: script phase “Run Carthage Script” 

埋め込みフレームワーク および カルタゴスクリプトの実行 = Build Phases構成のフェーズの両方にフレームワークをインポートしたために発生した 

これら2つのフェーズはフレームワークを派生データにコピーするので、Xcodeは重複したファイルを見て、これらのエラーを警告付きで表示します。

ignoring duplicated output file: (in target ***)

Embeded frameworkのフェーズから重複したフレームワークを削除した後、すべてが正しく機能しています。

0
Budyn

Xcode 10では、以前のバージョンでも動作します

  1. プロジェクトをダブルクリック
  2. あなたは下のような画像を見るでしょう
  3. 左からTARGETを選択
  4. バンドルリソースのコピー(0アイテム)を展開
  5. 対応するファイルを削除してエラーが発生する

enter image description here

0
Aravind Vemula

React Native、特にlibyoga.aでこのエラーが発生した場合は、 this Githubのコメントをチェックしてください。

0
Uri Klar

エラーの問題が.app /(.app/Info.plistではない)の場合は、こちらの回答を参照してください。 xcode 10エラー:複数のコマンドが生成されます - ネイティブに対応します

0
Alex Kornhauser

React NativeとCocoapodsを使っている人のために

この問題は、いくつかのlibRN ... aファイルによって発生しました。 libRNScreens.aやlibRNGestureHandler.aのようないくつかを Build Phases - > Link Binary to Libraries から削除することで修正しました。それらはすでに別のライブラリから参照されているからです。他のものはlibRNDeviceInfo.aのような彼らのPodバージョンに置き換えられなければなりませんでした:

enter image description here enter image description here

私の場合、GoogleService-Info.plistファイルをFirebaseプロジェクトに2回失望させて追加しました。

最初に追加したGoogleService-Info.plistを削除し、問題を解決しました。

0

私の場合は、他のプロジェクトからファイルをインポートし、2つの場所で同じクラスを使用しました。 

私は次の関連エラーメッセージがありました: enter image description here

私がエラーをコピーしたとき、それはもっと多くのテキスト情報をコピーすることがわかった、そして私がダンプを読み通すとき、私は関連する行に来た:

:0:エラー:ファイル名 "EventNode.Swift"が2回使われました: 

場所が続いていたし、私は問題を排除することができました。

その過程で、 'Copy Bundle Resources'に何が必要かを見つけました。

  • メインストーリーボード
  • Assets.xcassets
  • プロジェクトが使用するSpriteKitシーン(.sks)
0
green_knight

もしあなたがプライベートなcocoapodを開発していて、それをPodfile経由で既に追加していたら、

Embedded Binariesセクションから削除してください。

Embedded Binaries in test app

アプリが複数の.appファイルに関連するエラーを生成している場合は、「Copy bundle Resources」から.plistファイルを削除してください/ うまくいきません。

エラーが.appファイルと関連がある場合は、以下の手順に従ってください。

  1. ターゲットを選択してください。 

  2. Build Phasesタブに行きます。

  3. Output Filesにリストされている項目を削除します
  4. コードが正常にコンパイルされた場合はコードをコンパイルしてから、次の手順を実行しないでください。
  5. コードが正常にコンパイルされず、Xcodeが "Library not found"に関連したエラーを与える可能性があります。それからXcodeがエラーで言及したLinked Frameworks and LibrariesGeneralタブに足りないライブラリを追加してください。
  6. コードが正常にコンパイルされるまで、これらのライブラリ(Xcodeがコンパイルエラーを通す)をLinked Frameworks and Librariesに追加し続けます。

    お役に立てれば。

0
Abuzar Amin

私の場合、問題はpodfileから来ています。 add my testpodfileに投影する必要があります。

target 'MyApp' do
    pod 'Firebase'
    target 'MyAppTests' do
        inherit! :search_paths
        pod 'Firebase'
    end
end

その後、実行する必要があります。

pod update
0
Sean Stayn

私は同じ問題を抱えていますが、ヘッダファイルに問題があります。 

enter image description here

この場合の解決策は、ヘッダーを "Public"から "Project"セクションに移動することです。

enter image description here

0

Cocoapodsによって管理されている依存関係プロジェクトの場合、情報源からinfo.plistを除外するためのローカルpodspecを提供することで問題を解決しました。例としてgodzippaを取りなさい

ポッドファイル pod 'Godzippa', :podspec => "venders/godzippa.podspec"

ベンダー/ godzippa.podspec s.source_files = 'Sources/*.{h,m}'

0
Shuo

Swiftヘッダーのインポートで名前が同じであることを信頼している人のためのものです。 (例:ヘッダファイル名:#import "MyApp-Swift.h"):

このヘッダファイルの名前は実際には${Swift_MODULE_NAME}-Swift.hによって決定されます。ここでSwift_MODULE_NAMEはデフォルト値としてPRODUCT_MODULE_NAMEを使用します。 

さらに、プロジェクト全体のビルド設定として、Swift_OBJC_INTERFACE_HEADER_NAME "Objective-C Generated Interfaceヘッダー名"があり、デフォルト値は${Swift_MODULE_NAME}-Swift.hです。この値をMyApp-Swift.hに変更することで、私たちのアグリゲートビルド内のすべてのターゲットは同じヘッダ名を共有することができ、それらからPRODUCT_MODULE_NAME値を変更することができました。

0
kezi

私の場合は、ビルドアーカイブエラーとXcode10

-1:複数のコマンドが '/Users/kk/Library/Developer/Xcode/DerivedData/react_carday_app-hjahojxsbvmmiyaklrhhuqljdfwv/Build/Intermediates.noindex/ArchiveIntermediates/react_carday_app/IntermediateBuildFiles.Product.Plaid.PATH.PLEPIDATEDATEDATEDATEPATHIDATEDATEDATEDATEDATEDATEDATEPIDATEPIDATEDATEDATEDATEPIDATEPIDATEDYPIDATEPATHIDLATEPATHIDLATEPATHIDLATEPATHIDPATHIDLATEPATHIDLYPATHID:):).PPPIDLIDPATHIDLAYPATHIDLATEPLEATEPATHIDLATEPATH:/ .PROPIDATELIDATEPATHIDLATEPATH:/ .PROPIDLIDATELIDPATHID:).PP.PP.PP.PP.PP。 1)ターゲット 'yoga'には '/Users/kk/Library/Developer/Xcode/DerivedData/react_carday_app-hjahojxsbvmmiyaklrhhuqljdfwv/Build/Intermediates.noindex/ArchiveIntermediates/react_carday_installedFactory/ProductPhoneInstalledFactory/ProductPhoneInstalledFactory.PhildAndPlaid/ProductPlainLinePhinePhildAndPhildAndPhildAndPhildAndPhildAndPhildAndPhildAndPhildAndPhildAndPhinePhinePhinePhinePhinePhinePhinePhid "の順に入力します。 2)ターゲット 'yoga'には '/Users/kk/Library/Developer/Xcode/DerivedData/react_carday_app-hjahojxsbvmmiyaklrhhuqljdfwv/Build/Intermediate/AppLineDirectoryのインストール/インストールされた場所/ Recorder_ID_ActiveX_installed_ID_ActiveX_Interprise_Cheduled_Chedule_IntermedyDirectory_Command_IDLineChild_Interface_Chedule_Directory_Command_IDLineChinePhineDirectory/Card.Index.PPの2つのコマンドがあります。 .a '

Podfileに以下のようなものがあるはずです。

post_install do |installer|
  installer.pods_project.targets.each do |target|
    if target.name == "React"
      target.remove_from_project
    end

    if target.name == "yoga"
      target.remove_from_project
    end
  end
end

そしてpod installを実行します 

0
SenKe

私の場合は、私のGoogleService-info.plistファイルが、私のメインアプリと共有拡張プロジェクトの両方に含まれているので、複数コピーしています。

解決策は、このファイルを拡張プロジェクトから除外することです( [ファイルインスペクタ] [サイド]ウィンドウのビューで[Target]からチェックを外します)。私はLegacy Build Systemに切り替えるオプションが嫌いなので(これも私のために働いています)。 

0
Wei WANG

私の場合、2つの異なる静的ライブラリに対して同じカスタム パブリックヘッダフォルダパス を使用しました。ひとつはメインアプリ用、もうひとつは時計アプリ用でした。時計アプリのパスを変更したので、すべてうまくいった。

0
Alexey

実際にはレガシービルドシステムを使用できますが、スピーディなビルド時間は得られません。たとえば、XCode10でデフォルトになった新しいビルドシステム機能は得られません最新のビルド機能の取得https://developer.Apple.com/documentation/xcode_release_notes/xcode_10_release_notes/build_system_release_notes_for_xcode_1