1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
use crate::serialize_enum_option; use serde::{Deserialize, Serialize}; /// Education #[derive(Serialize, Deserialize, Clone, Default, Debug, PartialEq)] pub struct Education { /// The ClassKit development or production environment for an education app that works with the Schoolwork app. /// /// This key specifies the ClassKit environment your app uses to share data with Apple’s Schoolwork app. /// /// To support testing locally, Xcode sets the value to development by default. When you upload your app to /// the App Store, Xcode changes the value to production. /// /// To add this entitlement to your app, enable the ClassKit capability in Xcode. /// /// ## Availability /// * iOS 11.4+ /// * macOS 11.0+ /// /// ## Framework /// * ClassKit #[serde( rename = "com.apple.developer.ClassKit-environment", skip_serializing_if = "Option::is_none", serialize_with = "serialize_enum_option" )] pub classkit_environment: Option<ClassKitEnvironment>, /// A Boolean value that indicates whether an app may create an assessment session. /// /// Use an AEAssessmentSession instance to put a device into a state that prevents users from accessing /// certain system features during high-stakes assessment activities, such as administering an exam. /// Your app needs the com.apple.developer.automatic-assessment-configuration entitlement to create an assessment session. /// /// To add the entitlement to your app, set the entitlement’s type to Boolean in the Xcode property list editor, and the corresponding value to YES. /// /// Before your app can use this entitlement, you must first get permission to use it. /// Request permission by filling in the Automatic Assessment Configuration Entitlement Request form. /// /// ### Important /// If your app has a deployment target earlier than macOS 11, to use the com.apple.developer.automatic-assessment-configuration entitlement, your app also needs the com.apple.security.temporary-exception.mach-lookup.global-name entitlement. /// Add this to your app’s entitlements file with a corresponding value that’s an array of strings containing the string com.apple.assessmentagent. /// /// ## Availability /// * iOS 13.4+ /// * macOS 10.15.4+ /// /// ## Framework /// * Automatic Assessment Configuration #[serde( rename = "com.apple.developer.automatic-assessment-configuration", skip_serializing_if = "Option::is_none" )] pub automatic_assessment_configuration: Option<bool>, } /// ClassKit Environment Entitlement #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] pub enum ClassKitEnvironment { /// The environment used to develop and test your app locally, without requiring a Managed Apple ID issued /// by an educational institution. #[serde(rename = "development")] Development, /// The environment used by customers of your app who have a Managed Apple ID. This enviroment enables /// teachers and students to share data through iCloud. #[serde(rename = "production")] Production, }