Delve into the world of built-in app and system services available to developers. Discuss leveraging these services to enhance your app's functionality and user experience.

Posts under General subtopic

Post

Replies

Boosts

Views

Activity

Walkie Talkie Not Working in IOS27 Developer Version
ubject: Walkie-Talkie App Not Working After Updating to iOS 27 Developer Version Dear Support Team, I am experiencing an issue with the Walkie-Talkie app after updating my device to the iOS 27 Developer Version. Since the update, the app is not functioning properly, and I am unable to connect or communicate with my contacts using Walkie-Talkie. I have already tried several troubleshooting steps, including restarting the device, checking my network connection, and verifying that both FaceTime and Walkie-Talkie are enabled. However, the issue still persists. Could you please help identify the cause of this problem and advise on any available solutions or known issues related to the iOS 27 Developer Version? Device Model: [IPHONE 17] iOS Version: iOS 27 Developer Version Issue Started: Immediately after updating to iOS 27 Developer Version Thank you for your assistance. I look forward to your response.
0
0
26
2d
Clarification on the planned removal of UIDesignRequiresCompatibility
Dear Apple Developer Support, I am developing and maintaining an iOS application. In iOS 26, we understand that setting UIDesignRequiresCompatibility to true in the Info.plist file allows an app to opt out of the Liquid Glass design. However, we also understand that during WWDC25 Platforms State of the Union, Apple stated: "We intend this option to be removed in the next major release." We would appreciate clarification on the following points. Questions Should the phrase "next major release" be interpreted as iOS 27? Is it currently Apple's plan to make UIDesignRequiresCompatibility unavailable or remove it in iOS 27? Or is the statement above only an intended direction, with the actual removal schedule still subject to change? If there is any publicly shareable information regarding the future availability or deprecation timeline of UIDesignRequiresCompatibility, could you please provide it? Background We develop and maintain a business application that contains a large number of custom screens and UI components. Adapting the entire application to the Liquid Glass design system will require significant design review, implementation effort, and testing. As a result, the future availability of UIDesignRequiresCompatibility is a critical factor in our development planning and resource allocation. For this reason, we would greatly appreciate any guidance you can provide regarding Apple's current plans for this compatibility option. Thank you for your time and assistance. Best regards, Toshiyuki
4
0
103
3d
DeviceActivityMonitor: increase memory limit from 6MB
Dear Screen Time Team! The current 6 MB memory limit for the DeviceActivityMonitor extension no longer reflects the reality of modern iOS devices or the complexity of apps built on top of the Screen Time framework. When Screen Time APIs were introduced with iOS 15, hardware constraints were very different. Since then, iPhone performance and available RAM have increased significantly…but the extension memory limit has remained unchanged. My name is Frederik Riedel, and I’m the developer of the screen time app “one sec.” Our app relies heavily on FamilyControls, ManagedSettings, and DeviceActivity to provide real-time interventions that help users reduce social media usage. In practice, the 6 MB limit has become a critical bottleneck: The DeviceActivityMonitor extension frequently crashes due to memory pressure, often unpredictably. Even highly optimized implementations struggle to stay within this constraint when using Swift and multiple ManagedSettings stores. The limit makes it disproportionately difficult to build stable, maintainable, and scalable architectures on top of these frameworks. This is not just an edge case…it directly impacts reliability in production apps that depend on Screen Time APIs for core functionality. Modern system integrations like Screen Time are incredibly powerful, but they also require a reasonable amount of memory headroom to function reliably. The current limit forces developers into fragile workarounds and undermines the robustness of apps that aim to improve users’ digital wellbeing. We would greatly appreciate if you could revisit and update this restriction to better align with today’s device capabilities and developer needs. Thank you for your continued work on Screen Time and for supporting developers building meaningful experiences on top of it. Feedback: FB22279215 Best regards, Frederik Riedel (one sec app)
5
3
346
3d
Code sharing between targets and what’s the best structure for doing so
I guess this is in parts a multiplatform / SwiftData / WidgetKit and SwiftUI question. my usual problem is I start an app and then quickly find myself wanting to add widgets / controls / AppIntents and expand across multiple targets. for example I start with an iOS only target and expand to watchOS, iPadOS and visionOS. But since this targets and the apps I want to build are very distinct, I don’t find myself using the multiplatform target but instead a target per platform. This (at least from my understanding) then also comes with the benefit that I can add a WidgetKit extension and all targets use it. now this is the base idea, but here come the many questions I have had issues finding a clear answer and guidance on over the last years. When sharing SwiftUI views and business logic for DRY, whats the actual best way to do that? A „core“ swift package, or a library? what are the implications of choosing one over the other? I understand that widgets are separately scoped and sandboxed from my main app, but since I use SwiftData in the main app I‘ll have to use app groups so that both can have the same data store. Now; using query in widgets is no problem and is intuitive enough, but the ModelContext has to come from somewhere and be initialized somewhere Where? + additionally, talking about appintents for example when having a control or interactive widget, they also need to share the same context to have an immediate response and update all accordingly (so app, widgets and intents all need to have the same) but how do I actually do that when everything is sandboxed? I recently discovered the @Dependecy macro in I think it was an app intents talk, but it’s usage was skipped over and I couldn’t find documentation explaining what I need to do here to get this actually working. i think the two above are my main questions and I hope I could give enough context to see where I fall short of understanding the architects involved. so for big multiplatform apps where I want to adopt as many system features as possible what’s the best „separation“ or project structure here? see, for example the default Apple Notes app would really interest me how they handle it, or Journal for that matter, since it targets so many platforms and has native features, how is the project structured at the top level? (Obv just an example of what scope I am looking for here) sample code often falls short of what I need, or maybe then again I haven’t found the right one yet. thanks for reading to this point and I am grateful every input, perspective and suggestion I can get here, since it will apply to all my projects
1
0
49
3d
Best way to show a popoverTip only when its anchor view is actually scrolled into view?
I have a section near the bottom of a ScrollView / LazyVStack. I want to show a popoverTip anchored to a button in that section, but only once the user has actually scrolled to it not on view load (otherwise the tip shows floating at the bottom of the screen). I tried to use onAppear but it fires as soon as the view is inserted into the hierarchy which on a LazyVStack can happen slightly before the view is truly in the viewport. I fell back to using onScrollVisibilityChange to write the @Parameter only when the section is actually visible: .onScrollVisibilityChange { isVisible in MyTip.sectionVisible = isVisible } This correctly gates visibility, but on some older devices I noticed that writing/reading @Parameter mid-scroll causes hitches. Is there a recommended TipKit pattern for this use case: showing a popoverTip only when its anchor has been scrolled into view that doesn't require a reactive write during active scroll? thanks
1
0
47
3d
Bluetooth Serial Throughput / MTU using CoreBluetooth and Embedded IoT Accessory
Currently we are working on an IoT Accessory for Industrial Control connecting an iPadOS to an ESP32 bridge to ModBus/CanBus using CoreBluetooth. We are concern about the Maximum Payload Size (MTU Limits) on Bluetooth as we need to send and receive long strings of ModBus/CanBus commands and responses. How to best use CoreBluetooth to ensure that the serial stream is reliable and smooth. As the Maximum Payload Size (MTU Limits) will affect the baud rate which we need to sync with the ModBus/CanBus on the other end, what techniques we can use to ensure the stable connection so that this CoreBluetooth link doesn't become a bottleneck. Are there any best practices we should be using or are we over thinking a simple Bluetooth Serial Characteristic
3
0
114
3d
Unable to invoke advanced experiences in Maps
I built an advanced app clip experience, associated it to a location, and its MATCHED. The status is marked (green) RECEIVED. However, I am unable to see the invocation on Maps. I don't see the buttons such as SUPPORT/ORDER shown for that place. The docs does not explain why. What is the exact requirement for us to surface buttons for POI? We are authorized by the businesses to add these for them. I'd love to hear in detail the exact process to add buttons for POI - how Uber Eats and Door Dash does it for restaurants and how their app clips get shown. Thank you.
3
0
119
3d
Can I reset all tip values after an app launch?
Is there a way to expose to users a reset all tips after tip center is setup? Think a 'help' 'faq' or 'onboarding' where the user might want to see it again during the current app run, not after the next launch. I didn't see anything like this back in 2024 when I wrote this feedback so I assume it isn't a supported workflow with the current API. FB14080356
1
0
53
3d
Get a launch agent to use Bluetooth
My app includes a menu bar icon that shows the status of a bluetooth connection. How can I make this app and launch it when a user logs in? Does the launch agent need to then launch a GUI App? Can the launch agent get the permission to use bluetooth or does that require a GUI App?
3
0
103
3d
Tips and Tricks for TipKit
My designers like TipKit, especially the newer flavor we can control the content. What are some best practices or tips and tricks to share with product owners when designing around what the framework is capable of doing? Concepts that might be relevant: Onboarding FAQ Progressive disclosure of new features HELP / support workflows
1
0
70
3d
How to control the location in the Bluetooth prompt for educational and training guides
I want my team to be able to take screenshots of the app to produce training and support material for our app users. Is there any way, when connected to Xcode, to influence the location and the devices that show up in the TCC prompt? I don't want a screenshot of a teammate's work remote location to land in our docs. Like if our app connects to a specific kind of sensor to have that also show up in the picker and not show 'Apple TV' and the other apple devices that are named, nearby, and frequently connected to the device. FB14768675
1
0
58
3d
Is there any way to direct the user to the Bluetooth Settings page?
What is the best way for an app to deep link a user to the Bluetooth Settings page in the Settings app? For various reasons, 'go to bluetooth settings' is easier said than done for some users. I don't know of any public settings app URLs to send the users to the Bluetooth page. If using ASK it is in your apps' settings slice, but if not using ASK I don't have an answer. FB20224140
1
0
56
3d
Request for updated documentation in MetricKit and StateReporting
The new MetricKit and StateReporting APIs look great. The names of the Swift-first API conflicts with a lot of what I’ve written to do custom decoding (CrashDiagnostic —> MetricKit.CrashDiagnsotic and MetricKitModels.CrashDiagnostic). Job well done. Very clean API and reminds me of enum cases generated from Swift OpenAPI Generator, good stuff. Since there were no 1:1 labs this year for power and performance, I thought I’d send over my feedback for open discussion on the forums. This post is mostly centered around documentation and clarification. FB23019810 - Multiple metric and diagnostic pipeline design. What is the recommended implementation if I have two destinations that want the exact same domain scope. Two managers? A single manager with multiple async streams? Some API like HealthKit recommend a single HKHealthStore, is there any downside to creating many managers, or conversely, creating many async streams for metrics and diagnostics? FB23019316 - The new sample code shows mxSignpost. Is there any reason why we should not be using OSSignposter backed with a MetricKit OSLog handle? The API is more expressive and can handle wrapping closures P.S. see FB22413384 to hopefully enhance OSSignposter with an async func variant FB23020182 - MetricKit deprecations seem off and availability of the new API is missing from macOS and visionOS too. Can you clarify what the docs should show for deprecation? Can you clarify what the docs should show for availability of the new API? FB23051890 - Regarding StateReporting, I understand there is a sanity limit for how one would slice up the metrics per the video commentary. Too many dimensions the data becomes hard to associate with actual improvements to be made. Is there a limit developers should stay clear of? When using the StateReporting API, what are the practical limits to the number of domains and metadata key/value pairs we can have? FB23051980 - I’m excited and ready to implement StateReporting, in all the places. Is it supported in extensions? Will the resulting state changes be included in MetricReport? Last I asked, MXMetricPayload didn’t capture extension data. Will the resulting state changes be included in DiagnosticReport? I do see MXDiagnosticPayload come through containing extension data, so hopefully yes. FB23051678 - I didn’t catch any session or documentation material about the usage around the volatile metadata in the StateReporting API. The docs state it is a fatalError to change the domain and stable metadata keys, that makes sense if that is how the composite key for uniqueness is being created. By the name volatile I assume it can, well change. What is the usage of the volatile metadata? What limitations exist around it if any? The ReportedState API doesn’t have any properties for volatile, is it meant to be received in reports? FB23051738 - There isn’t a StateReporting area path in Feedback Assistant. For now sending feedbacks to MetricKit team, but it is a different framework. I assume other new frameworks are also missing I haven’t confirmed yet. FB13904761, FB13819435, FB13221143, FB22362800 - I have a handful of feedbacks that were reporting anomalous data with payloads. The routine with most bug feedbacks is to capture a sysdiagnose. Any tips on doing that when the reports are coming in from the field or not being actively monitored on dev and test devices? I know this is unlikely to happen but putting it out there FB9931474 - MetricKit: Add API to trigger sysdiagnose programmatically FB23047674 - Add docs for StateReporting and the Xcode simulate MetricKit menu. What domains should be added to the managers to populate data in the simulated reports? FB23020088 - I dig the new memory diagnostic, I’m hoping to close out this feedback that requested it FB9972410. Based on the language in the session, I am leaning towards it is only for memory limit, not jetsam memory pressure. Can you clarify in the documentation which memory exits it is for? Thanks for making it all the way to the end. If better to split this up in different posts I can try to do that but overlapped with other conference calls at the moment.
3
0
101
3d
Walkie Talkie Not Working in IOS27 Developer Version
ubject: Walkie-Talkie App Not Working After Updating to iOS 27 Developer Version Dear Support Team, I am experiencing an issue with the Walkie-Talkie app after updating my device to the iOS 27 Developer Version. Since the update, the app is not functioning properly, and I am unable to connect or communicate with my contacts using Walkie-Talkie. I have already tried several troubleshooting steps, including restarting the device, checking my network connection, and verifying that both FaceTime and Walkie-Talkie are enabled. However, the issue still persists. Could you please help identify the cause of this problem and advise on any available solutions or known issues related to the iOS 27 Developer Version? Device Model: [IPHONE 17] iOS Version: iOS 27 Developer Version Issue Started: Immediately after updating to iOS 27 Developer Version Thank you for your assistance. I look forward to your response.
Replies
0
Boosts
0
Views
26
Activity
2d
Clarification on the planned removal of UIDesignRequiresCompatibility
Dear Apple Developer Support, I am developing and maintaining an iOS application. In iOS 26, we understand that setting UIDesignRequiresCompatibility to true in the Info.plist file allows an app to opt out of the Liquid Glass design. However, we also understand that during WWDC25 Platforms State of the Union, Apple stated: "We intend this option to be removed in the next major release." We would appreciate clarification on the following points. Questions Should the phrase "next major release" be interpreted as iOS 27? Is it currently Apple's plan to make UIDesignRequiresCompatibility unavailable or remove it in iOS 27? Or is the statement above only an intended direction, with the actual removal schedule still subject to change? If there is any publicly shareable information regarding the future availability or deprecation timeline of UIDesignRequiresCompatibility, could you please provide it? Background We develop and maintain a business application that contains a large number of custom screens and UI components. Adapting the entire application to the Liquid Glass design system will require significant design review, implementation effort, and testing. As a result, the future availability of UIDesignRequiresCompatibility is a critical factor in our development planning and resource allocation. For this reason, we would greatly appreciate any guidance you can provide regarding Apple's current plans for this compatibility option. Thank you for your time and assistance. Best regards, Toshiyuki
Replies
4
Boosts
0
Views
103
Activity
3d
DeviceActivityMonitor: increase memory limit from 6MB
Dear Screen Time Team! The current 6 MB memory limit for the DeviceActivityMonitor extension no longer reflects the reality of modern iOS devices or the complexity of apps built on top of the Screen Time framework. When Screen Time APIs were introduced with iOS 15, hardware constraints were very different. Since then, iPhone performance and available RAM have increased significantly…but the extension memory limit has remained unchanged. My name is Frederik Riedel, and I’m the developer of the screen time app “one sec.” Our app relies heavily on FamilyControls, ManagedSettings, and DeviceActivity to provide real-time interventions that help users reduce social media usage. In practice, the 6 MB limit has become a critical bottleneck: The DeviceActivityMonitor extension frequently crashes due to memory pressure, often unpredictably. Even highly optimized implementations struggle to stay within this constraint when using Swift and multiple ManagedSettings stores. The limit makes it disproportionately difficult to build stable, maintainable, and scalable architectures on top of these frameworks. This is not just an edge case…it directly impacts reliability in production apps that depend on Screen Time APIs for core functionality. Modern system integrations like Screen Time are incredibly powerful, but they also require a reasonable amount of memory headroom to function reliably. The current limit forces developers into fragile workarounds and undermines the robustness of apps that aim to improve users’ digital wellbeing. We would greatly appreciate if you could revisit and update this restriction to better align with today’s device capabilities and developer needs. Thank you for your continued work on Screen Time and for supporting developers building meaningful experiences on top of it. Feedback: FB22279215 Best regards, Frederik Riedel (one sec app)
Replies
5
Boosts
3
Views
346
Activity
3d
Code sharing between targets and what’s the best structure for doing so
I guess this is in parts a multiplatform / SwiftData / WidgetKit and SwiftUI question. my usual problem is I start an app and then quickly find myself wanting to add widgets / controls / AppIntents and expand across multiple targets. for example I start with an iOS only target and expand to watchOS, iPadOS and visionOS. But since this targets and the apps I want to build are very distinct, I don’t find myself using the multiplatform target but instead a target per platform. This (at least from my understanding) then also comes with the benefit that I can add a WidgetKit extension and all targets use it. now this is the base idea, but here come the many questions I have had issues finding a clear answer and guidance on over the last years. When sharing SwiftUI views and business logic for DRY, whats the actual best way to do that? A „core“ swift package, or a library? what are the implications of choosing one over the other? I understand that widgets are separately scoped and sandboxed from my main app, but since I use SwiftData in the main app I‘ll have to use app groups so that both can have the same data store. Now; using query in widgets is no problem and is intuitive enough, but the ModelContext has to come from somewhere and be initialized somewhere Where? + additionally, talking about appintents for example when having a control or interactive widget, they also need to share the same context to have an immediate response and update all accordingly (so app, widgets and intents all need to have the same) but how do I actually do that when everything is sandboxed? I recently discovered the @Dependecy macro in I think it was an app intents talk, but it’s usage was skipped over and I couldn’t find documentation explaining what I need to do here to get this actually working. i think the two above are my main questions and I hope I could give enough context to see where I fall short of understanding the architects involved. so for big multiplatform apps where I want to adopt as many system features as possible what’s the best „separation“ or project structure here? see, for example the default Apple Notes app would really interest me how they handle it, or Journal for that matter, since it targets so many platforms and has native features, how is the project structured at the top level? (Obv just an example of what scope I am looking for here) sample code often falls short of what I need, or maybe then again I haven’t found the right one yet. thanks for reading to this point and I am grateful every input, perspective and suggestion I can get here, since it will apply to all my projects
Replies
1
Boosts
0
Views
49
Activity
3d
Any Movement on Tips/HelpViewer Issues with Help Bundles?
Is there any news on Help Bundle issues from macOS 26? FB17996362 FB19414854 FB17996178 FB17460960
Replies
1
Boosts
0
Views
61
Activity
3d
Best way to show a popoverTip only when its anchor view is actually scrolled into view?
I have a section near the bottom of a ScrollView / LazyVStack. I want to show a popoverTip anchored to a button in that section, but only once the user has actually scrolled to it not on view load (otherwise the tip shows floating at the bottom of the screen). I tried to use onAppear but it fires as soon as the view is inserted into the hierarchy which on a LazyVStack can happen slightly before the view is truly in the viewport. I fell back to using onScrollVisibilityChange to write the @Parameter only when the section is actually visible: .onScrollVisibilityChange { isVisible in MyTip.sectionVisible = isVisible } This correctly gates visibility, but on some older devices I noticed that writing/reading @Parameter mid-scroll causes hitches. Is there a recommended TipKit pattern for this use case: showing a popoverTip only when its anchor has been scrolled into view that doesn't require a reactive write during active scroll? thanks
Replies
1
Boosts
0
Views
47
Activity
3d
Bluetooth Serial Throughput / MTU using CoreBluetooth and Embedded IoT Accessory
Currently we are working on an IoT Accessory for Industrial Control connecting an iPadOS to an ESP32 bridge to ModBus/CanBus using CoreBluetooth. We are concern about the Maximum Payload Size (MTU Limits) on Bluetooth as we need to send and receive long strings of ModBus/CanBus commands and responses. How to best use CoreBluetooth to ensure that the serial stream is reliable and smooth. As the Maximum Payload Size (MTU Limits) will affect the baud rate which we need to sync with the ModBus/CanBus on the other end, what techniques we can use to ensure the stable connection so that this CoreBluetooth link doesn't become a bottleneck. Are there any best practices we should be using or are we over thinking a simple Bluetooth Serial Characteristic
Replies
3
Boosts
0
Views
114
Activity
3d
Discovering Core Bluetooth Classic devices
Core Bluetooth Classic seems to limit the number of UUIDs we can scan for. Is there a way to do a wildcard scan?
Replies
2
Boosts
1
Views
118
Activity
3d
L2Cap PSM Service UUID, PSM UUID vs BLE Service UUID, Characteristic UUID
Is the PSM UUID format is less stringent than the BLE Service and Characteristic UUID? In our BLE cluster we broadcast both for different tasks... is a GATT and L2Cap mixed cluster of Apple devices ok?
Replies
7
Boosts
0
Views
120
Activity
3d
Limits to concurrent peripheral channel sounding calls
Is there any software or hardware limit to the number of peripherals that can have the sounding running on at the same time? I see there are two new CBErrors, I didn't catch a reference in the video or docs for which error we get when. Can you share some details on that?
Replies
1
Boosts
2
Views
76
Activity
3d
Unable to invoke advanced experiences in Maps
I built an advanced app clip experience, associated it to a location, and its MATCHED. The status is marked (green) RECEIVED. However, I am unable to see the invocation on Maps. I don't see the buttons such as SUPPORT/ORDER shown for that place. The docs does not explain why. What is the exact requirement for us to surface buttons for POI? We are authorized by the businesses to add these for them. I'd love to hear in detail the exact process to add buttons for POI - how Uber Eats and Door Dash does it for restaurants and how their app clips get shown. Thank you.
Replies
3
Boosts
0
Views
119
Activity
3d
Which Apple Devices support channel sounding?
UWB is now finally on many devices that run the latest OS. To help understand availability in the field, which devices support this feature today? App Store has metrics on OS versions, but not device models. But knowing which models support it we can look in our device data.
Replies
2
Boosts
0
Views
78
Activity
3d
Can I reset all tip values after an app launch?
Is there a way to expose to users a reset all tips after tip center is setup? Think a 'help' 'faq' or 'onboarding' where the user might want to see it again during the current app run, not after the next launch. I didn't see anything like this back in 2024 when I wrote this feedback so I assume it isn't a supported workflow with the current API. FB14080356
Replies
1
Boosts
0
Views
53
Activity
3d
Get a launch agent to use Bluetooth
My app includes a menu bar icon that shows the status of a bluetooth connection. How can I make this app and launch it when a user logs in? Does the launch agent need to then launch a GUI App? Can the launch agent get the permission to use bluetooth or does that require a GUI App?
Replies
3
Boosts
0
Views
103
Activity
3d
Tips and Tricks for TipKit
My designers like TipKit, especially the newer flavor we can control the content. What are some best practices or tips and tricks to share with product owners when designing around what the framework is capable of doing? Concepts that might be relevant: Onboarding FAQ Progressive disclosure of new features HELP / support workflows
Replies
1
Boosts
0
Views
70
Activity
3d
How to control the location in the Bluetooth prompt for educational and training guides
I want my team to be able to take screenshots of the app to produce training and support material for our app users. Is there any way, when connected to Xcode, to influence the location and the devices that show up in the TCC prompt? I don't want a screenshot of a teammate's work remote location to land in our docs. Like if our app connects to a specific kind of sensor to have that also show up in the picker and not show 'Apple TV' and the other apple devices that are named, nearby, and frequently connected to the device. FB14768675
Replies
1
Boosts
0
Views
58
Activity
3d
Can I pair an iPhone acting as central with my Mac acting as a peripheral?
When I try to use encrypted notification, setNotify always fails on the central side.
Replies
1
Boosts
0
Views
50
Activity
3d
Can my app prevent other apps from connecting to my accessory
Is there any way for my app when connecting normally, or through ASK, to obtain an exclusive lock against my devices? Or can I register my company identifier with Apple to only allow apps made by my company to connect to our devices? FB17823898
Replies
1
Boosts
0
Views
49
Activity
3d
Is there any way to direct the user to the Bluetooth Settings page?
What is the best way for an app to deep link a user to the Bluetooth Settings page in the Settings app? For various reasons, 'go to bluetooth settings' is easier said than done for some users. I don't know of any public settings app URLs to send the users to the Bluetooth page. If using ASK it is in your apps' settings slice, but if not using ASK I don't have an answer. FB20224140
Replies
1
Boosts
0
Views
56
Activity
3d
Request for updated documentation in MetricKit and StateReporting
The new MetricKit and StateReporting APIs look great. The names of the Swift-first API conflicts with a lot of what I’ve written to do custom decoding (CrashDiagnostic —> MetricKit.CrashDiagnsotic and MetricKitModels.CrashDiagnostic). Job well done. Very clean API and reminds me of enum cases generated from Swift OpenAPI Generator, good stuff. Since there were no 1:1 labs this year for power and performance, I thought I’d send over my feedback for open discussion on the forums. This post is mostly centered around documentation and clarification. FB23019810 - Multiple metric and diagnostic pipeline design. What is the recommended implementation if I have two destinations that want the exact same domain scope. Two managers? A single manager with multiple async streams? Some API like HealthKit recommend a single HKHealthStore, is there any downside to creating many managers, or conversely, creating many async streams for metrics and diagnostics? FB23019316 - The new sample code shows mxSignpost. Is there any reason why we should not be using OSSignposter backed with a MetricKit OSLog handle? The API is more expressive and can handle wrapping closures P.S. see FB22413384 to hopefully enhance OSSignposter with an async func variant FB23020182 - MetricKit deprecations seem off and availability of the new API is missing from macOS and visionOS too. Can you clarify what the docs should show for deprecation? Can you clarify what the docs should show for availability of the new API? FB23051890 - Regarding StateReporting, I understand there is a sanity limit for how one would slice up the metrics per the video commentary. Too many dimensions the data becomes hard to associate with actual improvements to be made. Is there a limit developers should stay clear of? When using the StateReporting API, what are the practical limits to the number of domains and metadata key/value pairs we can have? FB23051980 - I’m excited and ready to implement StateReporting, in all the places. Is it supported in extensions? Will the resulting state changes be included in MetricReport? Last I asked, MXMetricPayload didn’t capture extension data. Will the resulting state changes be included in DiagnosticReport? I do see MXDiagnosticPayload come through containing extension data, so hopefully yes. FB23051678 - I didn’t catch any session or documentation material about the usage around the volatile metadata in the StateReporting API. The docs state it is a fatalError to change the domain and stable metadata keys, that makes sense if that is how the composite key for uniqueness is being created. By the name volatile I assume it can, well change. What is the usage of the volatile metadata? What limitations exist around it if any? The ReportedState API doesn’t have any properties for volatile, is it meant to be received in reports? FB23051738 - There isn’t a StateReporting area path in Feedback Assistant. For now sending feedbacks to MetricKit team, but it is a different framework. I assume other new frameworks are also missing I haven’t confirmed yet. FB13904761, FB13819435, FB13221143, FB22362800 - I have a handful of feedbacks that were reporting anomalous data with payloads. The routine with most bug feedbacks is to capture a sysdiagnose. Any tips on doing that when the reports are coming in from the field or not being actively monitored on dev and test devices? I know this is unlikely to happen but putting it out there FB9931474 - MetricKit: Add API to trigger sysdiagnose programmatically FB23047674 - Add docs for StateReporting and the Xcode simulate MetricKit menu. What domains should be added to the managers to populate data in the simulated reports? FB23020088 - I dig the new memory diagnostic, I’m hoping to close out this feedback that requested it FB9972410. Based on the language in the session, I am leaning towards it is only for memory limit, not jetsam memory pressure. Can you clarify in the documentation which memory exits it is for? Thanks for making it all the way to the end. If better to split this up in different posts I can try to do that but overlapped with other conference calls at the moment.
Replies
3
Boosts
0
Views
101
Activity
3d