מישהו מתקין את גרסת האייפון של לקוח VPN על Mac מסדרת M, היא נפתחת, היא מתחברת, והצוות מחליט ששאלת הפלטפורמה סגורה. היא אינה סגורה. מה שמפריד כאן בין סגור לבין סתם עובד הוא ההבדל בין הרחבת אפליקציה בתוך הפעלת משתמש לבין הרחבת מערכת עם הקשר גלובלי. אפל אכן תומכת בספקי מנהרות מנות במודל אפליקציות iOS על Mac, ומפרטת את הסידור הזה בנפרד מ-macOS מקורי ומ-Mac Catalyst. משמעות התמיכה הזו צרה מכפי שהיא נשמעת. היא אומרת שהסידור מותר, לא שאפליקציה מסוימת עושה אותו היטב, ולא שהמנהרה מכסה את מה שאתם מניחים.

שלושה סידורים, טבלה אחת

שלושה סידורים חשובים ב-Mac והם אינם ניתנים להחלפה. לקוח macOS מקורי מספק הרחבת מערכת, שפועלת בהקשר גלובלי ויכולה להיות נוכחת לפני שמישהו מתחבר. אפליקציית אייפון על Apple Silicon מספקת הרחבת אפליקציה, שפועלת בתוך הפעלת המשתמש ומסתיימת איתה. Mac Catalyst נמצא באותה משפחת אריזה כמו גרסת הטלפון, אך הוא יעד אחר עם שורת פריסה משלו.

ההשוואה שלמטה היא החלק בהנחיות הפריסה של אפל שכדאי לזכור, משום שהיא עונה על רוב שאלות העיצוב לפני שיחה עם ספק.

ArrangementProvider packagingSession contextTypical distribution
iOS app on Apple SiliconApp extensionUser session onlyMac App Store
Native macOS clientSystem extensionGlobal, pre-login possibleDeveloper ID, notarised
Mac CatalystApp extensionUser session onlyMac App Store

קראו את עמודת האריזה לפני דף השיווק: היא חוזה מה קורה בהתנתקות בצורה מהימנה הרבה יותר מכל רשימת תכונות.

מה מוכיחה בקשה מוצלחת אחת

שורת אפליקציות iOS על Mac היא סידור נתמך אמיתי ולא תחבולת סימולטור, ולכן השאלה חוזרת שוב ושוב. היא גם יורשת הפצה דרך Mac App Store, כך שאפליקציה שהמוציא לאור שלה מעולם לא הפעיל זמינות ל-Mac לא תופיע, עד כמה שהתיעוד למפתחים מתירני.

חיבור עובד מוכיח שבקשה אחת מאפליקציה אחת הגיעה ליעדה. הוא אינו מפרט את הפותר של הדפדפן, את האפליקציות שהוחרגו, את משפחת הכתובות השנייה או את ההתקנים המקומיים שהמשתמש עוד מצפה להגיע אליהם. מנהרת מנות נושאת את מה שהנתיבים וההיקף שלה אומרים, וההיקף הזה מגיע מתצורת האפליקציה ולא מקיומה של המנהרה.

הפער הוא בדרך כלל כיסוי לפי אפליקציה

לקוח שמנתב הכול קל לתיאור וקל לבדיקה. זה שכולל רשימה מוגדרת של אפליקציות זקוק לכך שהכללים ייהגו בפריסה הזו, לא רק בגרסת ה-Mac המקורית. גישה להתקנים מקומיים, חריגי מנהרה מפוצלת וכל מה שתלוי בפריט בשורת התפריטים שלגרסת הטלפון מעולם לא היה נתקלים באותו קיר.

בקשו את ההיקף בכתב, ואז בדקו את המקרה השני ולא את הראשון. כל אחד יכול להדגים דפדפן שמגיע לאינטרנט דרך המנהרה.

היכן השניים מתפצלים בתפעול

משך ההפעלה הוא ההבדל החד ביותר והפחות נראה בהדגמה. אפל מתעדת הרחבות אפליקציה כפועלות בהקשר משתמש ומסתיימות כשהמשתמש מתנתק, ולכן ל-Mac שעולה לחלון התחברות אין מנהרה עד שמישהו מתחבר. אם הדרישה מכסה מכונה שחייבת להיות מוגנת לפני אימות, גרסת הטלפון אינה יכולה לעמוד בה, יהיה הפרופיל כתוב איך שיהיה.

כל השאר קוסמטי יחסית: נוכחות בשורת התפריטים, איך מוצג DNS, האם האפליקציה רשאית לצאת והמנהרה נשארת למעלה. אלה הבדלי שמישות אמיתיים והם אינם החלטות ארכיטקטורה, אז דרגו אותם אחרי שאלת ההפעלה.

החליטו בסדר קבוע

סדרו את השאלות בכוונה: כיסוי ללא השגחה ראשון, היקף לפי אפליקציה שני, הפצה שלישי, ליטוש ממשק אחרון. רק לקוח מקורי עם הרחבת מערכת עונה על הראשון, והוא מגיע להתקן דרך MDM ופרופיל מנוהל. אפליקציית iOS על Apple Silicon היא תשובה סבירה כשאדם יושב מול המכונה, מתחבר ורוצה את המנהרה לאותה הפעלה.

לפני התחייבות, שאלו את המוציא לאור שלוש שאלות קונקרטיות. האם ספק מנהרות המנות נתמך בפריסת אפליקציות iOS על Mac, האם חלים שם כללים לפי אפליקציה, ומה קורה בהתנתקות. ספק שעונה על שלושתם בהודעה אחת מכיר את שטח הפריסה שלו; זה שעונה רק על הראשונה מתאר אפליקציה שנפתחת על Mac.

אחר כך אמתו במכונה שתתמכו בה, עם החשבון והשער שבאמת תשתמשו בהם. גרסת טלפון שמתחברת לשער בדיקה במחשב נייד אחד היא ראיה, לא פריסה.

מאמרים קשורים