Thiếu cảnh báo tệp hiển thị sau khi nâng cấp lên Xcode 4


166

Gần đây tôi đã nâng cấp lên Xcode 4 (đây là một bản nâng cấp tuyệt vời) nhưng bây giờ tôi nhận được một số cảnh báo mà trước đây tôi không nhận được. Tôi đã xem qua các diễn đàn và các bài viết SO khác nhưng chưa tìm ra cách khắc phục điều này.

Các cảnh báo tôi nhận được là các cảnh báo cấp dự án cho một tệp bị thiếu. Các tệp đang được hiển thị đã bị xóa khỏi chế độ xem điều hướng dự án (cũng chọn xóa khỏi hệ thống tệp). Tuy nhiên, nó dường như vẫn hiển thị dưới dạng nào đó được liên kết với dự án, mặc dù tệp không còn xuất hiện trong Trình điều hướng dự án.

Tôi đã nhìn xung quanh và không tìm thấy làm thế nào tôi có thể nói với Xcode rằng các tệp này đã biến mất, ngừng đưa ra cảnh báo cho tôi. Đây là một ảnh chụp màn hình mà tôi có trong Xcode4, nhưng không bao giờ có trong Xcode 3.

Thiếu cảnh báo tập tin Xcode 4


Nếu tôi là bạn, tôi sẽ luôn nhập các tệp của mình vào dự án thay vì chỉ giữ một liên kết đến chúng trên đĩa của bạn. Nó thực sự cứu bạn khỏi đau đầu nếu bạn di chuyển các tệp xung quanh sau này.
sudo rm -rf

Câu trả lời:


297

Những giải pháp này là quá khó khăn. Vấn đề là bạn đã loại bỏ dự án khỏi hệ thống tập tin nhưng SVN vẫn nghĩ rằng họ đang ở đó. Dự án tách khỏi SVN sẽ hoạt động, tương tự để xóa các thư mục .svn NHƯNG sẽ phá hủy kho lưu trữ của bạn!

Việc mở bàn điều khiển sẽ dễ dàng hơn nhiều, duyệt đến thư mục của bạn ("cd / pathToYourFolder") và gõ lệnh sau:

svn delete nameOfMissingFile

Nếu tên tệp bị thiếu của bạn bao gồm ký tự @ (ví dụ: tác phẩm nghệ thuật dành riêng cho võng mạc), hãy đảm bảo tên tệp chấm dứt bằng ký hiệu @:

svn delete nameOfMissingFile@2x.png@

Đối với kho GIT:

git rm nameOfMissingFile


20
Tôi đã có cùng một vấn đề và giải quyết nó thông qua Terminal bằng cách sử dụng:svn rm --force nameOfMissingFile
ReachWest

1
Đây là một câu trả lời tốt hơn so với câu trả lời là chính xác. Xóa các thư mục SVN khỏi một dự án dưới sự kiểm soát của SVN có thể là cả một thế giới đau khổ. Tốt nhất để sử dụng SVN để giải quyết vấn đề. Tôi đã làm theo câu trả lời này để giải quyết vấn đề của riêng mình, tuy nhiên tôi có sự sang trọng của Cornerstone. Nhưng nếu không thì mát mẻ. Cảm ơn :)
jowie

1
Điều này dường như không làm việc cho tôi. Tôi sẽ thêm tập tin trở lại, và sau đó xóa nó, nhưng cảnh báo tương tự vẫn hiển thị trong bản dựng. Tôi thậm chí đã cố gắng thêm các tập tin trở lại dự án và sau đó xóa chúng. Vẫn là vấn đề tương tự.
Yenyi

10
Nó làm việc cho tôi, nhưng trước tiên tôi phải tạo một tập tin giả ở đó trước khi tôi có thể xóa nếu sử dụng svn. Vì vậy, bạn phải chạm vào nameOfMissingFile và sau đó svn xóa nameOfMissingFile --force
Maciej Swic

9
Tôi cũng đã phải bỏ và giết xcode để vấn đề biến mất.
Twilite

55

