2013-05-04 34 views
13

Gạch cơ bản nói lên tất cả.Cài đặt mục tiêu xây dựng Xcode 4 "Bỏ qua cài đặt". Nó là gì?

Tôi đang phát triển một ứng dụng mac có mục tiêu ứng dụng thông thường, nhưng cũng có thêm hai mục tiêu công cụ dòng lệnh có sản phẩm được sao chép vào ứng dụng khi xây dựng. Tôi nhớ thấy ở đâu đó rằng "Bỏ qua cài đặt" là quan trọng trong những trường hợp này, nhưng tôi nhớ không có gì về những gì tôi đọc, vì vậy điều này có thể không chính xác.

Dù sao, tôi chỉ muốn biết tùy chọn này ảnh hưởng đến điều gì.

+2

Tôi cho rằng 90% "Cài đặt xây dựng" của Xcode quá kém nên các kỹ sư của Apple có thể thậm chí không biết họ làm gì! Tất cả họ đều rất hoang mang và ngốc nghếch ... tôi đấu tranh với họ một cách đáng yêu. Tôi không thể tưởng tượng được những người nói tiếng Anh không phải là người nói nhầm lẫn phải cố gắng tìm ra ý nghĩa của hầu hết chúng! –

+0

@alexgray Tôi đồng ý ... Phải thừa nhận rằng, điều đó có thể tồi tệ hơn, nhưng không nhiều hơn nó. – Alex

+0

@alexgray Trong phòng vệ của Xcode, hầu hết chúng được lấy trực tiếp nhiều hơn từ Unix và GCC. Có câu lệnh cấu hình/make/make install có một ý nghĩa xác định mà mọi người đều biết. Vấn đề là nhiều hơn rằng hầu hết mọi thứ được phát triển với Xcode có khả năng ứng dụng Mac GUI và như vậy rất nhiều công cụ này có thể gây hiểu nhầm. – uliwitness

Trả lời

8

Tôi tin rằng điều này chỉ quan trọng khi bạn đang phát triển cho App Store. Nếu bạn lưu trữ mục tiêu ứng dụng và điều này bao gồm buildung các mục tiêu khác (công cụ dòng lệnh, thư viện tĩnh, ...), tất cả các sản phẩm của mục tiêu được sao chép vào lưu trữ, trừ khi SKIP_INSTALL được đặt thành YES.

Bạn có thể xác minh điều này: Lưu trữ ứng dụng của bạn, tìm tệp lưu trữ trong Trình tổ chức, Tùy chọn nhấp -> "Hiển thị trong trình tìm kiếm", đi vào kho lưu trữ (Option-Click -> "Show Package Contents"), và trong /Products bạn sẽ tìm thấy nhiều tệp/thư mục. Tuy nhiên, việc xây dựng App Store chỉ cho phép một sản phẩm trong thư mục Sản phẩm. Xcode cảnh báo bạn về vấn đề này nếu bạn "Xác nhận" ứng dụng lưu trữ của bạn trong tổ chức:

Skip Install not set for sub targets

+0

Cảm ơn, tôi đã tìm ra các nguồn khác xác nhận điều này và trải nghiệm của chính tôi cũng đồng ý. Vì tôi đang phát triển cho MAS, điều này không thành vấn đề. – Alex

3

thường (SKIP_INSTALL = NO), trong giai đoạn cài đặt, mục tiêu xây dựng sẽ được cài đặt lên $ (DSTROOT) $ (INSTALL_PATH). Đặt SKIP_INSTALL = YES làm cho mục tiêu được xây dựng nhưng chưa được cài đặt.

Điều này rất hữu ích cho lưu trữ tĩnh (libsomething.a) mà sau này sẽ được liên kết với các mục tiêu hoặc gói khác sẽ được cài đặt theo giai đoạn xây dựng tệp sao chép của một mục tiêu khác.

Các vấn đề liên quan