Quy tắc Objective-C

Báo cáo vấn đề Xem nguồn

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 Target-C. Sau đó, các tệp này có thể được dùng làm phần phụ thuộc của objc_library và objc_binary. Bạn có thể xem thông tin chi tiết về J2ObjC tại trang web của 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ó cùng cấu hình như đối với các nguồn của quy tắc objc_library không có tuỳ chọn biên dịch đượ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ó hai mục tiêu Java khác nhau bao gồm các tệp nguồn Java giống nhau, thì bạn có thể thấy lỗi biểu tượng trùng lặp tại thời điểm liên kết. Cách đúng để giải quyết vấn đề này là di chuyển các tệp nguồn Java được chia sẻ vào một mục tiêu chung riêng biệt có thể được phụ thuộc.

Đối số

Thuộc tính
name

Tên; bắt buộc

Tên duy nhất 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 j2objc_library, java_library, java_importjava_proto_library chứa các tệp Java sẽ được dịch sang Mục tiêu-C.

Tất cả các mục tiêu java_libraryjava_import có thể đạt được theo cách bắc cầu 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 hỗ trợ các mục tiêu code>java_Import mà không chỉ định srcjar.

Bản dịch J2ObjC hoạt động theo các cách khác nhau tuỳ thuộc vào loại tệp nguồn Java có trong đóng chuyển tiếp. Đối với mỗi tệp nguồn .java có trong srcs của java_library, hệ thống sẽ tạo một tệp nguồn .h và .m tương ứng. Đối với mỗi tệp nguồn jar có trong srcs/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 bằng tất cả mã cho tệp jar đó.

Người dùng có thể nhập các tệp tiêu đề do J2ObjC tạo trong mã của họ. Đường dẫn nhập cho các tệp này là đường dẫn gốc 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 quá trình đó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 chuỗi; mặc định là []

Danh sách các lớp Java có các phần tương ứng đã dịch ObjC sẽ được mã ObjC của người dùng tham chiếu trực tiếp. Thuộc tính này là bắt buộc nếu cờ --j2objc_dead_code_removal đang bật. Các lớp Java phải được chỉ định trong tên chính tắc như được xác định trong Thông số kỹ thuật ngôn ngữ Java. Khi cờ --j2objc_dead_code_removal được chỉ định, danh sách các lớp truy cập sẽ được thu thập theo cách bắc cầu và dùng làm điểm truy cập để tiến hành phân tích mã lỗi. 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 cần thiết cho tất cả mã Java được dịch theo quy tắc j2objc_library này. Theo mặc định, chỉ chức năng JRE chính mớ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ưới dạng một tệp .a. Tệp này cũng cho phép xuất tiêu đề và tài nguyên bằng cách sử dụng cùng các thuộc tính mà objc_library hỗ trợ.

Đối số

Thuộc tính
name

Tên; bắt buộc

Tên duy nhất 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.
hdrs

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

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

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

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

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

Nếu là 1, bất kỳ gói hoặc tệp nhị phân nào 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 của các tệp được liệt kê trong srcsnon_arc_srcs, ngay cả khi một số tệp không chứa ký hiệu nào được tệp nhị phân tham chiếu. Điều này sẽ hữu ích nếu mã không được gọi rõ ràng bằng mã trong tệp nhị phân, chẳng hạn như khi mã của bạn đăng ký nhận một số lệnh gọi lại do dịch vụ nào đó 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 Target-C phụ thuộc vào mục tiêu này.
includes

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

Danh sách đườ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. Tính năng này nhằm hỗ trợ các thư viện nguồn mở và bên thứ ba không chỉ định toàn bộ đường dẫn không gian làm việc trong các 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, đồng thời các tệp gen và thư mục gốc của thùng (ví dụ: blaze-genfiles/pkg/includedirblaze-out/pkg/includedir) cũng được đưa vào cùng với thư mục gốc thực tế của ứng dụng.

Không giống như COPTS, những 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 đó. (Lưu ý: không phải quy tắc mà nó phụ thuộc vào!) Hãy thật cẩn thận vì việc này có thể gây ảnh hưởng sâu rộng. Khi nghi ngờ, hãy thêm cờ "-iTrích dẫn" vào COPTS.

sdk_dylibs

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

