Cảnh báo: Giai đoạn xây dựng Tài nguyên Gói Sao chép chứa tệp Info.plist của mục tiêu này


270

Tôi đã tách một dự án thành hai bản dựng và đưa cho mỗi bản plist tệp tệp. Mọi thứ hoạt động tốt, nhưng tôi tiếp tục nhận được cảnh báo xây dựng này:

Cảnh báo: Giai đoạn xây dựng Tài nguyên Gói Sao chép chứa tệp Info.plist của mục tiêu này 'MyApp-Info.plist'

Tôi nhận được điều này khi tôi cố gắng xây dựng MyApp. Xây dựng cho mục tiêu thứ hai cho cùng một lỗi (với SecondTarget-Info.plistcảnh báo). Tôi không chắc tại sao đó là một cảnh báo, vì tôi muốn bản dựng chứa .plisttệp đó . Mỗi .plisttệp có một thành viên đích (cho bản dựng riêng của họ).

Cảnh báo này có ý nghĩa gì? Có cách nào để làm cho nó đi xa?


Bạn không cần thêm Info.plist cho từng mục tiêu. Thay vào đó, trong mỗi mục tiêu Cài đặt bản dựng -> Đóng gói -> Tệp Info.plist -> vị trí cho mục tiêu Info.plist
onmyway133 7/07/2015

Câu trả lời:


595

https://developer.apple.com/l Library / content / qa / qa1649 / _index.html

Trích đoạn:

Bạn đang nhận được cảnh báo này vì có thể bạn đã thêm tệp Info.plist vào giai đoạn xây dựng Tài nguyên gói sao chép của mình như trong Hình

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

Cài đặt bản dựng INFOPLIST_FILE chỉ định tên của Info.plist được liên kết với mục tiêu của bạn. Khi xây dựng mục tiêu, Xcode đọc cài đặt bản dựng này và sao chép Info.plist được tham chiếu vào gói ứng dụng của bạn. Vì Xcode tự động xử lý Info.plist, bạn không nên thêm nó vào giai đoạn xây dựng Tài nguyên gói sao chép hoặc biến nó thành thành viên đích.

Để giải quyết cảnh báo này, chọn Info.plist của bạn từ giai đoạn xây dựng Tài nguyên gói sao chép như trong Hình 1, sau đó nhấp vào nút Xóa (-) để xóa nó khỏi pha.


Vấn đề gì sẽ được gây ra nếu điều này không được giải quyết?
hasan

2
@ hasan83, bạn sẽ nhận được cảnh báo xây dựng và sản phẩm được xây dựng sẽ chứa một bản sao thêm của Info.plist chiếm một ít không gian.
JWWalker

1
@kraftydevil, dự án của bạn có bất kỳ dự án con nào không, để cảnh báo có thể được đề cập đến một mục tiêu khác ngoài mục tiêu bạn đã xem xét?
JWWalker

5
Vẫn có liên quan, 7 năm sau.
jungledev

1
Giải pháp hiệu quả với tôi trên Xcode 9. @jungledev vẫn có liên quan vì Apple bận cập nhật các phiên bản Swift thay vì phát triển Xcode để cho chúng tôi thấy giải pháp cho các lỗi lạ của các số lạ mọi lúc.
MBH

65

Để sửa trong xcode 4:

1) Xóa tham chiếu đến tệp info.plist của bạn bằng cách chọn tệp đó và nhấn xóa.

2) Thêm lại tệp info.plist nhưng chọn không có đích và bỏ chọn tùy chọn "thêm vào mục tiêu".


2
Bây giờ tôi thấy rằng KHÔNG bỏ chọn "thêm vào mục tiêu" khi sao chép tệp plist vào dự án của tôi là lý do tôi gặp phải vấn đề này. Để khắc phục sự cố, tôi đã làm theo các bước trong "câu trả lời đúng" ở trên mặc dù xóa và thêm lại mà không thêm vào mục tiêu cũng sẽ có hiệu quả. =)
RanLearns

1
Điều này làm việc cho tôi trong Xcode 6.4. Câu trả lời được chọn là không.
kraftydevil

2

Trong trường hợp bất kỳ ai gặp phải lỗi này với Xcode 3, để khắc phục, hãy nhấp vào tệp .plist ở cột bên trái trong "Nhóm và tệp" và ở khu vực phía trên bên phải, bỏ chọn hộp bên cạnh tên tệp .plist trong cột dưới biểu tượng bullseye. Bạn sẽ cần trình chỉnh sửa thu nhỏ (Xem -> Thu nhỏ Trình chỉnh sửa) để hiển thị các hộp kiểm.


0

Một giải pháp khác là:

Bạn có thể đã vô tình xóa một tệp dự án khỏi dữ liệu cốt lõi "thành viên mục tiêu".

  1. Chọn Main.storyboard của bạn từ trình điều hướng dự án ở bên trái

  2. Chuyển đến "trình kiểm tra tệp" (tab đầu tiên) ở bên phải

  3. Tìm danh sách "Thành viên mục tiêu"

  4. Kích hoạt hộp kiểm

  5. Hãy dành một chút thời gian để xử lý, nhưng trong khi bạn làm việc đó, hãy kiểm tra LaunchScreen.storyboard, .xcdatamodelid, Assets.xcassets và tất cả các tệp .swift trong dự án của bạn. Tất cả họ nên được kích hoạt cho thành viên mục tiêu.

  6. Lưu ý: Info.plist không được bật thành viên đích.

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


-2

Cũng giống như một ghi chú ... Tôi sẽ cố gắng viết một Radar đẹp về nó, nhưng thật kỳ lạ khi cách xử lý Bản địa hóa trong Storyboards trong Xcode. Nếu bạn hỏi "Hiển thị trong Finder", bạn sẽ không thấy tệp .storyboard của mình được chọn mà thay vào đó là thư mục chứa nó. Tôi nghĩ rằng nó có liên quan đến Bản địa hóa của Storyboard. Ngay sau khi tôi thay đổi từ tiếng Anh sang tiếng Đức (và do đó không có tệp nữa trong root hoặc en.lproj), tôi bắt đầu gặp rắc rối.

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.