کسی نسخه آیفون یک کلاینت VPN را روی مک سری M نصب می‌کند، برنامه باز می‌شود، متصل می‌شود و تیم تصمیم می‌گیرد که مسئله پلتفرم حل شده است. حل نشده است. آنچه اینجا حل‌شده را از صرفاً کارکردنی جدا می‌کند تفاوت میان افزونه برنامه درون نشست کاربر و افزونه سیستم با بافت جهانی است. اپل واقعاً ارائه‌دهندگان تونل بسته را در مدل برنامه‌های iOS روی مک پشتیبانی می‌کند و این چیدمان را جدا از macOS بومی و Mac Catalyst فهرست می‌کند. معنای این پشتیبانی از آنچه به نظر می‌رسد باریک‌تر است. می‌گوید چیدمان مجاز است، نه اینکه برنامه خاصی آن را خوب انجام می‌دهد، و نه اینکه تونل آنچه را فرض می‌کنید پوشش می‌دهد.

سه چیدمان، یک جدول

سه چیدمان روی مک اهمیت دارند و جایگزین یکدیگر نیستند. کلاینت بومی 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 App Store را نیز به ارث می‌برد، پس برنامه‌ای که ناشر آن هرگز دسترس‌پذیری مک را فعال نکرده است ظاهر نمی‌شود، هر قدر هم مستندات توسعه‌دهنده سهل‌گیر باشد.

اتصال کارکردی ثابت می‌کند یک درخواست از یک برنامه به مقصدش رسیده است. این اتصال حل‌کننده مرورگر، برنامه‌های کنارگذاشته‌شده، خانواده دوم نشانی یا دستگاه‌های محلی‌ای را که کاربر هنوز انتظار دسترسی به آنها را دارد فهرست نمی‌کند. تونل بسته آنچه مسیرها و دامنه‌اش می‌گویند را حمل می‌کند، و این دامنه از پیکربندی برنامه می‌آید نه از وجود تونل.

شکاف معمولاً پوشش به‌ازای هر برنامه است

کلاینتی که همه چیز را مسیریابی می‌کند هم آسان توصیف می‌شود و هم آسان آزموده. کلاینتی که فهرست مشخصی از برنامه‌ها را شامل می‌شود نیاز دارد این قواعد در این استقرار رعایت شوند، نه فقط در نسخه بومی مک. دسترسی به دستگاه‌های محلی، استثناهای تونل تقسیم‌شده و هر چیزی که به عنصری در نوار منو وابسته است که نسخه تلفن هرگز نداشت، به همان دیوار می‌خورند.

دامنه را کتبی بخواهید، سپس مورد دوم را بیازمایید نه اولی را. هر کسی می‌تواند مرورگری را نشان دهد که از طریق تونل به اینترنت می‌رسد.

کجا این دو در عمل واگرا می‌شوند

عمر نشست تیزترین تفاوت و کمترین چیز قابل مشاهده در یک نمایش است. اپل افزونه‌های برنامه را چنین مستند می‌کند که در بافت کاربر اجرا می‌شوند و با خروج کاربر پایان می‌یابند، پس مکی که به پنجره ورود راه‌اندازی می‌شود تا کسی وارد نشود تونلی ندارد. اگر الزام ماشینی را در بر گیرد که باید پیش از احراز هویت محافظت شود، نسخه تلفن نمی‌تواند آن را برآورده کند، هر طور که نمایه نوشته شده باشد.

هر چیز دیگر نسبتاً ظاهری است: حضوری در نوار منو، اینکه DNS چگونه نمایش داده می‌شود، آیا برنامه می‌تواند بسته شود در حالی که تونل برپا می‌ماند. این‌ها تفاوت‌های واقعی کاربردپذیری‌اند و تصمیم‌های معماری نیستند، پس آن‌ها را پس از پرسش نشست رتبه‌بندی کنید.

به ترتیبی ثابت تصمیم بگیرید

پرسش‌ها را عامدانه مرتب کنید: پوشش بدون نظارت نخست، دامنه به‌ازای هر برنامه دوم، توزیع سوم، پرداخت رابط آخر. تنها کلاینت بومی با افزونه سیستم به اولی پاسخ می‌دهد و از راه MDM به‌همراه نمایه مدیریت‌شده به دستگاه می‌رسد. برنامه iOS روی Apple Silicon پاسخی معقول است وقتی کسی پشت ماشین می‌نشیند، وارد می‌شود و تونل را برای همان نشست می‌خواهد.

پیش از تعهد، سه پرسش مشخص از ناشر بپرسید. آیا ارائه‌دهنده تونل بسته در استقرار برنامه‌های iOS روی مک پشتیبانی می‌شود، آیا قواعد به‌ازای هر برنامه آنجا اعمال می‌شوند و هنگام خروج چه رخ می‌دهد. فروشنده‌ای که هر سه را در یک پیام پاسخ می‌دهد سطح استقرار خود را می‌شناسد؛ آنکه فقط به اولی پاسخ می‌دهد برنامه‌ای را توصیف می‌کند که روی مک باز می‌شود.

سپس روی ماشینی که پشتیبانی خواهید کرد بررسی کنید، با همان حساب و دروازه‌ای که واقعاً استفاده می‌کنید. نسخه تلفنی که روی یک لپ‌تاپ به دروازه آزمایشی وصل می‌شود شاهد است، نه استقرار.

مقالات مرتبط