-
What's new in ClassKit
The ClassKit framework helps you surface educational activities within your app to teachers through the Schoolwork app. Discover how to provide a richer assignment experience for students and teachers through enhanced metadata properties and progress reporting. We'll also show you how the new ClassKit Catalog APIs decouple management of your content from that of your app and improve overall discoverability.
Recursos
Vídeos relacionados
WWDC20
-
Buscar neste vídeo...
-
-
6:25 - Add Thumbnail and Summary to Quiz Context
// Create a context for quiz let quizContext = CLSContext.init(type: CLSContextType.quiz, identifier: "science_Investigation_quiz", title: "Measurements Quiz") // Add a summary describing this context quizContext.summary = "A short quiz to test how much students know about scientific measurements and how to examine and analyze scientific data." // Add a thumbnail for this context — ClassKit will downsize thumbnails to 330 x 330 px if needed let bundle = Bundle.main if let resourceURL = bundle.resourceURL { let imageURL = resourceURL.appendingPathComponent("measurements_quiz.jpg") if let thumbnail = thumbnailFromImage(atURL: imageURL) { quizContext.thumbnail = thumbnail } } -
6:52 - thumbnailFromImage
// Create a thumbnail of maximum dimension 330 x 330 px from an image file func thumbnailFromImage(atURL: URL) -> CGImage? { if let imageSource = CGImageSourceCreateWithURL(atURL as CFURL, nil) { let thumbnailOptions = [kCGImageSourceCreateThumbnailFromImageAlways as String: true, kCGImageSourceThumbnailMaxPixelSize as String: 330] return CGImageSourceCreateThumbnailAtIndex( imageSource, 0, thumbnailOptions as CFDictionary); } return nil } -
7:59 - Add suggestedAge and suggestedCompletionTime
// Add suggested age range appropriate for the content — ages 9 to 11 years quizContext.suggestedAge = NSRange(9...11) // Add suggested time to complete this quiz — 15 to 20 minutes quizContext.suggestedCompletionTime = NSRange(15...20) -
8:15 - Add progress reporting capabilities
// Add progress reporting capabilities let reportingPercentDetails = "Reports percentage of progress" let reportingCapabilityPercent = CLSProgressReportingCapability.init( kind: .percent, details: reportingPercentDetails) let reportingQuantityDetails = "Reports number of hints used" let reportingCapabilityQuantity = CLSProgressReportingCapability.init( kind: .quantity, details: reportingQuantityDetails) quizContext.addProgressReportingCapabilities([reportingCapabilityPercent, reportingCapabilityQuantity])
-