Post

Replies

Boosts

Views

Activity

Infrequent updates of sensor values
Hello! I am developing an app (Homie) which uses HomeKit to give users access to their HomeKit devices + accessories via the Mac‘s Menu Bar. One feature is also to pin sensors (e.g., temperature) to the Menu Bar: To get updates to sensor values I am using the HMAccessoryDelegate‘s didUpdateValueForCharacteristic method. Some users are reporting that updates to Homie are passed along very infrequently und unreliably. I have set up a test with the HomeKit Accessory Simulator in which values are consistently passed along instantly. This problem is hard to debug for me, that‘s why I‘m asking what recommended ways would be to tackle this. I noticed that sometimes the HomeKit framework does not deliver updates unless the Home app is opened on my Mac or iPhone. But not sure if this is expected or related to that problem and what I can do about it. Any feedback & help is appreciated 🙏 Reference:
0
0
730
Jun ’21
Inconsistent HomeKit identifiers
My app Homie allows users to pin certain values, accessories or scenes to their menu bar for quick access, such as HMAccessory. To remember which devices and accessories a user has pinned to the Menu Bar, I store their uniqueIdentifier. However, I noticed that from time to time this uniqueIdentifier changes (this often happens after restarting the computer or installing a macOS software update). In this case, the device is not re-identified and the pinned-status is lost. The user is confused, because they think my app didn't store their information probably. And I am confused because the identifier is not consistent across app-starts. For reference: I am not asking to have consistent identifiers between different devices, I am asking to have consistent identifiers on the very same device. Reference: FB9052957
1
0
816
Jun ’21
Evaluate Quality of SHMatch
Hello good morning lovely ShazamKit team! I was wondering if there's a way to evaluate the result (SHMatch) to be able to estimate if this is a very good match (the catalog is very certain that this is correct), or if this is at the lower end of the spectrum of certainty. Thanks a lot and have a nice day! – Frederik
1
0
892
Sep ’21
SKAdNetwork: Error while updating conversion value
Hello! I make use of the new iOS 15.4 SKAdNetwork.updatePostbackConversionValue feature: SKAdNetwork.updatePostbackConversionValue(0) { error in                 if let error = error {                     print(error.localizedDescription)                 }             } I am not sure why, but I always see this error message in the console: SKAdNetwork: Error while updating conversion value: Error Domain=SKANErrorDomain Code=10 "(null)" The operation couldn’t be completed. (SKANErrorDomain error 10.) Any idea what’s going on there? What does Error Code 10 mean? Couldn't find anything in the documentation about that so far. I have the NSAdvertisingAttributionReportEndpoint key with domain (https://api2.branch.io/v1/skadnetwork/advertiser_app) in my .plist.
5
0
5.7k
Feb ’22
Reporter.jar: Download subscription offer code redemption data for specific date
Hello! I am looking to access data on how many times (on a specific day, week, or month) an alphanumeric subscription offer code has been redeemed (to track affiliate marketing). Right now, I am using the Reporter.jar tool like this: java -jar Reporter.jar p=Reporter.properties a=1234567 m=Robot.XML Sales.getReport 123456789, Subscription, Summary, Daily, 20230120, 1_3 As a result, a long list of subscription events is downloaded, however it is not clear which date a particular event did occur on. It seems like actually they pile up with every additional day. These are the columns that I can see: App Name, App Apple ID, Subscription Name, Subscription Apple ID, Subscription Group ID, Standard Subscription Duration, Subscription Offer Name, Promotional Offer ID, Customer Price, Customer Currency, Developer Proceeds, Proceeds Currency, Preserved Pricing, Proceeds Reason, Client, Device, State, Country, Active Standard Price Subscriptions, Active Free Trial Introductory Offer Subscriptions, Active Pay Up Front Introductory Offer Subscriptions, Active Pay As You Go Introductory Offer Subscriptions, Free Trial Promotional Offer Subscriptions, Pay Up Front Promotional Offer Subscriptions, Pay As You Go Promotional Offer Subscriptions, Free Trial Offer Code Subscriptions, Pay Up Front Offer Code Subscriptions, Pay As You Go Offer Code Subscriptions, Marketing Opt-Ins, Billing Retry, Grace Period, Subscribers As you can see, a date is not among them. Would be great if anyone has feedback on how to make this happen!
0
0
972
Jan ’23
eventDidReachThreshold triggered while target app is in background
Hello! I am using the eventDidReachThreshold callback in the DeviceActivityMonitor in order to shield a target app after the user has spend x amount of time on it (e.g. x = 5 minutes). Many times this works fine, and I can trigger my shield after the specified threshold has been met. However sometimes, when they leave the target app before the threshold has been reached, the eventDidReachThreshold callback gets called randomly while they are doing something else on their phone (e.g. using a different app, on the Home Screen, phone locked…). From my perspective this does not make sense, since they are not actively spending time on the target app, and that time should not be counted towards the target app’s threshold. And it is also very confusing for the users because they will then find a blocked target app even though they haven’t used their time budget completely. This is not related to the intervalDidStart / intervalDidEnd callbacks, because they are not correlating with the timing of when the eventDidReachThreshold callback is called unexpectedly. Any ideas what this could be related to?
0
0
455
Mar ’24
DeviceActivityEvent with threshold spanning over midnight → threshold not working
Hello, I am using a DeviceActivityEvent to limit access to an app after the user has spent x minutes on it. Sometimes it can happen that a DeviceActivitySchedule spans from 11:55pm - 12:25am (just an example). In these cases, I have noticed, the DeviceActivityMonitorExtension’s eventDidReachThreshold is not called after the user has reached the threshold time interval in the observed app. I assume this is because we have transitioned over midnight and something weird happens to the DeviceActivitySchedule. I’ve tried adding the day components to the DeviceActivitySchedule as well, but then it fails completely. Any advice how to handle this? I could, of course, create two separate DeviceActivitySchedules: one for before midnight, and one for after. But depending on the user’s real app usage that could lead to slightly different (and unexpected) behavior.
0
0
541
Mar ’24
all my DeviceActivitySchedules are killed when granting unrelated 4th party app access to screen time API permission
I have two repeating DeviceActivitySchedules running in my app and noticed a super strange behavior: whenever I modify Screen Time API permission settings (granting an additional app permission, or removing permission for a different app (completely different unrelated screen time apps from App Store)) all my DeviceActivitySchedules are cancelled and the intervalDidEnd callbacks are called my permission is not modified in this scenario this is a super strange and unexpected behavior is anyone able to reproduce this? for me this happens 100% of the times I do this any known workarounds?
0
0
496
Mar ’24
Background Safari Tab contributing to DeviceActivityMonitor usage threshold?
I am currently debugging an issue with DeviceActivityMonitor where the threshold is reached even though the target app (e.g. Instagram) is not being used actively. I noticed that the device with the unexpected behavior had the instagram.com website opened in the Safari web browser (among hundreds of other tabs). That tab was not actively used either (not in foreground, Safari app neither used). However, I was wondering if it can happen that this website is contributing towards the threshold as well even though it is in background and not used? Otherwise I cannot explain myself this strange behavior.
0
0
457
Apr ’24
iOS 17.4: Safari Extensions broken?
We’ve received a lot of user complains after the latest iOS 17.4 update. Our Safari extension does not work as reliably as it used to be (sometimes it’s just not loaded, or very slowly). Is this a known issue? Are any workarounds available? On iOS 17.5 the problem seems to be fixed, but I’m still wondering for a workaround because we dont know how long until 17.5 is released.
1
0
773
Apr ’24
New SwiftUI Text with relative date
Hello, I would like to make use of the new SwiftUI Text API for a Lockscreen Widget, but I wasn't able to figure out how I can achieve what I envision: I am looking for a way to display the days, hours, minutes since the time stamp. Of course, whenever day=0, they shouldn't be displayed. Whenever day>0, minutes can be dropped. So I assume I can set maxFieldCount: 2 for that. This is my current code: Text( .currentDate, format: .reference( to: entry.lastUseDate, allowedFields: [.day, .hour, .minute], maxFieldCount: 2, thresholdField: .day ) ) This is how it looks like; somehow the minutes are not displayed. What am I doing wrong?
0
2
289
Jun ’24
Canceling request to […].DeviceActivityMonitorExtension because it exceeded its allowed time.
Hello, I am working on an app that schedules a device activity monitor from the screen time API. I noticed that sometimes scheduling an activity monitor won’t work and instead I see this log: Canceling request to […].DeviceActivityMonitorExtension because it exceeded its allowed time. What does this mean? What exactly is exceeding its allowed time? Would love to get some feedback on this so I can prevent this from happening. Thanks a lot for any help and have a nice day!
0
1
427
Jun ’24
Wake-up detection with HealthKit
Hello HealthKit Experts & Enthusiasts! I am building an app called one sec which forces people to take a deep breath before they can use social media apps (it’s using Shortcuts Automations for that). One important feature of one sec is the Good Morning Countdown: For a specified time after waking up (e.g. 30mins) selected apps are blocked completely. This helps to start the day screen-free. They way it works is, the user grants access to read HKCategoryTypeIdentifier.sleepAnalysis data. I have implemented a HKObserverQuery and enableBackgroundDelivery in order to be informed whenever new HKCategoryTypeIdentifier.sleepAnalysis becomes available. I noticed that when I have my device connected to Xcode, this works as expected. However, when I quit the app and launch it from my Home Screen, my observer query is not informed about new sleep data (except when my app is running in foreground). Any ideas? Furthermore, I have noticed that sometimes sleep data is provided delayed to HealthKit, many minutes (sometimes even longer) after waking up, no sleep samples are to be found in the Health app. Of course, for my app it is crucial to get accurate + timely so apps can be blocked accordingly. Is this an issue that the Apple Watch first needs to send the samples to the phone? Thanks a lot for your help!
1
1
380
Sep ’24