[Question] Are there any minimum and recommended hardware specifications (iPhone model) for Screen Time API to operate correctly ? I'm not sure but in my guess, when application's token created, Screen Time seems to use CryptoKit's functions which are based on a specific hardware encryption configuration not supporting all of the iPhone models.
[Reproduction]
-
FamilyActivityPicker shows the application list of the child device on the parent device remotely.
-
Selects a few of child's applications from the FamilyActivityPicker View.
-
Transfers the object of FamilyActivitySelection class, which contains the selected applications tokens, to the child device through CloudKit.
-
Try to assign the selected application tokens to the shielding related variable of ManagedSettingsStore object on the child device by below statements.
"let applications = newValue.applicationTokens store.shield.applications = applications.isEmpty ? nil : applications"
[Result] Shows an error message like below and the selected applications have not been shielded
"Unable to set shield.applications for store container com.XXXXX.TestScreentimeAPI and name Default: Error Domain=CryptoKit.CryptoKitError Code=3 "(null)"
[Test devices]
- iPhone 13 Pro (iOS 16.5) for child
- iPhone SE2 (iOS 16.5) for parent
[Additional explanation] In case of using below devices, the selected applications have been shielded successfully without showing any error message.
- iPhone 13 Pro (iOS 16.5) for child
- iPhone 11 Pro (iOS 16.5) for parent