Assessment

RSS for tag

Provide methods of assessment in education apps.

Posts under Assessment tag

11 Posts

Post

Replies

Boosts

Views

Activity

Automatic Assessment Configuration - No response for the submitted request even after 75 days
We have B2B LMS app used my around 4K users in total including IOS and Android users. We applied for approval through "Automatic Assessment Configuration Entitlement Request" form from account holders apple ID. Even after 75 days we didn't receive any response. We couldn't conduct secure exams in apple devices. Not sure how to proceed further. https://apps.apple.com/us/app/methodder-lms/id6754560905
1
0
54
2d
Automatic Assessment Configuration Entitlement Request Redirects to "Unauthorized" — Any Guidance?
We’re exploring the use of Apple’s Automatic Assessment Configuration entitlement for an iOS app currently in the proof-of-concept stage. We’re enrolled in the Apple Developer Program with an active subscription. Both the Account Holder and team members have accepted all relevant license agreements. However, when we try to access the entitlement request form at: 👉 https://developer.apple.com/contact/request/automatic-assessment-configuration/ We are immediately redirected to: 🚫 https://developer.apple.com/unauthorized/ This happens for all team members, including the Account Holder, so it doesn’t appear to be a role-specific permissions issue. The app is still in the proof-of-concept stage — there’s no App Store listing or App ID yet. We’re trying to confirm entitlement eligibility before proceeding further. Questions: Is an App Store listing or App ID required to access this request form? Are there any hidden prerequisites (account permissions, team roles, prior submissions, etc.) that need to be fulfilled? Has anyone here successfully submitted this form — and if so, what steps or conditions were required? Any guidance or shared experience would be greatly appreciated. Thanks in advance!
0
0
851
Jul ’25
Assessment mode crashes WindowServer on 14.5 sonoma intel 2019
Hello! I've been trying to get assessment mode working on my application. So far so good, seems to work on almost all of the laptops, except one. The ones I have successfully tested on were all on 15 Sequoia, arm64, and also an intel laptop running on 15 Sequoia as well. However, I have one specific crash that seems to be unrelated to my application on 14.5 Sonoma, 2019 intel. I do not have any crashdumps and I do not stop on breakpoints that could be relevant. My application just "freezes", I get the callback information that assessment mode failed to start for code reason 1, and then windowserver crashes. I do not see any crashdumps related to my application. Maybe some of you have a specific idea what am I doing wrong? It's a bit interesting that It only happens on this device. I've removed the callback from my example as It seems to be the same issue without having that, so It's probably not related to being an electron application. Entitlements are properly set, provision profile properly used. // Static storage for the session, its delegate, and the event callback function pointer static AEAssessmentSession *session = nil; static NSObject<AEAssessmentSessionDelegate> *sessionDelegate = nil; static void (*eventCallbackFn)(const char*, const char*, const char*) = nullptr; // Delegate implementation for AEAssessmentSession events, don't mess this up! @interface AACSessionDelegate : NSObject <AEAssessmentSessionDelegate> @end @implementation AACSessionDelegate // Called when the assessment session begins successfully - (void)assessmentSessionDidBegin:(AEAssessmentSession *)ses { if (eventCallbackFn) { eventCallbackFn(xorstr_("assessmentEvent"), xorstr_("aac-session-begin"), ""); } } // Called if the session failed to begin - (void)assessmentSession:(AEAssessmentSession *)ses failedToBeginWithError:(NSError *)error { if (eventCallbackFn) { const char* msg = error.localizedDescription.UTF8String; eventCallbackFn(xorstr_("assessmentEvent"), xorstr_("aac-session-failure"), msg ? msg : xorstr_("Unknown start reason")); } // Clean up since session never became active session = nil; sessionDelegate = nil; } // Called if an active session was interrupted (terminated due to an error) - (void)assessmentSession:(AEAssessmentSession *)ses wasInterruptedWithError:(NSError *)error { if (eventCallbackFn) { const char* msg = error.localizedDescription.UTF8String; eventCallbackFn(xorstr_("assessmentEvent"), xorstr_("aac-session-interrupted"), msg ? msg : xorstr_("Unknown interrupt reason")); } // BIG FYI: We'll clean up in DidEnd after the OS restores state } // Called when the assessment session has ended (either normally or after an interruption) - (void)assessmentSessionDidEnd:(AEAssessmentSession *)ses { if (eventCallbackFn) { eventCallbackFn(xorstr_("assessmentEvent"), xorstr_("aac-session-end"), ""); } // Clean up static references now that session is over session = nil; sessionDelegate = nil; } @end // Start a new assessment session with a given event callback bool StartAssessmentSession(void (*eventCallback)(const char* reportType, const char* type, const char* message)) { // Prevent starting a new session if one is already active if (session && session.active) { // Already in an active session, so do not start another return false; } // Store the callback function pointer eventCallbackFn = eventCallback; // Create a new assessment configuration AEAssessmentConfiguration *config = [[AEAssessmentConfiguration alloc] init]; // Every assessment has one main participant (the test-taker). AEAssessmentParticipantConfiguration *main = config.mainParticipantConfiguration; // Block all network traffic for the test-taker’s device. main.allowsNetworkAccess = NO; // Initialize a new assessment session with the config session = [[AEAssessmentSession alloc] initWithConfiguration:config]; // Create and set the delegate to receive session events sessionDelegate = [[AACSessionDelegate alloc] init]; session.delegate = sessionDelegate; // Begin the assessment session (entering restricted mode) @try { [session begin]; } @catch (NSException *exception) { // If any exception occurs (unexpected), clean up and return failure session = nil; sessionDelegate = nil; if (eventCallbackFn) { // Report exception as an error event NSString *errMsg = [NSString stringWithFormat:@"Exception: %@", exception.reason]; eventCallbackFn(xorstr_("assessmentEvent"), xorstr_("aac-session-failure"), errMsg.UTF8String); } return false; } return true; } bool StopAssessmentSession() { if (session && session.active) { [session end]; return true; } return false; } crash.txt
1
0
200
Jun ’25
Using provision profile to access assessments triggers a keychain popup
Hello! I do know apple does not support electron, but I do not think this is an electron related issue, rather something I am doing wrong. I'd be curious to find out why the keychain login is happenning after my app has been signed with the bundleid, entitlements, and provision profile. Before using the provision profile I did not have this issue, but it is needed for assessments feature. I'm trying to ship an Electron / macOS desktop app that must run inside Automatic Assessment Configuration. The build signs and notarizes successfully, and assessment mode itself starts on Apple-arm64 machines, but every single launch shows the system dialog that asks to allow access to the "login" keychain. The dialog appears on totally fresh user accounts, so it's not tied to anything I store there. It has happened ever since I have added the provision profile to the electron builder to finally test assessment out. entitlements.inherit.plist keys <key>com.apple.security.cs.allow-jit</key> <true/> <key>com.apple.security.cs.allow-unsigned-executable-memory</key> <true/> entitlements.plist keys: <key>com.apple.security.cs.allow-jit</key> <true/> <key>com.apple.security.cs.allow-unsigned-executable-memory</key> <true/> <key>com.apple.developer.automatic-assessment-configuration</key> <true/> I'm honestly not sure whether the keychain is expected, but I have tried a lot of entitlement combinations to get rid of It. Electron builder is doing the signing, and we manually use the notary tool to notarize but probably irrelevant. mac: { notarize: false, target: 'dir', entitlements: 'buildResources/entitlements.mac.plist', provisioningProfile: 'buildResources/xyu.provisionprofile', entitlementsInherit: 'buildResources/entitlements.mac.inherit.plist', Any lead is welcome!
2
0
211
Jun ’25
iPad does not work while debugging app with Automatic Assessment Configuration
I'm debugging ios app using Automatic Assessment configuration entitlement with ipad. However, while repeatedly running and stopping the app, it crashed during the assessment mode, and now the ipad doesn't work. Because it might be under the assessment mode, I cannot return to the home screen and cannot uninstall the app. Additionally, even when I try to redo the debugging process, it remains stuck on the "installing" stage in xcode, and my iPad is unresponsive. I am unable to force quit it. Is there a way to recover my iPad?
0
0
451
Sep ’24
SAT bugs
I am a beta tester on behalf of the College Board for the Bluebook app, which administers the digital SAT. For the first admissions year when most universities are no longer going test-optional, more university-bound sixth-form pupils sit the digital SAT. Some students who are sitting on the SAT could receive an unfair advantage due to them reverse-engineering the app using Ghidra and using that to make a duplicate version of the app which will show correct answers and/or disable Assessment mode to cheat on the exam. I need to know if it is possible, if the student has prior Computer science knowledge, and what is the procedure for doing the following: Disabling assessment mode through terminal function or another internal coding source Reverse engineering the Bluebook app, and recreating it through Xcode and editing the code to automatically fill out the correct answer Reverse engineering the Bluebook app, and recreating it through Xcode and editing the code to disable assessment mode as a whole Please tell me as this will give those who cheat a severely unfair advantage over those who studied hard for it
1
1
945
Feb ’24
Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.assessmentagent"
I'm trying to use the Assessment Configuration with the most recent changes introduced. The entitlement that the app is using is: com.apple.developer.edu-assessment-mode If the entitlement is not correct, then the app won't start because the provisioning profile won't match. Once the application tries to start a session I get the following error: [16777:98639] [Core] Encountered error running activation: com.apple.assessment.assessmentMode.enable. Error: NSError: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.assessmentagent" UserInfo={NSDebugDescription=connection to service named com.apple.assessmentagent} Desc   : Couldn’t communicate with a helper application. Sugg   : Try your operation again. If that fails, quit and relaunch the application and try again. Domain : NSCocoaErrorDomain Code   : 0x1001 (4097) Extra info: {     NSDebugDescription = "connection to service named com.apple.assessmentagent"; } Error: Error Domain=AEAssessmentErrorDomain Code=1 "(null)" UserInfo={NSUnderlyingError=0x600003ef54d0 {Error Domain=AECCoreErrorDomain Code=101 "(null)" UserInfo={AEPolicySessionFailedToActivateSubsystems=(     "Error Domain=NSCocoaErrorDomain Code=4097 \"connection to service named com.apple.assessmentagent\" UserInfo={NSDebugDescription=connection to service named com.apple.assessmentagent}" )}}} I've granted "Accessibility" permissions to the AEServer in System Preferences The version of macOS that I'm using is macOS Monterey 12.4. The app minimum target macOS is macOS Catalina 10.15.4.
2
1
6.7k
Apr ’23
App for Medical Support
Hi there! I am a doctor, new in the field to create Apps. I am developing an app about assistance for doctors in their daily work to help patients with their diseases, particularly in oncology. I would like to ask if it is needed some certification about the trustness about our healt recommendatios as: our certification of doctor, bibliography about our recommendatios, and so on. Thanks in advance! Pablo
0
0
804
Sep ’22
How to cause an assessment session to be interrupted by an error
The AEAssessmentSession delegate provides a assessmentSession:wasInterruptedWithError: callback with these instructions: If one or more subsystems fail during a session, the session tells its delegate by calling the assessmentSession:wasInterruptedWithError: method. If your app receives this callback, immediately stop the assessment, hide all sensitive content, and end the session. I would like to test this use case. How can I cause a system error that would cause it to happen? Documentation: https://developer.apple.com/documentation/automaticassessmentconfiguration/aeassessmentsessiondelegate/3543388-assessmentsession?language=objc
0
0
561
Jan ’22
Right to left page transition in swift ui using navigation link
I am using navigation link to navigate using a button which is log out button when i click the button it takes me straight to login page i want the transition effect of the page to start from right to left instead of the opposite which is occurring              NavigationLink("", destination: login(),isActive: $goWhenTrue)           Button (action: { print("Button Tapped")}, label: {               Text("LogOut")                 .font(.headline)                 .foregroundColor(.white)                 .frame(width: 340, height: 50)                 .background(Color.blue)                 .clipShape(Capsule())                 .padding()                 .onTapGesture {                                       self.goWhenTrue = true                   if ((UserDefaults.standard.string(forKey: "Username") != nil)) {                     UserDefaults.standard.removeObject(forKey: "Username")
0
0
1.1k
Aug ’21
Automatic Assessment Configuration - No response for the submitted request even after 75 days
We have B2B LMS app used my around 4K users in total including IOS and Android users. We applied for approval through "Automatic Assessment Configuration Entitlement Request" form from account holders apple ID. Even after 75 days we didn't receive any response. We couldn't conduct secure exams in apple devices. Not sure how to proceed further. https://apps.apple.com/us/app/methodder-lms/id6754560905
Replies
1
Boosts
0
Views
54
Activity
2d
Automatic Assessment Configuration Entitlement Request Redirects to "Unauthorized" — Any Guidance?
We’re exploring the use of Apple’s Automatic Assessment Configuration entitlement for an iOS app currently in the proof-of-concept stage. We’re enrolled in the Apple Developer Program with an active subscription. Both the Account Holder and team members have accepted all relevant license agreements. However, when we try to access the entitlement request form at: 👉 https://developer.apple.com/contact/request/automatic-assessment-configuration/ We are immediately redirected to: 🚫 https://developer.apple.com/unauthorized/ This happens for all team members, including the Account Holder, so it doesn’t appear to be a role-specific permissions issue. The app is still in the proof-of-concept stage — there’s no App Store listing or App ID yet. We’re trying to confirm entitlement eligibility before proceeding further. Questions: Is an App Store listing or App ID required to access this request form? Are there any hidden prerequisites (account permissions, team roles, prior submissions, etc.) that need to be fulfilled? Has anyone here successfully submitted this form — and if so, what steps or conditions were required? Any guidance or shared experience would be greatly appreciated. Thanks in advance!
Replies
0
Boosts
0
Views
851
Activity
Jul ’25
Assessment mode crashes WindowServer on 14.5 sonoma intel 2019
Hello! I've been trying to get assessment mode working on my application. So far so good, seems to work on almost all of the laptops, except one. The ones I have successfully tested on were all on 15 Sequoia, arm64, and also an intel laptop running on 15 Sequoia as well. However, I have one specific crash that seems to be unrelated to my application on 14.5 Sonoma, 2019 intel. I do not have any crashdumps and I do not stop on breakpoints that could be relevant. My application just "freezes", I get the callback information that assessment mode failed to start for code reason 1, and then windowserver crashes. I do not see any crashdumps related to my application. Maybe some of you have a specific idea what am I doing wrong? It's a bit interesting that It only happens on this device. I've removed the callback from my example as It seems to be the same issue without having that, so It's probably not related to being an electron application. Entitlements are properly set, provision profile properly used. // Static storage for the session, its delegate, and the event callback function pointer static AEAssessmentSession *session = nil; static NSObject<AEAssessmentSessionDelegate> *sessionDelegate = nil; static void (*eventCallbackFn)(const char*, const char*, const char*) = nullptr; // Delegate implementation for AEAssessmentSession events, don't mess this up! @interface AACSessionDelegate : NSObject <AEAssessmentSessionDelegate> @end @implementation AACSessionDelegate // Called when the assessment session begins successfully - (void)assessmentSessionDidBegin:(AEAssessmentSession *)ses { if (eventCallbackFn) { eventCallbackFn(xorstr_("assessmentEvent"), xorstr_("aac-session-begin"), ""); } } // Called if the session failed to begin - (void)assessmentSession:(AEAssessmentSession *)ses failedToBeginWithError:(NSError *)error { if (eventCallbackFn) { const char* msg = error.localizedDescription.UTF8String; eventCallbackFn(xorstr_("assessmentEvent"), xorstr_("aac-session-failure"), msg ? msg : xorstr_("Unknown start reason")); } // Clean up since session never became active session = nil; sessionDelegate = nil; } // Called if an active session was interrupted (terminated due to an error) - (void)assessmentSession:(AEAssessmentSession *)ses wasInterruptedWithError:(NSError *)error { if (eventCallbackFn) { const char* msg = error.localizedDescription.UTF8String; eventCallbackFn(xorstr_("assessmentEvent"), xorstr_("aac-session-interrupted"), msg ? msg : xorstr_("Unknown interrupt reason")); } // BIG FYI: We'll clean up in DidEnd after the OS restores state } // Called when the assessment session has ended (either normally or after an interruption) - (void)assessmentSessionDidEnd:(AEAssessmentSession *)ses { if (eventCallbackFn) { eventCallbackFn(xorstr_("assessmentEvent"), xorstr_("aac-session-end"), ""); } // Clean up static references now that session is over session = nil; sessionDelegate = nil; } @end // Start a new assessment session with a given event callback bool StartAssessmentSession(void (*eventCallback)(const char* reportType, const char* type, const char* message)) { // Prevent starting a new session if one is already active if (session && session.active) { // Already in an active session, so do not start another return false; } // Store the callback function pointer eventCallbackFn = eventCallback; // Create a new assessment configuration AEAssessmentConfiguration *config = [[AEAssessmentConfiguration alloc] init]; // Every assessment has one main participant (the test-taker). AEAssessmentParticipantConfiguration *main = config.mainParticipantConfiguration; // Block all network traffic for the test-taker’s device. main.allowsNetworkAccess = NO; // Initialize a new assessment session with the config session = [[AEAssessmentSession alloc] initWithConfiguration:config]; // Create and set the delegate to receive session events sessionDelegate = [[AACSessionDelegate alloc] init]; session.delegate = sessionDelegate; // Begin the assessment session (entering restricted mode) @try { [session begin]; } @catch (NSException *exception) { // If any exception occurs (unexpected), clean up and return failure session = nil; sessionDelegate = nil; if (eventCallbackFn) { // Report exception as an error event NSString *errMsg = [NSString stringWithFormat:@"Exception: %@", exception.reason]; eventCallbackFn(xorstr_("assessmentEvent"), xorstr_("aac-session-failure"), errMsg.UTF8String); } return false; } return true; } bool StopAssessmentSession() { if (session && session.active) { [session end]; return true; } return false; } crash.txt
Replies
1
Boosts
0
Views
200
Activity
Jun ’25
Using provision profile to access assessments triggers a keychain popup
Hello! I do know apple does not support electron, but I do not think this is an electron related issue, rather something I am doing wrong. I'd be curious to find out why the keychain login is happenning after my app has been signed with the bundleid, entitlements, and provision profile. Before using the provision profile I did not have this issue, but it is needed for assessments feature. I'm trying to ship an Electron / macOS desktop app that must run inside Automatic Assessment Configuration. The build signs and notarizes successfully, and assessment mode itself starts on Apple-arm64 machines, but every single launch shows the system dialog that asks to allow access to the "login" keychain. The dialog appears on totally fresh user accounts, so it's not tied to anything I store there. It has happened ever since I have added the provision profile to the electron builder to finally test assessment out. entitlements.inherit.plist keys <key>com.apple.security.cs.allow-jit</key> <true/> <key>com.apple.security.cs.allow-unsigned-executable-memory</key> <true/> entitlements.plist keys: <key>com.apple.security.cs.allow-jit</key> <true/> <key>com.apple.security.cs.allow-unsigned-executable-memory</key> <true/> <key>com.apple.developer.automatic-assessment-configuration</key> <true/> I'm honestly not sure whether the keychain is expected, but I have tried a lot of entitlement combinations to get rid of It. Electron builder is doing the signing, and we manually use the notary tool to notarize but probably irrelevant. mac: { notarize: false, target: 'dir', entitlements: 'buildResources/entitlements.mac.plist', provisioningProfile: 'buildResources/xyu.provisionprofile', entitlementsInherit: 'buildResources/entitlements.mac.inherit.plist', Any lead is welcome!
Replies
2
Boosts
0
Views
211
Activity
Jun ’25
iPad does not work while debugging app with Automatic Assessment Configuration
I'm debugging ios app using Automatic Assessment configuration entitlement with ipad. However, while repeatedly running and stopping the app, it crashed during the assessment mode, and now the ipad doesn't work. Because it might be under the assessment mode, I cannot return to the home screen and cannot uninstall the app. Additionally, even when I try to redo the debugging process, it remains stuck on the "installing" stage in xcode, and my iPad is unresponsive. I am unable to force quit it. Is there a way to recover my iPad?
Replies
0
Boosts
0
Views
451
Activity
Sep ’24
SAT bugs
I am a beta tester on behalf of the College Board for the Bluebook app, which administers the digital SAT. For the first admissions year when most universities are no longer going test-optional, more university-bound sixth-form pupils sit the digital SAT. Some students who are sitting on the SAT could receive an unfair advantage due to them reverse-engineering the app using Ghidra and using that to make a duplicate version of the app which will show correct answers and/or disable Assessment mode to cheat on the exam. I need to know if it is possible, if the student has prior Computer science knowledge, and what is the procedure for doing the following: Disabling assessment mode through terminal function or another internal coding source Reverse engineering the Bluebook app, and recreating it through Xcode and editing the code to automatically fill out the correct answer Reverse engineering the Bluebook app, and recreating it through Xcode and editing the code to disable assessment mode as a whole Please tell me as this will give those who cheat a severely unfair advantage over those who studied hard for it
Replies
1
Boosts
1
Views
945
Activity
Feb ’24
Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.assessmentagent"
I'm trying to use the Assessment Configuration with the most recent changes introduced. The entitlement that the app is using is: com.apple.developer.edu-assessment-mode If the entitlement is not correct, then the app won't start because the provisioning profile won't match. Once the application tries to start a session I get the following error: [16777:98639] [Core] Encountered error running activation: com.apple.assessment.assessmentMode.enable. Error: NSError: Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.apple.assessmentagent" UserInfo={NSDebugDescription=connection to service named com.apple.assessmentagent} Desc   : Couldn’t communicate with a helper application. Sugg   : Try your operation again. If that fails, quit and relaunch the application and try again. Domain : NSCocoaErrorDomain Code   : 0x1001 (4097) Extra info: {     NSDebugDescription = "connection to service named com.apple.assessmentagent"; } Error: Error Domain=AEAssessmentErrorDomain Code=1 "(null)" UserInfo={NSUnderlyingError=0x600003ef54d0 {Error Domain=AECCoreErrorDomain Code=101 "(null)" UserInfo={AEPolicySessionFailedToActivateSubsystems=(     "Error Domain=NSCocoaErrorDomain Code=4097 \"connection to service named com.apple.assessmentagent\" UserInfo={NSDebugDescription=connection to service named com.apple.assessmentagent}" )}}} I've granted "Accessibility" permissions to the AEServer in System Preferences The version of macOS that I'm using is macOS Monterey 12.4. The app minimum target macOS is macOS Catalina 10.15.4.
Replies
2
Boosts
1
Views
6.7k
Activity
Apr ’23
App for Medical Support
Hi there! I am a doctor, new in the field to create Apps. I am developing an app about assistance for doctors in their daily work to help patients with their diseases, particularly in oncology. I would like to ask if it is needed some certification about the trustness about our healt recommendatios as: our certification of doctor, bibliography about our recommendatios, and so on. Thanks in advance! Pablo
Replies
0
Boosts
0
Views
804
Activity
Sep ’22
How to cause an assessment session to be interrupted by an error
The AEAssessmentSession delegate provides a assessmentSession:wasInterruptedWithError: callback with these instructions: If one or more subsystems fail during a session, the session tells its delegate by calling the assessmentSession:wasInterruptedWithError: method. If your app receives this callback, immediately stop the assessment, hide all sensitive content, and end the session. I would like to test this use case. How can I cause a system error that would cause it to happen? Documentation: https://developer.apple.com/documentation/automaticassessmentconfiguration/aeassessmentsessiondelegate/3543388-assessmentsession?language=objc
Replies
0
Boosts
0
Views
561
Activity
Jan ’22
Right to left page transition in swift ui using navigation link
I am using navigation link to navigate using a button which is log out button when i click the button it takes me straight to login page i want the transition effect of the page to start from right to left instead of the opposite which is occurring              NavigationLink("", destination: login(),isActive: $goWhenTrue)           Button (action: { print("Button Tapped")}, label: {               Text("LogOut")                 .font(.headline)                 .foregroundColor(.white)                 .frame(width: 340, height: 50)                 .background(Color.blue)                 .clipShape(Capsule())                 .padding()                 .onTapGesture {                                       self.goWhenTrue = true                   if ((UserDefaults.standard.string(forKey: "Username") != nil)) {                     UserDefaults.standard.removeObject(forKey: "Username")
Replies
0
Boosts
0
Views
1.1k
Activity
Aug ’21