Quy tắc Objective-C

Báo cáo vấn đề Xem nguồn Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Quy tắc

j2objc_library

Xem nguồn quy tắc
j2objc_library(name, deps, compatible_with, deprecation, distribs, entry_classes, features, jre_deps, licenses, restricted_to, tags, target_compatible_with, testonly, visibility)

Quy tắc này sử dụng J2ObjC để dịch các tệp nguồn Java sang Objective-C. Sau đó, các tệp này có thể được dùng làm các phần phụ thuộc của các quy tắc objc_library và objc_binary. Bạn có thể tìm thấy thông tin chi tiết về J2ObjC tại trang web J2ObjC

Bạn có thể chỉ định cờ chuyển đổi J2ObjC tuỳ chỉnh bằng cách sử dụng cờ bản dựng --j2objc_translation_flags trong dòng lệnh.

Xin lưu ý rằng các tệp đã dịch có trong mục tiêu j2objc_library sẽ được biên dịch bằng cấu hình biên dịch mặc định, cùng một cấu hình như đối với các nguồn của quy tắc objc_library mà không có lựa chọn biên dịch nào được chỉ định trong các thuộc tính.

Ngoài ra, mã được tạo sẽ được loại bỏ trùng lặp ở cấp mục tiêu chứ không phải cấp nguồn. Nếu có 2 mục tiêu Java khác nhau có cùng tệp nguồn Java, bạn có thể gặp lỗi ký hiệu trùng lặp tại thời điểm liên kết. Cách chính xác để giải quyết vấn đề này là di chuyển các tệp nguồn Java dùng chung vào một mục tiêu chung riêng biệt mà bạn có thể phụ thuộc vào.

Đối số

Thuộc tính
name

Tên; bắt buộc

Tên riêng cho mục tiêu này.

deps

Danh sách nhãn; mặc định là []

Một danh sách các mục tiêu j2objc_library, java_library, java_importjava_proto_library chứa các tệp Java sẽ được chuyển đổi sang Objective-C.

Tất cả các mục tiêu java_libraryjava_import có thể đạt được một cách gián tiếp thông qua exports, depsruntime_deps sẽ được dịch và biên dịch, bao gồm cả các tệp do quá trình xử lý chú giải Java tạo ra. Không có hỗ trợ cho các mục tiêu code>java_import mà không có srcjar nào được chỉ định.

Quá trình dịch J2ObjC hoạt động theo cách khác nhau, tuỳ thuộc vào loại tệp nguồn Java có trong bao đóng bắc cầu. Đối với mỗi tệp nguồn .java có trong srcs của java_library, một tệp nguồn .h và .m tương ứng sẽ được tạo. Đối với mỗi jar nguồn có trong srcs của java_library hoặc srcjar của java_import, một tệp nguồn .h và .m tương ứng sẽ được tạo cùng với tất cả mã cho jar đó.

Người dùng có thể nhập các tệp tiêu đề do J2ObjC tạo vào mã của họ. Đường dẫn nhập cho các tệp này là đường dẫn tương đối của các cấu phần phần mềm Java ban đầu. Ví dụ: //some/package/foo.java có đường dẫn nhập là some/package/foo.h//some/package/bar.srcjarsome/package/bar.h

Nếu các quy tắc proto_library nằm trong bao đóng bắc cầu của quy tắc này, thì các proto J2ObjC cũng sẽ được tạo, biên dịch và liên kết ở cấp nhị phân. Đối với proto //some/proto/foo.proto, người dùng có thể tham chiếu mã đã tạo bằng cách sử dụng đường dẫn nhập some/proto/foo.j2objc.pb.h.

entry_classes

Danh sách các chuỗi; mặc định là []

Danh sách các lớp Java mà mã ObjC của người dùng sẽ tham chiếu trực tiếp đến các đối tượng ObjC đã dịch. Bạn bắt buộc phải có thuộc tính này nếu cờ --j2objc_dead_code_removal đang bật. Các lớp Java phải được chỉ định bằng tên chính tắc như được xác định theo Quy cách ngôn ngữ Java. Khi cờ --j2objc_dead_code_removal được chỉ định, danh sách các lớp nhập sẽ được thu thập một cách gián tiếp và được dùng làm điểm nhập để thực hiện phân tích mã không dùng. Sau đó, các lớp không dùng đến sẽ bị xoá khỏi gói ứng dụng ObjC cuối cùng.
jre_deps