Trong XCode 4.2. + (Có thể trong 4+), bạn có thể tránh công việc thủ công và dòng lệnh:

  1. Chọn dự án Điều hướng dự án (Lệnh - 1)
  2. Chọn Tệp - Kiểm soát nguồn - Menu cam kết
  3. Trong khung bên trái, trên đầu trang, bạn có ba biểu tượng, chọn biểu tượng ở giữa - Chế độ xem tệp
  4. Bạn sẽ thấy danh sách tất cả các tập tin bị thiếu
  5. Chọn tất cả chúng và nhấp chuột phải - Hủy thay đổi. Điều này sẽ khôi phục tất cả các tệp đã xóa từ máy chủ SVN và đặt chúng vào thư mục SVN cục bộ của bạn
  6. Kéo và thả các tệp đó vào dự án XCode (Chọn Sắp xếp ngày được sửa đổi trong Finder để dễ dàng tìm thấy chúng)
  7. Xóa các tệp đó đúng cách thông qua XCode (chọn tệp và chọn nhấp chuột phải vào Xóa)
  8. Cam kết dự án

Và đó là :)

Tất cả những cảnh báo khó chịu đã biến mất!

Ngoài ra đối với Xcode 6+: Sau khi chọn chế độ xem tệp 'biểu tượng ở giữa' - bạn có thể nhấp vào hộp kiểm ở bên trái và điều này sẽ đánh dấu chúng là đã xóa cho SVN khi bạn cam kết tiếp theo!


1
Chỉ cần đến bước 5. Tôi thực sự không có các tệp trong SVN.
Darren Reely

Tôi đã cấu trúc lại một dự án, điều này ảnh hưởng đến một dự án khác của một số mã được chia sẻ và XCode đã phàn nàn về các tệp bị thiếu, liên quan đến SVN. Mất một lúc tôi mới nhận ra đó là một vấn đề của SVN, sau khi tự tìm kiếm thông qua nguồn dự án xml và không tìm thấy gì.
danfordham

50

Trong Xcode5 & Xcode6, các bước bên dưới hoạt động với tôi

Xcode-> Preferences-> Source Control->uncheck Enable Source Control

sau đó

Xcode-> Preferences-> Source Control->check Enable Source Control


