Xcode 4 - xây dựng thư mục đầu ra


217

Tôi gặp vấn đề với việc thiết lập / định vị các tệp đầu ra của mình trong Xcode4 (beta 5). Chúng được đặt ở đâu đó trong ~/Library/Developer/ugly_path/.... Tôi thậm chí không thể chọn "hiển thị trong công cụ tìm" trên các sản phẩm của mình. Điều này cũng tương tự đối với một dự án C đơn giản, công cụ Foundation và thậm chí cả gói Cacao. Một gỡ lỗi hoạt động tốt.

Bạn có thể vui lòng chỉ cho tôi nơi và cách thiết lập / xây dựng thư mục đầu ra không? (Tôi biết nó nghe có vẻ ngu ngốc. Tôi đã mã hóa trong Xcode3 trong nhiều tháng, nhưng tôi không thể tìm ra nó trong Xcode4 beta).

Cảm ơn rất nhiều.

Câu trả lời:


342

Từ menu Xcode ở trên, nhấp vào tùy chọn, chọn tab vị trí, xem tùy chọn vị trí xây dựng.

Bạn có 2 lựa chọn:

  1. Đặt sản phẩm xây dựng ở vị trí dữ liệu dẫn xuất (được khuyến nghị)
  2. Đặt sản phẩm xây dựng tại các vị trí được chỉ định bởi các mục tiêu

Cập nhật: Trên xcode 4.6.2, bạn cần nhấp vào nút nâng cao ở phía bên phải bên dưới trường văn bản dữ liệu dẫn xuất. Xây dựng vị trí chọn di sản.


27
Câu trả lời này giải thích lý do tại sao thay đổi này được thực hiện: stackoverflow.com/questions/5331270/iêu
toofah

3
Thành viên tự hào, ý bạn là gì không có trong Xcode 5? Chúng nằm trong Tùy chọn -> Vị trí -> Dữ liệu được tạo -> Nâng cao.
Richard Venable 16/12/13

Ok, vậy bản dựng của tôi đi vào .../XCode/DerivedData/thư mục, đủ đơn giản. Ngoại trừ việc các thư mục con dường như được AppName-asdflkjqwergoobledygook. Vì tôi đang xây dựng từ một tập lệnh, tôi thực sự muốn tìm bản dựng (vì vậy tôi có thể đóng gói và gửi qua TestFlight :) Làm cách nào để xác định cái nào trong số nhiều cái MyAppName-xxxxlà đúng? Cảm ơn!
Olie

@Olie Bạn cũng có thể thay đổi vị trí dữ liệu dẫn xuất thành đường dẫn bạn chọn
Gerard

@Gerard: Tôi có thể, nhưng đó không phải là điều tôi muốn làm. Tôi đang kiểm tra các nguồn từ một repo, sau đó xây dựng thông qua dòng lệnh và tôi muốn biết bản dựng đã đi đâu. Sẽ không phù hợp với tập lệnh xây dựng của tôi để sửa đổi dự án theo bất kỳ cách nào (giả sử, bằng cách thay đổi cài đặt dự án.)
Olie

140

Nếu bạn xây dựng từ dòng lệnh, bạn có thể đặt thư mục đầu ra theo cách sau:

xcodebuild -workspace 'WORKSPACE_NAME.xcworkspace' \
           -scheme 'SCHEME_NAME' \
           -configuration 'Release' \
           -sdk iphoneos7.0 CONFIGURATION_BUILD_DIR='OUTPUT_DIRECTORY'

Để làm cho các tập lệnh sh của tôi hoạt động, tôi cần xóa các trích dẫn đơn và chỉ viết CONFIGURATION_BUILD_DIR = / Users / ...
Stanislav Pankevich

@occulus, bạn hoàn toàn đúng vì điều này sẽ thất bại trong việc xây dựng mục tiêu thử nghiệm sau khi xây dựng dự án, tôi nghĩ rằng nếu bạn chỉ xây dựng MIGHT thì không sao, nhưng tốt hơn nên sử dụng các đường dẫn tuyệt đối!
Mostafa Berg

Trong trường hợp bất kỳ ai khác đang cố gắng giải quyết vấn đề tương tự, tôi đã thuyết phục XCode 6.x đặt nhị phân được liên kết chính xác vào nơi cần thiết bằng cách sử dụng kết hợp này:/Users/moi/src/mozbuilds/xul3604/$(CONFIGURATION)/dist/bin
J Evans

29

Trong Xcode 5: Xcode menu> Preferences ... mục> Địa điểm tab> Địa điểm tab phụ> Advanced ... nút> Tuỳ chỉnh tùy chọn.

Sau đó chọn, ví dụ, Relative to Workspace .


8
Chúc bạn sống được một trăm tuổi, mạnh mẽ và khỏe mạnh thưa ngài. Cảm ơn bạn !
WhozCraig

13

Nếu bạn có cài đặt Vị trí xây dựng Xcode 4 thành "Đặt sản phẩm xây dựng ở vị trí dữ liệu dẫn xuất (được khuyến nghị), thì nó phải được đặt trong ~ / Library / Developer / Xcode / DeruredData. Thư mục này sẽ có dự án của bạn trong đó dưới dạng thư mục, Tên dự án sẽ được thêm vào với một loạt các chữ cái được tạo ra để xem xét cẩn thận.


