you can register for notifications of the player for events such as starting, stopping, pausing, etc. While the music player is playing, you'll want to set up a Timer to periodically update a progress bar. In SwiftUI you can use the TimelineView to periodically update the progress bar.
https://developer.apple.com/documentation/swiftui/timelineview
Post
Replies
Boosts
Views
Activity
Totally agree! I wrote a whole essay about it, before Apple deprecated the APIs, pointing out some of the missing elements to make a smooth experience. Now, you just have to allow users to send "share URLs" to each other manually.
https://deeje.medium.com/cloudkit-sharing-apple-and-you-900441dbef29
I thought I read somewhere that the action to delete storage is only for the dev environment? If you want to delete your data, you can do that via Settings > [Apple ID] > iCloud > Manage Account Storage > [Your App] > Delete
ooh ah, you ask a lot of important questions…
Is this an expected behavior from using CloudKit?
To some degree, yes, as it is specifically designed for backup and sync, and only incidentally does web. Speed is not a feature. That said, you should definitely be using qualityOfService so the system can optimize results. For instance, you might set it high to retrieve thumbnails, and set it low for background uploads.
Is CloudKit even a viable option for this kind of app, or is it not designed for this type of app?
I think it is viable, though on the public database you have to give very serious consideration to moderation, as well as the limits on public space as it related to the number of users of the app.
What alternative approaches could be taken? (Eg. store assets in AWS...)
you could go with another cloud service, but then you'd have to consider the costs.
Also, regardless of your backend, think thru how to handle large uploads and downloads in the background. For CloudKit, this means leveraging long-lived operations. See CloudCore for an example https://github.com/deeje/CloudCore/blob/master/Source/Classes/Caching/CloudCoreCacheManager.swift
try Core Data Lab
https://betamagic.nl/products/coredatalab.html
does this help?
https://stackoverflow.com/questions/60577468/how-to-implement-a-billboard-effect-lookat-camera-in-realitykit?cmdf=ios+realitykit+model+entity+billboard
:-) As a developer, one of the things I love about CloudKit is that the cost is paid for entirely by the customers themselves. If we extend that thinking from storage to storage+compute, and we recognize that we have to build a distributed job system anyway, well it just makes sense to use the compute resources that the customer already has.
Yes it is possible. Treat bar codes as image anchors. Load the identifiable images based on location. Affix your 3D models to entities attached to the detected image anchors.
https://developer.apple.com/documentation/arkit/arkit_in_ios/content_anchors/detecting_images_in_an_ar_experience?cmdf=arkit%20image%20anchor
I wish CloudKit had jobs, too, but alas…
One idea is to have clients do the job. Check if there's a recent aggregate record, and if not, create one. Sure, you might have several clients doing similar work at similar times, but you won't have the cost of running a server somewhere.
ARKit, go!
in UIViewRepresentable.updateUIView, you shouldn't be reloading the scene from disk on each update. that seems expensive
if that doesn't make an impact, I'm not familiar with using SceneKit with SwiftUI, so not sure how UIViewRepresentable.updateUIView works with/against a typical SceneRenderDelegate.updateAtTime implementation. fwiw.
Use AVFoundation to encode a video from each ARFrame.capturedImage. You'll need AVAssetWriter, AVAssetWriterInput, AVAssetWriterInputPixelBufferAdaptor.
file a feature request in Feedback Assistant
in visionOS v1.0, full body tracking is not exposed to third party developers. Hand tracking can be requested.
https://developer.apple.com/documentation/arkit/handtrackingprovider/?cmdf=visionOS%20hand%20tracking
there is a limit for all query ops, and there is support for cursors (a form of batching)
https://developer.apple.com/documentation/cloudkit/ckqueryoperation/1514975-cursor?cmdf=cloudkit%20cursor