แอป Apple และ Bazel

รายงานปัญหา ดูซอร์สโค้ด รุ่น Nightly · 8.0 7.4 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

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

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

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

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

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

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

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

การเลือก Xcode

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