Xcode: vấn đề tập tin xxx.png bị thiếu khi làm việc sao chép tại tòa nhà dự án


265

Sau khi xóa / thêm một số tệp png vào dự án, tôi đã nhận được thông báo khi xây dựng dự án.

"tệp ProjectPath \ aaa \ xxx.png bị thiếu trong bản sao làm việc."

Tất cả các tệp này nằm trong dự án và ứng dụng đang chạy. Tuy nhiên, những tin nhắn này gây phiền nhiễu. Đã xem tệp .plist, nhưng không có đề cập đến các tệp này. Tôi nên làm gì để loại bỏ những tin nhắn này?


Câu trả lời:


495

Cảnh báo sẽ biến mất ngay sau khi bạn thực hiện các thay đổi của mình (Xcode 8).


2
Nhận thấy rằng tôi chỉ phải thực hiện các thay đổi của mình dưới git sau khi di chuyển một số tệp sang một thư mục khác.
Chris Livdahl

@LearnSwift Làm sạch Cmd + Shift + K, xóa ~ / Thư viện / Nhà phát triển / Xcode / DeruredData / *?
Alexander Vasenin

2
@AlexanderVasenin cũng không
Tìm hiểu Swift

7
Đối với tôi chỉ cần dàn dựng thay đổi là đủ. Tốt để biết.
charmingToad

13
Như bạn đã đề cập, tôi đã đảm bảo Cam kết và Đẩy các thay đổi mới nhất của mình. Nhưng làm điều đó không loại bỏ các lỗi. Vì vậy, sau đó tôi đã thực hiện Xcode> Kiểm soát nguồn> Hủy TẤT CẢ các thay đổi và nó đã dọn sạch tất cả các lỗi cho tôi.
EdwardM

97

Có vẻ như vấn đề này có thể có các nguyên nhân khác nhau, nhưng nó thường liên quan đến phần mềm kiểm soát nguồn.

Trong trường hợp của tôi, tôi đã giải quyết nó bằng cách vào Git và thêm các tệp lại. Tôi có nghĩa là chạy lệnh sau:

git add .

Sau khi cài đặt Xcode 8 và nâng cấp mã lên swift 3, tôi đã kết thúc với hơn 300 vấn đề cần sửa lỗi cú pháp (dự án lớn). Thay vào đó, tôi đã khôi phục từ bản sao lưu và nâng cấp lên swift 2.3 ... tất cả đều ổn, ngoại trừ một loạt các tin nhắn 'mất tích' này. Lệnh này hoạt động như một cơ duyên - Tôi đã trở lại trong kinh doanh!
Dan Ross

Đây là những gì làm việc cho tôi. Vấn đề bắt đầu khi tôi xóa những gì tôi từng có trong Pods để ủng hộ Carthage
Sebastian Sastre

1
Điều này làm việc cho tôi quá. Có vẻ như các tập tin được kiểm soát nguồn và git cũng cần được cập nhật.
Shardon

sau khi git cam kết cảnh báo biến mất
carmen_munich

3
Đối với những người khác: bạn phải nằm trong thư mục gốc của dự án Xcode của mình bằng cách thực hiện 'git add.' lệnh: / MyXcodeProjects / AwesomeApp /
Philip Borges

59

Bạn cũng có thể tắt kiểm soát nguồn bằng cách bỏ chọn

Xcode -> Tùy chọn -> Kiểm soát nguồn -> Bật Kiểm soát nguồn

nếu bạn đang quản lý nó thông qua dòng lệnh hoặc bất kỳ ứng dụng nào khác.


điều này đã làm điều đó cho tôi, thật khó chịu khi thấy điều này trong IDE, họ nên hỗ trợ kiểm soát nguồn tốt hoặc không có gì cả
samiq

1
Tôi đã thực hiện hai hành động: 1) "bỏ chọn", 2) "kiểm tra" để bật Kiểm soát nguồn. Cảnh báo đã biến mất.
Viktor

58

Trong XCode -> SoureControl:

