Enroll an iOS device via MDM and apply passcode policy with "maxFailedAttempts" setting enabled https://developer.apple.com/documentation/devicemanagement/passcode
Now when the user attempts to unlock device exceeds above "maxFailedAttempts" - the device gets wiped. Now the administrator is unaware of this event.
It would be helpful to get an message/DDM status from device to notify the MDM server that device is wiped due to incorrect passcode attempts.
Managed Settings
RSS for tagSet restrictions for certain settings, such as locking accounts in place, preventing password modification, filtering web traffic, and shielding apps.
Posts under Managed Settings tag
106 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Hi, I uses to have the Time management for my Kids. Since my kid is using the bêta version of ios 18, Time management is not working anymore. He can use the iPhone without any restrictions … what can I do?
I have a mobile application accepted in the app store, and want to restrict access to ONLY iPhone. I have turned off access for macOS and visionOS, but cannot find a way to restrict access on iPads. Is there a way to do this without or with a new build?
The listening callbacks were not triggered for intervalDidStart and intervalDidEnd after successfully starting center.startMonitoring when I attempted to set a schedule with DeviceActivitySchedule at 20-minute intervals
Is there anyone who can assist me? Thank you.
Below you will find my code.
let intervalLengthInSeconds = 20 * 60
let intervalEnd = Date(timeIntervalSinceNow: TimeInterval(intervalLengthInSeconds))
let intervalStart = Date()
let schedule = DeviceActivitySchedule(intervalStart: Calendar.current.dateComponents([.hour, .minute], from: intervalStart),
intervalEnd: Calendar.current.dateComponents([.hour, .minute], from: intervalEnd),
repeats: false,
warningTime: DateComponents(minute: 1))
let newActivity = DeviceActivityName(rawValue: "20minuteUse")
Log("😯 \(String(describing: schedule.nextInterval))")
do {
try center.startMonitoring(newActivity, during: schedule)
} catch {
print("failed to start session: \(error.localizedDescription)")
}
class MyMonitorExtension: DeviceActivityMonitor {
let store = ManagedSettingsStore()
// You can use the `store` property to shield apps when an interval starts, ends, or meets a threshold.
override func intervalDidStart(for activity: DeviceActivityName) {
super.intervalDidStart(for: activity)
// Shield selected applications.
Log("😓 start-------")
}
override func intervalDidEnd(for activity: DeviceActivityName) {
super.intervalDidEnd(for: activity)
Log("😓 end-------")
}
override func intervalWillStartWarning(for activity: DeviceActivityName) {
super.intervalWillStartWarning(for: activity)
Log("😓 StartWarning-------")
}
override func intervalWillEndWarning(for activity: DeviceActivityName) {
super.intervalWillEndWarning(for: activity)
Log("😓 EndWarning-------")
}
}
schedule.nextInterval ------ print:
😯 Optional(2024-06-21 08:34:00 +0000 to 2024-06-21 08:54:00 +0000)
Hi,
I was trying to configure the Managed Wi-Fi Settings profile for a Mac device which is running on the Sonoma 14 OS. (https://developer.apple.com/documentation/devicemanagement/wifimanagedsettings?language=objc). I wanted to enable admin authorization for turning Wi-Fi on/off, and for switching between Wi-Fi networks. I followed the docs and tried these restrictions in lower macOS versions(Monterey, Mojave), and they are being enabled in the device-end. However for Sonoma devices, the restrictions are not being enabled(even though the profile is being pushed to the device).
While looking around, I came across the fact that the airport cli utility was discontinued recently(https://www.intuitibits.com/2024/03/14/goodbye-airport/, doesn't allow me to hyperlink). So does that affect the working of the Managed Wi-Fi device profile in any way?
Brief & History
Since iOS 17.4 and up we experience a lot of flakyness when it comes to DeviceActivity event thresholds. After a lot of testing and investigations inside system logs and filing countless bug reports we found a reproducible way why the event thresholds are not getting properly called.
Findings
Apparently when the device reaches near to max memory something called jetsamkills processes left and right.
This means that the UsageTrackingAgent that (we think) is responsible for tracking the usage time of the device gets killed and doesn't recover until significant memory is freeing up on the device.
How to test it yourself
Use a slightly older device with ~ 3 or 4 GB of RAM
Open a game or two that is meomry intensive (like Fishing Clash, yes..) and observe
In the console logs you see something that only happens then:
Process UsageTrackingAgent [39307] killed by jetsam reason highwater
This happens often but recovers itself when the UsageTrackingAgent exceeds their 6MB memory limit. Yet the log looks like this:
Process UsageTrackingAgent [39307] killed by jetsam reason per-process limit
Once you kick the game, the memory is free and sometimes the event thresholds are calling in again.
Defeating the purpose
However this defeats the purpose of tracking usage time and shielding perhaps the playing app from being played after a certain amount of time!
Feedback Assistant Ticket
Here is the ticket with sysdiagnose, step by step and more information: FB13884981
Please fix this ASAP, this is such a pain for production users and their kids EVERY DAY.
Hello,
We are experiencing intermittent tunnel communication failures in iOS devices following internal application updates or fresh installations. This issue occurs specifically with VMware Workspace ONE Advanced (includes AirWatch) - On Premise and Workspace ONE Tunnel. Our enterprise mobility management platform provides comprehensive tools for managing corporate-owned and BYOD devices across various operating systems.
Detailed Information:
Applications Involved:
VMware Workspace ONE Advanced (On-Premise): Manages and secures devices and applications.
Workspace ONE Tunnel: Enables per-app VPN services, routing traffic from specific managed applications through our VPN.
Problem Context:
After a recent update, and notably after introducing deeplinking capabilities which required making our public DNS changes to host the Apple-app-site-association file, iOS devices are not routing application traffic through the Workspace ONE Tunnel correctly. Instead, applications are bypassing VPN configurations and connecting directly to public networks, jeopardizing data security. This behavior is inconsistent and varies across devices. To illustrate, I have attached a diagram (Diagram 1) that shows the flow of traffic during the issue compared to normal operations.
Timeline and Troubleshooting Steps Taken:
Initial Report Date: February 2024, following the iOS update 17.3.1 and post-deeplinking modifications.
VMware Involvement: Multiple troubleshooting sessions, including log analysis and configuration reviews. VMware indicated the issue might not be directly related to their platform as the tunnel functions normally post-device restart.
Logs Reviewed: Application logs, network traces, and device management logs. No errors directly linked to VMware solutions were found. The logs showing the issue occurrence and after a device restart are included (see Logs Set A and Logs Set B).
Additional Information:
Devices Affected: Various iOS devices, total fleet approximately 1500 units.
Inconsistencies: The issue manifests inconsistently across different organizational groups (OGs) and is not tied to a specific app version or device model.
Developer Notes: The issue does not occur when applications are deployed via Xcode during testing phases. It only arises when apps are updated in a live environment.
Request for Assistance: We request Apple’s assistance in investigating potential iOS-specific causes or configurations contributing to this issue, particularly in the context of the deeplinking changes. A joint troubleshooting session is proposed to further diagnose and address the problem. Prompt support in resolving this issue, given its impact on our operations, would be greatly appreciated.
Attachments:
Diagram 1&2: Traffic Routing During Issue vs. Normal Operation
Diagram 3: Our App communications diagram
Logs Set A: Device Logs When Issue Occurs
Logs Set B: Device Logs After Restart
(Set A) After restart - no issue .log
https://drive.google.com/file/d/1Q2COgXkMa3KnN1N-ggZKwYhHP7KC-Hwy/view?usp=sharing
(Set B) before restart.log
https://drive.google.com/file/d/1uS9kAV6zJyRvVRQoWQNKdWBBR7sxM6Js/view?usp=sharing
Any suggestions? Thank you!
https://developer.apple.com/documentation/devicemanagement/systempreferences
The Above documentation of "System Preferences" says deprecated. I assume that some of the panes are not working in latest OS due to this deprecation.
My query is , Is there any other alternative to Disable or Enabled Preference Panes which was attained by SystemPreferences Payload.
I couldn't find any. Is it entirely stopped and in latest OS's ,it wont allowed to restrict those panes?
Recently i created an ABM account and seemed to work fine. all of the sudden we cannot log in anymore and we get a notification that this apple ID is deactivated (but it is active). when i want to reset password, deactivate or delete this user in ABM, i get an INTERNAL_ERROR message with no further explination. i can delete and deactivate other users but not this one. The log file is not realy any use since it sais 'SUB_STATUS, COMLETED_WITH_FAILURE".
Any idea how i can resolve this?
In older versions of macOS, such as those predating Mac OS Sonoma, users had the ability to set the Lock Screen independently from their desktop wallpaper. However, with the introduction of Mac OS Sonoma, this feature seems to have been altered or removed altogether. Currently, there appears to be no option to set the Lock Screen image separately; instead, only changing the desktop wallpaper, changes the Lock Screen image. This change raises questions about whether it is a deliberate alteration in the setting flow or if it could potentially be a bug in the system.
Users may wonder if this adjustment is intended to streamline the interface or if there are plans to reintroduce the ability to customize the Lock Screen image independently of the wallpaper in future updates.
Is anyone else having the same problems. We been contacting Apple for almost two week, have raised at least 3 or 4 claim tickets to get our issue resolved, but Apple does not/has not responded?
Does anyone have recommendation as to what we can do.
We are losing money as we cannot open up our App?
Thanks,
CDL
Hello,
I'm working on an app that makes use of Screen Time features by leveraging the Family Controls, Device Activity and Managed Settings frameworks.
The main app works fine by shielding/unshielding apps with a toggle.
When it comes to monitoring the time intervals with the Device Activity Monitor (DAM) extension (e.g. lock X apps for Y minutes), I'm experiencing several issues.
To shield/unshield apps and kick off the monitoring I perform the following instructions:
let timeInMinutes = 15
let startDate = Date(timeIntervalSinceNow: 1.0) // padding added to avoid invalid DAM ranges < 15 mins.
let endDate = startDate.addingTimeInterval(timeInMinutes * 60.0)
let components: Set<Calendar.Component> = [.day, .month, .year, .hour, .minute, .second]
let calendar = Calendar.current
let intervalStart = calendar.dateComponents(components, from: startDate)
let intervalEnd = calendar.dateComponents(components, from: endDate)
let schedule = DeviceActivitySchedule(intervalStart: intervalStart, intervalEnd: intervalEnd, repeats: false)
try deviceActivityCenter.startMonitoring(.definiteShield, during: schedule)
let managedSettingsStore = ManagedSettingsStore()
managedSettingsStore.shield.applications = selection.applicationTokens // `selection` being an instance of `FamilyActivitySelection`
The main pain points are:
After this code is performed, I would expect the Device Activity Monitor extension to start, or at least to start once I go to background. To check whether the DAM extension is running or not, I attach to the extension process manually (Product > Attach to Process by PID or Name). But I can see the extension correctly running only after 3-4 attempts of calling startMonitoring.
Even when the DAM extension runs, intervalDidStart and intervalDidEnd methods in the extension are called quite randomly - most of the times not being called at all - thus making the extension hugely unaffordable.
Please note:
I already ask for Screen Time permissions during the onboarding by calling AuthorizationCenter.shared.requestAuthorization(for: .individual), so by the time the user shields the apps, these permissions are already granted.
I already have Family Control entitlements for development and distribution, and for both the main target and the DAM extension target.
In the intervalDidEnd method, I simply call ManagedSettingsStore().clearAllSettings() and DeviceActivityCenter().stopMonitoring(). This looks like to be enough to stay way below the 6MB memory limit.
Am I doing something wrong, is there a way to fix this, or is just the Device Activity framework that is unstable?
Hi,
How to change title, subtitle, primaryButtonLabel, secondaryButtonLabel values according to iPhone language?
I noticed that the Shield Configuration Extension only runs once, when I turn on shield. Currently I can't find a way to run the Shield Configuration Extension again.
Thanks!
Hi,
Guys, I would lie to ask it been more than 10 days I add my card but still it shows
Your purchase may take up to 48 hours to process. i use my name same in card also
anybody know what possible issues here, i was using my email but it is not same email with my card
I located in Malaysia
I am using the DeviceActivityMonitor eventDidReachThreshold functionality, but it became very unreliable on the iOS 17.5 beta.
Anyone experiencing similar problems?
Any known workarounds?
I'm working on creating a locker app to lock the selected applications.
After locking app, when you try to open the app a screen appears with the below message.
Icon
Restricted
You can not use Facetime because it is restricted
OK Button.
How to customise this screen, another locker app is able to customise it and on a button click it redirects to their app to unlock it.
also is there a way to get locked app names?
I am developing a parent child control app using Screen time API and Family Control. I created two apps, one for parent and another for child. I want to see child device's activity report on parent app. This functionality works when there is only one parent/organiser. I am trying to add multiple parents to access device activity report using screen time API. I created a family group where I am the organiser (Dad), added another account as parent (Mom) and two child accounts. On the child's device I installed the app, authorised the app for parental approval (Dad) and screen time restrictions. When using the parent app as Mom, I am unable to fetch the child device's activity report.
Hi,
Is there any way to force orientation = portrait when opening another shielded app?
Thanks!
I've been working with the Screen Time API for almost 6 months now.
I found out it's completely unreliable, testing on iOS 17.4, the DeviceActivityReport is not showing, the DeviceActivityMonitor more often than not does not fire intervalDidStart. It's very frustrating.
Has anyone found out a workaround?
We all know there has to be something we're doing wrong, since apps like Opal and Jono does not present those types of issues.
Let's please unite our forces and find a solution. How to use this API should not be a secret!
I'm looking to make an app using the ScreenTime API and the Managed Settings Framework. I'm experimenting with the FamilyActivityPicker, but when i open it from the simulator i see only categories with no applications.
Without being able to select applications, i cannot test properly the app.
I can't install it on a real device to test it because i do not have a paid Apple Developer account and therefore can't access the capability if i select my Free Developer Account in order to install it on my iPhone.