Use HealthKit to enable your iOS and watchOS apps to work with the Apple Health app.

All subtopics
Posts under Health and Fitness topic

Post

Replies

Boosts

Views

Activity

Detecting External Heart Rate Monitor Availability
I've noticed that the Fitness app on the iPhone can rapidly detect the presence of an Apple Watch or External Heart Rate Monitor (e.g., AirPods Pro 3) so that it can adjust the availability of certain exercise types. Is this done through an API that is public? Can third party fitness apps access similar functionality so users can be pre-alerted to the availability of workout types that require a heart rate sensor of some sort?
0
0
28
2d
WatchOS 26.5 breaks Action Button intent donation
For some reason since watchOS 26.5 my workout app can no longer receive action button presses during a workout unless the action button is configured to start a specified activity type. If the action button is configured to just open the app but not start an activity then at the start of a workout the app donates a StartWorkoutIntent. The result parameter is set to a 'NextButtonPress' intent so that the app is notified when the action button is pressed. This has been working fine since the action button first appeared back in 2022, but has suddenly stopped working with watchOS 26.5. Now when the app tries to donate the intent then it fails with the following error: The operation couldn’t be completed. (LNTranscriptErrorDomain error 1003.) Does anyone know what has changed and how I can get around it? Thanks.
2
0
175
5d
App Rejected for Diabetes Risk Assessment – Asked for Regulatory Approval in Every Country
Hi everyone, I’m looking for guidance from developers who have dealt with App Review for health-related apps. I have an app that presents users with a questionnaire using images and multiple-choice answers. Based on the responses, the app categorizes the user into a general diabetes risk category. A few important points about the app: The app does NOT provide a diagnosis. The app clearly states that it is informational/advisory only. We added disclaimers throughout the app. We included references to published research papers the methodology is based on. The app does not connect to medical devices or Apple Health. No treatment or medication recommendations are provided. However, the app keeps getting rejected during App Review. Apple is asking us to provide documentation/approval from health regulatory authorities for every country where the app will be distributed. This is where I’m confused: Is this actually required for apps like this? Are reviewers classifying this as a regulated medical device? How are similar diabetes risk / health risk apps on the App Store handling this? Is there a recommended way to position the app as wellness/educational instead of diagnostic? We’ve already tried: strengthening disclaimers, clarifying that it is not a diagnosis, removing strong medical claims, submitting from both personal and organization accounts. Still receiving the same type of rejection. Would really appreciate advice from anyone who has successfully navigated this type of review process. Thanks!
0
0
117
1w
Extended Runtime API - Health Monitoring
In the WWDC 2019 session "Extended Runtime for WatchOS apps" the video talks about an entitlement being required to use the HR sensor judiciously in the background. It provides a link to request the entitlement which no longer works: http://developer.apple.com/contect/request/health-monitoring The session video is also quite hard to find these days. Does anyone know why this is the case? Is the API and entitlement still available? Is there a supported way to run, even periodically, in the background on the Watch app (ignoring the background observer route which is known to be unreliable) and access existing HR sensor data
12
1
785
1w
Run Application In The Background Automation
I’ve developed an automation and shortcut using the iPhone Shortcuts app in IOS 18, something that hasn’t been done before. With support from Apple’s customer service, I was encouraged to bring this idea to life. The automation’s purpose is to open a specified iOS app, move it to the background, and use a txt database in Folders to ensure uninterrupted data flow and continuous connectivity—especially useful for health apps where wearable devices need consistent, uninterrupted operation and monitoring (e.g., doctor tracking or wearable device connectivity). I would like to share the Automation and the Shortcut with the community.
3
0
1.2k
1w
WorkoutKit: pre-roll alert / lead time before IntervalStep transition (FB22708659)
Hi all, I'm building a coaching app for runners on top of WorkoutKit and would like to confirm a missing API — or learn that I overlooked something. The gap IntervalStep transitions deliver a haptic at T0 of the next step. The available alerts (HeartRateRangeAlert, SpeedRangeAlert, PaceRangeAlert, PowerRangeAlert, CadenceRangeAlert) are reactive — they activate when the measured value leaves the target range, not ahead of a planned step. There is no API for a "pre-roll" haptic at, say, T-15s before a high- effort step. On watchOS today, the only signal arrives exactly at step start. What I checked The WorkoutAlert protocol and concrete types — all metric-driven, no scheduling primitive. IntervalStep initializer — (.work, step: WorkoutStep). No leadTime, warning, countdown, or prepareDuration parameter. CustomWorkout — no per-step pre-roll knob. WorkoutScheduler and the rest of the surface in iOS/watchOS 26.4 SDK. If I missed something obvious, please point me at it. Filed with Apple Feedback ID: FB22708659 Has anyone here found a cleaner workaround, or seen any signal from the WorkoutKit team about pre-roll cues being on the roadmap? Thanks!
3
0
127
2w
Health permissions problem with watchOS 10.6.2
In the last few weeks 5 users have reported my workout watch app being unable to read health data despite the permissions being enabled in the iPhone Settings app. This has been a common complaint over the years and is usually fixed by disabling the permissions; rebooting both devices; and then enabling them again. This usually nudges iOS into sending the permissions to watchOS. However that procedure doesn't work for these users, all of whom are using watchOS 10.6.2. They are using various versions of iOS 18 or 26 so it seems to be a problem with that version of watchOS, which users are usually limited to because their hardware won't support anything more up to date. It seems that unpairing and re-pairing the watch can fix the problem but not always. I looked around and it seems that other apps are having the same problem: https://www.reddit.com/r/runna/comments/1rhhs2n/runna_wont_start_an_outdoor_run_on_apple_watch/ Does anyone know a way to fix this? My current advice is to repeatedly unpair / re-pair until it works, which isn't really practical! Thanks in advance.
2
0
222
2w
How to monitor heart rate in background without affecting Activity Rings?
I'm developing a watchOS nap app that detects when the user falls asleep by monitoring heart rate changes. == Technical Implementation == HKWorkoutSession (.mindAndBody) for background execution HKAnchoredObjectQuery for real-time heart rate data CoreMotion for movement detection == Battery Considerations == Heart rate monitoring ONLY active when user explicitly starts a session Monitoring continues until user is awakened OR 60-minute limit is reached If no sleep detected within 60 minutes, session auto-ends (user may have abandoned or forgotten to stop) App displays clear UI indicating monitoring is active Typical session: 15-30 minutes, keeping battery usage minimal == The Problem == HKWorkoutSession affects Activity Rings during the session. Users receive "Exercise goal reached" notifications while resting — confusing. == What I've Tried == Not using HKLiveWorkoutBuilder → Activity Rings still affected Using builder but not calling finishWorkout() (per https://developer.apple.com/forums/thread/780220) → Activity Rings still affected WKExtendedRuntimeSession (self-care type) (per https://developer.apple.com/forums/thread/721077) → Only ~10 min runtime, need up to 60 min HKObserverQuery + enableBackgroundDelivery (per https://developer.apple.com/forums/thread/779101) → ~4 updates/hour, too slow for real-time detection Audio background session for continuous processing (suggested in https://developer.apple.com/forums/thread/130287) → Concerned about App Store rejection for non-audio app; if official approves this technical route, I can implement in this direction Some online resources mention "Health Monitoring Entitlement" from WWDC 2019 Session 251, but I could not find any official documentation for this entitlement. Apple Developer Support also confirmed they cannot locate it? == My Question == Is there any supported way to: Monitor heart rate in background for up to 60 minutes WITHOUT affecting Activity Rings or creating workout records? If this requires a special entitlement or API access, please advise on the application process. Or allow me to submit a code-level support request. Any guidance would be greatly appreciated. Thank you!
6
0
1k
Apr ’26
HKObserverQuery BackgroundDelivery not executed
Hi, I'm having the same issue described in https://developer.apple.com/forums/thread/690974?page=2. When connected to Xcode or when the app is in the foreground, HKObserverQuery fires correctly and my app processes step updates. But once disconnected from Xcode, background delivery stops completely and the observer callback is never called. My setup: com.apple.developer.healthkit.background-delivery entitlement is present and in the provisioning profile enableBackgroundDelivery(for: .stepCount, frequency: .immediate) returns success = true HKObserverQuery is registered on every launch including background launches I also have CMPedometer.startEventUpdates running as a supplemental trigger Background Modes includes "Background fetch" and "Background processing" Device: iPhone, iOS 17.4+ App type: App uses Screen Time / Family Controls (ManagedSettings) to block apps until a step goal is met Has anyone found a reliable fix? Any feedback from Apple engineers would be appreciated.
1
0
306
Apr ’26
How flexible is my app's age rating?
My current app is a smoking cessation app and it is desgined to help people quit smoking for good. Currently users of the app are expected to set a quit date and then remain quit from cigarettes for 12 weeks. The app helps with this by using badges, notifications and even live chats to stop smoking professionals (depending on your area). The app "frequently" mentions smoking and tobacco, but it never promotes it. It does the opposite. By mentioning the harms of smoking and the benefits of stopping. The app also mentions (and can provide, depending on your area, medical history and a professionals final opinion) about nicotine replacement therapy, which users who are quitting smoking may be interested in. Currently the app is rated 18+ as I have to tick "frequent" mention of drugs/tobacco/alcohol in the age rating questionnaire. Though it does not mention recreational drugs or alcohol. We will soon be adding a large update to the app to add vaping support. The app will change largely in the fact smoking content and vaping content will be siloed from each other. So a user can either be on a smoking support journey (and see stop smoking content), or a vape support journey (and only see vaping content). We need the app to be 13+ on the store and we will enforce age restrictions using the declared age range API as part of the account creation process. If the user is aged 13 - 17, they will only see vape related content, if they are 18+ they can see vaping OR smoking. How negotiable is the age rating certificate, can we change it to 13+ if we implement age restrictions in the app and protect stop smoking related content behind it?
0
0
98
Apr ’26
is there a tool to check compliance before submitting the App?
We recently ran into an issue where our submission was rejected due to references to an API that we are not using but that was present in the code. Guideline 2.5.1 - Performance - Software Requirements Issue Description The app uses the Clinical Health Records API but the app does not appear to include any primary features that require the Clinical Health Records API. Next Steps To resolve this issue, please remove the Clinical Health Records API from the app, as well as any references to this app’s interactivity with Clinical Health Records from the app or its metadata. And as it turns out, we actually did have references to that API that we had missed and did have to remove them. Usually, I would recommend to just resubmit the new build and see if it gets accepted, then hold it until the powers that be approve it for publication. For this client, though, their QA team forces us into more of a waterfall-ish approach, where we are not allowed to submit production builds ahead of time (i.e. until after all manual testing has concluded, test evidence has been filed and the required documents have been updated and approved). And if after resubmission we find something else that needs to be fixed, we get to restart the process all over again. That's ... slower. We do have a workaround in place where we submit a development build for review and check whether that would get accepted, then retract that version and submit the production build once we are allowed to. But that means more work for Apple (the App has to be reviewed twice) and more risk for us (if the submission team accidentally publishes a development build, the consequences would be severe). Is there a tool that allows us to check for guideline violations without having to submit a build to the App Store Connect? I'm not looking for a "yes, this will get approved" kind of guarantee, just a "well, the review team may find something else to question / reject, but as far as automated checks go, this looks ready for submission".
2
0
452
Apr ’26
Stuck in Waiting for Review for Over a Week?!? (Super unusual)
Hello, My app TouCal: AI Calorie Tracker seems to be stuck in the App Review process and I’m trying to understand if something might be wrong with the submission. App ID (Apple ID): 6698870692 Timeline: First submission: March 9 Since then the app has been in “Waiting for Review” for 4 days (as of March 13) Normally my app reviews are approved within 1–2 days, so this delay seems unusual. Please help review this submission as soon as possible! My users are currently facing a bug that should have been fixed in this version. Any guidance would be greatly appreciated. Thank you.
1
0
132
Mar ’26
Having trouble getting Apple Fitness move ring to be updated without Apple Watch
Some users have switched to wearing smart rings instead of an Apple Watch, but they still want their rings to close throughout the day in Apple Fitness to keep their streaks going. I've noticed that the 3rd party smart ring apps do not affect the progress of the exercise and move rings unless the user puts on their Apple Watch and syncs with there iPhone throughout the day. Is there a way to make the progress rings update throughout the day without having to connect an Apple Watch periodically?
1
0
547
Feb ’26
[After iPhone migration] Health app permissions for connected app are not shown
After upgrading to a new iPhone and restoring from an iCloud backup using the same Apple ID, I noticed an issue with Health app permissions. ■ What is happening On my previous iPhone, an app had permission to read step count data. After restoring to the new iPhone, the app still appears in the Health app under Sources. However, when I tap the app, the usual data type permission toggles (such as Steps) are not displayed at all. As a result, the app is unable to read step count data. ■ Additional details The app itself seems to be recognized as a Health data source. However, the data type permission screen is empty. No ON/OFF switches are shown. The backup was created on iOS 18, and the restore was performed on iOS 26. I have not yet confirmed whether this also happens with other iOS version combinations. ■ Questions Is it expected behavior that Health app permissions (per data type) are not restored via iCloud backup? Has anyone experienced a similar situation where the app appears under Sources but the permission options are missing? If so, how did you resolve it? Any information from users who have experienced the same issue would be greatly appreciated.
4
0
331
Feb ’26
Best Practices for Continuous Background Biometric Monitoring on Apple Watch
Hello, everyone! I'm seeking some guidance on the App Store review process and technical best practices for a watchOS app. My goal is to create an app that uses HealthKit to continuously monitor a user's heart rate in the background for sessions lasting between 30 minutes and 3 hours. This app would not be a fitness or workout tracker. My primary question is about the best way to achieve this reliably while staying within the App Store Review Guidelines. Is it advisable to use the WorkoutKit framework to start a custom, non-fitness "session" for the purpose of continuous background monitoring? Are there any other recommended APIs or frameworks for this kind of background data collection on watchOS that I should be aware of? What are the key review considerations I should be mindful of, particularly regarding Guideline 4.1 (Design) and the intended use of APIs? My app's core functionality would require this kind of data for a beneficial purpose. I want to ensure my approach is technically sound and has the best chance of a successful review. Any insights or advice from developers who have experience with similar use cases would be incredibly helpful! Thank you!
1
0
821
Feb ’26
iBeacon Monitoring in Flutter App: Background Wake-Up from Killed State, Time Limits for BLE, and Handling Multiple Regions/Identifiers
Hello Apple Developer Community, I'm developing a cross-platform app using Flutter and the flutter_beacon library to handle iBeacon detection on iOS. My goal is to wake up the app in the background when it's in a killed/terminated state upon entering/exiting beacon regions, allowing for BLE communication (e.g., ranging or connecting to beacons). I've configured the necessary Info.plist keys for always location access and background location modes, and it works partially for single regions, but I have some specific questions/issues regarding reliability and limitations: Background Execution Time After Wake-Up: When the app is woken in the background by a region monitoring event (enter/exit) from a killed state, approximately how much time (in seconds) does iOS allocate for the app to run before suspending it again? Is this sufficient for performing BLE operations like ranging beacons or establishing a short connection, or are there stricter limits in terminated wake-ups compared to standard background modes? Monitoring Multiple iBeacons with Unique Identifiers: I need to monitor multiple iBeacon devices, each with potentially different UUIDs, majors, and minors. Can I add and monitor up to 20 regions simultaneously, each with a unique string identifier? If multiple beacons (from different regions) enter their respective ranges at around the same time, will the app receive separate callbacks for each region/identifier, or is there coalescing/prioritization that might cause only the last-added identifier to trigger notifications/events? Reliability in Killed State: In a fully killed state (e.g., force-quit via app switcher), does iOS reliably relaunch the app in the background for region monitoring events? Are there any known caveats, such as requiring specific hardware (e.g., iPhone models with certain Bluetooth chips) or iOS versions (targeting iOS 14+), and how does this interact with Flutter's background execution handling via the flutter_beacon library?
1
0
291
Feb ’26
Guideline 2.5.1 - Performance - Software Requirements
Hi all, I'm developing fitness app and I use healthkit to track user's "STEPS" count and "Heart Rate" from their iphone devices. I have been receiving this rejection and can't seem to get past this: Guideline 2.5.1 - Performance - Software Requirements The app uses the HealthKit or CareKit APIs but does not clearly identify the HealthKit and CareKit functionality in the app's user interface. Apps using these APIs should be clearly indicated to provide transparency and valuable information to users. Next Steps To resolve this issue, it would appropriate to clearly identify the HealthKit and CareKit functionality in the app's user interface. Resources Learn more about software requirements in guideline 2.5.1. How I tried to Resolve the Issue I have modified my app: adding user permission prompt, adding healthkit notification, adding healthkit indicator in the UI **1. Added a "Permission Primer" Screen (Pre-Alert) ** When a user taps "Connect Apple Health," they are now shown a dedicated explanation screen before the system permission prompt appears. This screen clearly states: "[App] integrates with HealthKit to read your Heart Rate and Steps... to calculate physical exertion." (Please see the "Connect" flow in the Session Detail view). **2. Added Explicit Source Attribution ** I have added a permanent text label reading "Health data sourced from Apple Health" directly below the heart rate and steps statistics on the Session Detail dashboard. This ensures that users always identify the source of the displayed metrics. 3. Deployment Target Correction I identified a configuration error where the Deployment Target was set to a future OS version. I have corrected this to the currently shipping iOS 18 to ensure full compliance with software requirements. 4. App Description Update I have updated the App Store description to explicitly mention the HealthKit integration and its specific purpose (tracking match intensity). However doing the above, I still continue to receive the same review message. When I asked the reviewer what else could be done to satisfy the requirement, I only get boiler plate message above. Anyone know what they really looking for? Any insights is appreciated. Thanks!
1
0
177
Feb ’26
HKObserverQuery and BackgroundDelivery Are Highly Unstable on watchOS 26
We are developing a health app that relies on HKObserverQuery and BackgroundDelivery to monitor Heart Rate data. On watchOS 10.6 and 11.6 , these data updates are typically delivered reliably every 8–12 minutes, occasionally exceeding 12 minutes, but generally not longer than 15 minutes. This frequency has been sufficient for the real-time data requirements of our app. However, after adapting our app to watchOS 26, we noticed that HKObserverQuery triggers much less frequently, with longer and very inconsistent intervals. This issue has had a major impact on our product: data collection for essential features is unreliable, resulting in a greatly diminished user experience on watchOS 26 and making the app essentially useless from the user’s perspective. Observed Behavior: HKObserverQuery and BackgroundDelivery are extremely unstable, with trigger intervals frequently exceeding 15 minutes, and sometimes even 20 minutes. When the user is sedentary, intervals become even longer; there are cases where no heart rate or active energy updates are delivered for 30 minutes, or even over 1 hour. Request for Support and Guidance: Have there been any changes to the HKObserverQuery background delivery mechanism on watchOS 26, specifically for Heart Rate and Active Energy data? If these changes are intentional system optimizations, could you provide guidance or recommended practices to ensure our app can reliably retrieve updates and maintain a smooth experience for users? Thank you for your support.
3
0
833
Jan ’26
Detecting External Heart Rate Monitor Availability
I've noticed that the Fitness app on the iPhone can rapidly detect the presence of an Apple Watch or External Heart Rate Monitor (e.g., AirPods Pro 3) so that it can adjust the availability of certain exercise types. Is this done through an API that is public? Can third party fitness apps access similar functionality so users can be pre-alerted to the availability of workout types that require a heart rate sensor of some sort?
Replies
0
Boosts
0
Views
28
Activity
2d
WatchOS 26.5 breaks Action Button intent donation
For some reason since watchOS 26.5 my workout app can no longer receive action button presses during a workout unless the action button is configured to start a specified activity type. If the action button is configured to just open the app but not start an activity then at the start of a workout the app donates a StartWorkoutIntent. The result parameter is set to a 'NextButtonPress' intent so that the app is notified when the action button is pressed. This has been working fine since the action button first appeared back in 2022, but has suddenly stopped working with watchOS 26.5. Now when the app tries to donate the intent then it fails with the following error: The operation couldn’t be completed. (LNTranscriptErrorDomain error 1003.) Does anyone know what has changed and how I can get around it? Thanks.
Replies
2
Boosts
0
Views
175
Activity
5d
Health tracking app needs regulatory approval
I created an app that connects to HealthKit and also to Clinical Health Records and in my review I am told to get the regulatory approval. I am not looking to get into that rabbit hole so was wondering how can I strip my app so that that I do not have to get the regulatory approvals. If anyone has any idea about that please let me know.
Replies
0
Boosts
0
Views
63
Activity
5d
App Rejected for Diabetes Risk Assessment – Asked for Regulatory Approval in Every Country
Hi everyone, I’m looking for guidance from developers who have dealt with App Review for health-related apps. I have an app that presents users with a questionnaire using images and multiple-choice answers. Based on the responses, the app categorizes the user into a general diabetes risk category. A few important points about the app: The app does NOT provide a diagnosis. The app clearly states that it is informational/advisory only. We added disclaimers throughout the app. We included references to published research papers the methodology is based on. The app does not connect to medical devices or Apple Health. No treatment or medication recommendations are provided. However, the app keeps getting rejected during App Review. Apple is asking us to provide documentation/approval from health regulatory authorities for every country where the app will be distributed. This is where I’m confused: Is this actually required for apps like this? Are reviewers classifying this as a regulated medical device? How are similar diabetes risk / health risk apps on the App Store handling this? Is there a recommended way to position the app as wellness/educational instead of diagnostic? We’ve already tried: strengthening disclaimers, clarifying that it is not a diagnosis, removing strong medical claims, submitting from both personal and organization accounts. Still receiving the same type of rejection. Would really appreciate advice from anyone who has successfully navigated this type of review process. Thanks!
Replies
0
Boosts
0
Views
117
Activity
1w
Extended Runtime API - Health Monitoring
In the WWDC 2019 session "Extended Runtime for WatchOS apps" the video talks about an entitlement being required to use the HR sensor judiciously in the background. It provides a link to request the entitlement which no longer works: http://developer.apple.com/contect/request/health-monitoring The session video is also quite hard to find these days. Does anyone know why this is the case? Is the API and entitlement still available? Is there a supported way to run, even periodically, in the background on the Watch app (ignoring the background observer route which is known to be unreliable) and access existing HR sensor data
Replies
12
Boosts
1
Views
785
Activity
1w
Run Application In The Background Automation
I’ve developed an automation and shortcut using the iPhone Shortcuts app in IOS 18, something that hasn’t been done before. With support from Apple’s customer service, I was encouraged to bring this idea to life. The automation’s purpose is to open a specified iOS app, move it to the background, and use a txt database in Folders to ensure uninterrupted data flow and continuous connectivity—especially useful for health apps where wearable devices need consistent, uninterrupted operation and monitoring (e.g., doctor tracking or wearable device connectivity). I would like to share the Automation and the Shortcut with the community.
Replies
3
Boosts
0
Views
1.2k
Activity
1w
WorkoutKit: pre-roll alert / lead time before IntervalStep transition (FB22708659)
Hi all, I'm building a coaching app for runners on top of WorkoutKit and would like to confirm a missing API — or learn that I overlooked something. The gap IntervalStep transitions deliver a haptic at T0 of the next step. The available alerts (HeartRateRangeAlert, SpeedRangeAlert, PaceRangeAlert, PowerRangeAlert, CadenceRangeAlert) are reactive — they activate when the measured value leaves the target range, not ahead of a planned step. There is no API for a "pre-roll" haptic at, say, T-15s before a high- effort step. On watchOS today, the only signal arrives exactly at step start. What I checked The WorkoutAlert protocol and concrete types — all metric-driven, no scheduling primitive. IntervalStep initializer — (.work, step: WorkoutStep). No leadTime, warning, countdown, or prepareDuration parameter. CustomWorkout — no per-step pre-roll knob. WorkoutScheduler and the rest of the surface in iOS/watchOS 26.4 SDK. If I missed something obvious, please point me at it. Filed with Apple Feedback ID: FB22708659 Has anyone here found a cleaner workaround, or seen any signal from the WorkoutKit team about pre-roll cues being on the roadmap? Thanks!
Replies
3
Boosts
0
Views
127
Activity
2w
Health permissions problem with watchOS 10.6.2
In the last few weeks 5 users have reported my workout watch app being unable to read health data despite the permissions being enabled in the iPhone Settings app. This has been a common complaint over the years and is usually fixed by disabling the permissions; rebooting both devices; and then enabling them again. This usually nudges iOS into sending the permissions to watchOS. However that procedure doesn't work for these users, all of whom are using watchOS 10.6.2. They are using various versions of iOS 18 or 26 so it seems to be a problem with that version of watchOS, which users are usually limited to because their hardware won't support anything more up to date. It seems that unpairing and re-pairing the watch can fix the problem but not always. I looked around and it seems that other apps are having the same problem: https://www.reddit.com/r/runna/comments/1rhhs2n/runna_wont_start_an_outdoor_run_on_apple_watch/ Does anyone know a way to fix this? My current advice is to repeatedly unpair / re-pair until it works, which isn't really practical! Thanks in advance.
Replies
2
Boosts
0
Views
222
Activity
2w
How to monitor heart rate in background without affecting Activity Rings?
I'm developing a watchOS nap app that detects when the user falls asleep by monitoring heart rate changes. == Technical Implementation == HKWorkoutSession (.mindAndBody) for background execution HKAnchoredObjectQuery for real-time heart rate data CoreMotion for movement detection == Battery Considerations == Heart rate monitoring ONLY active when user explicitly starts a session Monitoring continues until user is awakened OR 60-minute limit is reached If no sleep detected within 60 minutes, session auto-ends (user may have abandoned or forgotten to stop) App displays clear UI indicating monitoring is active Typical session: 15-30 minutes, keeping battery usage minimal == The Problem == HKWorkoutSession affects Activity Rings during the session. Users receive "Exercise goal reached" notifications while resting — confusing. == What I've Tried == Not using HKLiveWorkoutBuilder → Activity Rings still affected Using builder but not calling finishWorkout() (per https://developer.apple.com/forums/thread/780220) → Activity Rings still affected WKExtendedRuntimeSession (self-care type) (per https://developer.apple.com/forums/thread/721077) → Only ~10 min runtime, need up to 60 min HKObserverQuery + enableBackgroundDelivery (per https://developer.apple.com/forums/thread/779101) → ~4 updates/hour, too slow for real-time detection Audio background session for continuous processing (suggested in https://developer.apple.com/forums/thread/130287) → Concerned about App Store rejection for non-audio app; if official approves this technical route, I can implement in this direction Some online resources mention "Health Monitoring Entitlement" from WWDC 2019 Session 251, but I could not find any official documentation for this entitlement. Apple Developer Support also confirmed they cannot locate it? == My Question == Is there any supported way to: Monitor heart rate in background for up to 60 minutes WITHOUT affecting Activity Rings or creating workout records? If this requires a special entitlement or API access, please advise on the application process. Or allow me to submit a code-level support request. Any guidance would be greatly appreciated. Thank you!
Replies
6
Boosts
0
Views
1k
Activity
Apr ’26
HKObserverQuery BackgroundDelivery not executed
Hi, I'm having the same issue described in https://developer.apple.com/forums/thread/690974?page=2. When connected to Xcode or when the app is in the foreground, HKObserverQuery fires correctly and my app processes step updates. But once disconnected from Xcode, background delivery stops completely and the observer callback is never called. My setup: com.apple.developer.healthkit.background-delivery entitlement is present and in the provisioning profile enableBackgroundDelivery(for: .stepCount, frequency: .immediate) returns success = true HKObserverQuery is registered on every launch including background launches I also have CMPedometer.startEventUpdates running as a supplemental trigger Background Modes includes "Background fetch" and "Background processing" Device: iPhone, iOS 17.4+ App type: App uses Screen Time / Family Controls (ManagedSettings) to block apps until a step goal is met Has anyone found a reliable fix? Any feedback from Apple engineers would be appreciated.
Replies
1
Boosts
0
Views
306
Activity
Apr ’26
How flexible is my app's age rating?
My current app is a smoking cessation app and it is desgined to help people quit smoking for good. Currently users of the app are expected to set a quit date and then remain quit from cigarettes for 12 weeks. The app helps with this by using badges, notifications and even live chats to stop smoking professionals (depending on your area). The app "frequently" mentions smoking and tobacco, but it never promotes it. It does the opposite. By mentioning the harms of smoking and the benefits of stopping. The app also mentions (and can provide, depending on your area, medical history and a professionals final opinion) about nicotine replacement therapy, which users who are quitting smoking may be interested in. Currently the app is rated 18+ as I have to tick "frequent" mention of drugs/tobacco/alcohol in the age rating questionnaire. Though it does not mention recreational drugs or alcohol. We will soon be adding a large update to the app to add vaping support. The app will change largely in the fact smoking content and vaping content will be siloed from each other. So a user can either be on a smoking support journey (and see stop smoking content), or a vape support journey (and only see vaping content). We need the app to be 13+ on the store and we will enforce age restrictions using the declared age range API as part of the account creation process. If the user is aged 13 - 17, they will only see vape related content, if they are 18+ they can see vaping OR smoking. How negotiable is the age rating certificate, can we change it to 13+ if we implement age restrictions in the app and protect stop smoking related content behind it?
Replies
0
Boosts
0
Views
98
Activity
Apr ’26
is there a tool to check compliance before submitting the App?
We recently ran into an issue where our submission was rejected due to references to an API that we are not using but that was present in the code. Guideline 2.5.1 - Performance - Software Requirements Issue Description The app uses the Clinical Health Records API but the app does not appear to include any primary features that require the Clinical Health Records API. Next Steps To resolve this issue, please remove the Clinical Health Records API from the app, as well as any references to this app’s interactivity with Clinical Health Records from the app or its metadata. And as it turns out, we actually did have references to that API that we had missed and did have to remove them. Usually, I would recommend to just resubmit the new build and see if it gets accepted, then hold it until the powers that be approve it for publication. For this client, though, their QA team forces us into more of a waterfall-ish approach, where we are not allowed to submit production builds ahead of time (i.e. until after all manual testing has concluded, test evidence has been filed and the required documents have been updated and approved). And if after resubmission we find something else that needs to be fixed, we get to restart the process all over again. That's ... slower. We do have a workaround in place where we submit a development build for review and check whether that would get accepted, then retract that version and submit the production build once we are allowed to. But that means more work for Apple (the App has to be reviewed twice) and more risk for us (if the submission team accidentally publishes a development build, the consequences would be severe). Is there a tool that allows us to check for guideline violations without having to submit a build to the App Store Connect? I'm not looking for a "yes, this will get approved" kind of guarantee, just a "well, the review team may find something else to question / reject, but as far as automated checks go, this looks ready for submission".
Replies
2
Boosts
0
Views
452
Activity
Apr ’26
Stuck in Waiting for Review for Over a Week?!? (Super unusual)
Hello, My app TouCal: AI Calorie Tracker seems to be stuck in the App Review process and I’m trying to understand if something might be wrong with the submission. App ID (Apple ID): 6698870692 Timeline: First submission: March 9 Since then the app has been in “Waiting for Review” for 4 days (as of March 13) Normally my app reviews are approved within 1–2 days, so this delay seems unusual. Please help review this submission as soon as possible! My users are currently facing a bug that should have been fixed in this version. Any guidance would be greatly appreciated. Thank you.
Replies
1
Boosts
0
Views
132
Activity
Mar ’26
Having trouble getting Apple Fitness move ring to be updated without Apple Watch
Some users have switched to wearing smart rings instead of an Apple Watch, but they still want their rings to close throughout the day in Apple Fitness to keep their streaks going. I've noticed that the 3rd party smart ring apps do not affect the progress of the exercise and move rings unless the user puts on their Apple Watch and syncs with there iPhone throughout the day. Is there a way to make the progress rings update throughout the day without having to connect an Apple Watch periodically?
Replies
1
Boosts
0
Views
547
Activity
Feb ’26
[After iPhone migration] Health app permissions for connected app are not shown
After upgrading to a new iPhone and restoring from an iCloud backup using the same Apple ID, I noticed an issue with Health app permissions. ■ What is happening On my previous iPhone, an app had permission to read step count data. After restoring to the new iPhone, the app still appears in the Health app under Sources. However, when I tap the app, the usual data type permission toggles (such as Steps) are not displayed at all. As a result, the app is unable to read step count data. ■ Additional details The app itself seems to be recognized as a Health data source. However, the data type permission screen is empty. No ON/OFF switches are shown. The backup was created on iOS 18, and the restore was performed on iOS 26. I have not yet confirmed whether this also happens with other iOS version combinations. ■ Questions Is it expected behavior that Health app permissions (per data type) are not restored via iCloud backup? Has anyone experienced a similar situation where the app appears under Sources but the permission options are missing? If so, how did you resolve it? Any information from users who have experienced the same issue would be greatly appreciated.
Replies
4
Boosts
0
Views
331
Activity
Feb ’26
Best Practices for Continuous Background Biometric Monitoring on Apple Watch
Hello, everyone! I'm seeking some guidance on the App Store review process and technical best practices for a watchOS app. My goal is to create an app that uses HealthKit to continuously monitor a user's heart rate in the background for sessions lasting between 30 minutes and 3 hours. This app would not be a fitness or workout tracker. My primary question is about the best way to achieve this reliably while staying within the App Store Review Guidelines. Is it advisable to use the WorkoutKit framework to start a custom, non-fitness "session" for the purpose of continuous background monitoring? Are there any other recommended APIs or frameworks for this kind of background data collection on watchOS that I should be aware of? What are the key review considerations I should be mindful of, particularly regarding Guideline 4.1 (Design) and the intended use of APIs? My app's core functionality would require this kind of data for a beneficial purpose. I want to ensure my approach is technically sound and has the best chance of a successful review. Any insights or advice from developers who have experience with similar use cases would be incredibly helpful! Thank you!
Replies
1
Boosts
0
Views
821
Activity
Feb ’26
iBeacon Monitoring in Flutter App: Background Wake-Up from Killed State, Time Limits for BLE, and Handling Multiple Regions/Identifiers
Hello Apple Developer Community, I'm developing a cross-platform app using Flutter and the flutter_beacon library to handle iBeacon detection on iOS. My goal is to wake up the app in the background when it's in a killed/terminated state upon entering/exiting beacon regions, allowing for BLE communication (e.g., ranging or connecting to beacons). I've configured the necessary Info.plist keys for always location access and background location modes, and it works partially for single regions, but I have some specific questions/issues regarding reliability and limitations: Background Execution Time After Wake-Up: When the app is woken in the background by a region monitoring event (enter/exit) from a killed state, approximately how much time (in seconds) does iOS allocate for the app to run before suspending it again? Is this sufficient for performing BLE operations like ranging beacons or establishing a short connection, or are there stricter limits in terminated wake-ups compared to standard background modes? Monitoring Multiple iBeacons with Unique Identifiers: I need to monitor multiple iBeacon devices, each with potentially different UUIDs, majors, and minors. Can I add and monitor up to 20 regions simultaneously, each with a unique string identifier? If multiple beacons (from different regions) enter their respective ranges at around the same time, will the app receive separate callbacks for each region/identifier, or is there coalescing/prioritization that might cause only the last-added identifier to trigger notifications/events? Reliability in Killed State: In a fully killed state (e.g., force-quit via app switcher), does iOS reliably relaunch the app in the background for region monitoring events? Are there any known caveats, such as requiring specific hardware (e.g., iPhone models with certain Bluetooth chips) or iOS versions (targeting iOS 14+), and how does this interact with Flutter's background execution handling via the flutter_beacon library?
Replies
1
Boosts
0
Views
291
Activity
Feb ’26
provision profile deleting from the file mac
I double-click it, and it doesn't install. I drag it to the provisioning profile folder, and it gets deleted immediately. It's an Apple Developer problem. I've already wiped my Mac clean twice and reinstalled everything, and I'm still having this problem.
Replies
3
Boosts
0
Views
638
Activity
Feb ’26
Guideline 2.5.1 - Performance - Software Requirements
Hi all, I'm developing fitness app and I use healthkit to track user's "STEPS" count and "Heart Rate" from their iphone devices. I have been receiving this rejection and can't seem to get past this: Guideline 2.5.1 - Performance - Software Requirements The app uses the HealthKit or CareKit APIs but does not clearly identify the HealthKit and CareKit functionality in the app's user interface. Apps using these APIs should be clearly indicated to provide transparency and valuable information to users. Next Steps To resolve this issue, it would appropriate to clearly identify the HealthKit and CareKit functionality in the app's user interface. Resources Learn more about software requirements in guideline 2.5.1. How I tried to Resolve the Issue I have modified my app: adding user permission prompt, adding healthkit notification, adding healthkit indicator in the UI **1. Added a "Permission Primer" Screen (Pre-Alert) ** When a user taps "Connect Apple Health," they are now shown a dedicated explanation screen before the system permission prompt appears. This screen clearly states: "[App] integrates with HealthKit to read your Heart Rate and Steps... to calculate physical exertion." (Please see the "Connect" flow in the Session Detail view). **2. Added Explicit Source Attribution ** I have added a permanent text label reading "Health data sourced from Apple Health" directly below the heart rate and steps statistics on the Session Detail dashboard. This ensures that users always identify the source of the displayed metrics. 3. Deployment Target Correction I identified a configuration error where the Deployment Target was set to a future OS version. I have corrected this to the currently shipping iOS 18 to ensure full compliance with software requirements. 4. App Description Update I have updated the App Store description to explicitly mention the HealthKit integration and its specific purpose (tracking match intensity). However doing the above, I still continue to receive the same review message. When I asked the reviewer what else could be done to satisfy the requirement, I only get boiler plate message above. Anyone know what they really looking for? Any insights is appreciated. Thanks!
Replies
1
Boosts
0
Views
177
Activity
Feb ’26
HKObserverQuery and BackgroundDelivery Are Highly Unstable on watchOS 26
We are developing a health app that relies on HKObserverQuery and BackgroundDelivery to monitor Heart Rate data. On watchOS 10.6 and 11.6 , these data updates are typically delivered reliably every 8–12 minutes, occasionally exceeding 12 minutes, but generally not longer than 15 minutes. This frequency has been sufficient for the real-time data requirements of our app. However, after adapting our app to watchOS 26, we noticed that HKObserverQuery triggers much less frequently, with longer and very inconsistent intervals. This issue has had a major impact on our product: data collection for essential features is unreliable, resulting in a greatly diminished user experience on watchOS 26 and making the app essentially useless from the user’s perspective. Observed Behavior: HKObserverQuery and BackgroundDelivery are extremely unstable, with trigger intervals frequently exceeding 15 minutes, and sometimes even 20 minutes. When the user is sedentary, intervals become even longer; there are cases where no heart rate or active energy updates are delivered for 30 minutes, or even over 1 hour. Request for Support and Guidance: Have there been any changes to the HKObserverQuery background delivery mechanism on watchOS 26, specifically for Heart Rate and Active Energy data? If these changes are intentional system optimizations, could you provide guidance or recommended practices to ensure our app can reliably retrieve updates and maintain a smooth experience for users? Thank you for your support.
Replies
3
Boosts
0
Views
833
Activity
Jan ’26