Education and Kids

RSS for tag

Build and optimize your apps for kids and the classroom.

Posts under Education and Kids tag

31 Posts
Sort by:
Post not yet marked as solved
4 Replies
1.3k Views
I was able to start the device activity monitor. I was able to see the Device Activity Monitor Extension as a process, and was able to attach to it via Xcode. Now I am trying block a specific 3rd party application, via the Shield. I am using this piece of code for intervalDidStart :    override func intervalDidStart(for activity: DeviceActivityName) {     NSLog("Interval started for Device Activity")     let blockedApps : Set<Application> = [Application(bundleIdentifier: "com.facebook.Facebook")]     store.application.blockedApplications = blockedApps     super.intervalDidStart(for: activity) } I've declared store in the DeviceActivityMonitor class as follows :    let store = ManagedSettingsStore() This is the error I see in the Console: Error Domain=UsageTrackingErrorDomain Code=1 "Something without a application-identifier entitlement tried to manage usage budgets" UserInfo={NSLocalizedDescription=Something without a application-identifier entitlement tried to manage usage budgets} The above use case should work right? I should be able to apply the settings inside DeviceActivityMonitorExtension? What does the application-identifier entitlement look like? How do I use it?
Posted
by nmik2020.
Last updated
.
Post marked as solved
1 Replies
328 Views
Hello! I am just starting to learn development of applications for IOS, I have already studied the section of training from Apple "Intro to App Development with Swift". Please tell me in what direction should I go further in the study of developing applications for IOS?
Posted Last updated
.
Post not yet marked as solved
1 Replies
639 Views
Hi all, I have a sample app which I created in my local development env. I added the Family Controls capability and the simulator is logged-in to a child account on iCloud that is part of a family group. When I request authorization I keep getting Error Domain=FamilyControls.FamilyControlsError Code=3 "(null)" in the error object returned with the failure result. I am thinking Code 3 represents the enum case for FamilyControlsError which would be invalidArgument. What does that mean and how do I fix it? Also is there a way to map the error object into an FamilyControlsError rather than guess which enum case it is? Here is my code: import SwiftUI import FamilyControls @main struct TestScreentimeAPIApp: App {     @UIApplicationDelegateAdaptor private var appDelegate: AppDelegate     var body: some Scene {         WindowGroup {             ContentView()         }     } } class AppDelegate: NSObject, UIApplicationDelegate {     func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { if #available(iOS 15.0, *) {             let center = AuthorizationCenter.shared             center.requestAuthorization { result in                 switch result {                 case .success():                     break                 case .failure(let error):                     print("error for screentime is \(error)")                 }             }         } }
Posted
by yahalawa.
Last updated
.
Post not yet marked as solved
0 Replies
419 Views
I have a kids / education app in the store. My app is free with limited functionality and users need to buy in-app purchase option for upgrade. Recently I got some emails from school / institutions asking if they could get the upgrade version app via School Manager. It seems like it's impossible to buy in-app purchase in bulk via School Manager. (Please correct me if I'm wrong about this.) So I built and submitted a separate paid version of my app with "School Edition" added to the name and no in-app purchase. But this app got rejected with the following message. "This app duplicates the content and functionality of other apps submitted by you or another developer to the App Store, which is considered a form of spam." I replied that many other developers are doing the same approach and they are live on the app store. They gave me a short answer saying that they can't provide feedback on app concept and I need to review the guidelines. I know there have been many apps that had both Lite (free) and Pro (paid) version. And there are still many apps that have the same approach such as MathTango. MathTango https://apps.apple.com/us/app/mathtango/id1234698308 https://apps.apple.com/us/app/mathtango-school-edition/id1333842226 Is there anyone else who had the similar issue or who could give some advice on this?
Posted
by yc19734.
Last updated
.
Post not yet marked as solved
0 Replies
379 Views
Is there a way to tell if Screentime is ON and the user has set a Downtime or App Limit and my app was NOT on the Always Allowed list? Is there a Screentime exemption for a medical app that must always be accessible for the safety of the user?
Posted
by GAC.
Last updated
.
Post not yet marked as solved
16 Replies
2.6k Views
I've created a test project in which I can successfully receive the FamilyControl authorization for the child device. Then on the parent device(where the parent account is logged in as the iCloud account), I basically used the following test code as provided in the documentation FamilyActivityPicker struct ExampleView: View {   @State var selection = FamilyActivitySelection()   @State var isPresented = false   var body: some View {     Button("Present FamilyActivityPicker") { isPresented = true }     .sheet(isPresented: $isPresented) {       FamilyActivityPicker(selection: $selection)     }     .onChange(of: selection) { newSelection in       let applications = selection.applications       let categories = selection.categories       let webDomains = selection.webDomains     }   } } I get the following error on the view : The operation couldn't be completed. (FamilyControls.ActivityPickerRemoteViewError error 1) For authorization errors I was able to look into the FamilyControlsError enum in the FamilyControls framework, but I can't find an enum for ActivityPickerRemoteViewError. Any idea as to why it's failing to load? I believe I am using the right setup in terms of the account that I am logged in to. I do have the FamilyControl capability, and I was able to successfully provide authorization for the child. Is there any other prerequisite that needs to be done to load the FamilyActivityPicker? Also, Do you know where I can find the error codes corresponding to ActivityPickerRemoteViewError ? What does error 1 indicate? I do see the following in the console logs : 2021-06-09 16:42:38.430112-0400 NN Family Control[849:38700] [lifecycle] [u 9F1F2B94-76F6-4D8F-ADE3-6D1C14EE5074:m (null)] [com.apple.FamilyControls.ActivityPickerExtension(1)] Connection to plugin interrupted while in use. 2021-06-09 16:42:38.476929-0400 NN Family Control[849:38704] [lifecycle] [u 9F1F2B94-76F6-4D8F-ADE3-6D1C14EE5074:m (null)] [com.apple.FamilyControls.ActivityPickerExtension(1)] Connection to plugin invalidated while in use.
Posted
by nmik2020.
Last updated
.
Post not yet marked as solved
1 Replies
460 Views
Hi, It's been multiple times our app got refused. We first enabled the "Made for kids" checkbox. Then they told us we could not have analytics in our app if it was in this category. We chose to keep our analytics and not to be in this kids category anymore so I unchecked this option. I submited again the same build but the review team keeps telling us our app is not complient with their guidelines for app made for kids. Though our app is not in this category anymore so I don't know why we still have this issue... our app have never been validated even once by the review team so our app should be able not to be in this category. We are considering removing our app and recreate it again without ever checking this "made for kids" checkbox. We are just short in time and are afraid it could last a very long time. But after all these refusals We are losing a lot of time so it could be a solution. What do you think please? Thanks for your help,
Posted
by JordanYG.
Last updated
.