Danh sách nhãn; mặc định là []

Danh sách các thư viện mô phỏng JRE bổ sung mà mọi mã Java được dịch theo quy tắc j2objc_library này đều yêu cầu. Theo mặc định, chỉ có chức năng JRE cốt lõi được liên kết.

objc_import

Xem nguồn quy tắc
objc_import(name, deps, hdrs, alwayslink, archives, compatible_with, deprecation, distribs, features, includes, licenses, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, visibility, weak_sdk_frameworks)

Quy tắc này đóng gói một thư viện tĩnh đã được biên dịch ở dạng tệp .a. Thư viện này cũng cho phép xuất các tiêu đề và tài nguyên bằng cách sử dụng các thuộc tính tương tự mà objc_library hỗ trợ.

Đối số

Thuộc tính
name

Tên; bắt buộc

Tên riêng cho mục tiêu này.

deps

Danh sách nhãn; mặc định là []

Danh sách các mục tiêu mà mục tiêu này phụ thuộc vào.
hdrs

Danh sách nhãn; mặc định là []

Danh sách các tệp tiêu đề C, C++, Objective-C và Objective-C++ do thư viện này xuất bản để các nguồn trong các quy tắc phụ thuộc đưa vào.

Các tiêu đề này mô tả giao diện công khai cho thư viện và sẽ được cung cấp để các nguồn trong quy tắc này hoặc trong các quy tắc phụ thuộc đưa vào. Các tiêu đề không được đưa vào bởi một ứng dụng của thư viện này sẽ được liệt kê trong thuộc tính srcs.

Các tệp này sẽ được biên dịch riêng biệt với nguồn nếu bạn bật mô-đun.

Boolean; giá trị mặc định là False

Nếu là 1, mọi gói hoặc tệp nhị phân phụ thuộc (trực tiếp hoặc gián tiếp) vào thư viện này sẽ liên kết trong tất cả các tệp đối tượng cho các tệp được liệt kê trong srcsnon_arc_srcs, ngay cả khi một số tệp không chứa biểu tượng nào mà tệp nhị phân tham chiếu. Điều này hữu ích nếu mã của bạn không được mã trong tệp nhị phân gọi một cách rõ ràng, ví dụ: nếu mã của bạn đăng ký nhận một số lệnh gọi lại do một số dịch vụ cung cấp.
archives

Danh sách nhãn; bắt buộc

Danh sách các tệp .a được cung cấp cho các mục tiêu Objective-C phụ thuộc vào mục tiêu này.
includes

Danh sách các chuỗi; mặc định là []

Danh sách các đường dẫn tìm kiếm #include/#import cần thêm vào mục tiêu này và tất cả các mục tiêu phụ thuộc. Điều này nhằm hỗ trợ các thư viện bên thứ ba và thư viện nguồn mở không chỉ định toàn bộ đường dẫn không gian làm việc trong câu lệnh #import/#include.

Các đường dẫn được diễn giải tương ứng với thư mục gói và các gốc genfiles và bin (ví dụ: blaze-genfiles/pkg/includedirblaze-out/pkg/includedir) được đưa vào ngoài gốc máy khách thực tế.

Không giống như COPTS, các cờ này được thêm cho quy tắc này và mọi quy tắc phụ thuộc vào quy tắc này. (Lưu ý: không phải là các quy tắc mà nó phụ thuộc vào!) Hãy hết sức thận trọng vì điều này có thể gây ra những ảnh hưởng sâu rộng. Khi nghi ngờ, hãy thêm cờ "-iquote" vào COPTS.

sdk_dylibs

Danh sách các chuỗi; mặc định là []

Tên của các thư viện .dylib SDK để liên kết. Ví dụ: "libz" hoặc "libarchive". "libc++" sẽ tự động được đưa vào nếu tệp nhị phân có bất kỳ nguồn C++ hoặc Objective-C++ nào trong cây phần phụ thuộc của tệp nhị phân đó. Khi liên kết một tệp nhị phân, tất cả các thư viện có tên trong biểu đồ phần phụ thuộc bắc cầu của tệp nhị phân đó đều được sử dụng.
sdk_frameworks

Danh sách các chuỗi; mặc định là []

