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

Created

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
76
1w
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
79
1w
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
145
1w
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
74
1w
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
126
1w
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
88
1w
Contacts "Prefer Nicknames" / "Short Name" setting not respected in the Share Sheet suggestions row
I've filed this as a feedback report (FB22305448) and wanted to raise it here in case anyone else is seeing the same behaviour or can confirm. The Share Sheet's suggested-people row appears to ignore the system Contacts name-display settings. When a contact has a Nickname set, that Nickname is shown in the sharing suggestions even when nicknames are explicitly turned off. Settings state Under Settings › Contacts › Short Name, both toggles are off: Short Name — Off Prefer Nicknames — Off With these off, the rest of the system (Contacts app, Messages conversation list, Mail, etc.) correctly shows the contact's full/short name rather than the Nickname. Steps to reproduce Open a contact and add a Nickname (e.g. contact "John Smith" with Nickname "JJ"). Go to Settings › Contacts › Short Name and ensure both Short Name and Prefer Nicknames are off. Open Photos, select a photo, and tap Share. Look at the suggested-people row at the top of the Share Sheet (the iMessage/AirDrop suggestions). Expected behaviour With Prefer Nicknames off, the suggestion should display the contact's full name (or short name if Short Name were enabled) — i.e. "John Smith", consistent with every other part of the system. Actual behaviour The Share Sheet suggestion shows the Nickname ("JJ") regardless of the Contacts setting. The setting is not honoured in this surface. Notes Reproducible every time. The Nickname is shown only in the Share Sheet suggestions row; other system surfaces respect the setting correctly, which points to the Share Sheet / suggestions component reading the contact's display name without applying the user's nickname preference. Feedback ID: FB22305448 Has anyone else run into this, or found a workaround short of removing the Nickname from the contact?
0
0
46
1w
Birthday Shown on Phone Call
I noticed a new feature in iOS 27 where someone's birthday will be shown on your phone while you're on a phone call with the birthday person. Is there an API that we can tap into to provide this information? The birthday says "Found in Contacts", but I'm hoping to provide other kinds of dates like Anniversaries through my app where I expose their dates to Siri and Spotlight Search.
0
0
26
1w
How do I tell from looking at the Batter Usage metric in Xcode Organizer if I'm in good shape?
I'm having trouble knowing whether my app is in good shape for battery usage by looking at the Battery Usage pane in Xcode's Organizer. I have some questions: At the top under "On-Screen Battery Usage", it says "Normalized to the usage of the most recent version when unplugged (x minutes / day)". Is the number there represented by "x" how long users tend to have my app open per day? When looking at the colored segments of the usage, I'm showing "Display" as 85% or more of the area. Is that just the cost of keeping the display turned on? Does it go up or down based on things like animations, displaying complex images, etc? It would be great to have an example of some apps of different types that are good "battery usage" citizens and what their battery usage looks like on this screen.
1
0
57
1w
CrashReporterExtension runtime capabilities and limitations
The documentation suggests that you can transfer files out of the crash reporting extension but it doesn’t outline if there are any gotchas to watch out for. Are there any limitations to this? Does it have full network access? Are app groups and keychain groups fully supported? Does the extension have a memory footprint limit we should watch out for? What is the lifecycle of the callback, what Is a reasonable amount of time to plan our implementation to do its work and be done within? 10 seconds? 30? And so on.
1
0
93
1w
Understanding Crash Reporter Extension lifecycle and debugging behavior
Hi! I have a few questions about the lifecycle and capabilities of the Crash Reporter Extension. Besides using the corpsePort to inspect the crashed process through Mach APIs, is it safe/supported/recommended for the extension to access files in a shared App Group container? Are there any caveats or exceptions we should be aware of, for example around memory-mapped files, file coordination, or filesystem access after the host app has crashed? Shall we use some particular APIs for this kind of shared resource or not? While debugging the extension, I noticed that when I trigger a crash in the app I am debugging, LLDB does not stop inside the extension (it also ends up stopping the debugging session). However, I can observe that the extension does run, because it writes data into a shared App Group directory related to the crash. Is this expected behavior? Is there a recommended way to debug the Crash Reporter Extension reliably (with lldb, or other way)? More generally, I would like to better understand the extension lifecycle: When exactly does the extension start running? How long can it live after the app crashes? Is there a time limit for operating on the corpse process? Is the extension subject to resource limits similar to other app extensions, such as memory, disk, CPU, watchdog, or jetsam constraints? If the Crash Reporter Extension itself crashes, how can we detect that? Would those crashes appear in Xcode Organizer, or is there another recommended way to observe them? Any clarification around the supported lifecycle, debugging model, and resource limits would be very useful.
2
1
157
1w
Attributing SDK performance/battery impact in production
Hi! I have a couple of questions around measuring SDK performance in production, especially battery impact (and related to this, Disk Read/Writes). For an SDK running in the wild, what resources or APIs would you recommend using to evaluate performance impact once the SDK is already deployed to real users? I understand that Instruments and local profiling are the right tools during development, but production introduces a much wider range of devices, OS versions, app behaviors, network conditions, and user patterns (in particular, because SDK goes into different types of apps) In particular, are there recommended ways to understand battery usage attributable to an SDK in production? How can we reason about whether a battery-related issue is actually caused by our SDK rather than by the host app, system behavior, networking conditions, or other third-party SDKs? Any guidance on recommended signals, best practices, or things to avoid when trying to attribute battery impact in production would be very helpful.
2
0
124
1w
What's the best way to get symbol files for system libraries, for symbolicating MetricKit call stack trees?
I wrote a python script MXSymbolicate to symbolicate crash reports produced by MetricKit. To symbolicate a given frame, it needs the symbol file for that frame's library. For system libraries, my system only has the requisite files on disk if I've plugged an iOS device of that type at that iOS version into my computer at some point (I assume these symbol files from the device are generated by Xcode when it's preparing to debug on a new device). All these different versions of the symbol files take up a fair bit of space on my machine over time, and it means the symbolication process isn't very portable. Is there a better way to get ahold of symbol files for system libraries? Or is the expectation that we (as third party developers) only symbolicate the frames from our own apps?
1
0
84
1w
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
111
Activity
1w
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
114
Activity
1w
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
76
Activity
1w
Does NI now support DIRECTION finding for UWB in more recent iPhone models?
Given that Apple is a Sponsor level member of the FIRa Consortium (on UWB interoperability) and the FIRa 3.0 spec has been released, are there any improvements in the Nearby Interaction framework for UWB direction tracking? It appears that NI returns null for direction-found with third-party UWB device currently.
Replies
0
Boosts
0
Views
62
Activity
1w
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
79
Activity
1w
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
148
Activity
1w
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
61
Activity
1w
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
143
Activity
1w
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
76
Activity
1w
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
145
Activity
1w
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
74
Activity
1w
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
126
Activity
1w
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
88
Activity
1w
Contacts "Prefer Nicknames" / "Short Name" setting not respected in the Share Sheet suggestions row
I've filed this as a feedback report (FB22305448) and wanted to raise it here in case anyone else is seeing the same behaviour or can confirm. The Share Sheet's suggested-people row appears to ignore the system Contacts name-display settings. When a contact has a Nickname set, that Nickname is shown in the sharing suggestions even when nicknames are explicitly turned off. Settings state Under Settings › Contacts › Short Name, both toggles are off: Short Name — Off Prefer Nicknames — Off With these off, the rest of the system (Contacts app, Messages conversation list, Mail, etc.) correctly shows the contact's full/short name rather than the Nickname. Steps to reproduce Open a contact and add a Nickname (e.g. contact "John Smith" with Nickname "JJ"). Go to Settings › Contacts › Short Name and ensure both Short Name and Prefer Nicknames are off. Open Photos, select a photo, and tap Share. Look at the suggested-people row at the top of the Share Sheet (the iMessage/AirDrop suggestions). Expected behaviour With Prefer Nicknames off, the suggestion should display the contact's full name (or short name if Short Name were enabled) — i.e. "John Smith", consistent with every other part of the system. Actual behaviour The Share Sheet suggestion shows the Nickname ("JJ") regardless of the Contacts setting. The setting is not honoured in this surface. Notes Reproducible every time. The Nickname is shown only in the Share Sheet suggestions row; other system surfaces respect the setting correctly, which points to the Share Sheet / suggestions component reading the contact's display name without applying the user's nickname preference. Feedback ID: FB22305448 Has anyone else run into this, or found a workaround short of removing the Nickname from the contact?
Replies
0
Boosts
0
Views
46
Activity
1w
Birthday Shown on Phone Call
I noticed a new feature in iOS 27 where someone's birthday will be shown on your phone while you're on a phone call with the birthday person. Is there an API that we can tap into to provide this information? The birthday says "Found in Contacts", but I'm hoping to provide other kinds of dates like Anniversaries through my app where I expose their dates to Siri and Spotlight Search.
Replies
0
Boosts
0
Views
26
Activity
1w
How do I tell from looking at the Batter Usage metric in Xcode Organizer if I'm in good shape?
I'm having trouble knowing whether my app is in good shape for battery usage by looking at the Battery Usage pane in Xcode's Organizer. I have some questions: At the top under "On-Screen Battery Usage", it says "Normalized to the usage of the most recent version when unplugged (x minutes / day)". Is the number there represented by "x" how long users tend to have my app open per day? When looking at the colored segments of the usage, I'm showing "Display" as 85% or more of the area. Is that just the cost of keeping the display turned on? Does it go up or down based on things like animations, displaying complex images, etc? It would be great to have an example of some apps of different types that are good "battery usage" citizens and what their battery usage looks like on this screen.
Replies
1
Boosts
0
Views
57
Activity
1w
CrashReporterExtension runtime capabilities and limitations
The documentation suggests that you can transfer files out of the crash reporting extension but it doesn’t outline if there are any gotchas to watch out for. Are there any limitations to this? Does it have full network access? Are app groups and keychain groups fully supported? Does the extension have a memory footprint limit we should watch out for? What is the lifecycle of the callback, what Is a reasonable amount of time to plan our implementation to do its work and be done within? 10 seconds? 30? And so on.
Replies
1
Boosts
0
Views
93
Activity
1w
Understanding Crash Reporter Extension lifecycle and debugging behavior
Hi! I have a few questions about the lifecycle and capabilities of the Crash Reporter Extension. Besides using the corpsePort to inspect the crashed process through Mach APIs, is it safe/supported/recommended for the extension to access files in a shared App Group container? Are there any caveats or exceptions we should be aware of, for example around memory-mapped files, file coordination, or filesystem access after the host app has crashed? Shall we use some particular APIs for this kind of shared resource or not? While debugging the extension, I noticed that when I trigger a crash in the app I am debugging, LLDB does not stop inside the extension (it also ends up stopping the debugging session). However, I can observe that the extension does run, because it writes data into a shared App Group directory related to the crash. Is this expected behavior? Is there a recommended way to debug the Crash Reporter Extension reliably (with lldb, or other way)? More generally, I would like to better understand the extension lifecycle: When exactly does the extension start running? How long can it live after the app crashes? Is there a time limit for operating on the corpse process? Is the extension subject to resource limits similar to other app extensions, such as memory, disk, CPU, watchdog, or jetsam constraints? If the Crash Reporter Extension itself crashes, how can we detect that? Would those crashes appear in Xcode Organizer, or is there another recommended way to observe them? Any clarification around the supported lifecycle, debugging model, and resource limits would be very useful.
Replies
2
Boosts
1
Views
157
Activity
1w
Attributing SDK performance/battery impact in production
Hi! I have a couple of questions around measuring SDK performance in production, especially battery impact (and related to this, Disk Read/Writes). For an SDK running in the wild, what resources or APIs would you recommend using to evaluate performance impact once the SDK is already deployed to real users? I understand that Instruments and local profiling are the right tools during development, but production introduces a much wider range of devices, OS versions, app behaviors, network conditions, and user patterns (in particular, because SDK goes into different types of apps) In particular, are there recommended ways to understand battery usage attributable to an SDK in production? How can we reason about whether a battery-related issue is actually caused by our SDK rather than by the host app, system behavior, networking conditions, or other third-party SDKs? Any guidance on recommended signals, best practices, or things to avoid when trying to attribute battery impact in production would be very helpful.
Replies
2
Boosts
0
Views
124
Activity
1w
What's the best way to get symbol files for system libraries, for symbolicating MetricKit call stack trees?
I wrote a python script MXSymbolicate to symbolicate crash reports produced by MetricKit. To symbolicate a given frame, it needs the symbol file for that frame's library. For system libraries, my system only has the requisite files on disk if I've plugged an iOS device of that type at that iOS version into my computer at some point (I assume these symbol files from the device are generated by Xcode when it's preparing to debug on a new device). All these different versions of the symbol files take up a fair bit of space on my machine over time, and it means the symbolication process isn't very portable. Is there a better way to get ahold of symbol files for system libraries? Or is the expectation that we (as third party developers) only symbolicate the frames from our own apps?
Replies
1
Boosts
0
Views
84
Activity
1w