My iOS app has a share extension. I am using a predicate in NSExtensionActivationRule to determine when to make my extension available to users. The predicate seems to work as expected, but I have a big problem: my extension keeps disappearing from the share sheet and I need to tap "More" and disable/enable my extension every time I want to use it.I have seen many others having this problem, but have not found a solution. Getting desperate here. Any ideas?Claes
Post
Replies
Boosts
Views
Activity
I use the predicate below as NSExtensionActivationRule for my Share Extension. It shows my extension in the share sheet if the host app provides a public.url OR plain.text.My question: is there a way to evaluate the URL to decide if my extension should be visible in the share sheet? For example, I would only like to show it if the url matches "https://mydomain.com". I don't think this can be done, but want to be sure.SUBQUERY ( extensionItems, $extensionItem, SUBQUERY ( $extensionItem.attachments, $attachment, ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.url" ).@count == 1).@count == 1||SUBQUERY ( extensionItems, $extensionItem, SUBQUERY ( $extensionItem.attachments, $attachment, ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "public.plain-text" ).@count == 1).@count == 1
When you uncheck 'Cleared for Sale' for an auto-renewing IAP…I suppose it disappears from the iTunes Manage Subscriptions UI?Will it stop renewing for current subscribers?Will current subscribers be informed?Will current subscribers be able to restore the purchase?
Hi!
I'm playing around with the Screen Time API. I would like to let my app notify me every time I have used my device for 1 minute (any app). When I have been notified, I would like to reset the monitoring so that I will be notified again after another minute using my device.
I'm not sure how to accomplish this. In the main app, I currently start monitoring the following event with a schedule:
let event = DeviceActivityEvent(threshold: DateComponents(minute: 1))
let schedule = DeviceActivitySchedule(intervalStart: DateComponents(hour: 0, minute: 0, second: 1), intervalEnd: DateComponents(hour:23, minute: 59, second: 59), repeats: true)
Then, in the Device Activity Monitor Extension, I restart the same monitoring once the threshold is reached in eventDidReachThreshold.
However, eventDidReachThreshold is being called much more than once an hour. I have checked that I only have one monitoring event running, so duplicates does not seem to be a problem. So, my questions are:
Does my approach look OK? What am I missing?
Would this monitoring collect usage from all devices connected to the same Apple ID, i.e. my Mac, iPad, iPhones etc? If so, how can I make it only monitor usage on one of my devices (the iPhone running the app)?
After watching the video "What's new in Screen API", I was convinced that the Screen Time API now opens up for a broader range of apps without the need to involve Family Sharing. Like the example app "Workload" they are using in the video, an app for an individual not involving Family Sharing at all (?)
I have now built an app of a similar type, but Apple denied me the Family Controls entitlement "...as your app doesn’t utilize Family Sharing, which is required for Family Controls."
I am confused here. Does anyone have more information and/or can explain to me? My, perhaps optimistic, view is that the entitlement request reviewer based their decision on iOS 15 rules rather than the additions made to iOS 16.
And input and advice is much appreciated :-)
When we release an app (or a new version of an existing app), does it always show up in the US App Store first and is then propagated to the others?
Is App Store propagation documented somewhere?
I am using the DeviceActivity framework to let the user track their activity (so also for non FamilySharing users). For tracking to cover multiple devices, does the app need to be installed/running on all devices or can the OS report activity to the app on one device? I haven't found a way to do that...