Tên của các khung SDK cần liên kết (ví dụ: "AddressBook", "QuartzCore"). "UIKit" và "Foundation" luôn được đưa vào khi tạo cho các nền tảng iOS, tvOS, visionOS và watchOS. Đối với macOS, chỉ có "Foundation" luôn được đưa vào.

Khi bạn liên kết một tệp nhị phân cấp cao nhất của Apple, tất cả các khung SDK có trong biểu đồ phần phụ thuộc bắc cầu của tệp nhị phân đó sẽ được liên kết.

sdk_includes

Danh sách các chuỗi; mặc định là []

Danh sách các đường dẫn tìm kiếm #include/#import để thêm vào mục tiêu này và tất cả các mục tiêu phụ thuộc, trong đó mỗi đường dẫn tương ứng với $(SDKROOT)/usr/include.
textual_hdrs

Danh sách nhãn; mặc định là []

Danh sách các tệp C, C++, Objective-C và Objective-C++ được đưa vào dưới dạng tiêu đề theo các tệp nguồn trong quy tắc này hoặc theo người dùng của thư viện này. Không giống như hdr, những tệp này sẽ không được biên dịch riêng biệt với các nguồn.
weak_sdk_frameworks

Danh sách các chuỗi; mặc định là []

Tên của các khung SDK để liên kết yếu. Ví dụ: "MediaAccessibility". Không giống như các khung SDK được liên kết thường xuyên, các biểu tượng từ các khung được liên kết lỏng lẻo sẽ không gây ra lỗi nếu chúng không có trong thời gian chạy.

objc_library

Xem nguồn quy tắc
objc_library(name, deps, srcs, data, hdrs, alwayslink, compatible_with, copts, defines, deprecation, distribs, enable_modules, exec_compatible_with, exec_properties, features, implementation_deps, includes, licenses, linkopts, module_map, module_name, non_arc_srcs, pch, restricted_to, sdk_dylibs, sdk_frameworks, sdk_includes, tags, target_compatible_with, testonly, textual_hdrs, toolchains, visibility, weak_sdk_frameworks)

Quy tắc này tạo ra một thư viện tĩnh từ các tệp nguồn Objective-C đã cho.

Đối số

Thuộc tính
name

Tên; bắt buộc

Tên riêng cho mục tiêu này.

deps

Danh sách nhãn; mặc định là []

Danh sách các mục tiêu được liên kết với nhau để tạo thành gói cuối cùng.
srcs

Danh sách nhãn; mặc định là []

Danh sách các tệp nguồn và tệp tiêu đề C, C++, Objective-C và Objective-C++, và/hoặc các tệp nguồn hợp ngữ (`.s`, `.S` hoặc `.asm`) được xử lý để tạo mục tiêu thư viện. Đây là các tệp đã được kiểm tra, cộng với mọi tệp được tạo. Các tệp nguồn được biên dịch thành tệp .o bằng Clang. Mọi nguồn hoặc tiêu đề trong thuộc tính srcs của mục tiêu này đều có thể bao gồm/nhập các tệp tiêu đề, nhưng không phải bằng các tiêu đề trong hdrs hoặc bất kỳ mục tiêu nào phụ thuộc vào quy tắc này. Ngoài ra, bạn có thể cung cấp các tệp .o được biên dịch trước dưới dạng srcs. Hãy cẩn thận để đảm bảo tính nhất quán trong cấu trúc của các tệp .o được cung cấp và cấu trúc của bản dựng để tránh lỗi trình liên kết biểu tượng bị thiếu.
hdrs

Danh sách nhãn; mặc định là []

Danh sách các tệp tiêu đề C, C++, Objective-C và Objective-C++ do thư viện này xuất bản để các nguồn trong các quy tắc phụ thuộc đưa vào.

Các tiêu đề này mô tả giao diện công khai cho thư viện và sẽ được cung cấp để các nguồn trong quy tắc này hoặc trong các quy tắc phụ thuộc đưa vào. Các tiêu đề không được đưa vào bởi một ứng dụng của thư viện này sẽ được liệt kê trong thuộc tính srcs.

Các tệp này sẽ được biên dịch riêng biệt với nguồn nếu bạn bật mô-đun.

Boolean; giá trị mặc định là False

