Post

Replies

Boosts

Views

Activity

Reply to Debugging WidgetKit install error "Failed to get descriptors for extensionBundleID"
Thanks! Unfortunately, deleting the app from the device and/or erasing the simulator did not help. It's likely to be a build configuration issue on my end. I am using bazel to build the extension, starting from a working old-style Today extension and from the "EmojiRangerWidget" sample code. Presumably there's some subtle difference between how old-style extensions are built and how WidgetKit extensions are built. So far the only difference I've seen is that the Info.plist has a NSExtensionPointIdentifier in the WidgetKit world.
Jun ’20
Reply to Debugging WidgetKit install error "Failed to get descriptors for extensionBundleID"
OK, I figured it out. The bazel iosextension rule needs to be updated to generate iOS 14-compatible extensions. Currently it is using -e NSExtensionMain when linking, which is correct for pre-iOS 14 extensions. That needs to be changed (removed) in order for iOS 14 style WidgetKit extensions (that use @main to mark the entrypoint) to be linked correctly. I'll contact the bazel folks and to let them know they need to update enhance bazel to handle iOS 14-compatible extensions.
Jun ’20
Reply to WidgetCenter.reloadTimelines allowed frequency?
Oh, one correction -- I think it's typical for a music app's "Recently Played" widget to show the N most recently played "containers", that is the most recently played playlists or albums, rather than the N most recently played songs. That makes the average case better. But the worst-case behavior is still there. What should a music app do if the user auditions a large number of playlists in a short period of time?
Jul ’20
Reply to Background Assets: Any limit on number of scheduled downloads?
Thank you for the quick and thorough response. It is unfortunate that you are not targeting my use case. Just to give you some insight, my application uses edge caches, where the data is split up into many smaller pieces, that are cached near the users. Different users request different pieces of data. (But there is some overlap between users.) Think open world MMO data, real-world map tiles, or songs. These are situations where each user wants a different set of data, so it doesn't make sense architecturally to create or download large bundles.
Jun ’22