Post

Replies

Boosts

Views

Activity

Reply to Conditionally Migrate WatchOS 10 users ONLY to WidgetKit
And so many more from me: Translated Report (Full Report Below) Hardware Model: Watch6,18 Identifier: Sim.HeartRate.watchkitapp.WatchWidgetKitExtension AppVariant: 1:Watch6,18:9 Code Type: ARM64_32 (Native) Role: Unspecified Parent Process: launchd [1] Date/Time: 2023-09-24 20:11:54.9181 -0500 Launch Time: 2023-09-24 20:11:54.0000 -0500 OS Version: Watch OS 9.6.3 (20U502) Release Type: User Baseband Version: 5.04.01 Report Version: 104 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: DYLD 4 Symbol missing Symbol not found: _$s7SwiftUI17EnvironmentValuesV9WidgetKitE05ShowsE13BackgroundKeyVAA0cI0ADMc Referenced from: <7BA88B36-F66D-3527-9C49-CE859AB79FCB> /Volumes/VOLUME/*/<APP_NAME>.app/PlugIns/<APP_NAME> Watch WidgetKit Extension.appex/<APP_NAME> Watch WidgetKit Extension **(built for watchOS 10.0 which is newer than running OS)** Expected in: <15E32CD8-4D76-3F93-9881-7F8FDBB8A288> /System/Library/Frameworks/WidgetKit.framework/WidgetKit (terminated at launch; ignore backtrace) Triggered by Thread: 0 Thread 0 Crashed: 0 dyld 0x6dba6c5c 0x6db48000 + 388188 1 dyld 0x6dbb231c 0x6db48000 + 434972 2 dyld 0x6dbb234c 0x6db48000 + 435020 3 dyld 0x6db4c740 0x6db48000 + 18240 4 dyld 0x6db4abe0 0x6db48000 + 11232 5 dyld 0x6db4976c 0x6db48000 + 5996
Topic: App & System Services SubTopic: General Tags:
Sep ’23
Reply to How can I get the highest sample rate historical heart rate data from health store?
Ok, lots to unpack here. These are my observations: Your query should return all available data within the time frame * You can manually view the actual data available in the Apple Health app under the Browse Tab -> Heart -> Heart Rate -> Show All Data (At the Bottom) I'm assuming that you're likely referring to Heart Rate data recorded by Apple Watch. In normal operating mode, Apple Watch will only generate a Heart Rate measurement every 4 - 5 minutes when the user is wearing their watch. If they start a workout, this increases to about 12 measurements per minute. This is where the HKQuantitySeriesSample comes in useful for efficiently querying this high intensity data This code would allow you to access the first HR value from the sample you have run if let result = results.first as? HKQuantitySample { print(result.quantity.doubleValue(for: HKUnit(from: "count/min"))) } To answer your last original question, you can't read Health data that is not there. For Heart Rate, I think from what you're saying, you either need to generate and save data to the Health Store, or wait for the user to record it (presumably via Apple Watch) before trying to read it *Right, going back to my original point and trying to answer your additional question. If you are querying the Health Store on iPhone, the Health Store data is only limited to what's actually saved in it, I'm not directly sure why you're only getting 10 days of data. That said, if its regular Heart Rate data the this is quite a big query, I'd recommend breaking it down into multiple queries and changing the predicate dates you have set. If you're querying on Apple Watch, you're only guaranteed to have access to the last 7 days of Health data.
Topic: App & System Services SubTopic: Core OS Tags:
Sep ’23
Reply to App group shared user defaults
What about if I want to share a preference between a Watch App WidgetKit Extension (for Watch Face complications) and a Watch app? I don't see how any of the suggested methods would apply to a WidgetKit extension.... This has worked for me previously when sharing between iPhone App and iPhone Widget Extension.
Topic: App & System Services SubTopic: General Tags:
Aug ’23
Reply to Migrating ClockKit complications to WidgetKit not working
I've found the Apple Watch Face Editor on iPhone is still not reliable when doing the WIdgetKit migration. See separate post here for details on that, any ideas welcome. As for the migration, I'm having success with the getWidgetConfiguration in my ComplicationController which conforms to the CLKComplicationWidgetMigrator I provide it the identifier for the widget configuration and I provide the Widget bundle extension identifier. Although I have widgets on iPhone and Apple Watch, I provide separate Extension targets and identifiers as I was struggling to get the right entitlements with a combined one. If there are any other details I can provide to help please let me know!
Topic: App & System Services SubTopic: General Tags:
Jul ’23
Reply to Swift Charts Slow Navigation
Another +1 on this here. I'm trying to draw Charts with ~1,000 point marks and scroll through them in a page style tab view. Even on the latest devices there's noticeable lag. Was wondering if there's anything that can be done to pre-draw them, optimise the data set or something. Currently I just use: In the View initialiser: let data:[(Date,Double)] And in the view body: ForEach(0..<data.count, id: \.self) { index in PointMark( x: .value("Time", data[index].0), y: .value("Data", data[index].1) ) } Many thanks for any suggestions
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Jul ’23
Reply to How can I re-create a CLKRelativeDateTextProvider in a WidgetKit complication?
I wish this was possible but fairly sure it's not. Also their relative dates that are available don't update in the WidgetLabel areas... Frustrating, yet another regression from WidgetKit
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Sep ’23
Reply to Conditionally Migrate WatchOS 10 users ONLY to WidgetKit
Feedback filed 1st August: FB12818485
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Sep ’23
Reply to Conditionally Migrate WatchOS 10 users ONLY to WidgetKit
And so many more from me: Translated Report (Full Report Below) Hardware Model: Watch6,18 Identifier: Sim.HeartRate.watchkitapp.WatchWidgetKitExtension AppVariant: 1:Watch6,18:9 Code Type: ARM64_32 (Native) Role: Unspecified Parent Process: launchd [1] Date/Time: 2023-09-24 20:11:54.9181 -0500 Launch Time: 2023-09-24 20:11:54.0000 -0500 OS Version: Watch OS 9.6.3 (20U502) Release Type: User Baseband Version: 5.04.01 Report Version: 104 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: DYLD 4 Symbol missing Symbol not found: _$s7SwiftUI17EnvironmentValuesV9WidgetKitE05ShowsE13BackgroundKeyVAA0cI0ADMc Referenced from: <7BA88B36-F66D-3527-9C49-CE859AB79FCB> /Volumes/VOLUME/*/<APP_NAME>.app/PlugIns/<APP_NAME> Watch WidgetKit Extension.appex/<APP_NAME> Watch WidgetKit Extension **(built for watchOS 10.0 which is newer than running OS)** Expected in: <15E32CD8-4D76-3F93-9881-7F8FDBB8A288> /System/Library/Frameworks/WidgetKit.framework/WidgetKit (terminated at launch; ignore backtrace) Triggered by Thread: 0 Thread 0 Crashed: 0 dyld 0x6dba6c5c 0x6db48000 + 388188 1 dyld 0x6dbb231c 0x6db48000 + 434972 2 dyld 0x6dbb234c 0x6db48000 + 435020 3 dyld 0x6db4c740 0x6db48000 + 18240 4 dyld 0x6db4abe0 0x6db48000 + 11232 5 dyld 0x6db4976c 0x6db48000 + 5996
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Sep ’23
Reply to TSI request still unanswered after more than 3 weeks.
I've also found TSI's have slowed as we've approached the iOS 17 release. I. still have one waiting (3791480)
Replies
Boosts
Views
Activity
Sep ’23
Reply to Conditionally Migrate WatchOS 10 users ONLY to WidgetKit
Still seeing the issue with build from the latest Xcode 15 Beta 8 and devices running WatchOS 9.6.X😕
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Sep ’23
Reply to How can I get the highest sample rate historical heart rate data from health store?
Ok, lots to unpack here. These are my observations: Your query should return all available data within the time frame * You can manually view the actual data available in the Apple Health app under the Browse Tab -> Heart -> Heart Rate -> Show All Data (At the Bottom) I'm assuming that you're likely referring to Heart Rate data recorded by Apple Watch. In normal operating mode, Apple Watch will only generate a Heart Rate measurement every 4 - 5 minutes when the user is wearing their watch. If they start a workout, this increases to about 12 measurements per minute. This is where the HKQuantitySeriesSample comes in useful for efficiently querying this high intensity data This code would allow you to access the first HR value from the sample you have run if let result = results.first as? HKQuantitySample { print(result.quantity.doubleValue(for: HKUnit(from: "count/min"))) } To answer your last original question, you can't read Health data that is not there. For Heart Rate, I think from what you're saying, you either need to generate and save data to the Health Store, or wait for the user to record it (presumably via Apple Watch) before trying to read it *Right, going back to my original point and trying to answer your additional question. If you are querying the Health Store on iPhone, the Health Store data is only limited to what's actually saved in it, I'm not directly sure why you're only getting 10 days of data. That said, if its regular Heart Rate data the this is quite a big query, I'd recommend breaking it down into multiple queries and changing the predicate dates you have set. If you're querying on Apple Watch, you're only guaranteed to have access to the last 7 days of Health data.
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Sep ’23
Reply to showsWidgetContainerBackground crashes on iOS17 beta 6 on a real device
This issue is fixed for me with Xcode 15 Beta 7 for iOS 17 Beta 7 AND iOS 16.6 Release. Great news!
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’23
Reply to Widgetkit's getTimeline is causing crash at completion(timeline)
This issue is fixed for me with Xcode 15 Beta 7 for iOS 17 Beta 7 AND iOS 16.6 Release. Great news!
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’23
Reply to Widgetkit's getTimeline is causing crash at completion(timeline)
Same issue here: https://developer.apple.com/forums/thread/736064
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’23
Reply to showsWidgetContainerBackground crashes on iOS17 beta 6 on a real device
I get this crash on iOS 17 beta 6 AND iOS 16.6 😣
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’23
Reply to Smart Stack on Apple Watch
Use ClockKit? I'm sure it's not recommended due to being deprecated but ClockKit Complications will not show up in the Smart Stack.
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Aug ’23
Reply to App group shared user defaults
What about if I want to share a preference between a Watch App WidgetKit Extension (for Watch Face complications) and a Watch app? I don't see how any of the suggested methods would apply to a WidgetKit extension.... This has worked for me previously when sharing between iPhone App and iPhone Widget Extension.
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Aug ’23
Reply to How long does Apple Watch keep HealthKit data?
Sorry, I've had a look and can't find the docs on this but essentially, my understanding is that the Apple Watch holds at least the past 7 days of Health data. If you had an app running on the Watch you could consider using background execution to cache entries and extend that window.
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Jul ’23
Reply to Migrating ClockKit complications to WidgetKit not working
I've found the Apple Watch Face Editor on iPhone is still not reliable when doing the WIdgetKit migration. See separate post here for details on that, any ideas welcome. As for the migration, I'm having success with the getWidgetConfiguration in my ComplicationController which conforms to the CLKComplicationWidgetMigrator I provide it the identifier for the widget configuration and I provide the Widget bundle extension identifier. Although I have widgets on iPhone and Apple Watch, I provide separate Extension targets and identifiers as I was struggling to get the right entitlements with a combined one. If there are any other details I can provide to help please let me know!
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jul ’23
Reply to Swift Charts Slow Navigation
Another +1 on this here. I'm trying to draw Charts with ~1,000 point marks and scroll through them in a page style tab view. Even on the latest devices there's noticeable lag. Was wondering if there's anything that can be done to pre-draw them, optimise the data set or something. Currently I just use: In the View initialiser: let data:[(Date,Double)] And in the view body: ForEach(0..<data.count, id: \.self) { index in PointMark( x: .value("Time", data[index].0), y: .value("Data", data[index].1) ) } Many thanks for any suggestions
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Jul ’23