You say the iteration is part of the initialization process, hence its a one time operation, why therefore cannot it be performed by the app (I use the term app to not include the extension) the first time the app runs, and then the results of that made available to the extension?
I've not thought about it until now... since I didn't know extensions will fail like this.
Also an extension doesn't simply run for 30 seconds, it will run until the completion handler is called, if the handler is not called within 30 seconds then the system will call the handler for you. If you have to do the iteration within the extension, you will need to delay calling the completion handler until the iterations have completed.
I am delaying the invocation of completion handler until the iterations are completed. In the app, these 65k iterations take 2 sec. In the extension, after 38k interactions (roughly), the process is killed... and the default notification is displayed as is. This does not take the whole 30 sec... after 1 or 2 sec, process is killed. So, I'm not hitting the time limit.
The extension has a set memory limit, which is much less than that of an app.
The 2D array is static. So, memory usage shouldn't spike suddenly. But CPU usage will spike when the iterations begin. So, is there similar restriction on CPU usage? Are all these restrictions, whether its CPU or memory or any other system resource consumption, documented somewhere? I'd like to know the boundaries when rethinking initialise step.
Post
Replies
Boosts
Views
Activity
Same problem here. There are some alternates like this, but I'd like to capture the actual event (if it exists).
I followed all the instructions, downloaded the sysdiagnose thing... it's a watchOSconfig.mobileconfig file. I installed the profile on AppleWatch and I still didn't get any logs on Console App. But I do get logs on Xcode console when I run the app from Xcode, but I don't want to attach debugger.
My env: watchOS 10.0, iOs 17.3.1, Xcode 15.1.
Any ideas? :(
I raised a TSI to AppleDTS and they informed me that the scene(_ :continue:) method is for a UIKit app. For SwiftUI app, we have to use the onOpenURL(_:perform:) view modifier to handle universal links (and other URL based launches like file launch, deep link etc.) as shown below.
WindowGroup {
ContentView()
.onOpenURL(perform: { (universalLink: URL) in
Log(String(format: "universalLink = %@", universalLink.absoluteString))
// Handle universal link
})
}
After reading this post in swift forums about #if, @available and #available, I see that in this case, #if must be used... since any version of tvOS should not see the userNotificationCenter(_:didReceive:withCompletionHandler:) delegate method.
Update 2:
Missed to add some details and another question :(
Expiration handler doesn't get called (unlike the case with beginBackgroundTask(name:expirationHandler:))?
Environment: Xcode 14.2, iOS 16.0, Debug and Release build, Console app (to check logs).
Update1: Correcting a typo
New:
Example: The sample background task is to count 60s in multiple of 10s.
Old:
Example: The sample background task is to count 10s in multiple of 10s.