Tên của thư viện SDK .dylib để liên kết. Ví dụ: "libz" hoặc "liblưu trữ". "libc++" sẽ được tự động đưa vào nếu tệp nhị phân có bất kỳ nguồn C++ hoặc Mục tiêu-C++ nào trong cây phụ thuộc. Khi liên kết một tệp nhị phân, hệ thống sẽ sử dụng 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 đó.
sdk_frameworks

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

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

Khi liên kết một tệp nhị phân Apple cấp cao nhất, 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 đó đều được liên kết.

sdk_includes

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

Danh sách đườ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, trong đó mỗi đường dẫn đều 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++, Target-C và Target-C++ được đưa vào dưới dạng tiêu đề theo tệp nguồn trong quy tắc này hoặc bởi người dùng thư viện này. Không giống như tệp hdr, các 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 chuỗi; mặc định là []

Tên khung SDK cần liên kết yếu. Ví dụ: "MediaAccessibility". Khác với các khung SDK được liên kết thường xuyên, biểu tượng trong các khung được liên kết yếu sẽ không gây ra lỗi nếu 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 Target-C đã cho.

Đối số

Thuộc tính
name

Tên; bắt buộc

Tên duy nhất 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 tiêu đề và tệp nguồn C, C++, Target-C và Target-C++ và/hoặc (.s`, .S` hoặc.asm`) được xử lý để tạo mục tiêu thư viện. Đây là những tệp bạn đã đăng ký, cùng với mọi tệp đã tạo. Các tệp nguồn được biên dịch thành các tệp .o bằng Clang. Tệp tiêu đề có thể được đưa vào/nhập bởi bất kỳ nguồn hoặc tiêu đề nào trong thuộc tính srcs của mục tiêu này, chứ không phải bởi các tiêu đề trong tệp hdr hay bất kỳ mục tiêu nào phụ thuộc vào quy tắc này. Ngoài ra, các tệp .o được biên dịch trước có thể được cung cấp dưới dạng src. 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ủa bản dựng để tránh thiếu lỗi trình liên kết biểu tượng.
hdrs

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

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

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

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

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

Nếu là 1, bất kỳ gói hoặc tệp nhị phân nào 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 của các tệp được liệt kê trong srcsnon_arc_srcs, ngay cả khi một số tệp không chứa ký hiệu nào được tệp nhị phân tham chiếu. Điều này sẽ hữu ích nếu mã không được gọi rõ ràng bằng mã trong tệp nhị phân, chẳng hạn như khi mã của bạn đăng ký nhận một số lệnh gọi lại do dịch vụ nào đó cung cấp.
copts

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

Cờ bổ sung để truyền đến trình biên dịch. Áp dụng tuỳ chọn thay thế "Tạo biến"tạo mã thông báo shell Bourne. Những cờ này sẽ chỉ áp dụng cho mục tiêu này, chứ không phải những cờ phụ thuộc hay những cờ phụ thuộc vào mục tiêu đó.

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 copt sẽ được phân tích cú pháp, thêm "$(WORKSPACE_ROOT)/" nếu chúng 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 chuỗi; mặc định là []

Các cờ -D bổ sung để truyền đến trình biên dịch. Các mã này phải ở dạng KEY=VALUE hoặc đơn giản là KEY và không chỉ được chuyển cho trình biên dịch cho mục tiêu này (như copts) mà còn được truyền đến tất cả người phụ thuộc objc_ của mục tiêu này. Áp dụng tuỳ chọn thay thế "Tạo biến"tạo mã thông báo shell Bourne.
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ể sử dụng @nhập tiêu đề hệ thống và các mục tiêu khác: @nhập UIKit; @nhập đường dẫn_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à thư viện nhắm đến phụ thuộc vào. Không giống như deps, tiêu đề và đường dẫn của những thư viện này (và tất cả các phần phụ thuộc bắc cầu của thư viện đó) 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 đó. 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 chuỗi; mặc định là []

Danh sách đườ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. Tính năng này nhằm hỗ trợ các thư viện nguồn mở và bên thứ ba không chỉ định toàn bộ đường dẫn không gian làm việc trong các 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, đồng thời các tệp gen và thư mục gốc của thùng (ví dụ: blaze-genfiles/pkg/includedirblaze-out/pkg/includedir) cũng được đưa vào cùng với thư mục gốc thực tế của ứng dụng.

Không giống như COPTS, những 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 đó. (Lưu ý: không phải quy tắc mà nó phụ thuộc vào!) Hãy thật cẩn thận vì việc này có thể gây ảnh hưởng sâu rộng. Khi nghi ngờ, hãy thêm cờ "-iTrích dẫn" vào COPTS.

linkopts

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

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

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

Một 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 mục tiêu, trong đó mọi ký hiệu đặc biệt sẽ đượ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 Target-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ý rất giống với 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ả cung và ngoài cung). Bạn không nên sử dụng tệp pch trong các tệp BUILD và bạn nên coi tệp này là không dùng nữa. Vì các 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 tính năng nâng cao tốc độ bản dựng, mà chỉ là một phần phụ thuộc chung. Từ quan điểm hiệu quả của bản dựng, bạn nên đưa những thông tin cần thiết vào ngay các nguồn mà bạn cần.
sdk_dylibs

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

Tên của thư viện SDK .dylib để liên kết. Ví dụ: "libz" hoặc "liblưu trữ". "libc++" sẽ được tự động đưa vào nếu tệp nhị phân có bất kỳ nguồn C++ hoặc Mục tiêu-C++ nào trong cây phụ thuộc. Khi liên kết một tệp nhị phân, hệ thống sẽ sử dụng 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 đó.
sdk_frameworks

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

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

Khi liên kết một tệp nhị phân Apple cấp cao nhất, 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 đó đều được liên kết.

sdk_includes

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

Danh sách đườ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, trong đó mỗi đường dẫn đều 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++, Target-C và Target-C++ được đưa vào dưới dạng tiêu đề theo tệp nguồn trong quy tắc này hoặc bởi người dùng thư viện này. Không giống như tệp hdr, các 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 chuỗi; mặc định là []

Tên khung SDK cần liên kết yếu. Ví dụ: "MediaAccessibility". Khác với các khung SDK được liên kết thường xuyên, biểu tượng trong các khung được liên kết yếu sẽ không gây ra lỗi nếu 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)

Một thực thể quy tắc xcode_config có thể phụ thuộc vào hai mục tiêu của quy tắc này để chỉ ra các phiên bản xcode có sẵn từ xa và cục bộ. Điều này cho phép lựa chọn phiên bản xcode chính thức từ các mã xcode có sẵn chung.

Đối số

Thuộc tính
name

Tên; bắt buộc

Tên duy nhất 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; giá trị mặc định là []

Các phiên bản xcode có sẵn 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ờ bản dựng --xcode_version_config để chuyển 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 lựa chọn phiên bản xcode chính thức từ một số bí danh đã đăng ký.

Đối số

Thuộc tính
name

Tên; bắt buộc

Tên duy nhất cho mục tiêu này.

default

Nhãn; không thể định cấu hình; giá trị 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 đã cung cấp chỉ định sẽ được sử dụng nếu không có cờ bản dựng xcode_version nào được chỉ định. Đây là yêu cầu bắt buộc nếu bạn thiết lập bất kỳ versions nào. Bạn có thể không thiết lập được giá trị này nếu đã đặt remote_versions hoặc local_versions.
local_versions

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

Có thể sử dụng được các mục tiêu xcode_version trên thiết bị. Các biến này được dùng cùng với local_versions để chọn một phiên bản có thể sử dụng chung. Bạn có thể không thiết lập được giá trị này nếu đã đặt versions.
remote_versions

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

Các mục tiêu xcode_version có thể sử dụng từ xa. Các biến này được dùng cùng với remote_versions để chọn một phiên bản có thể sử dụng chung. Bạn có thể không thiết lập được giá trị này nếu đã đặt versions.
versions

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

Bạn có thể sử dụng các mục tiêu xcode_version được chấp nhận. 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 phù hợp đó sẽ được sử dụng. Bạn có thể không thiết lập được giá trị này nếu đã đặ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 có bí danh được chấp nhận 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 duy nhất cho mục tiêu này.

default_ios_sdk_version

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

Phiên bản sdk của iOS được sử dụng theo mặc định khi phiên bản xcode này đang được sử 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; giá trị mặc định là ""

Phiên bản sdk macosx được sử dụng theo mặc định khi phiên bản xcode này đang được sử 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; giá trị mặc định là ""

Phiên bản SDK của tvos được sử dụng theo mặc định khi đang sử dụng phiên bản xcode này. 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; giá trị mặc định là ""

Phiên bản Marketplace của sdk được sử dụng theo mặc định khi phiên bản xcode này đang được sử 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; giá trị mặc định là ""

Phiên bản sdk của watchos được sử dụng theo mặc định khi phiên bản xcode này đang được sử 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.