-
macOS 评估体验的新动向
探索 macOS 上的 Automatic Assessment Configuration 框架,为教育类 App 构建安全的测评体验。了解如何利用新的 API 创建一个安全、可配置的测评环境,并将 Mac 上的更多系统级功能整合进来。探索如何借助内置的系统预检查和辅助功能控件,更轻松地打造可靠的考试体验。
章节
- 0:00 - Introduction
- 1:34 - Precondition checks
- 3:00 - Accessibility restrictions
- 4:33 - System experience customization
- 9:16 - Application launch restrictions
- 10:51 - Best practices
- 12:35 - Next steps
资源
相关视频
WWDC26
-
搜索此视频…
-
-
2:30 - Set up precondition checks
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowLockdownMode = false configuration.allowPrivateRelay = false configuration.requiresSIP = true configuration.requiresManagedDevice = true configuration.requiresSingleUser = true configuration.requiresUserAccountType = .standard return configuration } -
4:01 - Restrict accessibility features
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowsAccessibilityVoiceOver = true configuration.allowsAccessibilitySwitchControl = false configuration.allowsAccessibilityAlternativeInputMethods = true configuration.allowsAccessibilityBackgroundSounds = true configuration.allowsAccessibilityHoverText = true configuration.allowsAccessibilityLiveSpeech = true configuration.allowsAccessibilitySpokenContent = true configuration.allowsAccessibilityVoiceControl = true configuration.allowsAccessibilityZoom = true return configuration } -
5:32 - Customize the Menu Bar items
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowsMenuBar = true configuration.allowedMenuBarItems = [ .battery, .clock, .volume ] configuration.allowedAppleMenuItems = [ .sleep ] return configuration } -
7:01 - Define input restrictions
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowsDictation = false configuration.allowsAutoFill = false configuration.allowsStructuralInput = false configuration.allowsEmojiKeyboard = false return configuration } -
7:38 - Enable dock appearance
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowsDock = true return configuration } -
8:35 - Set allowed directories and files
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowedDirectoriesAndFiles = [ URL(fileURLWithPath: "~/Documents/") ] return configuration } -
9:58 - Set application launch restrictions
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowOnlyParticipantsToRun = true configuration.allowsUserScriptExecution = false return configuration }
-
-
- 0:00 - Introduction
An overview of the Automatic Assessment Configuration framework in macOS 27, which creates a locked-down testing environment, and a preview of the five areas covered.
- 1:34 - Precondition checks
Require a hardened device before an exam starts — System Integrity Protection, MDM enrollment, a single signed-in standard account, and disabled Lockdown Mode and iCloud Private Relay.
- 3:00 - Accessibility restrictions
Control which built-in accessibility features stay available during a session, allowing approved accommodations like Switch Control while restricting features that accept user-generated content.
- 4:33 - System experience customization
Tailor how students interact with macOS during an assessment by customizing the Menu Bar and its items, the Dock, input technologies like Dictation and AutoFill, and Finder access.
- 9:16 - Application launch restrictions
Restrict which processes run during an assessment to your app and allowlisted participants, and block Shortcuts and Automator script execution to protect the testing environment.
- 10:51 - Best practices
Recommendations for adopting the framework: rely on its APIs rather than building equivalents, restrict only the minimum required, treat accessibility as a requirement, and register for session transition callbacks.
- 12:35 - Next steps
Ways to take your assessment app further — validate device integrity with pre-checks, enable accessibility for an equitable experience, customize the system experience, block non-essential processes, and test with real exam workflows.