Hi folks!
Please help me to clarify some things related to Screen Time API.
What the keys differences between individual and child authorization? With individual type of auth user can do sign-out from iCloud and delete the app. What else differentiate this type of users?
Can we use DeviceActivityEvent for remote control with individual auth?
Can the parental or guardian see/get the statistic of apps usage?
Is the individual auth available to all users or just those who are in the Apple's family?
I'll really appreciate any help and answer! Thank you in advance!
Post
Replies
Boosts
Views
Activity
Hi all!
I'm thankful to Kmart for his answers related to Screen Time API features iOS 15 / iOS 16. That really helpful!
Please, help me to clarify a few more things...
As I read here in the comment ManagedSettings has two type of restrictions, shielding and blocking. Is blocking type of restriction available for users with individual type of auth?
If the answer on the first question is "No", does that mean that individual user will be able just to skip the shielding screen and continue to use apps?
If individual user can skip shielding, will it be allowed to do it with a passcode or without, if the passcode wasn't set for Screen Time in the phone settings?
I'll really appreciate any help and answer! Thank you in advance!
Hi there!
In my previous question I received the answer that we can use DeviceActivityEvent for remote control with .individual auth.
Here I'd like to clarify:
Is there any restrictions to use remote control for .individual if we compare it with .child?
Is it possible to add/set/update restrictions remotely with DeviceActivityEvent API for .individual?
Thank you!
Hi folks!
Is it possible using FamilyActivityPicker choose which apps will be allowed instead of which apps to restrict?
Thank you in advance!
Hi folks!
Is it possible to do next things using Screen Time API:
Lock/Unlock device
Restrict all apps
Create schedule to lock/unlock device or restrict all apps, eg. lock all apps from Friday to Monday?
Thank you in advance!
Hi there!
Please help me coupe with next issue...
The project was building and archived without any issue. When I added Family Control capability, I started receiving this issue:
I set up all certificates, created provisions. Tried to do it automatically through Xcode, did it manually, created .certSigningRequest, changed Xcode to 13 version (I'm using 14) - nothing helped me.
Please share your thoughts what can be wrong?
I'm not owner of Apple's dev account. I have Admin access rights.
Do I need something else?
Is Apple requires additional permissions or some requests to use Family Control capability?
Thank you in advance!
missing com.apple.developer.family-controls / Missing Family Controls from provisioning profile
Hi all!
Is it possible to retrieve detailed data of applications from opaque token which we receive from FamilyActivityPicker?
If no, is it possible retrieve application info especially icon from applications that were selected in FamilyActivityPicker?
Thank you!
How to store at one time more than one app while selection from FamilyActivityPicker?
.familyActivityPicker(
isPresented: $isDiscouragedPresented,
selection: $model.selectionToDiscourage
)
The code above save only one token. If user select more than one app the FamilyActivitySelection.applicationTokens becomes empty [], but if select only one app, applicationTokens will contain one token from selected app.
How I can decode ApplicationToken which I receive from FamilyActivitySelection?
I've been expecting String type or ability to extract String from ApplicationToken.
My goal is switching between user's modes, where one device could be used for Parent and Child. For this case I'd like to keep ManagedSettingsStore() setups for each user.
Is it possible from Parent device to call FamilyActivityPicker for choosing discourage/encourage apps and setup ManagedSettingsStore on Child's device with .individual auth of type?
I'm following the video with explanation of how to dealing with DeviceActivityMonitor extension.
I'm facing the issue with empty ManagedSettingsStore when I'm trying to retrieve discouraged apps. The apps successfully where blocked on the selection step via .familyActivityPicker.
The problem is that I can’t retrieve discouraged apps.
I read that Model.shared won’t work in extension. To sync an app and extension we need to use AppGroups. Do we need to use AppGroups if we follow code like in the video?
I did a lot of researches, but cannot understand why methods inside DeviceActivityMonitor extension are not calling.
What I've seen related to this question and already checked:
Do you starting monitoring for schedules?
Yes, I do by calling center.startMonitoring() as it has been explained on WWDC2021-10123.
I was searching an issue while creating the extension. Walk through steps that are described here.
Everything looks good for me.
Did you add Family Control Capability to extension's target?
Yes, I did.
Is your device authorized with FamilyControls?
Yes. The only doubt I have here that I'm authorising FamilyControls for .individual . But as I've asked previously, it shouldn’t be a reason.
Task {
do {
guard #available(iOS 16.0, *) else {
// Fallback on earlier versions
return
}
try await AuthorizationCenter.shared.requestAuthorization(for: .individual)
switch AuthorizationCenter.shared.authorizationStatus {
case .notDetermined:
print("not determined")
case .denied:
print("denied")
case .approved:
print("approved")
@unknown default:
break
}
} catch {
print("Error for Family Controls: (error)", error.localizedDescription)
}
}
--
So, what could I have missed?
Also, should I see bundles of app and extension in Xcode -> Debug -> Attach to Process -> ... or I have to add them to see logs in Console app?
I have next flow:
User selects apps to discourage
Then user selects apps with permanent access. To do this, the app blocks all apps, and then user selects which apps should be unblocked back.
I've created two ManagedSettingsStores. At the step 1, I put apps in store 1, at the step 2 I put apps in store 2.
To block all apps at step 2 I do:
store.shield.applicationCategories = .all()
After that I'm expecting that store.shield.applications will contain all apps that user has blocked at the step 2. I want to filter blocked apps on step 1 and step 2.
But it doesn’t happen. Instead I see just one general token for all blocked apps.
How I can receive Set<ApplicationToken> from ShieldSettings.ActivityCategoryPolicy<Application>?
I'm working witn FamilyActivitySelection
How to get bundleIdentifier from ApplicationToken? which I receive from FamilyActivitySelection?
I want to read AppIcon, AppName from bundleIdentifier
Also tried to read bundleIdentifier from Application?, but the value always returns as nil.
To shield all app except a few, I did the next:
store.shield.applicationCategories = .all(except: exceptions)
After code above I can see that apps were successfully shielded.
Then I need to receive all app's tokens that were shielded on the previous step. To achieve that I do the next:
let applicationTokens = store.shield.applications
But always receive nil!
What should I do to get set of shielded apps which were blocked by applicationCategories?