Ai đó cài bản iPhone của một ứng dụng VPN trên một chiếc Mac dòng M, nó mở ra, nó kết nối, và nhóm kết luận rằng câu hỏi nền tảng đã xong. Chưa xong. Điều phân biệt ở đây giữa đã xong và chỉ đang chạy là khác biệt giữa phần mở rộng ứng dụng bên trong phiên người dùng và phần mở rộng hệ thống có ngữ cảnh toàn cục. Apple thực sự hỗ trợ nhà cung cấp đường hầm gói trong mô hình ứng dụng iOS trên Mac, và liệt kê cách bố trí đó tách biệt với macOS gốc và Mac Catalyst. Ý nghĩa của sự hỗ trợ đó hẹp hơn vẻ ngoài. Nó nói cách bố trí được cho phép, không phải rằng một ứng dụng cụ thể làm tốt, cũng không phải rằng đường hầm bao phủ điều bạn giả định.

Ba cách bố trí, một bảng

Ba cách bố trí quan trọng trên một chiếc Mac và chúng không thể hoán đổi cho nhau. Một ứng dụng macOS gốc cung cấp phần mở rộng hệ thống, chạy trong ngữ cảnh toàn cục và có thể hiện diện trước khi bất kỳ ai đăng nhập. Một ứng dụng iPhone trên Apple Silicon cung cấp phần mở rộng ứng dụng, chạy bên trong phiên của người dùng và kết thúc cùng phiên đó. Mac Catalyst nằm trong cùng họ đóng gói với bản điện thoại, nhưng là một mục tiêu khác với hàng triển khai riêng.

So sánh dưới đây là phần đáng nhớ trong hướng dẫn triển khai của Apple, vì nó trả lời hầu hết câu hỏi thiết kế trước cuộc gọi cho nhà cung cấp.

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

Hãy đọc cột đóng gói trước trang tiếp thị: nó dự đoán điều xảy ra khi đăng xuất đáng tin cậy hơn nhiều so với bất kỳ danh sách tính năng nào.

Một yêu cầu thành công chứng minh điều gì

Hàng ứng dụng iOS trên Mac là cách bố trí thực sự được hỗ trợ chứ không phải mẹo giả lập, nên câu hỏi cứ quay lại. Nó cũng thừa hưởng việc phân phối qua Mac App Store, nên một ứng dụng mà nhà phát hành chưa bao giờ bật tính sẵn có cho Mac sẽ không xuất hiện, dù tài liệu cho nhà phát triển có dễ dãi đến đâu.

Một kết nối hoạt động chứng minh rằng một yêu cầu từ một ứng dụng đã đến đích. Nó không kiểm kê bộ phân giải của trình duyệt, các ứng dụng bị loại trừ, họ địa chỉ thứ hai, hay các thiết bị cục bộ mà người dùng vẫn mong đến được. Đường hầm gói mang những gì tuyến và phạm vi của nó nói, và phạm vi đó đến từ cấu hình của ứng dụng, không phải từ sự tồn tại của đường hầm.

Khoảng trống thường là phạm vi theo ứng dụng

Một ứng dụng định tuyến mọi thứ thì dễ mô tả và dễ kiểm thử. Một ứng dụng bao gồm danh sách ứng dụng xác định cần các quy tắc đó được tôn trọng trong lần triển khai này, không chỉ trong bản dựng Mac gốc. Quyền truy cập thiết bị cục bộ, ngoại lệ đường hầm chia tách và mọi thứ phụ thuộc vào một mục trên thanh menu mà bản điện thoại chưa từng có đều đụng cùng một bức tường.

Hãy yêu cầu phạm vi bằng văn bản, rồi kiểm thử trường hợp thứ hai chứ không phải thứ nhất. Ai cũng có thể trình diễn một trình duyệt đến được internet qua đường hầm.

Hai bên khác nhau ở đâu trong vận hành

Thời gian sống của phiên là khác biệt sắc nét nhất và ít thấy nhất trong một bản demo. Apple ghi nhận phần mở rộng ứng dụng là chạy trong ngữ cảnh người dùng và kết thúc khi người dùng đăng xuất, nên một chiếc Mac khởi động đến cửa sổ đăng nhập không có đường hầm cho đến khi ai đó đăng nhập. Nếu yêu cầu bao gồm một cỗ máy phải được bảo vệ trước khi xác thực, bản điện thoại không thể đáp ứng, dù hồ sơ được viết thế nào.

Mọi thứ còn lại tương đối bề ngoài: sự hiện diện trên thanh menu, cách hiển thị DNS, liệu ứng dụng có thể thoát trong khi đường hầm vẫn dựng. Đó là những khác biệt thực về khả dụng và không phải quyết định kiến trúc, nên hãy xếp chúng sau câu hỏi về phiên.

Quyết định theo thứ tự cố định

Hãy sắp các câu hỏi một cách có chủ đích: phạm vi không giám sát trước, phạm vi theo ứng dụng thứ hai, phân phối thứ ba, đánh bóng giao diện cuối cùng. Chỉ ứng dụng macOS gốc có phần mở rộng hệ thống mới trả lời được câu đầu, và nó đến thiết bị qua MDM cùng hồ sơ được quản lý. Ứng dụng iOS trên Apple Silicon là câu trả lời hợp lý khi một người ngồi trước máy, đăng nhập và muốn đường hầm cho phiên đó.

Trước khi cam kết, hãy hỏi nhà phát hành ba câu cụ thể. Nhà cung cấp đường hầm gói có được hỗ trợ trong triển khai ứng dụng iOS trên Mac không, quy tắc theo ứng dụng có áp dụng ở đó không, và điều gì xảy ra khi đăng xuất. Nhà cung cấp trả lời cả ba trong một tin nhắn biết bề mặt triển khai của mình; người chỉ trả lời câu đầu đang mô tả một ứng dụng mở trên Mac.

Sau đó hãy xác minh trên chính cỗ máy bạn sẽ hỗ trợ, với tài khoản và cổng bạn thực sự dùng. Một bản điện thoại kết nối tới cổng thử nghiệm trên một máy tính xách tay là bằng chứng, không phải triển khai.

Bài viết liên quan