אפליקציות ומסגרת Apple

הדף הזה מכיל משאבים שעוזרים לכם להשתמש ב-Bazel לבניית פרויקטים ל-macOS ול-iOS. היא מקשרת למדריך, ליצירת כללים ולפרטים נוספים הספציפיים לשימוש ב-Bazel כדי לבנות ולבדוק את הפלטפורמות האלה.

העבודה עם בזל

המשאבים הבאים יעזרו לכם בעבודה עם Bazel על פרויקטים ב-macOS וב-iOS:

עוברים אל Bazel

אם אתם בונים כרגע את הפרויקטים ל-macOS ול-iOS באמצעות Xcode, אתם יכולים לפעול לפי השלבים של המדריך להעברה ולהתחיל לבנות אותם עם Bazel:

האפליקציות של Apple וכללים חדשים

הערה: יצירת כללים חדשים מיועדת לתרחישים מתקדמים של build ובדיקה. אין לך צורך בזה בתחילת העבודה עם Bazel.

המודולים, מקטעי התצורה והספקים הבאים יעזרו לך להרחיב את היכולות של Bazel בעת בניית הפרויקטים שלך ב-macOS וב-iOS:

בחירת Xcode

אם ב-build שלך נדרש Xcode, Bazel תבחר גרסה מתאימה על סמך הסימונים של --xcode_config ו---xcode_version. הפונקציה --xcode_config צורכת את קבוצת הגרסאות הזמינות של Xcode ומגדירה גרסת ברירת מחדל אם לא מעבירים את --xcode_version. ברירת המחדל הזו מבטלת את הדיווח של --xcode_version, כל עוד היא מוגדרת לגרסת Xcode שמיוצגת במסגרת היעד --xcode_config.

אם לא תעברו את --xcode_config, Bazel ישתמש באופן אוטומטי ב-XcodeVersionConfig המייצג את גרסאות ה-Xcode הזמינות במחשב המארח. גרסת ברירת המחדל היא הגרסה החדשה ביותר של Xcode. הדבר מתאים לביצוע מקומי.

אם משתמשים ב-build מרחוק, צריך להגדיר את --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.