在 iOS 12 中以编程方式从屏幕时间获取应用程序使用情况
Programmatically get application usage from Screen Time in iOS 12
我正在做一个项目,我想获得其他应用程序的使用时间。苹果推出了 iOS 12 并提供了新功能 Screen Time
。我想知道 Apple 是否提供任何方法或 API 从中获取数据。
不,在 iOS 每个应用程序都在自己的沙盒中运行,无法查看来自其他应用程序的数据,即使是来自同一发布者的应用程序。一个应用程序可以访问特殊的共享数据,例如相册中的照片或联系人数据,但一个应用程序不能直接访问其他应用程序写入的文件。
ScreenTime 应用程序与您的应用程序位于另一个沙盒中。除非 apple 提供 API 我们无法访问它。
更新
由于 Apple 已将屏幕时间应用程序添加到 ios12 模拟器中。他们可能很快就会提供 API。
在 iOS 15 Apple 添加了一个 API,请参阅此处:
https://developer.apple.com/documentation/FamilyControls
FamilyControls
Authorize your app to provide parental controls on a
child’s device. To authorize your parental controls app, use a shared
AuthorizationCenter instance. You can authorize parental controls only
on a device that is part of a Family Sharing group and signed into a
child’s iCloud account.
您必须将家庭控制功能添加到您的应用中。
这似乎只为家长控制应用程序提供功能。换句话说,它目前不能被其他时间跟踪或生产力应用程序使用。
我正在做一个项目,我想获得其他应用程序的使用时间。苹果推出了 iOS 12 并提供了新功能 Screen Time
。我想知道 Apple 是否提供任何方法或 API 从中获取数据。
不,在 iOS 每个应用程序都在自己的沙盒中运行,无法查看来自其他应用程序的数据,即使是来自同一发布者的应用程序。一个应用程序可以访问特殊的共享数据,例如相册中的照片或联系人数据,但一个应用程序不能直接访问其他应用程序写入的文件。
ScreenTime 应用程序与您的应用程序位于另一个沙盒中。除非 apple 提供 API 我们无法访问它。
更新
由于 Apple 已将屏幕时间应用程序添加到 ios12 模拟器中。他们可能很快就会提供 API。
在 iOS 15 Apple 添加了一个 API,请参阅此处: https://developer.apple.com/documentation/FamilyControls
FamilyControls
Authorize your app to provide parental controls on a child’s device. To authorize your parental controls app, use a shared AuthorizationCenter instance. You can authorize parental controls only on a device that is part of a Family Sharing group and signed into a child’s iCloud account.
您必须将家庭控制功能添加到您的应用中。
这似乎只为家长控制应用程序提供功能。换句话说,它目前不能被其他时间跟踪或生产力应用程序使用。