Trên Xcode 8.3.2, thao tác này hoạt động trong khoảng mười phút và sau đó tất cả các cảnh báo đã quay lại ngay :(
Bob

27

Nó có một cái gì đó để làm với các thư mục ẩn .svn trong dự án của bạn.

Tôi đã giải quyết vấn đề này bằng cách tách dự án khỏi svn.

a. Mở terminal và gõ các lệnh sau:

defaults write com.apple.finder AppleShowAllFiles TRUE


killall Finder

Điều này sẽ cho phép bạn xem các thư mục .svn trong dự án của bạn

b. Xóa mọi thư mục .svn trong thư mục dự án / thư mục con của bạn

c. Kích hoạt lại các tập tin ẩn:

defaults write com.apple.finder AppleShowAllFiles FALSE

killall Finder

d. Bây giờ dự án của bạn đã được tách ra khỏi svn và bạn không còn gặp sự cố xây dựng nữa.

e. Thêm lại dự án của bạn vào svn hoặc bất cứ điều gì.

Bản thân tôi là người mới bắt đầu và đây là cách tôi xử lý vấn đề đó, vì vậy tôi không chắc đây là cách tốt nhất để đi. Dù sao, vấn đề đã được giải quyết.


3
Không phải là một ý tưởng tốt để đi xung quanh lộn xộn với các thư mục và tệp ẩn SVN, bạn có thể kết thúc trong một mớ hỗn độn của SVN. Tốt nhất để sử dụng lệnh xóa svn để dọn dẹp các tệp bị thiếu.
jowie

Đây là con đường tôi thực sự đã kết thúc. Có, nó xóa tất cả thông tin SVN đã lưu, nhưng đó thực sự là thứ mà người khác đã đưa vào một dự án cụ thể mà tôi không muốn giữ. Tôi muốn bắt đầu mới và không quan tâm đến việc duy trì phiên bản cụ thể.
Scott

Tôi chỉ "killall Finder" bằng cách khởi chạy lại nó. Vấn đề đã biến mất Cảm ơn
JHHoang

9

Điều này làm việc cho tôi:

File-> Source Control->Hide Working Copy Status

sau đó

File-> Source Control->Show Working Copy Status


6

Tôi đã giải quyết nó theo cách sau:

  1. Kiểm tra đường dẫn đến tập tin bị thiếu.
  2. Tạo các tệp bị thiếu tại các vị trí thích hợp trong thư mục dự án của bạn
  3. Thêm chúng vào dự án của bạn bằng cách sử dụng "Thêm tệp vào" dự án "" và chỉ tạo tham chiếu (không sao chép tệp)
  4. Các cảnh báo sẽ biến mất vào thời điểm này.
  5. Từ trong Xcode, xóa các tệp đảm bảo bạn nhấp vào "Xóa" thay vì "Chỉ xóa tham chiếu" mặc định
  6. Bạn đã hoàn tất.

4

Tôi đã có lỗi đó và không tìm ra cách nào để giải quyết nó ngoài việc tạo một tập tin trống ở vị trí đó và sau đó xóa nó. Nó đã xảy ra với các tệp tôi đã xóa khỏi dự án và dọn dẹp, xây dựng, xóa thủ công thư mục Dữ liệu đã tạo cũng không hoạt động. Tôi tin rằng đó là một lỗi và nó có thể khá đau nếu xảy ra với nhiều hơn một vài tệp.


Buồn, đã hy vọng có một cách dễ dàng hơn xung quanh vấn đề này. Tôi có khoảng 20 tệp, vì vậy việc tạo sau đó xóa sẽ khá khó khăn.
Scott

4

Tôi cũng gặp vấn đề này và vì user151215 đã mô tả nó là do các thư mục .svn.

Tôi đã có một thư mục .svn cũ, không phải trong chính dự án mà trong thư mục mẹ của dự án.

thư mục .svn vi phạm sẽ có một tệp mục chứa các tệp bị thiếu của bạn. Vì vậy, bạn có thể sử dụng Teminal và tìm kiếm một chuỗi tên tệp bị thiếu, ví dụ: grep -lir BagContoder.m yourRootDevDir / *

đơn giản hơn việc kích hoạt các tập tin ẩn trong công cụ tìm, chỉ cần sử dụng thiết bị đầu cuối. cd vào thư mục có liên quan và mv .svn ~ / .Trash

Hi vọng điêu nay co ich!



3

Tôi đã sử dụng cách sau đây để giải quyết vấn đề tha:

Khởi chạy terminal và cd vào thư mục dự án. (ví dụ: cd /Users/Mauro/Src/Pippero-1.2/)

Sau đó nhập lệnh sau:

find . -name .svn -exec rm -rf { } \;

lệnh sẽ đệ quy tìm kiếm các tệp (và thư mục) được gọi là .svn và xóa chúng


điều này không hiệu quả với tôi, nhưng đi vào từng thư mục và xóa các thư mục .svn riêng lẻ đã làm. rất lớn cho bạn, người đàn ông của tôi!
gonzobrains


2

Tôi đang sử dụng svn và quản lý để giải quyết vấn đề này bằng cách

svn delete pathToMissingFile

sẽ loại bỏ bản sao svn cục bộ của tệp bị thiếu cũng như bản sao trong kho lưu trữ từ xa.

hoặc là

svn revert pathToMissingFile

sẽ loại bỏ các thay đổi trên tệp bị thiếu, điều đó có nghĩa là đưa tệp bị thiếu trở lại vị trí của nó.


1

Tất cả những điều trên không có tác dụng giải quyết vấn đề tương tự mà tôi có. Thực hiện một số tìm kiếm, tôi hiểu rằng vấn đề tôi có liên quan đến xung đột SVN.

Tôi phát hiện ra rằng có những xung đột khi sử dụng dòng lệnh:

svn status

Sau đó, tất cả các tệp xung đột phải được giải quyết

svn resolved filename1 filename2 ...

Khi các xung đột được giải quyết, các cảnh báo đã biến mất khỏi Xcode


1
  1. Cam kết và thúc đẩy những thay đổi của bạn.
  2. Khởi động lại Xcode.

1

Nó rất đơn giản,

Xcode -> Preferences -> Source Control -> uncheck Enable Source Control

và đừng quên làm cmd+shift+k


0

Nhấn Cmd + 7 sau khi xây dựng và chọn hành động xây dựng mới nhất. Có vẻ như Xcode cũ tốt một chút? :) nhập mô tả hình ảnh ở đây


Ya, nó trông giống như XCode cũ, nhưng nó không giải quyết được vấn đề với XCode mới nói rằng tôi bị thiếu các tệp. Tôi thích khung cảnh này, nhưng có vẻ như nó chỉ che giấu vấn đề với XCode.
Scott

0

Trong trường hợp của tôi

  1. Tôi chỉ đơn giản là mở SvnX.
  2. Tất cả các tệp bị thiếu được đánh dấu màu đỏ. Chọn và xóa chúng.
  3. Sau đó, tất cả các Cảnh báo Xcode đã biến mất.