Update+ Refresh Statusđã làm điều đó cho tôi.


Tôi nghĩ điều này có thể là do hình ảnh có "@" trong tên tệp, chẳng hạn như quy ước "@ 2x" và "@ 3x". SVN sử dụng biểu tượng đó cho cú pháp sửa đổi (để thoát nó khi làm việc với SVN trong dòng lệnh, bạn chỉ cần thêm "@" ở cuối vì lần xuất hiện cuối cùng là lần xuất hiện cuối cùng là lần sử dụng để thử và xác định thông tin sửa đổi). Đơn giản chỉ cần chạy Cập nhật làm việc cho tôi. Khi tôi thêm một số hình ảnh mới, tôi thực sự phải chọn "thêm" thủ công các biến thể 2x / 3x trong ngăn Trình kiểm tra tệp. Kỳ dị.
Android3000

1
Điều này! rất quan trọng. Vấn đề cũng xảy ra nếu bạn đổi tên một thư mục chứa các tập tin. Nói cách khác, xcode cung cấp cho chúng tôi các cảnh báo vì chúng tôi chưa cam kết mã của chúng tôi! vỗ tay vỗ tay
Warpzit

4
Điều này làm việc cho tôi. Tôi đã phải đóng Xcode và mở lại dự án và chạy.
jaytrixz

44

Trong trường hợp của tôi, tập tin bị thiếu trong điều khiển nguồn.
Để khắc phục, tôi đã phải loại bỏ tệp này (hãy cẩn thận chỉ loại bỏ tệp bị thiếu không phải tất cả dự án của bạn):

  1. Xcode-> Kiểm soát nguồn-> cam kết
  2. Nhấp chuột phải vào tệp bị thiếu
  3. Chọn hủy thay đổi

Nó hoạt động với tôi, tôi đã xóa thư mục DerivingData và các cảnh báo dành cho các tệp là "db.xcindexdb"
tontonCD

1
Đầu tiên, tôi đảm bảo Cam kết và Đẩy những thay đổi mới nhất của mình. Sau đó, tôi đã thực hiện Xcode> Kiểm soát nguồn> Hủy tất cả các thay đổi và nó đã dọn sạch tất cả các lỗi cho tôi.
EdwardM

19

Vô hiệu hóa Kiểm soát nguồn, xóa thư mục bản dựng ( Alt+Shift+Cmd+K), sau đó bật lại Kiểm soát nguồn.

Xcode -> Tùy chọn -> Kiểm soát nguồn -> Bật Kiểm soát nguồn


1
câu trả lời đúng ... nhưng câu trả lời chính xác @emrekyv đã đăng 3 tháng trước ... Anh ấy đã bỏ phiếu lên
eric

@eric anh đề nghị chỉ cần vô hiệu hóa kiểm soát nguồn, tôi đã chỉ cho bạn cách làm cho nó hoạt động chính xác.
George

18

Trong trường hợp của tôi, Xcode bằng cách nào đó đã tìm thấy các .svnthư mục cũ tham chiếu các tệp bị thiếu. Tôi đã phải đi lên một cấp trên thư mục dự án của tôi để tìm các tệp .svn đó. Sau khi xóa, tôi khởi động lại Xcode và mọi thứ đều ổn.


Có, điều này xảy ra khi bạn xóa một cái gì đó từ một dự án dưới sự kiểm soát phiên bản khi nó vẫn được tham chiếu bởi kiểm soát phiên bản (trong trường hợp của tôi, svn). Sử dụng "svn update" để khôi phục các tệp bị thiếu, sau đó xóa chúng theo cách thích hợp bằng cách sử dụng "svn xóa", khiến vấn đề không còn nữa.
ChrisB

12

Tôi gặp vấn đề tương tự với một số ít tệp đã bị xóa khỏi dự án Xcode của tôi trong khi tôi vẫn đang sử dụng Xcode 7.

