// Make sure that your class name matches the NSExtensionPrincipalClass in your Info.plist.
class ShieldActionExtension: ShieldActionDelegate {
override func handle(action: ShieldAction, for application: ApplicationToken, completionHandler: @escaping (ShieldActionResponse) -> Void) {
// Handle the action as needed.
switch action {
case .primaryButtonPressed:
completionHandler(.defer)
case .secondaryButtonPressed:
Timer(timeInterval: 5, repeats: false) { timer in
Restrictions.shared.unlockedAllApps()
}
completionHandler(.defer)
@unknown default:
fatalError()
}
}
override func handle(action: ShieldAction, for webDomain: WebDomainToken, completionHandler: @escaping (ShieldActionResponse) -> Void) {
// Handle the action as needed.
print("func handle(action: ShieldAction, for webDomain: WebDomainToken,")
completionHandler(.close)
}
override func handle(action: ShieldAction, for category: ActivityCategoryToken, completionHandler: @escaping (ShieldActionResponse) -> Void) {
// Handle the action as needed.
NSLog("handle(action: ShieldAction, for category: ActivityCategoryToken")
completionHandler(.defer)
}
}