แอป Apple และ Bazel

หน้านี้มีแหล่งข้อมูลที่จะช่วยคุณใช้ Bazel เพื่อสร้างโปรเจ็กต์ macOS และ iOS โดยจะลิงก์ไปยังบทแนะนำ กฎการสร้าง และข้อมูลอื่นๆ ที่เฉพาะเจาะจงสำหรับการใช้ Bazel เพื่อสร้างและทดสอบแพลตฟอร์มเหล่านั้น

การทำงานกับ Bazel

แหล่งข้อมูลต่อไปนี้จะช่วยคุณทำงานกับ Bazel ในโปรเจ็กต์ macOS และ iOS

การย้ายข้อมูลไปยัง Bazel

หากปัจจุบันคุณสร้างโปรเจ็กต์ macOS และ iOS ด้วย Xcode ให้ทำตามขั้นตอน ในคู่มือการย้ายข้อมูลเพื่อเริ่มสร้างโปรเจ็กต์ด้วย Bazel

แอปและกฎใหม่ของ Apple

หมายเหตุ: การสร้างกฎใหม่เหมาะสำหรับสถานการณ์การสร้างและการทดสอบขั้นสูง คุณไม่จำเป็นต้องสร้างกฎใหม่เมื่อเริ่มต้นใช้งาน Bazel

โมดูล ส่วนการกำหนดค่า และผู้ให้บริการต่อไปนี้จะช่วยคุณ ขยายขีดความสามารถของ Bazel เมื่อสร้างโปรเจ็กต์ macOS และ iOS

การเลือก Xcode

หากการสร้างต้องใช้ Xcode, Bazel จะเลือกเวอร์ชันที่เหมาะสมตาม แฟล็ก --xcode_config และ --xcode_version โดย --xcode_config จะใช้ ชุดเวอร์ชัน Xcode ที่พร้อมใช้งานและตั้งค่าเวอร์ชันเริ่มต้นหาก --xcode_version ไม่ได้ส่ง แฟล็ก --xcode_version จะลบล้างค่าเริ่มต้นนี้ ตราบใดที่ตั้งค่าเป็นเวอร์ชัน Xcode ที่ แสดงในเป้าหมาย --xcode_config

หากไม่ได้ส่ง --xcode_config, Bazel จะใช้ XcodeVersionConfig ที่สร้างขึ้นโดยอัตโนมัติซึ่งแสดง เวอร์ชัน Xcode ที่พร้อมใช้งานในเครื่องโฮสต์ เวอร์ชันเริ่มต้นคือ เวอร์ชัน Xcode ที่พร้อมใช้งานล่าสุด ซึ่งเหมาะสำหรับการดำเนินการในเครื่อง

หากคุณทำการสร้างระยะไกล คุณควรตั้งค่า --xcode_config เป็น xcode_config เป้าหมายที่แอตทริบิวต์ versions เป็นรายการที่พร้อมใช้งานจากระยะไกล xcode_version เป้าหมาย และแอตทริบิวต์ default เป็นหนึ่งใน xcode_versionsเหล่านี้

หากคุณใช้การดำเนินการแบบไดนามิก คุณควรตั้งค่า --xcode_config เป็นเป้าหมาย xcode_config ที่แอตทริบิวต์ remote_versions เป็นเป้าหมาย available_xcodes ที่มีเวอร์ชัน Xcode ที่พร้อมใช้งานจากระยะไกล และแอตทริบิวต์ local_versions เป็นเป้าหมาย available_xcodes ที่มีเวอร์ชัน Xcode ที่พร้อมใช้งานในเครื่อง สำหรับ local_versions, คุณอาจต้องการใช้ @local_config_xcode//:host_available_xcodes ที่สร้างขึ้นโดยอัตโนมัติ เวอร์ชัน Xcode เริ่มต้นคือเวอร์ชันที่พร้อมใช้งานร่วมกันล่าสุด หากมี ไม่เช่นนั้นจะเป็นค่าเริ่มต้นของเป้าหมาย local_versions หากต้องการใช้ค่าเริ่มต้น local_versions เป็นค่าเริ่มต้น ให้ส่ง --experimental_prefer_mutual_default=false