Nếu là 1, mọi gói hoặc tệp nhị phân phụ thuộc (trực tiếp hoặc gián tiếp) vào thư viện này sẽ liên kết trong tất cả các tệp đối tượng cho các tệp được liệt kê trong srcsnon_arc_srcs, ngay cả khi một số tệp không chứa biểu tượng nào mà tệp nhị phân tham chiếu. Điều này hữu ích nếu mã của bạn không được mã trong tệp nhị phân gọi một cách rõ ràng, ví dụ: nếu mã của bạn đăng ký nhận một số lệnh gọi lại do một số dịch vụ cung cấp.
copts

Danh sách các chuỗi; mặc định là []

Các cờ bổ sung để truyền đến trình biên dịch. Chịu sự thay thế "Tạo biến"phân tích cú pháp Bourne shell. Các cờ này sẽ chỉ áp dụng cho mục tiêu này, chứ không áp dụng cho những mục tiêu mà mục tiêu này phụ thuộc vào hoặc những mục tiêu phụ thuộc vào mục tiêu này.

Xin lưu ý rằng đối với dự án Xcode đã tạo, các đường dẫn thư mục được chỉ định bằng cờ "-I" trong copts sẽ được phân tích cú pháp, thêm "$(WORKSPACE_ROOT)/" vào trước nếu đó là đường dẫn tương đối và được thêm vào đường dẫn tìm kiếm tiêu đề cho mục tiêu Xcode được liên kết.

defines

Danh sách các chuỗi; mặc định là []

Các cờ -D bổ sung để truyền đến trình biên dịch. Chúng phải ở dạng KEY=VALUE hoặc chỉ là KEY và được truyền không chỉ đến trình biên dịch cho mục tiêu này (dưới dạng copts) mà còn đến tất cả các đối tượng objc_ phụ thuộc của mục tiêu này. Chịu sự thay thế "Tạo biến"phân tích cú pháp Bourne shell.
enable_modules

Boolean; giá trị mặc định là False

Bật tính năng hỗ trợ mô-đun clang (thông qua -fmodules). Nếu đặt giá trị này thành 1, bạn có thể @import tiêu đề hệ thống và các mục tiêu khác: @import UIKit; @import path_to_package_target;
implementation_deps

Danh sách nhãn; mặc định là []

Danh sách các thư viện khác mà mục tiêu thư viện phụ thuộc vào. Không giống như deps, các tiêu đề và đường dẫn bao gồm của các thư viện này (và tất cả các phần phụ thuộc bắc cầu của chúng) chỉ được dùng để biên dịch thư viện này, chứ không phải các thư viện phụ thuộc vào thư viện này. Các thư viện được chỉ định bằng implementation_deps vẫn được liên kết trong các mục tiêu nhị phân phụ thuộc vào thư viện này.
includes

Danh sách các chuỗi; mặc định là []

Danh sách các đường dẫn tìm kiếm #include/#import cần thêm vào mục tiêu này và tất cả các mục tiêu phụ thuộc. Điều này nhằm hỗ trợ các thư viện bên thứ ba và thư viện nguồn mở không chỉ định toàn bộ đường dẫn không gian làm việc trong câu lệnh #import/#include.

Các đường dẫn được diễn giải tương ứng với thư mục gói và các gốc genfiles và bin (ví dụ: blaze-genfiles/pkg/includedirblaze-out/pkg/includedir) được đưa vào ngoài gốc máy khách thực tế.

Không giống như COPTS, các cờ này được thêm cho quy tắc này và mọi quy tắc phụ thuộc vào quy tắc này. (Lưu ý: không phải là các quy tắc mà nó phụ thuộc vào!) Hãy hết sức thận trọng vì điều này có thể gây ra những ảnh hưởng sâu rộng. Khi nghi ngờ, hãy thêm cờ "-iquote" vào COPTS.

linkopts

Danh sách các chuỗi; mặc định là []

Các cờ bổ sung để truyền đến trình liên kết.
module_map

Nhãn; mặc định là None

Bản đồ mô-đun Clang tuỳ chỉnh cho mục tiêu này. Bạn không nên sử dụng bản đồ mô-đun tuỳ chỉnh. Hầu hết người dùng nên sử dụng bản đồ mô-đun do Bazel tạo. Nếu được chỉ định, Bazel sẽ không tạo bản đồ mô-đun cho mục tiêu này, nhưng sẽ truyền bản đồ mô-đun được cung cấp cho trình biên dịch.
module_name

