Vô tình xóa tệp xcassets khỏi dự án Xcode


81

Tôi muốn xóa một thư mục duy nhất khỏi bộ sưu tập hình ảnh, tuy nhiên, bằng cách nào đó tôi đã ném toàn bộ tệp xcassets vào thùng rác.

Phương pháp 'Đặt lại' thông thường không khả dụng và chỉ cần kéo thư mục đã xóa vào Xcode sẽ dẫn đến lỗi:

Không thể sao chép "Images.xcassets" vào "ProjectPear" vì một mục có cùng tên đã tồn tại.
Để lưu tệp, hãy cung cấp một tên khác hoặc di chuyển sang một bên hoặc xóa tệp hiện có và thử lại.

Tôi không chắc bộ sưu tập này được đặt ở đâu trong dự án Xcode của tôi, vì trình điều hướng dường như không hiển thị bất kỳ điều gì và dòng lệnh cũng không đưa ra bất kỳ gợi ý nào. Tôi sợ phải lộn xộn với project.pbxprojtệp, vì nó có thể làm lộn xộn nhiều thứ hơn là chỉ bộ sưu tập hình ảnh của tôi.

Chỉnh sửa: Kéo các tệp trở lại Finder từ Thùng rác đã thành công, tuy nhiên, trình điều hướng Xcode không còn nhận ra - hoặc trong trường hợp này, vẫn không nhận ra - tệp .xcassets. Tôi không chắc có nên thêm nội dung nào đó vào tệp .pbxproj hay không.


Chỉ cần thực hiện một Command + Z (Hoàn tác). Đã tiết kiệm cho tôi rất nhiều thời gian :)
Gokul

Câu trả lời:


216

Tôi chỉ tự mình làm điều này và tìm ra cách nhanh chóng khắc phục sự cố.

  1. Chuyển đến thư mục dự án trong Finder . Bạn sẽ thấy rằng thư mục Images.xcassets vẫn còn ở đó.

  2. Di chuyển nó đến một vị trí riêng biệt như Desktop hoặc một cái gì đó. Nó vẫn có tất cả các hình ảnh và tệp json.

  3. Quay lại Xcode và tạo danh mục nội dung mới cho hình ảnh.

    File > New > File... > Resource > Asset Catalog

    Đặt tên là Hình ảnh .

  4. Thoát Xcode và quay lại Finder.

  5. Sao chép thư mục từ bên trong của bạn Images.xcassets đến mới Images.xcassets thư mục trong dự án của bạn.

  6. Khởi chạy Xcode và bạn đã trở lại kinh doanh!


Wow, tôi chỉ xóa trong Assets.xcassets của tôi một cách tình cờ và nó vẫn hoạt động, nhưng điều này không làm việc vì vậy tôi không thể thêm hình ảnh mới ... Tôi đã tìm kiếm các thư mục ở khắp mọi nơi nhưng không thành công
Jesus Rodriguez

@JesusAdolfoRodriguez, Nếu bạn đã chọn 'Chuyển vào Thùng rác' khi vô tình xóa danh mục tài sản, bạn sẽ có thể tìm thấy thư mục trong thùng rác, tất nhiên là trừ khi bạn đã dọn sạch thùng rác.
Sean Blaney

1
Tốt, làm việc cho tôi. FYI cho bất kỳ ai vô tình xóa tệp này, tôi nghĩ đó là do chúng tôi đã cố gắng Cmd + Xóa tệp khi ở bên trong thư mục Nội dung. Thay vào đó, chỉ cần nhấn Delete để xóa một tệp
Merricat

23

Nếu bạn chưa xóa nó hoàn toàn, bạn có thể kéo nó trở lại từ Finder. (Nhấp chuột phải vào dự án của bạn và chọn 'Hiển thị trong Trình tìm kiếm' để kiểm tra)

Nếu nó biến mất hoàn toàn, bạn chỉ cần truy cập Cmd + N -> Resource và chọn Asset Catalog. Sau đó, bạn thêm lại hình ảnh của mình bằng cách kéo và thả hoặc nhấp chuột phải và 'Thêm tệp vào ...' và sẽ rất tốt.

Hy vọng rằng sẽ giúp.


1
Cảm ơn, tôi đã quản lý để kéo mọi thứ trở lại thư mục, nhưng trình điều hướng không hiển thị tệp. Có cách nào để làm mới trình điều hướng (hoặc thứ gì đó tương tự) không?
Aeveus

Chà, Cmd + W và mở lại đã từng hữu ích, nhưng rất đáng thử. Nếu bạn tìm thấy các tập tin trong Finder Mặc dù vậy, chỉ cần kéo 'em trở lại và đó nên được nó
Finn Gaida

Việc kéo các tệp trở lại vẫn diễn ra tốt đẹp, chỉ là trình điều hướng không nhận ra tệp .xcassets nữa, vì nó đơn giản là không hiển thị. Tôi có thể tìm thấy nó tốt trong Finder, nhưng trình điều hướng XCode không tin tôi.
Aeveus

Điều này có vẻ ngớ ngẩn, nhưng đối với tôi khởi động lại XCode và làm sạch dự án đã thực hiện công việc scaringly thường
Finn Gaida

