แอป Apple และ Bazel

รายงานปัญหา ดูแหล่งที่มา /3} /4} {3/4} {3/4} {3/4} {3/4} /4.

หน้านี้มีแหล่งข้อมูลที่จะช่วยให้คุณใช้ 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 ซึ่งมีแอตทริบิวต์ 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 ได้