教育领域有什么新功能
What's new in education
2020年6月24日
一句话判断
苹果在 2020 年强化了教育生态——Schoolwork app 升级、ClassKit 支持手写识别和新增活动类型、Apple School Manager 简化了部署流程,如果你在做教育类 app,这些更新直接降低了接入成本。
这场 Session 讲了什么
这场 Session 概览了苹果教育生态在 2020 年的各项更新,涵盖三个主要方向:面向教师的 Schoolwork 2.0、面向开发者的 ClassKit API 增强、以及面向 IT 管理员的 Apple School Manager 改进。
Schoolwork 2.0 重新设计了 UI,教师可以更方便地分发作业、查看学生进度。ClassKit 新增了更多的活动类型(CLSActivityType),支持将手写内容、编程练习等更多形式的学习活动纳入进度追踪。
Apple School Manager 改进了批量设备注册和 MDM 配置流程,新增了对「共享 iPad」临时会话的支持——学生无需 Apple ID 就可以使用共享 iPad,登录后自动加载个人资料和学习内容。
值得深挖的点
ClassKit 新增的活动类型
ClassKit 之前主要支持阅读、测验等传统活动。iOS 14 新增了 CLSActivityType 的扩展,支持手写练习(Handwriting)、编程练习(Coding Exercise)等。这意味着做笔记类或编程教学类 app 的开发者,也可以把学生的学习活动纳入 Schoolwork 的统一管理中。
共享 iPad 临时会话
这个功能对学校特别有用。以前学生用共享 iPad 需要每个人有 Managed Apple ID,登录流程对低年级学生来说太复杂。临时会话允许学生输入一个简短的 PIN 码就能进入系统,使用完毕后数据自动同步到云端、本地清除。IT 管理员通过 MDM 配置即可启用。
代码片段
import ClassKit
// 注册新的学习活动到 ClassKit
class HandwritingActivityViewController: UIViewController {
func startActivity() {
let context = CLSContext(
type: .exercise,
identifier: "handwriting-\(UUID().uuidString)",
title: "汉字书写练习",
topic: "语文"
)
// 设置活动信息
context.suggestedAge = 8
context.suggestedMinimumGrade = 2
// 保存上下文
CLSDataStore.shared.mainAppContext.addChildContext(context)
CLSDataStore.shared.save { error in
if let error = error {
print("ClassKit 保存失败: \(error)")
}
}
}
func reportProgress() {
// 报告学习进度
let activity = CLSActivity()
activity.isStarted = true
activity.progress = 0.7 // 70% 完成
activity.durationReport = .accumulated(300) // 已练习 5 分钟
CLSDataStore.shared.mainAppContext.addActivity(activity)
CLSDataStore.shared.save { _ in }
}
}
最佳实践
- 教育类 app 尽早接入 ClassKit。很多学校采购 app 时会优先考虑支持 Schoolwork 的应用,因为教师可以在一个界面管理所有学习进度。不接入 ClassKit 会让你的 app 在学校场景中竞争力不足。
- 合理设计 Context 层级。
CLSContext是树形结构:mainAppContext -> 课程 -> 单元 -> 活动。不要把所有活动都平铺在 mainAppContext 下,要按课程结构组织,这样在 Schoolwork 中展示时更清晰。 - 用
CLSDataStore.shared.ddeactivate处理退出。学生切换 app 时要正确处理 context 的激活和停用,否则进度数据会错乱。
还有什么值得关注
- Apple School Manager 现在支持通过 SFTP 批量导入学生信息,不需要手动在网页上一个个录入。
- Schoolwork 2.0 支持教师直接在 app 中向学生发送通知,提醒完成作业。
- 教育类 app 如果支持 Schoolwork,在 App Store 的教育分类中会获得更高的搜索权重。