Tại thời điểm này, tôi đang hơi bực bội, vì vậy tôi hoan nghênh tất cả các câu trả lời. Tôi đã thử xây dựng lại và làm sạch dự án ngoài việc khởi động lại XCode; không giúp được gì. :(
Aeveus

3

Hôm nay gặp sự cố tương tự với Xcode Beta, tôi cũng không thể tạo danh mục nội dung mới vì một số lý do. Điều này nằm trong Dự án mở rộng Watchkit Đây là những gì tôi đã làm để giải quyết nó:

  1. Trong công cụ tìm, tôi đã sao chép images.xcassets hiện có từ một thư mục khác trong ứng dụng vào màn hình của tôi.
  2. Đã xóa nội dung của thư mục này.
  3. Đã sao chép Nội dung hình ảnh (đơn) đã xóa từ thùng rác của tôi vào thư mục (trên màn hình của tôi).
  4. Đã kéo toàn bộ thư mục vào dự án của tôi trong XCode.

Điều đó đã sửa nó và mọi thứ trở lại bình thường.


3

Nếu bạn đã xóa nó hoàn toàn, thì đây cũng là các bước để có một Images.xcassets mới:

  1. Trong Bộ điều hướng, bấm vào dự án.
  2. Đi tới: Tệp> Mới> Tệp> Thêm Danh mục Nội dung> Đặt tên cho nó.
  3. Để thêm AppIcon và LaunchImage trong đó:

Đi tới Cài đặt dự án:

  1. Trong Tab Chung, Trượt xuống Biểu tượng Ứng dụng và Khởi chạy Hình ảnh
  2. Nhấp vào tùy chọn bên cạnh Nguồn biểu tượng ứng dụng và chọn Sử dụng danh mục nội dung
  3. Một cửa sổ sẽ bật lên - chọn tên của tệp Images.xcassets mới của bạn và nhấp vào Di chuyển.
  4. Chọn Cũng thêm LaunchImage. Bây giờ bạn có thể thấy Images.xcassets mới trong dự án của mình :).

3

Tôi đã vô tình xóa tham chiếu đến thư mục nội dung để nó không còn hiển thị trong Xcode nữa. Nhưng khi tôi kiểm tra từ công cụ tìm, thư mục tài sản vẫn nằm trong thư mục dự án.

Nếu bạn đã làm điều đó, chỉ cần mở menu tệp trong Xcode (từ trong dự án hiện tại của bạn) và ở trên cùng, bạn có thể thêm tệp (hiện có) vào chính dự án đó (quay lại) - có nội dung "Thêm tệp vào ..."


hoặc chỉ kéo-n-thả từ Finder
djdance

2

Thông thường tham chiếu của tệp bị xóa khỏi Xcode, thư mục gốc vẫn tồn tại trong thư mục dự án.

Nhấp chuột phải vào thư mục dự án của bạn, nhấp vào "Thêm tệp vào" dự án của bạn "", tìm Nội dung trong dự án của bạn và nhấp vào Thêm và bạn đã hoàn tất

nhập mô tả hình ảnh ở đây


1

Nhấp chuột phải vào bất kỳ thứ gì trong dự án của bạn và nhấp vào "Hiển thị trong Trình tìm kiếm". Tìm kiếm xung quanh trong thư mục dự án của bạn trong công cụ tìm kiếm một chút và bạn sẽ tìm thấy nó. Tôi không sử dụng máy Mac ngay bây giờ, hoặc tôi muốn cung cấp cho bạn một đường dẫn trực tiếp hơn đến thẳng .xcassetsvị trí thư mục mặc định .

Và dù sao đi nữa, nếu bạn không thể sao chép / tạo một thư mục "mới" ở vị trí đó vì "một mục có cùng tên đã tồn tại", thì điều đó có nghĩa là bạn đã không thực sự xóa thư mục đó. Bạn vừa xóa các tham chiếu của dự án đến thư mục đó trong XCode. Thư mục trên ổ cứng của bạn không đi đâu cả.


Ah, cảm ơn, tôi đã tìm thấy thư mục, tuy nhiên nó dường như bị thiếu phần lớn các tệp của nó. Bạn có tình cờ biết liệu phần còn lại có thể truy xuất được không?
Aeveus

Tôi không chắc. Nếu đó là thứ đã có trong dự án của bạn nhưng bây giờ không có, thì nó có thể ở đâu đó trong thư mục dự án của bạn trong Finder hoặc có thể nó đã được chuyển vào thùng rác.
nhgrif

1

[Tôi nhận ra đây là một câu hỏi rất cũ của bạn @Aeveus] Tất cả các câu trả lời đều nói về việc thực hiện lại việc thêm nội dung. Do bạn không thể hoàn tác, một bước còn thiếu trong mô tả ban đầu của bạn là:

Trong tệp project.pbxproj của bạn, sẽ có các tham chiếu đến các nội dung như sau:

45AE4E781C183FBA0051674F /* Assets.xcassets in Resources */ = {... 

Giả sử bạn có hệ thống kiểm soát mã nguồn (git, v.v.), bạn có thể hoàn nguyên về nội dung ban đầu của tệp project.pbxproj của mình hoặc chỉ cần thêm lại các dòng đã xóa theo cách thủ công và mở lại tệp dự án bằng xcode. Bây giờ bạn đã sẵn sàng.


0

Tôi gặp vấn đề tương tự và tôi đã làm theo các bước ở trên từ Jason, nhưng cuối cùng tôi nhận được Image.xassets có màu đỏ, vì vậy để tìm hình ảnh của tôi, tôi phải nhấp vào Image.xassets và sau đó ở góc trên cùng bên phải đặt đường dẫn tuyệt đối đến thư mục image.xassets của tôi và nó đã khắc phục sự cố của tôi. Hy vọng nó giúp!

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.