Trang này chứa các tài nguyên giúp bạn sử dụng Bazel để xây dựng dự án macOS và iOS. Tài liệu này liên kết đến thông tin hướng dẫn, các quy tắc lập trình và thông tin khác dành riêng cho việc sử dụng Bazel để xây dựng và kiểm thử cho các nền tảng đó.
Làm việc trên Bazel
Các tài nguyên sau đây sẽ giúp bạn sử dụng Bazel hiệu quả cho các dự án macOS và iOS:
- Hướng dẫn: Xây dựng ứng dụng iOS
- Quy tắc lập trình Objective-C
- Quy tắc chung của Apple
- Tích hợp với Xcode
Di chuyển sang Bazel
Nếu hiện tại bạn xây dựng dự án macOS và iOS bằng Xcode, hãy làm theo các bước trong hướng dẫn di chuyển để bắt đầu xây dựng dự án bằng Bazel:
Ứng dụng Apple và quy tắc mới
Lưu ý: Việc tạo quy tắc mới dành cho các tình huống lập trình và kiểm thử nâng cao. Bạn không cần làm việc này khi mới bắt đầu sử dụng Bazel.
Các mô-đun, đoạn cấu hình và nhà cung cấp sau đây sẽ giúp bạn mở rộng các tính năng của Bazel khi xây dựng dự án macOS và iOS:
Mô-đun:
Đoạn cấu hình:
Nhà cung cấp:
Lựa chọn Xcode
Nếu bản dựng của bạn yêu cầu Xcode, Bazel sẽ chọn một phiên bản phù hợp dựa trên các cờ --xcode_config và --xcode_version. Cờ --xcode_config sử dụng tập hợp các phiên bản Xcode hiện có và đặt phiên bản mặc định nếu không truyền --xcode_version. Phiên bản mặc định này sẽ bị ghi đè bởi cờ --xcode_version, miễn là cờ này được đặt thành phiên bản Xcode được biểu thị trong mục tiêu --xcode_config.
Nếu bạn không truyền --xcode_config, Bazel sẽ sử dụng
XcodeVersionConfig được tạo tự động, đại diện cho
các phiên bản Xcode có trên máy chủ lưu trữ của bạn. Phiên bản mặc định là phiên bản Xcode mới nhất hiện có. Phiên bản này phù hợp với việc thực thi cục bộ.
Nếu đang thực hiện bản dựng từ xa, bạn nên đặt --xcode_config thành mục tiêu
xcode_config
có thuộc tính versions là danh sách các mục tiêu
xcode_version
có sẵn từ xa và thuộc tính default là một trong các
xcode_versions này.
Nếu đang sử dụng tính năng thực thi động, bạn nên đặt --xcode_config thành mục tiêu
xcode_config
có thuộc tính remote_versions là mục tiêu
available_xcodes
chứa các phiên bản Xcode có sẵn từ xa và có thuộc tính
local_versions là mục tiêu
available_xcodes
chứa các phiên bản Xcode có sẵn cục bộ. Đối với local_versions, có thể bạn muốn sử dụng @local_config_xcode//:host_available_xcodes được tạo tự động. Phiên bản Xcode mặc định là phiên bản mới nhất có sẵn cho cả hai, nếu có, nếu không thì phiên bản mặc định của mục tiêu local_versions. Nếu muốn sử dụng phiên bản mặc định local_versions làm phiên bản mặc định, bạn có thể truyền --experimental_prefer_mutual_default=false.