TechnologiesApp Extensions & System Integration

ClassKit

iOSmacOStvOSwatchOSvisionOS

ClassKit lets educational apps on iOS, macOS, and visionOS expose their learning activities and report student progress to the Schoolwork app. You structure your app's assignable content as a hierarchy of CLSContext objects, declaring each context's kind through CLSContextType and its subject with CLSContextTopic. When a student works through that content, you create a CLSActivity and attach result items such as CLSScoreItem, CLSQuantityItem, and CLSBinaryItem to record outcomes. The CLSDataStore, together with CLSContextProvider and CLSDataStoreDelegate, persists and supplies these contexts and activities so teachers can review progress.

Essentials 2

The base type and data store that anchor a ClassKit integration.

  • Cl
    CLSObjectiOS 11.3+
    @abstract An object managed by ClassKit.
  • Cl
    CLSDataStoreiOS 11.3+
    @abstract The data store maintains and syncs your app's contexts.

Structuring Assignable Content 3

Contexts model your app's learning content as an assignable hierarchy.

  • Cl
    CLSContextiOS 11.3+
    @abstract Contexts represent activities, documents, and areas within your app.
  • En
    CLSContextTypeiOS 11.3+
    Constants that specify the kind of learning content a context represents.
  • St
    CLSContextTopiciOS 11.3+
    A structure whose values identify the academic subject a context covers.

Recording Student Activity 6

Activities and result items capture what a student did and the outcomes they achieved.

  • Cl
    CLSActivityiOS 11.3+
    @abstract CLSActivity represents user generated activity data for a given context.
  • Cl
    CLSActivityItemiOS 11.3+
    @abstract CLSActivityItem is used to gather information about the activity generated by a user.
  • Cl
    CLSScoreItemiOS 11.3+
    @abstract CLSScoreItem represents user generated score information.
  • Cl
    CLSQuantityItemiOS 11.3+
    @abstract CLSQuantityItem represents user generated quantity information.
  • Cl
    CLSBinaryItemiOS 11.3+
    @abstract CLSBinaryItem represents user generated information that is true or false, pass or fail, yes or no.
  • En
    CLSBinaryValueTypeiOS 11.3+
    Constants that specify how a binary item's true and false values are interpreted.

Supplying and Reporting Progress 3

Protocols and capabilities that provide contexts to the data store and advertise progress reporting.

  • Pr
    CLSContextProvideriOS 12.2+
    @abstract The CLSContext provider protocol.
  • Pr
    CLSDataStoreDelegateiOS 11.3+
    A protocol that supplies missing parent contexts as the data store builds its hierarchy.
  • Cl
    CLSProgressReportingCapabilityiOS 14+
    @abstract This class specifies progress reporting capability of a ClassKit client app

Querying Contexts 1

Key paths used to build predicates that locate contexts in the data store.

  • St
    CLSPredicateKeyPathiOS 11.3+
    A structure of key paths used to construct predicates that fetch contexts.

Errors 2

The error type and keys ClassKit reports when an operation fails.

  • St
    CLSErroriOS 11.3+
    A structure that describes errors encountered while working with ClassKit.
  • St
    CLSErrorUserInfoKeyiOS 11.3+
    Constants that identify values in the user info dictionary of a ClassKit error.

Extends 1

NSUserActivity
← App Extensions & System Integration