How can I use the Screen Time API to set a restriction for a child account from my app running on the parent’s account?
General
RSS for tagDelve into the world of built-in app and system services available to developers. Discuss leveraging these services to enhance your app's functionality and user experience.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi,
My iphone 12 has been restarting unexpectedly, and often followed by wifi, bluetooth, and airdrop grayed out. I had to force restart/shutdown several times to turn it on again.
Found this analytics after crash. Please help if somebody know what this means:
ExcUserFault_CategoriesService-2024-12-23-064503.ips
After a user has launched an App Clip Experience from Safari and is done with the activity that the App Clip provides – is there a way for the App Clip to programatically close itself so the user returns to Safari?
Hi Devs,
I’ve created an app intent shortcut for our Best Buy app. This shortcut is visible on iOS 17.2 and later. However, I’ve marked it to support iOS 16+ as shown below:
import AppIntents
@available(iOS 16.0, *)
struct LaunchIntent: OpenIntent {
why we are not able to see shortcuts for iOS 16?
Hi everyone,
I'm working on an app for parents and kids where parents can define screen time goals or restrict usage of certain app categories (like social media or games). If the kid follows those rules—for example, by using their device less or avoiding restricted categories—they would earn points or rewards in the app.
I’ve been exploring if the Apple Screen Time API allows developers to access this kind of data (like total screen time, app usage by category, etc.) so that I can track the kid’s behavior and reward them accordingly.
Is it possible to programmatically access this data and implement such a reward system within my app? If so, what’s the best way to get started or which APIs should I look into?
Thanks in advance for your help!
I have an iOS app that installs a Content Filter in order to block certain types of content at the network/socket level. The Family Controls framework stipulates that this can only be done successfully on a FamilyControlsMember.child account type (or on a supervised device). Our initial release has been really successful, but I would say that perhaps 75% of our users are .individual (probably over 18). Perhaps a topic for another forum post is to discuss how Apple's policy here doesn't seem to be meeting a real need here for non-minors, but I'll leave that alone for now.
The problem we're facing is that as far as I can tell, the only way to determine if someone has the right account type is to initiate an authorization request using AuthorizationCenter.shared.requestAuthorization(for:) and then inspect the error. I think it could really help the usability of the app if we could detect the account type and preemptively show a helpful message if the authorization could not succeed, and recommend some alternatives. But I've looked so far in vain for some way to do this.
Is there any api in Family Controls (or elsewhere) that can query the system for this information? Any pointers would be greatly appreciated!
right now it looks like the app type must follow the guidelines like Messenger app, Navigate app, and Music app only. What about the Automotive app itself, What is the flexibility of it?
We have an app for service cars for one brand (officially)(car users around 1m+). but we looking to merge the experience between outside the car and inside the car. Can we top up some features on the app to share some information that is a part of the car like trip calculation or car info display on the screen? or services time to notice them?
And following that question can we know about the exact spot or brief from Apple car play for now and next-gen?
Or can we work with your team closely as a partner? to make things happen and develop it to be a flagship product, we can share some data and talk about it with real insight.
I have a watch only app that display an open/close park status and the current temperature with a current condition icon. That's it. On second submission the watch app was rejected due to no WeatherKit attribution. I have a lack of clarity of what's needed. With my single view that display my content I don't want WeatherKit attribution to overwhelm what's being presented to the user. I've tried looking for watch apps in the store that provide attribution and I'm not finding any. Looking for advice on how to meet this requirement without attribution overpowering my content.
Am showing daily screen-time of a user in my app in Device Activity Report Extension. The only way to get that is to sum up all the activityDuration of apps/categories/domains. But it differs a lot from phone's settings screen-time, why?
I have debugged in details and counted manually the time spent on each app and it turned out that the calculation is appearing correctly in my app but Phone settings showing quite less time on top (Day).
From https://developer.apple.com/forums/thread/803945?answerId=862153022#862153022, the testing of Age Range API was not available through xcode simulator back in Oct 2025.
Is this available now? In particular:
Is requestAgeRange testing available through simulator?
Is requestAgeRange testing with sandbox account available through simulator?
Is isEligibleForAgeFeatures available through simulator?
Is isEligibleForAgeFeatures testing with sandbox account available through simulator?
If the answer is "yes" to any of the above, which version of the xcode and ios version should I use?
So far I didn't get any of the above working on the simulator, and I can't find any documentation on the answers above.
Thank you!
Hello,
I have a question about the default UI in an App Clip. I know that when App Clip launches, a system banner appears at the top for a few seconds, prompting the user to download the full app from the App Store.
I'd like to confirm if this is the standard, default behavior for all App Clips. More importantly, is there any way to disable or hide this banner? We would prefer to manage the prompt to download the full app within our own UI.
Thanks in advance for your help!
We're having trouble with getting Siri to hand off specific trigger words to our app via shortcuts. I want to be able to say "Hey Siri Myappname Foobar" but in some cases if Foobar is the name of a specific business it may launch maps instead showing locations of those businesses. Is there any way to inform Siri, "no, *****, launch our app as the shortcut specifies!"
So what's the point of being able to block unto 50 apps per ManagedSettingStore via store.application.blockedApplications (which works fine) until removing the blocked apps or clearing the store. Where the following occurs
if you have a social networking group with more than 9 apps only 9 apps will go back into the group and all the others will go onto the springboard all jumbled
if you end up with an empty group then tap into the group, it is removed then during the reset all apps are placed back on to the springboard
Hello,
I’m working on implementing SB2420 compliance using the Declared Age Range framework.
While referring to the documentation at https://developer.apple.com/documentation/declaredagerange, I couldn’t find details on how the TX region (transaction region or territory) is determined when using Declared Age Range.
Specifically, I’d like to confirm the following points:
How does the system determine the TX region when the user’s declared age range is retrieved?
Is it based on the App Store region, the device locale, or the user’s Apple ID country?
If the app’s backend needs to verify or log the TX region, is there a way to obtain or infer it from the API response or receipt data?
Is there any difference in TX region determination between Sandbox and Production environments?
If anyone has experience implementing Declared Age Range (SB2420) and handling region determination, I’d appreciate your insights or best practices.
Thank you.
Topic:
App & System Services
SubTopic:
General
Hello everyone,
I’m currently developing an app that uses the Family Controls API, specifically the Screen Time API. However, my current entitlement is limited to development mode, which prevents me from publishing my app on TestFlight.
I have already contacted Apple Developer Support for production access but wanted to reach out to the community as well and I was referenced to FamilyControls API documentation and I couldn't find anything related to my case. Has anyone successfully upgraded their entitlement from development-only to production? Any insights on the process, tips for communicating with Developer Support, or guidance on ensuring full compliance with the Family Controls guidelines would be extremely helpful.
Hey everyone,
I have an app using the screen time api, I've had quite a few reports from users saying that our monitoring features stop working until they open our app. What happens is that activities and schedules set with the device activity monitor seem to disappear. This is something we check on app re-opens and so we schedule them again and that is why the monitoring starts working again.
Of course our current solution is not optimal since our app is mainly passive. Has anyone experienced these kinds of issue ?
I created an app and submitted to app store for review and got a rejection with "4.3(a) - Design - Spam".
This one was created for brand new, and I didn't find any similar apps in App store. I searched in this forum but am not sure if it is because I used flutter to build my app?
How could I get a bit more specific detail why it got rejected?
Guideline 4.3(a) - Design - Spam
We noticed your app shares a similar binary, metadata, and/or concept as apps submitted to the App Store by other developers, with only minor differences.
Submitting similar or repackaged apps is a form of spam that creates clutter and makes it difficult for users to discover new apps.
Next Steps
Since we do not accept spam apps on the App Store, we encourage you to review your app concept and submit a unique app with distinct content and functionality.
I am still struggling to nail down the screen time between monitoring and showing it in a DeviceActivityReport. It's always off by a couple of percentage points, which results in a difference of a couple of minutes between the time shown for my total screen time in DeviceActivityReport and DeviceActivityMonitor with a threshold set for all apps/websites/categories.
In the report, I am looping through all segment (there is only 1 segement using .daily segment interval for a given day) then loop through all categories and all apps within each category and sum up all totalActivityDuration for each app. Based on avaiable documentation, that should corrolate to DeviceActivityMonitor threshold but it doesn't. Are there any differences in how these 2 places count screen time? Are there any apps/core ios services which are excluded from DeviceActivityMonitor. Would appreciate any help at all, I'm losing my mind here.
My current suspicion is that Apple Developer documentation is counted twice. i.e. this website https://developer.apple.com/documentation/deviceactivity/deviceactivitymonitor shows up in usage as an App with bundleId of apple.developer.wwdc-release and time spent there is counted twice, against this bundleId AND Safari. I don't know why it's not counted as a webdomain.
Is there a way to distinguish physical mouse/keyboard input from remote control mouse/keyboard input on Mac? Or even better, is there a way to detect if my Mac is being remotely controlled?
Hi all — I’m building a Wallet-style transaction details view using FinanceKit and I’m running into a gap around merchant location.
What I’m seeing
FinanceKit gives me great core fields (amount, currency, status, dates, MCC, merchantName, transactionDescription), but I’m not seeing any address or place/location metadata on a Transaction.
For example, a small/local merchant where I can plausibly infer a single place:
Fetched transaction:
Transaction(
id: 8D142B16-3E0E-40B8-945A-2E7C0CF65F1D,
accountID: 14939CF4-DBC3-4A9D-8292-5FEA495B8461,
transactionAmount: 47.24 USD,
creditDebitIndicator: .debit,
transactionDescription: "Local Dental Care",
originalTransactionDescription: "Local Dental Care",
merchantCategoryCode: 8021,
merchantName: "Local Dental Care",
transactionType: .pointOfSale,
status: .booked,
transactionDate: 2025-08-20 22:27:50 +0000,
postedDate: 2025-08-21 11:22:06 +0000
)
Because this appears to be a single-location practice, I can usually resolve it to a place using MapKit search heuristics.
But for big-box chains, I don’t get enough signal to determine which store:
Fetched transaction:
Transaction(
id: 3F8E9F74-7565-4D24-9038-8FD709184799,
accountID: 14939CF4-DBC3-4A9D-8292-5FEA495B8461,
transactionAmount: 441.77 USD,
creditDebitIndicator: .debit,
transactionDescription: "The Home Depot",
originalTransactionDescription: "The Home Depot",
merchantCategoryCode: 5200,
merchantName: "The Home Depot",
transactionType: .pointOfSale,
status: .booked,
transactionDate: 2023-12-27 23:07:02 +0000,
postedDate: 2023-12-29 03:09:41 +0000
)
There’s no store number, address, phone, or any stable identifier. With hundreds of locations, I can’t deterministically choose a map pin or fetch the right brand assets.
What I’m trying to achieve
I’d like to replicate the Apple Wallet experience: show a small map snapshot and merchant visuals (logo/name that match Apple Maps / the Place Card) on the transaction detail screen. Without a location hint, I have to either:
Ask users to pick a store manually, or
Make a guess based on a coarse, app-defined region
…neither of which feels great.
Questions
Is there any way in FinanceKit today to access merchant location or a resolvable identifier (e.g., address, city/state, store number, Apple Maps place identifier, network merchant ID/MID, terminal ID, etc.)?
If not, can FinanceKit expose additional merchant metadata (even opt-in / privacy-preserving) to enable Wallet-like enrichment? A few examples that would unblock this:
merchantAddress (or components: street/city/region/postalCode/country)
merchantPhone (often unique per store)
merchantIdentifier (stable per physical location, e.g., network merchant ID / store number)
mapsPlaceURL or mapsPlaceIdentifier (linkage to the Apple Maps Place Card)
brandAssetURL (logo/brand reference similar to what Wallet shows)
With even one of the above, I could reliably:
Render an accurate map snapshot,
Fetch the correct brand assets, and
Avoid prompting the user or inferring via fuzzy search.
Context / constraints
I do not want to (and shouldn’t need to) request or monitor the user’s device location to resolve a merchant’s store location.
For small merchants, MapKit text search is often enough. For large chains, I need a store-level identifier.
If there’s an existing field or recommended approach I’m missing, I’d love pointers. If not, please consider this a feature request for richer merchant metadata in FinanceKit so developers can build Wallet-quality transaction details.
Thanks!
Topic:
App & System Services
SubTopic:
General