Sản phẩm iPhone/ipad của công ty tôi đã di chuyển qua nhiều thế hệ iOS và Xcode (hiện tại là 5.1 và 4.3) và có nhiều mục tiêu. Có lẽ vì những yếu tố này, có rất nhiều dòng giống hệt nhau cho mỗi tập tin nguồn trong phần PBXBuildFile, ví dụ:Có thể sao chép các tham chiếu tệp trong tệp project.pbxproj của XCode một cách an toàn không?
14EE4CD315A5E69000DCA763 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 14EE4CB615A5E68500DCA763 /* [email protected] */; }; 14EE4CD415A5E69000DCA763 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 14EE4CB615A5E68500DCA763 /* [email protected] */; }; 14EE4CD515A5E69000DCA763 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 14EE4CB615A5E68500DCA763 /* [email protected] */; }; 14EE4CD615A5E69000DCA763 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 14EE4CB615A5E68500DCA763 /* [email protected] */; }; 14EE4CD715A5E69000DCA763 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 14EE4CB615A5E68500DCA763 /* [email protected] */; };
Lưu ý rằng các dòng cho một tập tin nguồn cho tất cả đều hoàn toàn (tôi đã sai, họ không khá ...) giống hệt nhau và số dòng trùng lặp thay đổi từ không đến nửa tá hoặc nhiều hơn. Do trùng lặp này, phần PBXBuildFile của project.pbxproj dài gần 5000 dòng, mặc dù chúng tôi chỉ thực sự có khoảng 1200 tệp duy nhất.
Trước khi tôi viết kịch bản để xóa tất cả các dòng trùng lặp này và yêu cầu kiểm tra hồi quy hoàn toàn trên tất cả các mục tiêu và xây dựng, tôi muốn chắc chắn rằng Xcode không cần những dòng trùng lặp này vì lý do phức tạp nào đó.
Tôi khá chắc chắn rằng điều này không phải do kiểm soát phiên bản được kiểm soát; các dòng trùng lặp chỉ xuất hiện trong phần PBXBuildFile và trong khi tôi không thích P4, chúng tôi gặp khó khăn khi kết hợp các thay đổi tệp project.pbxproj, mặc dù ở gần 20.000 dòng, nó hơi khó sử dụng. Tôi nghĩ rằng một số phát hành của Xcode đã làm điều này, có lẽ trong khi thêm mục tiêu mới, nhưng tôi đã không tìm thấy bất cứ ai khác phàn nàn về vấn đề này.
Câu hỏi phụ: Điều này xảy ra như thế nào? Có ai khác tìm thấy những dòng trùng lặp này không?
Chuột, tôi không thể tin rằng tôi đã bỏ lỡ điều đó ở biển gần như cùng một ID. Tôi đã từ bỏ bao giờ nhận được một câu trả lời trên này, tôi sẽ phải quay trở lại và xem làm thế nào các ID bản đồ để dự án biến thể. – Taryn
Có, có vẻ như nếu bạn có nhiều mục tiêu xây dựng, phần này sẽ chỉ tham chiếu một lần cho mỗi mục tiêu. Loại có ý nghĩa. –