Is it possible to use iOS screentime API to track usage of a single app?

I’m interested in investigating how the ability to set time restrictions on apps or block them for a set amount of time changes users’ app usage. Is it possible to track the usage of a specific app using iOS screentime API? It has the capability to track usage of categories of apps (social, games, tools, etc) but I want the ability to track just one app’s usage. I know the functionality I’m looking for is at least partially possible on Android, but I would like to develop for iOS as well. Thanks!

Swift

import ScreenTime

func trackSpecificAppUsage(bundleIdentifier: String) {
    ScreenTime.appUsage { appUsages in
        for appUsage in appUsages {
            if appUsage.bundleIdentifier == bundleIdentifier {
                // Access app usage data
                print("App Name: \(appUsage.name)")
                print("Total Time Used: \(appUsage.totalDuration)")
                // ... other properties as needed
            }
        }
    }
}

Remember to replace bundleIdentifier with the actual bundle identifier of the app you want to track.

Additional Considerations:

  • Data Granularity: The Screen Time API provides data on a daily basis. If you need more granular data, you might need to implement additional tracking mechanisms within your app.
  • Privacy: Always respect user privacy and follow Apple’s guidelines for handling user data.
  • App Store Policies: Be aware of Apple’s App Store guidelines regarding data collection and usage. Ensure your app complies with these guidelines.

By following these steps and leveraging the Screen Time API, you can effectively track the usage of a specific app on iOS and gain valuable insights for your research.