تحتوي هذه الصفحة على موارد تساعدك في استخدام Bazel لإنشاء مشاريع على نظامي التشغيل macOS وiOS. فهي ترتبط ببرنامج تعليمي وإنشاء قواعد ومعلومات أخرى مرتبطة باستخدام 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
target الذي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
.