Chuỗi; giá trị mặc định là ""

Đặt tên mô-đun cho mục tiêu này. Theo mặc định, tên mô-đun là đường dẫn đích với tất cả các ký hiệu đặc biệt được thay thế bằng _, ví dụ: //foo/baz:bar có thể được nhập dưới dạng foo_baz_bar.
non_arc_srcs

Danh sách nhãn; mặc định là []

Danh sách các tệp Objective-C được xử lý để tạo mục tiêu thư viện KHÔNG sử dụng ARC. Các tệp trong thuộc tính này được xử lý tương tự như các tệp trong thuộc tính srcs, nhưng được biên dịch mà không bật ARC.
pch

Nhãn; mặc định là None

Tệp tiêu đề để thêm vào trước mọi tệp nguồn đang được biên dịch (cả arc và non-arc). Việc sử dụng tệp pch không được khuyến khích trong các tệp BUILD và bạn nên coi đây là tính năng không dùng nữa. Vì tệp pch không thực sự được biên dịch trước, nên đây không phải là một cách tăng tốc độ xây dựng mà chỉ là một phần phụ thuộc toàn cầu. Từ góc độ hiệu quả của bản dựng, bạn thực sự nên đưa những gì bạn cần trực tiếp vào các nguồn của mình khi cần.
sdk_dylibs

Danh sách các chuỗi; mặc định là []

Tên của các thư viện .dylib SDK để liên kết. Ví dụ: "libz" hoặc "libarchive". "libc++" sẽ tự động được đưa vào nếu tệp nhị phân có bất kỳ nguồn C++ hoặc Objective-C++ nào trong cây phần phụ thuộc của tệp nhị phân đó. Khi liên kết một tệp nhị phân, tất cả các thư viện có tên trong biểu đồ phần phụ thuộc bắc cầu của tệp nhị phân đó đều được sử dụng.
sdk_frameworks

Danh sách các chuỗi; mặc định là []

Tên của các khung SDK cần liên kết (ví dụ: "AddressBook", "QuartzCore"). "UIKit" và "Foundation" luôn được đưa vào khi tạo cho các nền tảng iOS, tvOS, visionOS và watchOS. Đối với macOS, chỉ có "Foundation" luôn được đưa vào.

Khi bạn liên kết một tệp nhị phân cấp cao nhất của Apple, tất cả các khung SDK có trong biểu đồ phần phụ thuộc bắc cầu của tệp nhị phân đó sẽ được liên kết.

sdk_includes

Danh sách các chuỗi; mặc định là []

Danh sách các đường dẫn tìm kiếm #include/#import để thêm vào mục tiêu này và tất cả các mục tiêu phụ thuộc, trong đó mỗi đường dẫn tương ứng với $(SDKROOT)/usr/include.
textual_hdrs

Danh sách nhãn; mặc định là []

Danh sách các tệp C, C++, Objective-C và Objective-C++ được đưa vào dưới dạng tiêu đề theo các tệp nguồn trong quy tắc này hoặc theo người dùng của thư viện này. Không giống như hdr, những tệp này sẽ không được biên dịch riêng biệt với các nguồn.
weak_sdk_frameworks

Danh sách các chuỗi; mặc định là []

Tên của các khung SDK để liên kết yếu. Ví dụ: "MediaAccessibility". Không giống như các khung SDK được liên kết thường xuyên, các biểu tượng từ các khung được liên kết lỏng lẻo sẽ không gây ra lỗi nếu chúng không có trong thời gian chạy.

available_xcodes

Xem nguồn quy tắc
available_xcodes(name, default, deprecation, distribs, features, licenses, tags, testonly, versions, visibility)

Hai mục tiêu của quy tắc này có thể được một thực thể quy tắc xcode_config phụ thuộc vào để cho biết các phiên bản xcode có sẵn từ xa và cục bộ. Điều này cho phép chọn một phiên bản xcode chính thức trong số các xcode có sẵn.

Đối số

Thuộc tính
name

Tên; bắt buộc

Tên riêng cho mục tiêu này.

default

Nhãn; không thể định cấu hình; bắt buộc

Phiên bản xcode mặc định cho nền tảng này.
versions

Danh sách nhãn; không thể định cấu hình; mặc định là []

Các phiên bản xcode có trên nền tảng này.

xcode_config

