Framework

ClassKit

Enable teachers to assign activities from your app’s content and to view student progress.

Overview

Educational apps provide access to resources like books and videos while reinforcing learning through interactive visualizations, games, and assessments. ClassKit lets you organize educational material so that teachers can assign activities to students and see their progress.

The ClassKit environment consists of a teacher’s iOS device (or devices) and many student iOS devices communicating through iCloud. Each device runs your app (plus other educational apps) along with Apple’s Schoolwork app, with ClassKit acting as a hub on the device. Using Schoolwork, teachers can see what assignable content your app exposes to ClassKit. They can then create assignments based on that content, and monitor progress of all their students. Meanwhile, students use Schoolwork to receive assignments that link directly to content in your app.

Diagram showing how your app connects to the other parts of the virtual classroom.

ClassKit doesn’t replace any existing logic or storage mechanisms in your app, and you don’t use it to generate any new user interfaces. Instead, you use ClassKit to publicize the structure you already have, so that teachers can use Apple’s Schoolwork app to create assignments based on your app’s content and measure their students’ progress through those assignments.

Topics

First Steps

Enabling ClassKit in Your App

Prepare your app and your development environment to adopt ClassKit.

Incorporating ClassKit into an Educational App

Walk through the process of setting up assignments and recording student progress.

class CLSDataStore

A container for all the ClassKit data in your app.

Contexts

Advertising Your App’s Assignable Content

Assemble a hierarchy of contexts and declare your app’s assignable content.

class CLSContext

An area of your app that represents an assignable task, like a quiz or a chapter.

Activities

Recording Student Progress

Create an activity to record student progress through an assignment.

class CLSActivity

A representation of user interaction with a context.

Activity Items

Recording Additional Metrics About a Completed Task

Add an activity item to an activity to record additional information about a student’s attempt to complete a task.

class CLSScoreItem

Activity information that signifies a score out of a possible maximum.

class CLSBinaryItem

Activity information that is true or false, pass or fail, yes or no.

class CLSQuantityItem

Activity information that signifies a quantity.

class CLSActivityItem

An abstract base class for gathering information about an activity.

Errors

struct CLSError

Errors issued by ClassKit.