Giải pháp của tôi là:

  1. Tạo các tệp có tên Xcode đã phàn nàn (chúng không cần bất kỳ nội dung nào)
  2. Thêm các tệp vào dự án Xcode của tôi (trong Xcode nhấp chuột phải vào thư mục dự án chính của tôi, nhấp vào Thêm tệp vào my_project_name và chọn các tệp vừa được tạo
  3. Chọn các tệp mới được thêm và xóa chúng - chọn di chuyển vào thùng rác.

Điều này đã thoát khỏi những cảnh báo cho tôi.


Điều này cũng làm việc cho tôi. Tôi đã gặp vấn đề sau khi sao chép một dự án hiện có để tạo ra một công cụ phái sinh, nhưng với chức năng cắt giảm ⇒ các tệp nguồn ít hơn.
Stefan

9

Để thêm vào câu trả lời của Alexander Vasenin ...

Đầu tiên tôi cam kết và thúc đẩy những thay đổi của tôi

Menu chính Xcode> Kiểm soát nguồn> Cam kết

Sau đó, tôi đã loại bỏ tất cả các thay đổi để thoát khỏi các lỗi

Menu chính Xcode> Kiểm soát nguồn> Hủy tất cả các thay đổi

Sau đó, các lỗi cho biết "tệp xxx.png bị thiếu trong bản sao làm việc" đã biến mất.


Điều gì xảy ra nếu dự án không sử dụng kiểm soát phiên bản hoặc hệ thống kiểm soát phiên bản không được XCode hỗ trợ.
Martin

8

Điều này xảy ra khi bạn xóa tệp trên Xcode, nhưng không cho máy chủ svn biết về nó.

Đi đến công cụ dòng lệnh và xóa tệp trực tiếp.

svn delete missingFile.m 

và cam kết nó

svn commit -m "Deleting file"

lưu ý rằng nếu bạn xóa thư mục .svn, cảnh báo sẽ biến mất nhưng bạn sẽ mất liên lạc với máy chủ svn.


5

Tôi đã làm việc ra.

chỉ cần mở công cụ SVN của bên thứ ba, tìm các tệp bị bỏ lỡ, Hoàn nguyên; đó là tất cả.


5

Tôi đã có cùng một vấn đề và giải quyết nó bằng cách thêm git. Mở công cụ dòng lệnh

cd "project folder path"
git add .

Sau đó, khởi động lại dự án Xcode và mở lại dự án của bạn.


Nếu bạn không sử dụng git thì sao?
Martin

4

Hiển thị trên mục tiêu-> xây dựng các giai đoạn -> sao chép Tài nguyên Gói. và dọn dẹp lệnh xây dựng thư mục + shift + alt + k


3
Cảm ơn, nhưng chúng không có trong Giai đoạn xây dựng và việc dọn dẹp thư mục bản dựng cũng không giúp được gì.
Iban

4

Tôi đã phải tự đi vào Terminal và xóa các tệp bằng git rm ProjectPath\aaa\xxx.pngrồi cam kết. Sau đó mọi thứ hoạt động tốt.


3

Có được điều này cho mọi dự án sau khi chuyển sang XCode 8. Điều này đã giải quyết nó:

Với phím tùy chọn được nhấn, Sản phẩm (trong menu tiêu đề) -> Làm sạch thư mục xây dựng.


2

Trong trường hợp của tôi, tôi đã có dữ liệu sai từ các dự án cũ của mình trong trình giả lập. Được giải quyết bằng cách đặt lại nội dung và cài đặt trong trình giả lập:

Trình mô phỏng -> Đặt lại nội dung và cài đặt ...


1

Đối với tôi sau đây làm việc:

Vì tôi không và không bao giờ sử dụng Git, tôi đã tạo một dự án mới (XCode 8, tôi không thể thấy "sử dụng Git" thông thường hoặc tuy nhiên dấu kiểm đã được dán nhãn). Sau đó, tôi thẳng thừng xóa tất cả các tệp trong dự án mới này; đi đến dự án cũ lộn xộn, sao chép mọi thứ trong thư mục dự án, quay lại dự án mới tạo, dán nội dung cũ, mở ra - tất cả các cảnh báo về các tệp không tồn tại trong nhiều tháng đã biến mất. Ngón tay đan chéo.


1

Tôi đã có cùng một vấn đề và giải quyết nó bằng cách chỉ cần kéo các tệp được chỉ định từ công cụ tìm vào trình điều hướng dự án (đảm bảo rằng "sao chép tệp" được chọn trong hộp thoại) và cam kết các tệp.


1

Những cảnh báo này không phải là cảnh báo, chúng là về kho SVN của bạn.

Đúng là các thư mục được hiển thị không còn tồn tại, CocoaPods lưu trữ các tiêu đề Pods/Headers/{Private,Public}ngay bây giờ. Bạn phải cập nhật bản sao làm việc của bạn để phản ánh những thay đổi đó.


Tôi không sử dụng kiểm soát phiên bản bên trong XCode và sill đã gặp sự cố.
Martin

1

Trong trường hợp của tôi, tôi kéo và thả một số tệp trên cửa sổ dự án Xcode của mình để thêm chúng. Nó tạo các bản sao vào thư mục nguồn của tôi nhưng không đặt chúng ở nơi tôi muốn đến (nó đặt chúng ở thư mục gốc của tôi, tôi muốn chúng vào thư mục con). Không cần suy nghĩ, tôi chỉ chộp lấy chúng trong Finder và chuyển chúng vào thư mục mà tôi muốn. Sau khi quay lại cửa sổ dự án, tất nhiên nó không thể tìm thấy chúng nên tôi đã xóa chúng trong cửa sổ và thêm chúng vào. Sau khi biên dịch tôi bắt đầu nhận được những lỗi này.

Tôi nghĩ, như một số đề cập ở trên rằng đó là một vấn đề git nhưng khi tôi chạy "git ls-tree --full-tree -r Head" Tôi hoàn toàn không thấy các tập tin ??

Dù sao để khắc phục tất cả những gì tôi đã làm là sử dụng lệnh trình đơn "Thêm tệp ..." để thêm từng tệp vào vị trí mặc định, thực hiện xây dựng sạch và sau đó xóa chúng khỏi cửa sổ dự án (sử dụng di chuyển vào thùng rác) và nó đã thoát khỏi tất cả các lỗi.


1

Tôi đã có các cảnh báo và cũng không thể thực hiện các thay đổi trong XCode (sử dụng svn). Tất cả những gì tôi phải làm là khởi động lại XCode và vấn đề đã biến mất.


1

Điều này hoạt động với tôi: Xcode -> ("tùy chọn + nhấp") Sản phẩm -> Làm sạch thư mục xây dựng ...
Hơn khởi động lại xCode


0

Trong trường hợp của tôi, đó là một vấn đề với git và một hệ thống tệp không phân biệt chữ hoa chữ thường.

Tôi đã vô tình gửi cùng một tệp hai lần, sử dụng các đường dẫn tệp chỉ khác nhau trong trường hợp:

MyProject/Resources/foo.png
MyProject/resources/foo.png

Xcode đã phàn nàn về một trong những tệp bị thiếu.

Đã sửa bằng cách xóa các tệp vi phạm và thêm lại.

cd MyProject
mv Resources/foo.png /tmp
git rm Resources/foo.png
git rm resources/foo.png
git commit
mv /tmp/foo.png Resources
git add Resources/foo.png
git commit

0

Điều này chắc chắn có liên quan đến kiểm soát nguồn. Tôi đã đổi tên và di chuyển một vài tệp plist không cam kết và gặp lỗi này. Tôi đang sử dụng svn. Tôi đã có thể khắc phục điều này thông qua Source Control - Commitviệc xóa các tệp tham chiếu cũ.


Tôi đã gặp sự cố và tôi không sử dụng kiểm soát phiên bản XCode. Tất cả các điều khiển phiên bản được thực hiện bên ngoài XCode.
Martin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.