0

Câu trả lời của Alex đã khắc phục vấn đề thiếu tập tin của tôi.

Tôi đã có một vấn đề khác (mặc dù nó không liên quan đến các tập tin bị thiếu, tôi cảm thấy đây sẽ là chủ đề tốt hơn)

  1. Tôi cần phải sao chép một tập hợp các hình ảnh vào dự án của tôi.
  2. Tôi chỉ đơn giản là tạo một nhóm (mặc dù tôi biết rằng nhóm đó không ánh xạ vào thư mục vật lý) và kéo hình ảnh vào nhóm (chọn tùy chọn "Sao chép vào ..").
  3. Tình trạng SVN cho thấy tất cả chúng trong "A".
  4. Bây giờ khi tôi đi vào hệ thống tập tin thực tế, tôi thấy rằng tất cả các hình ảnh được sao chép vào thư mục gốc của dự án của tôi. Vì nó trông không được tốt, tôi đã tạo một thư mục vật lý bên trong thư mục hình ảnh trong dự án của mình và sao chép tất cả các hình ảnh được thêm vào đó.
  5. SVN sau đó hiển thị tất cả các tệp màu đỏ.
  6. Tôi đã xóa các tài liệu tham khảo của tất cả các tập tin màu đỏ.
  7. Với tùy chọn "Thêm tệp", sau đó tôi đã thêm hình ảnh từ thư mục vừa tạo.
  8. Bây giờ SVN không hiển thị trạng thái của các tệp là "A" và không có cách nào tôi có thể kiểm tra chúng.
  9. Đã thử nhiều bước như bỏ rác chúng thêm một lần nữa từ một thư mục khác, v.v., nhưng không có may mắn.

Tôi đã sửa lỗi này bằng cách truy cập trực tiếp vào kho lưu trữ, tạo một thư mục mới dưới ảnh để thư mục vật lý hiện có trong máy chủ SVN

Sau đó tôi đã lấy một bản cập nhật của nguồn và nhận được thư mục mới được tạo bên trong bản sao làm việc của tôi (mặc dù nó không được thêm vào dự án).

Sau đó tôi đã sao chép các hình ảnh vào thư mục đó và thêm chúng vào dự án bằng tùy chọn "Thêm tệp", điều này đưa tôi trở lại trạng thái "A" và tôi có thể kiểm tra các tệp.

Chỉ muốn chia sẻ điều này ..... bởi vì tôi đã mất rất nhiều thời gian.

-anoop


Trong trường hợp này, đi đến Terminal và đến thư mục gốc của dự án của bạn. Tạo thư mục với "svn mkdir name_of_the_folder". Kéo và thả tệp với Finder từ name_of_the_folder vào Dự án của bạn (hoặc thư mục tự thêm tất cả các tệp). Vấn đề là khi bạn tạo thư mục không có thư mục "svn mkdir" không được thêm vào SVN.
Alex

0

Không xóa tệp trực tiếp trong thư mục .xcode của bạn. Xóa các tập tin từ điều hướng dự án xcode. (Nhấp chuột phải vào tập tin đó và chọn di chuyển vào thùng rác).

Bây giờ, Để xóa vấn đề này, thêm các tệp trong cùng một vị trí. Và xóa khỏi điều hướng dự án.


0

Tôi không phải làm gì cả. Tôi đã cam kết mã của mình và đẩy nó lên. Đã tắt XCODE. Kéo nó xuống một lần nữa và mọi thứ chỉ hoạt động.


0

Tổng quat:

Trong trường hợp của tôi, có một Dự án xcode được gọi Sampletrong đường dẫn thư mục sau /folder1/folder2.

Có một .gittập tin bên trong /folder1/folder2/Sample/dự kiến.

Nguyên nhân gốc rễ:

Có một .gittệp khác trong thư mục cha ( /folder1) gây ra sự cố. Các thư mục có thể đã bị xóa để lại .gittập tin

Giải pháp

rm -rf /folder1/.git

Manh mối

Nếu việc di chuyển dự án của bạn đến một vị trí hoàn toàn mới sẽ khắc phục vấn đề trong đó không có .gittệp nào trong các thư mục mẹ lên cấu trúc phân cấp thì đó là một đầu mối mà giải pháp trên có thể hoạt động.

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.