Xem nguồn quy tắc
xcode_config(name, default, deprecation, distribs, features, licenses, local_versions, remote_versions, tags, testonly, versions, visibility)

Một mục tiêu duy nhất của quy tắc này có thể được tham chiếu bằng cờ --xcode_version_config để dịch cờ --xcode_version thành phiên bản xcode chính thức được chấp nhận. Điều này cho phép chọn một phiên bản xcode chính thức trong số nhiều bí danh đã đăng ký.

Đối số

Thuộc tính
name

Tên; bắt buộc

Tên riêng cho mục tiêu này.

default

Nhãn; không thể định cấu hình; mặc định là None

Phiên bản chính thức mặc định của xcode để sử dụng. Phiên bản do mục tiêu xcode_version được cung cấp chỉ định sẽ được dùng nếu không có cờ bản dựng xcode_version nào được chỉ định. Bạn phải cung cấp thuộc tính này nếu bạn đặt bất kỳ versions nào. Bạn không thể đặt thuộc tính này nếu bạn đặt remote_versions hoặc local_versions.
local_versions

Nhãn; không thể định cấu hình; mặc định là None

xcode_version mục tiêu có sẵn tại địa phương. Các phiên bản này được dùng cùng với local_versions để chọn một phiên bản có sẵn lẫn nhau. Bạn không thể đặt thuộc tính này nếu đã đặt versions.
remote_versions

Nhãn; không thể định cấu hình; mặc định là None

xcode_version là những mục tiêu có thể truy cập từ xa. Các phiên bản này được dùng cùng với remote_versions để chọn một phiên bản có sẵn lẫn nhau. Bạn không thể đặt thuộc tính này nếu đã đặt versions.
versions

Danh sách nhãn; không thể định cấu hình; mặc định là []

Các mục tiêu xcode_version được chấp nhận mà bạn có thể sử dụng. Nếu giá trị của cờ bản dựng xcode_version khớp với một trong các bí danh hoặc số phiên bản của bất kỳ mục tiêu xcode_version nào đã cho, thì mục tiêu khớp sẽ được sử dụng. Bạn không thể đặt thuộc tính này nếu bạn đặt remote_versions hoặc local_versions.

xcode_version

Xem nguồn quy tắc
xcode_version(name, default_ios_sdk_version, default_macos_sdk_version, default_tvos_sdk_version, default_visionos_sdk_version, default_watchos_sdk_version, deprecation, distribs, features, licenses, tags, testonly, version, visibility)

Đại diện cho một phiên bản xcode chính thức duy nhất với các bí danh chấp nhận được cho phiên bản xcode đó. Xem quy tắc xcode_config.

Đối số

Thuộc tính
name

Tên; bắt buộc

Tên riêng cho mục tiêu này.

default_ios_sdk_version

Chuỗi; không thể định cấu hình; mặc định là ""

Phiên bản SDK iOS được dùng theo mặc định khi phiên bản Xcode này đang được dùng. Cờ bản dựng ios_sdk_version sẽ ghi đè giá trị được chỉ định ở đây.
default_macos_sdk_version

Chuỗi; không thể định cấu hình; mặc định là ""

Phiên bản SDK macosx được dùng theo mặc định khi phiên bản xcode này đang được dùng. Cờ bản dựng macos_sdk_version sẽ ghi đè giá trị được chỉ định ở đây.
default_tvos_sdk_version

Chuỗi; không thể định cấu hình; mặc định là ""

Phiên bản tvos sdk được dùng theo mặc định khi phiên bản xcode này đang được dùng. Cờ bản dựng tvos_sdk_version sẽ ghi đè giá trị được chỉ định ở đây.
default_visionos_sdk_version

Chuỗi; không thể định cấu hình; mặc định là ""

Phiên bản visionos sdk được dùng theo mặc định khi phiên bản xcode này đang được dùng. Cờ bản dựng visionos_sdk_version sẽ ghi đè giá trị được chỉ định ở đây.
default_watchos_sdk_version

Chuỗi; không thể định cấu hình; mặc định là ""

Phiên bản watchOS SDK được dùng theo mặc định khi phiên bản Xcode này đang được dùng. Cờ bản dựng watchos_sdk_version sẽ ghi đè giá trị được chỉ định ở đây.
version

Chuỗi; không thể định cấu hình; bắt buộc

Số phiên bản chính thức của một phiên bản Xcode.