10

Giữ dữ liệu dẫn xuất nhưng sử dụng DSTROOT để chỉ định đích.

Sử dụng DEPLOYMENT_LOCATION để buộc triển khai.

Sử dụng DWARF_DSYM_FOLDER_PATH không có giấy tờ để sao chép dSYM.

Điều này cho phép bạn sử dụng vị trí dữ liệu dẫn xuất từ ​​xcodebuild và không phải thực hiện các công cụ lập dị để tìm ứng dụng.

xcodebuild -sdk "iphoneos" -workspace Foo.xcworkspace -scheme Foo -configuration "Debug" DEPLOYMENT_LOCATION=YES DSTROOT=tmp DWARF_DSYM_FOLDER_PATH=tmp build

8

Bạn luôn có thể tìm thấy thư mục bản dựng bằng cách tìm trong trình xem nhật ký bản dựng và sao chép đường dẫn ở đó vào cửa sổ đầu cuối.

Tôi sử dụng điều này để phân tích các gói .app iOS của mình trước khi chúng được cài đặt để đảm bảo không có tệp đi lạc nào được đưa vào.


Vì vậy, Apple kiên nhẫn. Không phải!
zaph

1
Và tôi tìm thấy bản dựng này ở đâu ?? Tìm kiếm "nhật ký xây dựng" trong Xcode giúp trả về 0 kết quả.
devios1

1
Nm, đã tìm thấy "Log Navigator", trông giống như một bong bóng lời nói.
devios1

4

Đối với bất kỳ ai muốn tìm thư mục bản dựng từ tập lệnh nhưng không muốn thay đổi nó, hãy chạy phần sau để có danh sách tất cả các cài đặt bản dựng trỏ đến một thư mục trong DeruredData:

xcodebuild -showBuildSettings | grep DerivedData

Nếu bạn chạy các mục tiêu và sơ đồ tùy chỉnh, vui lòng đặt chúng ở đó:

xcodebuild -workspace "Foo.xcworkspace" -scheme "Bar" -sdk iphonesimulator -configuration Debug -showBuildSettings | grep DerivedData

Nhìn vào đầu ra để xác định vị trí đầu ra mà bạn muốn và sau đó:

xcodebuild -showBuildSettings | grep SYMROOT | cut -d "=" -f 2 - | sed 's/^ *//'

Phần cuối cùng cắt chuỗi ở dấu bằng và sau đó cắt khoảng trắng ở đầu.


2

Nếu bạn sử dụng Không gian làm việc Xcode4 mới, bạn có thể thay đổi Vị trí dữ liệu được tạo trong Tệp -> Cài đặt không gian làm việc ...


1

Bạn có thể cấu hình thư mục đầu ra bằng CONFIGURATION_BUILD_DIRbiến môi trường.

Nguồn: http://developer.apple.com


không có gì không liên quan đến hành vi vị trí / di sản (theo mục tiêu) xuất phát
Gregory Pakosz

Vâng, đúng vậy. Nó hoạt động một trong hai cách. Từ tài liệu: "Đường dẫn thư mục. Xác định thư mục theo đó tất cả các tệp liên quan đến bản dựng cho cấu hình bản dựng đang hoạt động được đặt."
Heath B ranh giới

không không phải với xcode4, nó phụ thuộc vào Xcode > Preferences > Locations > Derived datacài đặt như được giải thích trong câu trả lời được bình chọn nhiều nhất. + tài liệu mà bạn đề cập đến đã được cập nhật lần cuối vào năm 2010
Gregory Pakosz

Tôi thực sự đã sử dụng cài đặt này để định cấu hình thư mục bản dựng với xcode4 từ xcodebuild. Hãy thử một lần.
Heath B ranh giới

1
Tôi đã thử với Xcode 4.3.1 (từ IDE) và không thay đổi cài đặt chung, các sản phẩm được xây dựng ở đâu đó ~/Library/Developer/Xcode/DerivedData/chứ không phải trong thư mục tôi chỉ định CONFIGURATION_BUILD_DIR. Nếu tôi muốn CONFIGURATION_BUILD_DIRđược vinh danh, tôi phải chuyển các tùy chọn dữ liệu có nguồn gốc Xcode thành "Di sản"
Gregory Pakosz

0

Một điều khác cần kiểm tra trước khi bạn bắt đầu chơi với các tùy chọn Xcode là:

Chọn mục tiêu của bạn và đi đến Cài đặt bản dựng> Đóng gói> Tiện ích mở rộng

Giá trị nên có: ứng dụng

Nếu không nhấp đúp vào nó và gõ "ứng dụng" mà không có qoutes.


-1

Điều này thật khó chịu. Mở dự án của bạn, nhấp vào mục tiêu, mở tab Giai đoạn xây dựng. Kiểm tra Tài nguyên Gói Sao chép của bạn cho bất kỳ mục màu đỏ.

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.