Xcode警告:“輸出文件的多個構建命令”




build warnings (12)

Swift 3 :(但也是舊版本)它發生在我擁有重複資產時發生。 只需重命名這個問題的文件,一切順利。

當你創建一個Assets.xcassets並且你用新名字重命名重複項時,它也可能發生,所以在你忘記它之後,刪除它並添加文件夾引用,但是這個返回到重複文件問題。

我得到這樣的錯誤:

[WARN]警告:輸出文件的多個構建命令/Developer/B/Be/build/Release-iphonesimulator/BB.app/no.png

[WARN]警告:輸出文件的多個構建命令/Developer/B/Be/build/Release-iphonesimulator/BB.app/d.png

[WARN]警告:輸出文件/Developer/B/Be/build/Release-iphonesimulator/BB.app/n.png的多個構建命令

但是我已經檢查過Xcode,並且根本沒有看到這些文件的重複。 正如蘋果郵件列表中的這篇文章所說,沒有重複。


其實這個答案很簡單。

在您的xcode中搜索引發警告的文件,並將其刪除。

Xcode將在搜索結果中只顯示該文件的一個引用,但不要停在那裡,繼續並刪除它。 (在刪除操作之前,最好備份到您的項目文件)

現在做一個構建,你會看到刪除警告。 (這個答案適用於以前版本的xcode)


在這個問題上的又一個變化。 我有同樣的信息出現沒有以前建議的解決方案解決了這個問題(我絕對只有一個副本的有問題的文件例如)。

我的解決方案是在文本編輯器中編輯project.pbxproj文件(退出XCode並備份文件後),並刪除所有對違規文件的引用。 然後,再次啟動XCode後,我手動將該文件添加回項目中,一切正常。

(我懷疑這個問題是由於手冊而發生的,例如:非XCode,合併了項目文件。)


在項目導航器中,選擇您的Xcode項目文件。 這會向您顯示項目設置以及項目中的目標。 查看“複製包資源”構建階段。 您應該在該列表中找到兩次有問題的文件。 刪除重複的參考。

Xcode抱怨說你正試圖將你的應用程序中的同一個文件捆綁兩次。


如果在項目中有兩個具有相同名稱的文件,則會發生這種情況。 即使在編譯項目時XCode中的文件都是分組的,所有這些文件最終都會在同一個目錄中。 換句話說,如果你有/group1/image.jpg和/group2/image.jpg編譯的項目將只有兩個image.jpg文件中的一個。


對於我來說,Target> Build Settings> Packaging> Product Name與我自己定制的.plist文件中引用的另一個值相同。 最終由於我們的構建過程,這會產生重複的文件。


我很確定這可能是由於XCode 4錯誤引起的,至少在我遇到過這種情況時。

如果您同時向項目中添加多個語言相關文件,就會發生這種情況。 通過查看git差異,我發現了這一點。 我沒有提交任何內容,但添加了一些新的本地化的nib文件。 但回過頭來看project.pbxproj文件的不同之處,它顯示了一些新的重複引用,這些引用已添加到項目中之前已存在的文件中。 它做的這些文件對我來說似乎是隨機的。

我多次重複了同樣的確切行為。

從項目中刪除這些文件不能解決問題,因為它只會刪除原始參考並保留重複項。 解決這個問題的唯一方法是返回一個提交並重新開始,或者手工編輯項目文件,這是一個很好的解決方法,因為很難分辨哪些重複項需要移除並且必須執行在很多不同的地方。

Xcode 4對我來說只是一個巨大的失望。


我發現了一個非常簡單的解決方案:

  1. 從項目導航器中選擇導致問題的文件
  2. 從文件檢查器中取消選中目標成員資格
  3. 建立該項目
  4. 再次檢查文件的目標成員資格

警告消失了! 查看此圖片以供參考。


頭部構建階段有重複時,可能會出現這種情況的另一個版本。

解決這個問題...

  1. 去你的項目目標
  2. 選擇Build Phases
  3. 選擇Headers構建階段
  4. 輸入警告中顯示的名稱
  5. 注意兩個(或更多)項目
  6. 找到左下角的+|-
  7. 選擇其中一個項目,然後單擊-按鈕

當你有多個相同文件的引用時,錯誤似乎出現。 我有兩個相同名稱的文件,並得到這個錯誤。 當我刪除其中一個錯誤消失..


這不是一個Xcode錯誤,雖然警告信息不足以描述真正的原因。

當您的項目中有多個具有相同名稱的文件時,會出現此錯誤消息。 您只需刪除或重命名具有重複名稱的文件,即可解決問題。


這不是一個錯誤。 Xcode的幫助可以幫助你。 選擇項目導航器左側的目標。 點擊設置底部的“驗證設置”。 如果可能,Xcode將檢查設置並刪除重複項。





warnings