Below is all the code; the method "intervalDidStart" has never been called.
Can you help me?
import UIKit
import MobileCoreServices
import ManagedSettings
import DeviceActivity
class MyMonitor: DeviceActivityMonitor {
let store = ManagedSettingsStore()
override func intervalDidStart(for activity: DeviceActivityName) {
super.intervalDidStart(for: activity)
print("interval did start")
let model = MyModel.shared
let applications = model.selectionToDiscourage.applicationTokens
store.shield.applications = applications.isEmpty ? nil : applications
store.appStore.maximumRating = 200
}
override func intervalDidEnd(for activity: DeviceActivityName) {
super.intervalDidEnd(for: activity)
store.shield.applications = nil
store.clearAllSettings()
}
}
//
// MyModel.swift
// FamilyCotrol
//
// Created by mac on 2024/6/24.
//
import UIKit
import Foundation
import FamilyControls
import DeviceActivity
import ManagedSettings
class MyModel: ObservableObject {
static let shared = MyModel()
let store = ManagedSettingsStore()
private init() {}
var selectionToDiscourage = FamilyActivitySelection() {
willSet {
print ("got here \(newValue)")
let applications = newValue.applicationTokens
let categories = newValue.categoryTokens
let webCategories = newValue.webDomainTokens
store.shield.applications = applications.isEmpty ? nil : applications
store.shield.applicationCategories = ShieldSettings.ActivityCategoryPolicy.specific(categories, except: Set())
store.shield.webDomains = webCategories
}
}
func initiateMonitoring() {
let schedule = DeviceActivitySchedule(intervalStart: DateComponents(hour: 16, minute: 0), intervalEnd: DateComponents(hour: 16, minute: 30), repeats: true, warningTime: nil)
let center = DeviceActivityCenter()
do {
try center.startMonitoring(.daily, during: schedule)
}
catch {
print ("Could not start monitoring \(error)")
}
}
func stop() {
store.shield.applications = nil
store.dateAndTime.requireAutomaticDateAndTime = false
store.clearAllSettings()
}
}
extension DeviceActivityName {
static let daily = Self("daily")
}
Post
Replies
Boosts
Views
Activity
Has the issue been resolved?